aboutsummaryrefslogtreecommitdiff
path: root/files/fr/mozilla/add-ons
diff options
context:
space:
mode:
authorjulieng <julien.gattelier@gmail.com>2021-11-15 21:45:15 +0100
committerSphinxKnight <SphinxKnight@users.noreply.github.com>2021-11-15 22:10:33 +0100
commit3cf9bd8b9901006085d4e0f353b0d3b6b8f69d93 (patch)
treee82ac56afff3bc213cc2971cd8aada25a174eee9 /files/fr/mozilla/add-ons
parentf36cc6a7639a8f1adff02bc7a152bd7f54ceae6d (diff)
downloadtranslated-content-3cf9bd8b9901006085d4e0f353b0d3b6b8f69d93.tar.gz
translated-content-3cf9bd8b9901006085d4e0f353b0d3b6b8f69d93.tar.bz2
translated-content-3cf9bd8b9901006085d4e0f353b0d3b6b8f69d93.zip
convert content to md
Diffstat (limited to 'files/fr/mozilla/add-ons')
-rw-r--r--files/fr/mozilla/add-ons/index.md116
-rw-r--r--files/fr/mozilla/add-ons/webextensions/add_a_button_to_the_toolbar/index.md224
-rw-r--r--files/fr/mozilla/add-ons/webextensions/anatomy_of_a_webextension/index.md156
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/alarms/alarm/index.md34
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/alarms/clear/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/alarms/clearall/index.md44
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/alarms/create/index.md86
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/alarms/get/index.md48
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/alarms/getall/index.md46
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/alarms/index.md63
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/alarms/onalarm/index.md75
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenode/index.md73
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodetype/index.md22
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodeunmodifiable/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/create/index.md62
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/createdetails/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/get/index.md58
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/getchildren/index.md58
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/getrecent/index.md58
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/getsubtree/index.md60
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/gettree/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/index.md159
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/move/index.md82
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/onchanged/index.md98
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/onchildrenreordered/index.md94
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/oncreated/index.md85
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/onimportbegan/index.md71
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/onimportended/index.md71
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/onmoved/index.md106
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/onremoved/index.md103
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/remove/index.md62
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/removetree/index.md64
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/search/index.md89
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/bookmarks/update/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/colorarray/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/disable/index.md59
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/enable/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgebackgroundcolor/index.md75
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgetext/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgetextcolor/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/getpopup/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/gettitle/index.md83
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/imagedatatype/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/index.md163
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/isenabled/index.md68
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/onclicked/index.md80
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/openpopup/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgebackgroundcolor/index.md183
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgetext/index.md91
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgetextcolor/index.md113
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/seticon/index.md158
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/setpopup/index.md92
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browseraction/settitle/index.md96
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/allowpopupsforuserevents/index.md34
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/cacheenabled/index.md30
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/closetabsbydoubleclick/index.md12
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/contextmenushowevent/index.md24
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/ftpprotocolenabled/index.md23
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/homepageoverride/index.md21
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/imageanimationbehavior/index.md28
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/index.md104
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/newtabpageoverride/index.md21
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/newtabposition/index.md29
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/openbookmarksinnewtabs/index.md22
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/opensearchresultsinnewtabs/index.md24
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/openurlbarresultsinnewtabs/index.md24
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/overridedocumentcolors/index.md32
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/usedocumentfonts/index.md30
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/webnotificationsdisabled/index.md32
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/zoomfullpage/index.md30
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsersettings/zoomsitespecific/index.md42
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/datatypeset/index.md89
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/index.md119
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/removaloptions/index.md61
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/remove/index.md73
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/removecache/index.md60
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/removecookies/index.md84
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/removedownloads/index.md74
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/removeformdata/index.md70
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/removehistory/index.md74
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/removelocalstorage/index.md62
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/removepasswords/index.md74
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/removeplugindata/index.md74
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/browsingdata/settings/index.md74
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/captiveportal/canonicalurl/index.md29
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/captiveportal/getlastchecked/index.md27
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/captiveportal/getstate/index.md27
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/captiveportal/index.md52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/captiveportal/onconnectivityavailable/index.md67
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/captiveportal/onstatechanged/index.md69
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/clipboard/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/clipboard/setimagedata/index.md78
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/commands/command/index.md37
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/commands/getall/index.md48
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/commands/index.md65
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/commands/oncommand/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/commands/reset/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/commands/update/index.md58
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.md36
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.md105
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.md36
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.md36
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contextualidentities/contextualidentity/index.md96
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contextualidentities/create/index.md139
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contextualidentities/get/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contextualidentities/index.md75
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contextualidentities/oncreated/index.md66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contextualidentities/onremoved/index.md66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contextualidentities/onupdated/index.md66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contextualidentities/query/index.md57
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contextualidentities/remove/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/contextualidentities/update/index.md145
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/cookie/index.md113
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/cookiestore/index.md67
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/get/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/getall/index.md113
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/getallcookiestores/index.md118
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/index.md176
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/onchanged/index.md106
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/onchangedcause/index.md63
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/remove/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/samesitestatus/index.md26
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/cookies/set/index.md121
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/eval/index.md180
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/reload/index.md70
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/tabid/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/network/gethar/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/network/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/network/onnavigated/index.md77
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/network/onrequestfinished/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/create/index.md67
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elements/index.md17
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/createsidebarpane/index.md59
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/index.md39
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/onselectionchanged/index.md64
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionpanel/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/index.md61
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/onhidden/index.md65
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/onshown/index.md65
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setexpression/index.md65
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setobject/index.md60
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setpage/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/onthemechanged/index.md70
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/devtools/panels/themename/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/dns/index.md22
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/dns/resolve/index.md107
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/acceptdanger/index.md50
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/booleandelta/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/cancel/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/dangertype/index.md71
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/doubledelta/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/download/index.md147
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/downloaditem/index.md113
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/downloadquery/index.md135
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/downloadtime/index.md44
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/drag/index.md44
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/erase/index.md72
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/filenameconflictaction/index.md47
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/getfileicon/index.md77
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/index.md149
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/interruptreason/index.md101
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/onchanged/index.md177
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/oncreated/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/onerased/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/open/index.md62
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/pause/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/removefile/index.md68
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/resume/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md91
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/setshelfenabled/index.md50
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/show/index.md60
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/showdefaultfolder/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/state/index.md51
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/downloads/stringdelta/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/events/event/index.md63
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/events/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/events/rule/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/events/urlfilter/index.md192
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/getbackgroundpage/index.md64
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/getextensiontabs/index.md52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/geturl/index.md62
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/getviews/index.md93
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/index.md97
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/inincognitocontext/index.md27
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/isallowedfileschemeaccess/index.md58
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/isallowedincognitoaccess/index.md52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/lasterror/index.md27
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/onrequest/index.md85
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/onrequestexternal/index.md85
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/sendrequest/index.md63
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/setupdateurldata/index.md44
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extension/viewtype/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extensiontypes/imagedetails/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extensiontypes/imageformat/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extensiontypes/index.md51
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extensiontypes/injectdetails/index.md12
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/extensiontypes/runat/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/find/find/index.md263
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/find/highlightresults/index.md39
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/find/index.md26
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/find/removehighlighting/index.md30
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/addurl/index.md87
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/deleteall/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/deleterange/index.md71
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/deleteurl/index.md75
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/getvisits/index.md67
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/historyitem/index.md57
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/index.md161
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/ontitlechanged/index.md91
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/onvisited/index.md84
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/onvisitremoved/index.md94
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/search/index.md134
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/transitiontype/index.md77
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/history/visititem/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/i18n/detectlanguage/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/i18n/getacceptlanguages/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/i18n/getmessage/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/i18n/getuilanguage/index.md50
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/i18n/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/i18n/languagecode/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/i18n/locale-specific_message_reference/index.md102
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/identity/getredirecturl/index.md48
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/identity/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/identity/launchwebauthflow/index.md116
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/idle/idlestate/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/idle/index.md59
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/idle/onstatechanged/index.md85
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/idle/querystate/index.md58
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/idle/setdetectioninterval/index.md50
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/index.md44
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/extensioninfo/index.md165
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/get/index.md59
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/getall/index.md58
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/getpermissionwarningsbyid/index.md122
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/getpermissionwarningsbymanifest/index.md66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/getself/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/index.md140
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/install/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/ondisabled/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/onenabled/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/oninstalled/index.md139
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/onuninstalled/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/setenabled/index.md67
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/uninstall/index.md75
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/management/uninstallself/index.md82
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/action_menu_top_level_limit/index.md27
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/contexttype/index.md91
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/create/index.md236
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/createproperties/index.md187
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/gettargetelement/index.md57
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/index.md173
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/itemtype/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/onclickdata/index.md101
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/onclicked/index.md87
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/onhidden/index.md61
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/onshown/index.md120
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/overridecontext/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/refresh/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/remove/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/removeall/index.md52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/menus/update/index.md227
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/clear/index.md51
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.md83
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/getall/index.md58
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/index.md75
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/notificationoptions/index.md141
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/onbuttonclicked/index.md65
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/onclicked/index.md73
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/onclosed/index.md77
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/onshown/index.md71
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/templatetype/index.md69
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/notifications/update/index.md64
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/omnibox/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputcancelled/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.md88
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputentered/index.md88
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputentereddisposition/index.md39
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputstarted/index.md65
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/omnibox/setdefaultsuggestion/index.md50
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/omnibox/suggestresult/index.md35
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/getpopup/index.md67
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/gettitle/index.md69
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/hide/index.md54
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/imagedatatype/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/index.md97
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/isshown/index.md48
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/onclicked/index.md83
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/openpopup/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/setpopup/index.md65
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/settitle/index.md64
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pageaction/show/index.md59
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/permissions/contains/index.md60
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/permissions/getall/index.md48
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/permissions/index.md91
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/permissions/onadded/index.md70
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/permissions/onremoved/index.md70
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/permissions/permissions/index.md35
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/permissions/remove/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/permissions/request/index.md66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pkcs11/getmoduleslots/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pkcs11/index.md132
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pkcs11/installmodule/index.md47
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pkcs11/ismoduleinstalled/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/pkcs11/uninstallmodule/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/privacy/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/privacy/network/index.md66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/privacy/services/index.md39
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/privacy/websites/index.md170
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/proxy/index.md71
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/proxy/onerror/index.md54
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/proxy/onrequest/index.md97
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/proxy/proxyinfo/index.md96
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/proxy/register/index.md130
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/proxy/requestdetails/index.md76
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/proxy/settings/index.md72
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/proxy/unregister/index.md46
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/connect/index.md120
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/connectnative/index.md76
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/getbackgroundpage/index.md128
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/getbrowserinfo/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/getmanifest/index.md54
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/getpackagedirectoryentry/index.md52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/getplatforminfo/index.md54
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/geturl/index.md62
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/id/index.md33
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/index.md237
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/lasterror/index.md77
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/messagesender/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onbrowserupdateavailable/index.md72
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onconnect/index.md114
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onconnectexternal/index.md101
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/oninstalled/index.md124
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/oninstalledreason/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onmessage/index.md288
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onmessageexternal/index.md130
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onrestartrequired/index.md69
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onrestartrequiredreason/index.md39
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onstartup/index.md67
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onsuspend/index.md76
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onsuspendcanceled/index.md72
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/onupdateavailable/index.md89
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/openoptionspage/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/platformarch/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/platforminfo/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/platformnaclarch/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/platformos/index.md57
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/port/index.md246
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/reload/index.md50
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/requestupdatecheck/index.md73
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/requestupdatecheckstatus/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/sendmessage/index.md161
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/sendnativemessage/index.md70
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/runtime/setuninstallurl/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/search/get/index.md63
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/search/index.md22
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/search/search/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/filter/index.md39
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedtab/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedwindow/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/getrecentlyclosed/index.md59
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/gettabvalue/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/getwindowvalue/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/index.md161
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/max_session_results/index.md25
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/onchanged/index.md72
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/removetabvalue/index.md47
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/removewindowvalue/index.md47
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/restore/index.md57
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/session/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/settabvalue/index.md51
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/setwindowvalue/index.md51
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/close/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/getpanel/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/gettitle/index.md82
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/imagedatatype/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/index.md87
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/isopen/index.md66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/open/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/seticon/index.md137
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/setpanel/index.md118
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/settitle/index.md101
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sidebaraction/toggle/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/index.md87
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/local/index.md67
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/managed/index.md76
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/onchanged/index.md84
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/clear/index.md48
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/get/index.md131
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/getbytesinuse/index.md44
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/remove/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/set/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/storagechange/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/storage/sync/index.md120
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/capturetab/index.md57
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/capturevisibletab/index.md61
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/connect/index.md78
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/create/index.md147
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/detectlanguage/index.md72
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/discard/index.md68
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/duplicate/index.md85
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/executescript/index.md129
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/get/index.md54
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/getallinwindow/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/getcurrent/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/getselected/index.md52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/getzoom/index.md66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/getzoomsettings/index.md58
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/goback/index.md64
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/goforward/index.md64
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/hide/index.md75
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/highlight/index.md73
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/index.md347
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/insertcss/index.md131
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/move/index.md105
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/moveinsuccession/index.md51
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/mutedinfo/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/mutedinforeason/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onactivated/index.md93
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onactivechanged/index.md90
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onattached/index.md101
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/oncreated/index.md81
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/ondetached/index.md101
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onhighlightchanged/index.md84
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onhighlighted/index.md91
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onmoved/index.md110
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onremoved/index.md104
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onreplaced/index.md90
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onselectionchanged/index.md87
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onupdated/index.md273
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/onzoomchange/index.md104
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/pagesettings/index.md120
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/print/index.md34
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/printpreview/index.md52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/query/index.md173
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/reload/index.md83
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/remove/index.md66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/removecss/index.md100
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/saveaspdf/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/sendmessage/index.md99
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/sendrequest/index.md54
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/setzoom/index.md70
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/setzoomsettings/index.md62
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/show/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/tab/index.md147
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/tab_id_none/index.md27
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/tabstatus/index.md31
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/togglereadermode/index.md64
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/update/index.md168
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/windowtype/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettings/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettingsmode/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettingsscope/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/theme/getcurrent/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/theme/index.md48
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/theme/onupdated/index.md83
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/theme/reset/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/theme/theme/index.md14
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/theme/update/index.md51
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/topsites/get/index.md104
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/topsites/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/topsites/mostvisitedurl/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/clear/index.md60
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/get/index.md134
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/onchange/index.md153
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/set/index.md90
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/types/index.md33
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/userscripts/index.md61
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/userscripts/onbeforescript/index.md39
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/userscripts/register/index.md108
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/userscripts/registereduserscript/index.md22
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/userscripts/registereduserscript/unregister/index.md36
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/userscripts/userscriptoptions/index.md52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/userscripts/working_with_userscripts/index.md72
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/getallframes/index.md91
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/getframe/index.md88
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/index.md184
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/onbeforenavigate/index.md144
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncommitted/index.md152
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncompleted/index.md111
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncreatednavigationtarget/index.md157
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/ondomcontentloaded/index.md114
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/onerroroccurred/index.md143
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/onhistorystateupdated/index.md117
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/onreferencefragmentupdated/index.md119
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/ontabreplaced/index.md99
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/transitionqualifier/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webnavigation/transitiontype/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/blockingresponse/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/certificateinfo/index.md119
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/filterresponsedata/index.md44
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/getsecurityinfo/index.md72
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md78
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/httpheaders/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/index.md295
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/max_handler_behavior_changed_calls_per_10_minutes/index.md29
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/onauthrequired/index.md342
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforeredirect/index.md256
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforerequest/index.md334
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforesendheaders/index.md276
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/oncompleted/index.md250
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/onerroroccurred/index.md236
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/onheadersreceived/index.md275
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/onresponsestarted/index.md249
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/onsendheaders/index.md239
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/requestfilter/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/resourcetype/index.md155
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/securityinfo/index.md161
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/close/index.md43
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/disconnect/index.md47
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/error/index.md26
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/index.md122
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/ondata/index.md88
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onerror/index.md29
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onstart/index.md24
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onstop/index.md26
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/resume/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/status/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/suspend/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/write/index.md46
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/webrequest/uploaddata/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/create/index.md177
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/createtype/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/get/index.md85
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/getall/index.md74
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/getcurrent/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/getlastfocused/index.md78
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/index.md137
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/oncreated/index.md79
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/onfocuschanged/index.md83
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/onremoved/index.md78
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/remove/index.md73
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/update/index.md118
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/window/index.md87
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/window_id_current/index.md27
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/window_id_none/index.md27
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/windowstate/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/windows/windowtype/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/browser_actions/index.md40
-rw-r--r--files/fr/mozilla/add-ons/webextensions/browser_compatibility_for_manifest.json/index.md19
-rw-r--r--files/fr/mozilla/add-ons/webextensions/browser_support_for_javascript_apis/index.md19
-rw-r--r--files/fr/mozilla/add-ons/webextensions/build_a_cross_browser_extension/index.md277
-rw-r--r--files/fr/mozilla/add-ons/webextensions/chrome_incompatibilities/index.md170
-rw-r--r--files/fr/mozilla/add-ons/webextensions/content_scripts/index.md537
-rw-r--r--files/fr/mozilla/add-ons/webextensions/content_security_policy/index.md115
-rw-r--r--files/fr/mozilla/add-ons/webextensions/debugging_(before_firefox_50)/index.md205
-rw-r--r--files/fr/mozilla/add-ons/webextensions/developing_webextensions_for_thunderbird/index.md22
-rw-r--r--files/fr/mozilla/add-ons/webextensions/differences_between_api_implementations/index.md76
-rw-r--r--files/fr/mozilla/add-ons/webextensions/examples/index.md28
-rw-r--r--files/fr/mozilla/add-ons/webextensions/extending_the_developer_tools/index.md174
-rw-r--r--files/fr/mozilla/add-ons/webextensions/firefox_differentiators/index.md224
-rw-r--r--files/fr/mozilla/add-ons/webextensions/firefox_workflow_overview/index.md176
-rw-r--r--files/fr/mozilla/add-ons/webextensions/implement_a_settings_page/index.md180
-rw-r--r--files/fr/mozilla/add-ons/webextensions/index.md66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/index/index.md4
-rw-r--r--files/fr/mozilla/add-ons/webextensions/interact_with_the_clipboard/index.md174
-rw-r--r--files/fr/mozilla/add-ons/webextensions/intercept_http_requests/index.md108
-rw-r--r--files/fr/mozilla/add-ons/webextensions/internationalization/index.md536
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/author/index.md47
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/background/index.md160
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/browser_action/index.md469
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/browser_specific_settings/index.md133
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.md285
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_url_overrides/index.md166
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/commands/index.md228
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/content_scripts/index.md427
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/content_security_policy/index.md154
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/default_locale/index.md54
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/description/index.md51
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/developer/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/devtools_page/index.md51
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/dictionaries/index.md51
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/externally_connectable/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/homepage_url/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/icons/index.md94
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/incognito/index.md87
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/index.md64
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/manifest_version/index.md48
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/name/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/offline_enabled/index.md47
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/omnibox/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/optional_permissions/index.md138
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/options_page/index.md67
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/options_ui/index.md189
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/page_action/index.md379
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/permissions/index.md272
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/protocol_handlers/index.md89
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/short_name/index.md47
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/sidebar_action/index.md309
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/storage/index.md80
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/theme/index.md1966
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/theme_experiment/index.md215
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/user_scripts/index.md52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/version/index.md70
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/version_name/index.md41
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/web_accessible_resources/index.md113
-rw-r--r--files/fr/mozilla/add-ons/webextensions/match_patterns/index.md710
-rw-r--r--files/fr/mozilla/add-ons/webextensions/modify_a_web_page/index.md254
-rw-r--r--files/fr/mozilla/add-ons/webextensions/native_manifests/index.md555
-rw-r--r--files/fr/mozilla/add-ons/webextensions/native_messaging/index.md292
-rw-r--r--files/fr/mozilla/add-ons/webextensions/prerequisites/index.md4
-rw-r--r--files/fr/mozilla/add-ons/webextensions/safely_inserting_external_content_into_a_page/index.md100
-rw-r--r--files/fr/mozilla/add-ons/webextensions/sharing_objects_with_page_scripts/index.md180
-rw-r--r--files/fr/mozilla/add-ons/webextensions/tips/index.md27
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_actions/index.md40
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/browser_action/index.md46
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/browser_styles/index.md524
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/context_menu_items/index.md49
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/devtools_panels/index.md62
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/extension_pages/index.md68
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/index.md285
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/notifications/index.md45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/omnibox/index.md53
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/options_pages/index.md78
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/page_actions/index.md126
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/popups/index.md56
-rw-r--r--files/fr/mozilla/add-ons/webextensions/user_interface/sidebars/index.md55
-rw-r--r--files/fr/mozilla/add-ons/webextensions/what_are_webextensions/index.md54
-rw-r--r--files/fr/mozilla/add-ons/webextensions/what_next_/index.md74
-rw-r--r--files/fr/mozilla/add-ons/webextensions/work_with_contextual_identities/index.md177
-rw-r--r--files/fr/mozilla/add-ons/webextensions/work_with_the_bookmarks_api/index.md235
-rw-r--r--files/fr/mozilla/add-ons/webextensions/work_with_the_cookies_api/index.md320
-rw-r--r--files/fr/mozilla/add-ons/webextensions/working_with_files/index.md160
-rw-r--r--files/fr/mozilla/add-ons/webextensions/working_with_the_tabs_api/index.md571
-rw-r--r--files/fr/mozilla/add-ons/webextensions/your_first_webextension/index.md162
-rw-r--r--files/fr/mozilla/add-ons/webextensions/your_second_webextension/index.md340
630 files changed, 28388 insertions, 29984 deletions
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Les modules complémentaires (<em>add-ons</em>) 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 :</p>
+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 :
-<ul>
- <li>Modifier l'apparence ou le contenu de certains sites web</li>
- <li>Modifier l'interface utilisateur de Firefox</li>
- <li>Ajouter de nouvelles fonctionnalités à Firefox</li>
-</ul>
+- Modifier l'apparence ou le contenu de certains sites web
+- Modifier l'interface utilisateur de Firefox
+- Ajouter de nouvelles fonctionnalités à Firefox
-<p>Il y a plusieurs types de modules complémentaires<em> (add-ons)</em>, mais le plus courant est l'extension.</p>
+Il y a plusieurs types de modules complémentaires _(add-ons)_, mais le plus courant est l'extension.
-<h2 id="Développer_des_modules_complémentaires">Développer des modules complémentaires</h2>
+## Développer des modules complémentaires
-<p>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 <a href="/fr/Add-ons/WebExtensions">WebExtensions</a> sont devenues le format standard. Les autres outils (le SDK Add-On par exemple) sont maintenant dépréciés.</p>
+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.
-<p><a href="/fr/Add-ons/WebExtensions">En savoir plus à propos des WebExtensions</a></p>
+[En savoir plus à propos des WebExtensions](/fr/Add-ons/WebExtensions)
-<p>Si vous développez un nouveau module complémentaire, nous vous recommandons d'utiliser WebExtension.</p>
+Si vous développez un nouveau module complémentaire, nous vous recommandons d'utiliser WebExtension.
-<p>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.<br>
- <br>
- <a href="/fr/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs">Voici la liste des API actuellement prises en charge par Firefox et les autres navigateurs</a>. Nous continuons à concevoir et à implémenter de nouvelles API afin de répondre aux besoins des développeurs.<br>
- <br>
- La plupart des API utilisées pour WebExtension sont également disponibles pour Firefox pour Android.</p>
+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.
-<h3 id="Latelier_des_extensions_Firefox_Extension_Workshop">L'atelier des extensions Firefox <em>(Extension Workshop)</em></h3>
+[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.
-<p>L'<a href="https://extensionworkshop.com/">atelier des extensions firefox <em>(Extension Workshop)</em></a> 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 : </p>
+La plupart des API utilisées pour WebExtension sont également disponibles pour Firefox pour Android.
-<ul>
- <li><a href="https://extensionworkshop.com/#about">Une vue d'ensemble des fonctionnalités des extensions Firefox</a></li>
- <li><a href="https://extensionworkshop.com/documentation/develop/">Les outils et les procédés pour développer et tester son application</a></li>
- <li><a href="https://extensionworkshop.com/documentation/publish/">Comment publier son extensions sur addons.mozilla.org et la distribuer</a></li>
- <li><a href="https://extensionworkshop.com/documentation/manage/">Comment gérer son extension, une fois celle-ci publiée</a></li>
- <li><a href="https://extensionworkshop.com/documentation/enterprise/">Guide pour développer et utiliser une extension pour les entreprises</a></li>
- <li><a href="https://extensionworkshop.com/documentation/themes/">Comment développer un thème pour Firefox</a></li>
- <li><a href="https://extensionworkshop.com/community/">La communauté de Firefox (Firefox Community)</a></li>
-</ul>
+### L'atelier des extensions Firefox _(Extension Workshop)_
-<h3 id="Les_extensions_pour_Firefox_pour_Android">Les extensions pour Firefox pour Android</h3>
+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 :
-<p>En 2020, Mozilla sortira une nouvelle expérience Firefox pour Android. Le nouveau Firefox ultra-performant pour Android a été entièrement repensé avec <a href="https://mozilla.github.io/geckoview/">GeckoView</a>, le nouveau moteur de rendu pour mobiles de Mozilla. Nous travaillons actuellement à la création d'un support pour WebExtensions sur GeckoView.</p>
+- [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/)
-<h3 id="Migrer_un_module_existant">Migrer un module existant</h3>
+### Les extensions pour Firefox pour Android
-<p>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. <a href="/fr/Add-ons/WebExtensions/Porting_a_legacy_Firefox_add-on">Voici quelques ressources MDN à propos du portage d'extension</a>.</p>
+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.
-<p>Nous avons rassemblé <a href="https://wiki.mozilla.org/Add-ons/developer/communication">un ensemble de ressources</a> sur un page wiki afin d'aider les développeurs pendant cette phase de transition. Pour commencer, vous pouvez utiliser l'outil <a href="https://compatibility-lookup.services.mozilla.com/">Lookup </a>afin de détecter si votre module complémentaire est impacté.</p>
+### Migrer un module existant
-<h2 id="Publier_des_modules">Publier des modules</h2>
+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).
-<p><a href="https://addons.mozilla.org">addons.mozilla.org</a>, 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.</p>
+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é.
-<p>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.</p>
+## Publier des modules
-<p><a href="/fr/Add-ons/Distribution">Dans cet article</a>, vous trouverez différentes informations relatives au processus de publication de son module.</p>
+[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.
-<h2 id="Les_autres_types_de_modules">Les autres types de modules</h2>
+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.
-<p>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 :</p>
+[Dans cet article](/fr/Add-ons/Distribution), vous trouverez différentes informations relatives au processus de publication de son module.
-<ul>
- <li><a href="/fr/Add-ons/Thèmes/Fond">Des thèmes légers</a> : un outil simple qui permet de personnaliser Firefox de façon limitée</li>
- <li><a href="/fr/docs/Extensions/Mobile">Les modules mobiles</a> : 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</li>
- <li><a href="/fr/Add-ons/Creating_OpenSearch_plugins_for_Firefox">Des plugins pour les moteurs de recherche</a> qui permettent d'ajouter de nouveaux moteurs de recherche à la barre de recherche du navigateur</li>
- <li><a href="/fr/docs/Mozilla/Creating_a_spell_check_dictionary_add-on">Des dictionnaires utilisateur</a> qui permettent d'utiliser la vérification orthographique dans différentes langues</li>
- <li><a href="https://support.mozilla.org/kb/use-firefox-interface-other-languages-language-pack">Des packs de langues</a> qui permettent de traduire l'interface de Firefox dans plus de langues.</li>
-</ul>
+## Les autres types de modules
-<h2 id="Nous_contacter">Nous contacter</h2>
+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 :
-<p>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.</p>
+- [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.
-<h3 id="Forum">Forum</h3>
+## Nous contacter
-<p><a href="https://discourse.mozilla-community.org/c/add-ons">Le forum Discourse dédié aux modules complémentaires</a> est un lieu où discuter du développement de modules complémentaires et où demander de l'aide.</p>
+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.
-<h3 id="Liste_de_diffusion">Liste de diffusion</h3>
+### Forum
-<p>La liste de diffusion <strong>dev-addons</strong> (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 (<a href="https://addons.mozilla.org">https://addons.mozilla.org</a>) :</p>
+[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.
-<ul>
- <li><a href="https://mail.mozilla.org/pipermail/dev-addons/">Informations sur la liste dev-addons</a></li>
- <li><a href="https://mail.mozilla.org/pipermail/dev-addons/">Archives de la liste dev-addons</a></li>
-</ul>
+### Liste de diffusion
-<h3 id="IRC">IRC</h3>
+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>) :
-<p>Si vous utilisez IRC, vous pouvez utiliser ces canaux (anglophones) :</p>
+- [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/)
-<ul>
- <li><a href="irc://irc.mozilla.org/addons">#addons</a> (discussions sur l'écosystème des modules complémentaires)</li>
- <li><a href="irc://irc.mozilla.org/extdev">#extdev</a> (discussions sur le développement des modules complémentaires)</li>
- <li><a href="irc://irc.mozilla.org/webextensions">#webextensions</a> (discussion sur les modules de type WebExtensions)</li>
-</ul>
+### 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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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 :</p>
+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 :
-<ul>
- <li>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.</li>
- <li>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</li>
-</ul>
+- 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
-<p>Dans WebExtensions, ces types de boutons s’appellent « actions du navigateur » et sont configurés de la manière suivante :</p>
+Dans WebExtensions, ces types de boutons s’appellent « actions du navigateur » et sont configurés de la manière suivante :
-<ul>
- <li>La clé de manifest.json <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code> permet de définir le bouton.</li>
- <li>L’API JavaScript <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/browserAction">browserAction</a></code> est utilisé pour écouter les clics modifier le bouton ou effectuer des actions via votre code.</li>
-</ul>
+- 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.
-<h2 id="Un_bouton_simple">Un bouton simple</h2>
+## Un bouton simple
-<p>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 <a href="https://developer.mozilla.org">https ://developer.mozilla.org</a> dans un nouveau onglet.</p>
+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.
-<p>Tout d’abord, créez un nouveau dossier, « bouton », et créez un fichier appelé « manifest.json » à l’intérieur avec le contenu suivant :</p>
+Tout d’abord, créez un nouveau dossier, « bouton », et créez un fichier appelé « manifest.json » à l’intérieur avec le contenu suivant :
-<pre class="brush: json">{
+```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
}
}
-}</pre>
-
-<p>Cela spécifie que nous aurons un script en <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">arrière‐plan</a> 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 ».</p>
-
+}
+```
-<p>Ces icônes proviennent des <a href="https://www.iconfinder.com/iconsets/bitsies">bits !</a> icônes créées parRecep Kütük.</p>
+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 ».
-<p>Ensuite, créez un dossier « icons » dans le dossier « buttons » et enregistrez les deux icônes ci‐dessous :</p>
+Ces icônes proviennent des [bits !](https://www.iconfinder.com/iconsets/bitsies) icônes créées parRecep Kütük.
-<ul>
- <li>« page‐16.png » (<img alt="" src="page-16.png">)</li>
- <li>« page‐32.png » (<img alt="" src="page-32.png">).</li>
-</ul>
+Ensuite, créez un dossier « icons » dans le dossier « buttons » et enregistrez les deux icônes ci‐dessous :
-<div></div>
+- « page‐16.png » (![](page-16.png))
+- « page‐32.png » (![](page-32.png)).
-<p>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.</p>
+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.
-<p>Ensuite, créez « background.js » dans le répertoire racine de l’add‐on, et donnez‐lui le contenu suivant :</p>
+Ensuite, créez « background.js » dans le répertoire racine de l’add‐on, et donnez‐lui le contenu suivant :
-<pre class="brush: js">function openPage() {
+```js
+function openPage() {
browser.tabs.create({
url: "https://developer.mozilla.org"
});
}
-browser.browserAction.onClicked.addListener(openPage);</pre>
+browser.browserAction.onClicked.addListener(openPage);
+```
-<p>Cela écoute l’événement de clic de l’action du navigateur ; Lorsque l’événement se déclenche, la fonction <code>openPage()</code> est exécuté, ce qui ouvre la page spécifiée à l’aide de l’API des <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs">onglets</a></code>.</p>
+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).
-<p>A ce point, l’extension complète devrait ressembler à ceci :</p>
+A ce point, l’extension complète devrait ressembler à ceci :
-<pre class="brush: html">button/
+```html
+button/
icons/
page-16.png
page-32.png
background.js
- manifest.json</pre>
+ manifest.json
+```
-<p>Maintenant <a href="/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox">installer la WebExtension</a> et cliquez sur le bouton :</p>
+Maintenant [installer la WebExtension](/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox) et cliquez sur le bouton :
-<p>{{EmbedYouTube("kwwTowgT‐Ys")}}</p>
+{{EmbedYouTube("kwwTowgT‐Ys")}}
-<h2 id="Ajout_d’une_fenêtre_contextuelle">Ajout d’une fenêtre contextuelle</h2>
+## Ajout d’une fenêtre contextuelle
-<p>Essayons d’ajouter une fenêtre contextuelle au bouton. Remplacez manifest.json par ceci :</p>
+Essayons d’ajouter une fenêtre contextuelle au bouton. Remplacez manifest.json par ceci :
-<pre class="brush: json">{
+```json
+{
"description": "Demonstrating toolbar buttons",
"manifest_version": 2,
@@ -109,42 +107,42 @@ browser.browserAction.onClicked.addListener(openPage);</pre>
}
}
-}</pre>
+}
+```
-<p>Nous avons fait trois changements par rapport à l’original :</p>
+Nous avons fait trois changements par rapport à l’original :
-<ul>
- <li>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).</li>
- <li>
- <p>Nous avons ajouté <code>"browser_style":true</code>, ce qui aidera le style de notre popup à ressembler davantage à une partie du navigateur.</p>
- </li>
- <li>Enfin, nous avons ajouté <code>"default_popup": "popup/choose_page.html"</code>, 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 ».</li>
-</ul>
+- 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 ».
-<p>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 :</p>
+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 :
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
+```html
+<!DOCTYPE html>
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta charset="utf-8"&gt;
- &lt;link rel="stylesheet" href="choose_page.css"/&gt;
- &lt;/head&gt;
+<html>
+ <head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" href="choose_page.css"/>
+ </head>
-&lt;body&gt;
- &lt;div class="page-choice"&gt;developer.mozilla.org&lt;/div&gt;
- &lt;div class="page-choice"&gt;support.mozilla.org&lt;/div&gt;
- &lt;div class="page-choice"&gt;addons.mozilla.org&lt;/div&gt;
- &lt;script src="choose_page.js"&gt;&lt;/script&gt;
-&lt;/body&gt;
+<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>
-&lt;/html&gt;</pre>
+</html>
+```
-<p>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.</p>
+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.
-<p>Créez un fichier appelé « choose_page.css » dans le répertoire « popup » et donnez‐lui ce contenu :</p>
+Créez un fichier appelé « choose_page.css » dans le répertoire « popup » et donnez‐lui ce contenu :
-<pre class="brush: css">html, body {
+```css
+html, body {
width: 300px;
}
@@ -158,13 +156,15 @@ browser.browserAction.onClicked.addListener(openPage);</pre>
.page-choice:hover {
background-color: #CFF2F2;
-}</pre>
+}
+```
-<p>C'est juste un peu d’habillage pour notre popup.</p>
+C'est juste un peu d’habillage pour notre popup.
-<p>Ensuite, créez un fichier « choose_page.js » dans le répertoire « popup » et donnez‐le à ces contenus :</p>
+Ensuite, créez un fichier « choose_page.js » dans le répertoire « popup » et donnez‐le à ces contenus :
-<pre class="brush: js">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);</pre>
url: chosenPage
});
-});</pre>
+});
+```
-<p>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.</p>
+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.
-<p>La structure finale de l’add‐on devrait ressembler à ceci :</p>
+La structure finale de l’add‐on devrait ressembler à ceci :
-<pre>button/
- icons/
- page-16.png
- page-32.png
- popup/
- choose_page.css
- choose_page.html
- choose_page.js
- manifest.json</pre>
-
-<p>Maintenant, rechargez l’extension, cliquez de nouveau sur le bouton et essayez de cliquer sur les choix dans la fenêtre contextuelle :</p>
-
-<p>{{EmbedYouTube("QPEh1L1xq0Y")}}</p>
-
-<h2 id="Actions_de_page">Actions de page</h2>
-
-<p>Les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Page_actions">actions de page</a> 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.</p>
-
-<p>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.</p>
-
-<h2 id="Pour_en_savoir_plus">Pour en savoir plus</h2>
-
-<ul>
- <li><code>Clé de manifest <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code></li>
- <li><code>API <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/browserAction">browserAction</a></code></li>
- <li>Exemples d’actions du navigateur :
- <ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/beastify">beastify</a></li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/bookmark-it">Bookmark it !</a></li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/favourite-colour">favourite‐colour</a></li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/inpage-toolbar-ui">inpage‐toolbar‐ui</a></li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/open-my-page-button">open‐my‐page‐button</a></li>
- </ul>
- </li>
- <li><code>Clé de manifest <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action">page_action</a></code></li>
- <li><code>API <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/pageAction">pageAction</a></code></li>
- <li>Exemple d’action de page
- <ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/chill-out">chill‐out</a></li>
- </ul>
- </li>
-</ul>
+ 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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<h2 id="manifest.json">manifest.json</h2>
+## manifest.json
-<p>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.</p>
+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.
-<p>Ce manifeste peut également contenir des pointeurs vers plusieurs autres types de fichiers :</p>
+Ce manifeste peut également contenir des pointeurs vers plusieurs autres types de fichiers :
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">page d'arrière-plan </a>: implémentez une logique à longue durée.</li>
- <li>Icônes pour l'extension et tous les boutons qu'elle peut définir.</li>
- <li><a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Sidebars_popups_options_pages">Sidebars, popups, et options pages</a>: Documents HTML qui fournissent du contenu pour divers composants de l'interface utilisateur.</li>
- <li><a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Content_scripts">Script de contenu</a> : 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).</li>
- <li><a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Web_accessible_resources">Web-accessible resources</a> : Rendez le contenu packagé accessible aux pages Web et aux scripts de contenu.</li>
-</ul>
+- [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.
-<p><img alt="" src="webextension-anatomy.png"></p>
+![](webextension-anatomy.png)
-<p>Voir la page référence <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a> pour tous les détails.</p>
+Voir la page référence [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json) pour tous les détails.
-<p>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.</p>
+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.
-<h2 id="Scripts_darrière-plan">Scripts d'arrière-plan</h2>
+## Scripts d'arrière-plan
-<p>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.</p>
+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.
-<p>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 <a href="/fr/Add-ons/WebExtensions/API">WebExtension APIs</a> dans le script, tant que vous avez demandé les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> nécessaires.</p>
+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.
-<h3 id="Spécifier_les_scripts_darrière-plan">Spécifier les scripts d'arrière-plan</h3>
+### Spécifier les scripts d'arrière-plan
-<p>Vous pouvez inclure un script d'arrière-plan à l'aide de la clé <code>background</code> dans "manifest.json" :</p>
+Vous pouvez inclure un script d'arrière-plan à l'aide de la clé `background` dans "manifest.json" :
-<pre class="brush: json">// manifest.json
+```json
+// manifest.json
"background": {
"scripts": ["background-script.js"]
-}</pre>
+}
+```
-<p>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.</p>
+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.
-<p>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 :</p>
+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 :
-<p><strong>manifest.json</strong></p>
+**manifest.json**
-<pre class="brush: json">// manifest.json
+```json
+// manifest.json
"background": {
"page": "background-page.html"
-}</pre>
+}
+```
-<p><strong>background-page.html</strong></p>
+**background-page.html**
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
-&lt;html lang="en"&gt;
- &lt;head&gt;
- &lt;meta charset="utf-8"&gt;
- &lt;script type="module" src="background-script.js"&gt;&lt;/script&gt;
- &lt;/head&gt;
-&lt;/html&gt;</pre>
+```html
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <script type="module" src="background-script.js"></script>
+ </head>
+</html>
+```
-<h3 id="Environnement_des_scripts_darrière-plan">Environnement des scripts d'arrière-plan</h3>
+### Environnement des scripts d'arrière-plan
-<h4 id="APIs_DOM">APIs DOM</h4>
+#### APIs DOM
-<p>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 <code><a href="/fr/docs/Web/API/Window">fenêtre</a></code> globale, ainsi que toutes les API DOM standard fournies par cet objet.</p>
+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.
-<div class="warning">
-<p><strong>Attention :</strong> Dans Firefox, les pages d'arrière-plan ne supportent pas l'utilisation de <code><a href="/fr/docs/Web/API/Window/alert">alert()</a></code>, <code><a href="/fr/docs/Web/API/Window/confirm">confirm()</a></code>, ou <code><a href="/fr/docs/Web/API/Window/prompt">prompt()</a></code>.</p>
-</div>
+> **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).
-<h4 id="APIs_des_WebExtensions">APIs des WebExtensions</h4>
+#### APIs des WebExtensions
-<p>Les scripts d'arrière-plan peuvent utiliser l'une des <a href="/fr/Add-ons/WebExtensions/API">APIs des WebExtensions</a> dans le script, à condition que leur extension dispose des <a href="/fr-FR/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> nécessaires.</p>
+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.
-<h4 id="Cross-origin_access">Cross-origin access</h4>
+#### Cross-origin access
-<p>Les scripts d'arrière-plan peuvent faire des requêtes XHR à tous les hôtes pour lesquels ils ont des <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions d'hôte</a>.</p>
+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).
-<h4 id="Contenu_Web">Contenu Web</h4>
+#### Contenu Web
-<p>Les scripts d'arrière-plan n'obtiennent pas un accès direct aux pages Web. Toutefois,  ils peuvent charger des <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">scripts de contenu</a> dans les pages Web et peuvent <a href="/fr/Add-ons/WebExtensions/Content_scripts#Communicating_with_background_scripts">communiquer avec ces scripts de contenu à l'aide d'une API de communication</a>.</p>
+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).
-<h4 id="Politique_de_sécurité_du_contenu">Politique de sécurité du contenu</h4>
+#### Politique de sécurité du contenu
-<p>Les scripts d'arrière-plan sont restreints à certaines opérations pour lutter contre d'autres potentiellement dangereuses, comme l'utilisation de la fonction <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/eval">eval()</a></code>, par le biais d'une politique de sécurité du contenu. Pour plus de détails, consultez la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy">politique de sécurité du contenu</a>.</p>
+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).
-<h2 id="Sidebars_popups_pages_options">Sidebars, popups, pages options</h2>
+## Sidebars, popups, pages options
-<p>Votre extension peut inclure divers composants d'interface utilisateur dont le contenu est défini à l'aide d'un document HTML :</p>
+Votre extension peut inclure divers composants d'interface utilisateur dont le contenu est défini à l'aide d'un document HTML :
-<ul>
- <li>Une <a href="/fr/Add-ons/WebExtensions/user_interface/Sidebars">barre latérale</a> est un volet qui s'affiche dans la partie gauche de la fenêtre du navigateur, à côté de la page Web.</li>
- <li>Un <a href="/fr/Add-ons/WebExtensions/user_interface/Popups">popup</a> est une boîte de dialogue que vous pouvez afficher lorsque l'utilisateur clique sur un <a href="/fr/Add-ons/WebExtensions/user_interface/Browser_action">bouton de la barre d'outils</a> ou de la <a href="/fr/Add-ons/WebExtensions/user_interface/Page_actions">barre d'adresse</a></li>
- <li>Une <a href="/fr/Add-ons/WebExtensions/user_interface/Options_pages">page d'options</a>  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.</li>
-</ul>
+- 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.
-<p>Pour chacun de ces composants, vous créez un fichier HTML et pointez vers lui en utilisant une propriété spécifique dans <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a>. Le fichier HTML peut inclure des fichiers CSS et JavaScript, tout comme une page Web normale.</p>
+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.
-<p>Toutes ces pages sont un type de <a href="/fr/Add-ons/WebExtensions/user_interface/Extension_pages">pages d'extension</a>,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()")}}.</p>
+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()")}}.
-<h2 id="Page_dextension">Page d'extension</h2>
+## Page d'extension
-<p>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.</p>
+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.
-<p>Vous chargerez typiquement une page comme celle-ci en utilisant  {{WebExtAPIRef("windows.create()")}} ou {{WebExtAPIRef("tabs.create()")}}.</p>
+Vous chargerez typiquement une page comme celle-ci en utilisant  {{WebExtAPIRef("windows.create()")}} ou {{WebExtAPIRef("tabs.create()")}}.
-<p>Voir les <a href="/fr/Add-ons/WebExtensions/user_interface/Extension_pages">pages d'extension</a> pour en savoir plus.</p>
+Voir les [pages d'extension](/fr/Add-ons/WebExtensions/user_interface/Extension_pages) pour en savoir plus.
-<h2 id="Scripts_de_contenu">Scripts de contenu</h2>
+## Scripts de contenu
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>Les scripts de contenu peuvent voir et manipuler le DOM de la page, tout comme les scripts normaux chargés par la page.</p>
+Les scripts de contenu peuvent voir et manipuler le DOM de la page, tout comme les scripts normaux chargés par la page.
-<p>Contrairement aux scripts de pages normales, ils peuvent :</p>
+Contrairement aux scripts de pages normales, ils peuvent :
-<ul>
- <li>Effectuer des requêtes XHR entre domaines.</li>
- <li>Utiliser un petit sous-ensemble de l'<a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API">APIs des WebExtensions</a>.</li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#Communication_avec_les_scripts_darrière-plan">Echanger des messages avec leurs scripts d'arrière-plan</a> et peuvent ainsi accéder indirectement à toutes les API des WebExtensions.</li>
-</ul>
+- 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.
-<p>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 <code><a href="/fr-FR/docs/Web/API/Window/postMessage">window.postMessage()</a></code>.</p>
+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).
-<p>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.</p>
+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.
-<p>Voir l'article de <a href="/fr-FR/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">scripts de contenu</a> pour en savoir plus.</p>
+Voir l'article de [scripts de contenu](/fr-FR/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) pour en savoir plus.
-<h2 id="Rendre_accessible_des_ressources_web">Rendre accessible des ressources web</h2>
+## Rendre accessible des ressources web
-<p>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.</p>
+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.
-<p>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 <code>src</code> ciblant le fichier via le schéma spécifique.</p>
+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.
-<p>Pour en savoir plus, se référer à la documentation de la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/web_accessible_resources">web_accessible_resources</a></code> du fichier <code>manifest.json</code>.</p>
+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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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')}}.</p>
+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')}}.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets contenant les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets contenant les propriétés suivantes :
-<dl>
- <dt><code>name</code></dt>
- <dd><code>string</code> 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.</dd>
- <dt><code>scheduledTime</code></dt>
- <dd><code>double</code> Un nombre qui représente l'heure à laquelle l'alarme doit être déclenchée, exprimée <a href="https://fr.wikipedia.org/wiki/Heure_Unix">en nombre de millisecondes depuis epoch</a>.</dd>
- <dt><code>periodInMinutes</code>{{optional_inline}}</dt>
- <dd><code>double</code> Un nombre qui, s'il n'est pas <code>null</code>, indique que l'alarme est périodique et fournit la période.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_des_navigateur">Compatibilité des navigateur</h2>
+## Compatibilité des navigateur
-<p>{{Compat("webextensions.api.alarms.Alarm")}}</p>
+{{Compat("webextensions.api.alarms.Alarm")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<p><strong>Remerciements :</strong></p>
+**Remerciements :**
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/alarms"><code>chrome.alarms</code></a>.</p>
+Cette API est basée sur l'API Chromium [`chrome.alarms`](https://developer.chrome.com/extensions/alarms).
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p> \ 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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Cette méthode supprime une alarme à partir du nom passé en argument. Il s'agit d'une fonction asynchrone qui renvoie une {{jsxref("Promise")}}.</p>
+Cette méthode supprime une alarme à partir du nom passé en argument. Il s'agit d'une fonction asynchrone qui renvoie une {{jsxref("Promise")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox">var clearAlarm = browser.alarms.clear(
- name // string
-);
-</pre>
+ var clearAlarm = browser.alarms.clear(
+ name // string
+ );
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>name</code>{{optional_inline}}</dt>
- <dd><code><code>string</code></code>. Le nom de l'alarme à supprimer. Si le paramètre n'est pas fourni, c'est la chaîne vide "" qui sera utilisée.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>Une promesse ({{jsxref("Promise")}}) qui sera tenue avec un booléen. Ce booléen vaudra <code>true</code> si l'alarme a bien été effacée et <code>false</code> sinon.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function onCleared(wasCleared) {
+```js
+function onCleared(wasCleared) {
console.log(wasCleared); // true/false
}
var clearAlarm = browser.alarms.clear("my-periodic-alarm");
-clearAlarm.then(onCleared);</pre>
+clearAlarm.then(onCleared);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.api.alarms.clear")}}</p>
+{{Compat("webextensions.api.alarms.clear")}}
-<p><strong>Remerciements :</strong></p>
+**Remerciements :**
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/alarms"><code>chrome.alarms</code></a>.</p>
+Cette API est basée sur l'API Chromium [`chrome.alarms`](https://developer.chrome.com/extensions/alarms).
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
+Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et 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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Cette méthode supprime toutes les alarmes actives. C'est une fonction asynchrone qui renvoie une promesse {{jsxref("Promise")}}.</p>
+Cette méthode supprime toutes les alarmes actives. C'est une fonction asynchrone qui renvoie une promesse {{jsxref("Promise")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var clearAlarms = browser.alarms.clearAll()
-</pre>
+```js
+var clearAlarms = browser.alarms.clearAll()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun.</p>
+Aucun.
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>Une promesse ({{jsxref("Promise")}}) qui sera tenue avec une valeur booléenne. Ce dernier vaudra <code>true</code> si certaines alarmes ont bien été effacées et <code>false</code> sinon. On notera que Chrome renvoie toujours <code>true</code>.</p>
+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`.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function onClearedAll(wasCleared) {
+```js
+function onClearedAll(wasCleared) {
console.log(wasCleared); // true/false
}
var clearAlarms = browser.alarms.clearAll();
-clearAlarms.then(onClearedAll);</pre>
+clearAlarms.then(onClearedAll);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.api.alarms.clearAll")}}</p>
+{{Compat("webextensions.api.alarms.clearAll")}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/alarms"><code>chrome.alarms</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.alarms.create(
+```js
+browser.alarms.create(
name, // une valeur string optionnelle
alarmInfo // une valeur object optionnelle
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>name</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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é <code>name</code> 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.</dd>
- <dt><code>alarmInfo</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. Un objet de configuration qui indique le moment du premier déclenchement comme valeur absolue (<code>when</code>) ou relative (<code>delayInMinutes</code>). Pour que l'alarme se repète, on utilisera le champ <code>periodInMinutes</code>.</p>
+- `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}}
- <p>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 <code>delayInMinutes</code> 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 <code>periodInMinutes</code> avec une valeur strictement inférieure à 1, l'alarme se déclenchera alors chaque minute.</p>
+ - : `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`.
- <p>L'objet <code>alarmInfo</code> peut contenir les propriétés suivantes :</p>
- <dl>
- <dt><code>when</code>{{optional_inline}}</dt>
- <dd><code>double</code>. Le moment où l'alarme se déclenchera en premier. L'instant est indiquée comme une valeur absolue, exprimée en <a href="https://fr.wikipedia.org/wiki/Heure_Unix">millisecondes depuis epoch</a>. 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 <code>delayInMinutes</code>.</dd>
- <dt><code>delayInMinutes</code>{{optional_inline}}</dt>
- <dd><code>double</code>. 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 <code>when</code>.</dd>
- <dt><code>periodInMinutes</code>{{optional_inline}}</dt>
- <dd><code>double</code>. Si cette valeur est indiquée, l'alarme sera répétée périodiquement (toutes les <code>periodInMinutes</code> minutes) après le premier déclenchement. Si cette valeur est indiquée, il n'est pas obligatoire de fournir <code>when</code> ou <code>delayInMinutes</code> : l'alarme se déclenchera au bout de <code>periodInMinutes</code>. Si <code>periodInMinutes</code> n'est pas indiquée, l'alarme ne se déclenchera qu'une seule fois.</dd>
- </dl>
- </dd>
-</dl>
+ 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.
-<h2 id="Exemples">Exemples</h2>
+ L'objet `alarmInfo` peut contenir les propriétés suivantes :
-<h3 id="Alarme_vide">Alarme vide</h3>
+ - `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.
-<pre class="brush: js">const delayInMinutes = 5;
+## Exemples
+
+### Alarme vide
+
+```js
+const delayInMinutes = 5;
browser.alarms.create({
delayInMinutes
-});</pre>
+});
+```
-<h3 id="Alarme_relative_périodique">Alarme relative périodique</h3>
+### Alarme relative périodique
-<pre class="brush: js">const delayInMinutes = 5;
+```js
+const delayInMinutes = 5;
const periodInMinutes = 2;
browser.alarms.create("my-periodic-alarm", {
delayInMinutes,
periodInMinutes
-});</pre>
+});
+```
-<h3 id="Alarme_périodique_absolue">Alarme périodique absolue</h3>
+### Alarme périodique absolue
-<pre class="brush: js">const when = 1545696000;
+```js
+const when = 1545696000;
const periodInMinutes = 2;
browser.alarms.create("my-periodic-alarm", {
when,
periodInMinutes
-});</pre>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.alarms.create")}}</p>
+});
+```
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/alarms"><code>chrome.alarms</code></a>.</p>
+{{Compat("webextensions.api.alarms.create")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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")}}).</p>
+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")}}).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getAlarm = browser.alarms.get(
+```js
+var getAlarm = browser.alarms.get(
name // optional string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>name</code>{{optional_inline}}</dt>
- <dd><code><code>string</code></code>. 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 (<code>""</code>).</dd>
-</dl>
+- `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 (`""`).
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>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 <code>name</code>. Si aucune alarme ne correspond, la valeur renvoyée sera <code>undefined</code>.</p>
+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`.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function gotAlarm(alarm) {
+```js
+function gotAlarm(alarm) {
if (alarm) {
console.log(alarm.name);
}
}
var getAlarm = browser.alarms.get("my-periodic-alarm");
-getAlarm.then(gotAlarm);</pre>
+getAlarm.then(gotAlarm);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.alarms.get")}}</p>
+{{Compat("webextensions.api.alarms.get")}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/alarms"><code>chrome.alarms</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Obtient toutes les alarmes actives pour le poste.</p>
+Obtient toutes les alarmes actives pour le poste.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getAlarms = browser.alarms.getAll()
-</pre>
+```js
+var getAlarms = browser.alarms.getAll()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun</p>
+Aucun
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>Une <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise"><code>Promise</code></a> dont la valeur de résolution sera un tableau d'objets <a href="/fr/Add-ons/WebExtensions/API/alarms/Alarm"><code>Alarm</code></a>. Chaque élément de ce tableau représente une alarme active de l'extension. Si aucune alarme n'est active, le tableau sera vide.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function gotAll(alarms) {
+```js
+function gotAll(alarms) {
for (var alarm of alarms) {
console.log(alarm.name);
}
}
var getAlarms = browser.alarms.getAll();
-getAlarms.then(gotAll);</pre>
+getAlarms.then(gotAll);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.api.alarms.getAll")}}</p>
+{{Compat("webextensions.api.alarms.getAll")}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/alarms"><code>chrome.alarms</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Programmer le code pour qu'il soit exécuté à un moment précis dans le futur. C'est comme <code><a href="/fr/docs/Web/API/WindowTimers/setTimeout">setTimeout()</a></code> and <code><a href="/fr/docs/Web/API/WindowTimers/setInterval">setInterval()</a></code> 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</p>
+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
-<p>Pour pouvoir utiliser cette API, vous devez disposer de la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"alarms"</code>.</p>
+Pour pouvoir utiliser cette API, vous devez disposer de la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"alarms"`.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("alarms.Alarm")}}</dt>
- <dd>Ce type permet d'obtenir des informations à propos d'une alarme donnée.</dd>
-</dl>
+- {{WebExtAPIRef("alarms.Alarm")}}
+ - : Ce type permet d'obtenir des informations à propos d'une alarme donnée.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<dl>
- <dt>{{WebExtAPIRef("alarms.create()")}}</dt>
- <dd>Cette fonction permet de créer une nouvelle alarme.</dd>
- <dt>{{WebExtAPIRef("alarms.get()")}}</dt>
- <dd>Cette fonction permet de récupérer une alarme donnée en fonction de son nom.</dd>
- <dt>{{WebExtAPIRef("alarms.getAll()")}}</dt>
- <dd>Cette fonction permet de récupérer l'ensemble des alarmes qui sont planifiées.</dd>
- <dt>{{WebExtAPIRef("alarms.clear()")}}</dt>
- <dd>Cette fonction permet de supprimer une alarme donnée en fonction de son nom.</dd>
- <dt>{{WebExtAPIRef("alarms.clearAll()")}}</dt>
- <dd>Cette fonction permet de supprimer l'ensemble des alarmes qui sont planifiées.</dd>
-</dl>
+- {{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.
-<h2 id="Évènements">Évènements</h2>
+## Évènements
-<dl>
- <dt>{{WebExtAPIRef("alarms.onAlarm")}}</dt>
- <dd>Cet évènement est déclenché lorsque l'alarme s'éteint.</dd>
-</dl>
+- {{WebExtAPIRef("alarms.onAlarm")}}
+ - : Cet évènement est déclenché lorsque l'alarme s'éteint.
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.api.alarms")}}</p>
+{{Compat("webextensions.api.alarms")}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/alarms"><code>chrome.alarms</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Cet évènement est déclenché lorsque l'alarme se déclenche.</p>
+Cet évènement est déclenché lorsque l'alarme se déclenche.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.alarms.onAlarm.addListener(listener)
+```js
+browser.alarms.onAlarm.addListener(listener)
browser.alarms.onAlarm.removeListener(listener)
browser.alarms.onAlarm.hasListener(listener)
-</pre>
+```
-<p>Cet évènement possède trois méthodes :</p>
+Cet évènement possède trois méthodes :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Cette méthode ajoute un gestionnaire à l'évènement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Cette méthode retire le gestionnaire d'évènement passé en argument.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Cette méthode permet de vérifier si le gestionnaire d'évènement passé en argument est enregistré : elle renvoie <code>true</code> s'il est déjà présent et <code>false</code> sinon.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>listener</code></dt>
- <dd>
- <p>La fonction qui sera appelée lorsque l'événement se produira. La fonction recevra les arguments suivants :</p>
+- `listener`
- <dl>
- <dt><code>alarm</code></dt>
- <dd>{{WebExtAPIRef('alarms.Alarm')}}. L'alarme qui s'est déclenchée. La propriété <code>Alarm.name</code> pourra être utilisée afin de déterminer l'alarme qui s'est déclenchée.</dd>
- </dl>
- </dd>
-</dl>
+ - : La fonction qui sera appelée lorsque l'événement se produira. La fonction recevra les arguments suivants :
-<h2 id="Exemples">Exemples</h2>
+ - `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.
-<p>Voici un exemple illustrant ce qui se produit quand l'alarme se déclenche</p>
+## Exemples
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+browser.alarms.onAlarm.addListener(handleAlarm);
+```
-<p>{{Compat("webextensions.api.alarms.onAlarm")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité des navigateurs
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/alarms"><code>chrome.alarms</code></a>.</p>
+{{Compat("webextensions.api.alarms.onAlarm")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet de type <code>bookmarks.BookmarkTreeNode</code> 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 <code>index</code> dans leurs dossiers parents respectifs.</p>
+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.
-<h2 id="Type">Type</h2>
+## Type
-<p>Un {{jsxref("object")}} avec les propriétés suivantes :</p>
+Un {{jsxref("object")}} avec les propriétés suivantes :
-<dl>
- <dt><code>children</code> {{optional_inline}}</dt>
- <dd>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.</dd>
- <dt><code>dateAdded</code> {{optional_inline}}</dt>
- <dd>Un nombre représentant la date de création du noeud en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>dateGroupModified</code> {{optional_inline}}</dt>
- <dd>Un nombre représentant la date et l'heure de la dernière modification du contenu de ce dossier, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>id</code></dt>
- <dd>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.</dd>
- <dt><code>index</code> {{optional_inline}}</dt>
- <dd>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.</dd>
- <dt><code>parentId</code> {{optional_inline}}</dt>
- <dd>Un {{jsxref("string")}} qui spécifie l'ID du dossier parent. Cette propriété n'est pas présente dans le noeud racine.</dd>
- <dt><code>title</code></dt>
- <dd>Un {{jsxref("string")}} qui contient le texte affiché pour le nœud dans les menus et les listes de signets.</dd>
- <dt><code>type</code>{{optional_inline}}</dt>
- <dd>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 <code>"bookmark"</code> sauf si l'<code>url</code> est omise, auquel cas elle est par défaut <code>"folder"</code>.</dd>
- <dt><code>unmodifiable</code> {{optional_inline}}</dt>
- <dd>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.</dd>
- <dt><code>url</code> {{optional_inline}}</dt>
- <dd>Un {{jsxref("string")}} qui représente l'URL du signet. Si le nœud représente un dossier, cette propriété est omise.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.BookmarkTreeNode", 10)}}</p>
+{{Compat("webextensions.api.bookmarks.BookmarkTreeNode", 10)}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -85,5 +81,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <strong><code>bookmarks.BookmarkTreeNodeType</code></strong> est utilisé pour décrire si un nœud de l'arborescence de signets est un signet, un dossier ou un séparateur.</p>
+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.
-<h2 id="Type">Type</h2>
+## Type
-<p><code>bookmarks.BookmarkTreeNodeType</code> est un {{jsxref("string")}}qui peut avoir l'une des trois valeurs suivantes :</p>
+`bookmarks.BookmarkTreeNodeType` est un {{jsxref("string")}}qui peut avoir l'une des trois valeurs suivantes :
-<ul>
- <li><code>"bookmark"</code>: le noeud est un signet.</li>
- <li><code>"folder"</code>: le noeud est un dossier.</li>
- <li><code>"separator"</code>: le noeud est un séparateur.</li>
-</ul>
+- `"bookmark"`: le noeud est un signet.
+- `"folder"`: le noeud est un dossier.
+- `"separator"`: le noeud est un séparateur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.BookmarkTreeNodeType", 10)}}</p>
+{{Compat("webextensions.api.bookmarks.BookmarkTreeNodeType", 10)}}
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un type <strong><code>bookmarks.BookmarkTreeNodeUnmodifiable</code></strong> 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.</p>
+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.
-<h2 id="Type">Type</h2>
+## Type
-<p><code>bookmarks.BookmarkTreeNodeUnmodifiable</code> est un {{jsxref("string")}} qui ne peut actuellement avoir qu'une seule valeur : <code>"managed"</code>. 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).</p>
+`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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.BookmarkTreeNodeUnmodifiable")}}</p>
+{{Compat("webextensions.api.bookmarks.BookmarkTreeNodeUnmodifiable")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -62,5 +60,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNodeUnmo
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Crée un signet ou un dossier en tant qu'enfant de {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} avec  <code>parentId</code> spécifié. Pour créer un dossier, omettez ou laissez vide le paramètre  {{WebExtAPIRef("bookmarks.CreateDetails", "CreateDetails", "url")}}.</p>
+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")}}.
-<div class="warning">
-<p><strong>Attention :</strong> 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: "<em>La racine du signet ne peut pas être modifiée</em>" et le signet ne sera pas créé.</p>
-</div>
+> **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éé.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var createBookmark = browser.bookmarks.create(
+```js
+var createBookmark = browser.bookmarks.create(
bookmark // CreateDetails object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>bookmark</code></dt>
- <dd>Un objet {{WebExtAPIRef("bookmarks.CreateDetails")}}.</dd>
-</dl>
+- `bookmark`
+ - : Un objet {{WebExtAPIRef("bookmarks.CreateDetails")}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un {{WebExtAPIRef('bookmarks.BookmarkTreeNode', 'BookmarkTreeNode')}} qui décrit le nouveau noeud de marque pages.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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).</p>
+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).
-<pre class="brush: js">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);</pre>
+createBookmark.then(onCreated);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.create")}}</p>
+{{Compat("webextensions.api.bookmarks.create")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -97,5 +94,4 @@ createBookmark.then(onCreated);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>CreateDetails</code> 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()")}}.</p>
+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()")}}.
-<h2 id="Type">Type</h2>
+## Type
-<p>Un {{jsxref("object")}} contenant une combinaison des champs suivants :</p>
+Un {{jsxref("object")}} contenant une combinaison des champs suivants :
-<dl>
- <dt><code>index</code> {{optional_inline}}</dt>
- <dd>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.</dd>
- <dt><code>parentId</code> {{optional_inline}}</dt>
- <dd>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.</dd>
- <dt><code>title</code> {{optional_inline}}</dt>
- <dd>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 <code>""</code>.</dd>
- <dt><code>type</code>{{optional_inline}}</dt>
- <dd>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 <code>"bookmark"</code> sauf si l'<code>url</code> est omise, auquel cas elle est par défaut <code>"folder"</code>.</dd>
- <dt><code>url</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Un {{jsxref("string")}} qui spécifie l'URL de la page à mettre en signet. Si ceci est omis ou est <code>null</code>, un dossier est créé à la place d'un signet.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.CreateDetails", 10)}}</p>
+{{Compat("webextensions.api.bookmarks.CreateDetails", 10)}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -75,5 +71,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/CreateDetails
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Étant donné l'ID d'un {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}} ou d'un tableau de ces ID, la méthode <strong><code>bookmarks.get()</code></strong> récupère les nœuds correspondants.</p>
+É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.
-<p>C'est une fonction asynchrone qui renvoie une {{jsxref("promise")}}.</p>
+C'est une fonction asynchrone qui renvoie une {{jsxref("promise")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getBookmarks = browser.bookmarks.get(
+```js
+var getBookmarks = browser.bookmarks.get(
idOrIdList // string or string array
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>idOrIdList</code></dt>
- <dd><code><code>string</code></code> 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>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.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple essaie d'obtenir le signet dont l'ID est <code>bookmarkAAAA</code>. Si aucun signet avec cet ID n'existe, <code>onRejected</code> est appelé :</p>
+Cet exemple essaie d'obtenir le signet dont l'ID est `bookmarkAAAA`. Si aucun signet avec cet ID n'existe, `onRejected` est appelé :
-<pre class="brush: js">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);</pre>
+gettingBookmarks.then(onFulfilled, onRejected);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.get")}}</p>
+{{Compat("webextensions.api.bookmarks.get")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -93,5 +92,4 @@ gettingBookmarks.then(onFulfilled, onRejected);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p><strong><code>bookmarks.getChildren()</code></strong> récupère tous les enfants immédiats d'un dossier de signets donné, identifié comme {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} ID.</p>
+**`bookmarks.getChildren()`** récupère tous les enfants immédiats d'un dossier de signets donné, identifié comme {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} ID.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingChildren = browser.bookmarks.getChildren(
+```js
+var gettingChildren = browser.bookmarks.getChildren(
id // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd>Un {{jsxref("string")}} qui spécifie l'ID du dossier dont les enfants doivent être récupérés.</dd>
-</dl>
+- `id`
+ - : Un {{jsxref("string")}} qui spécifie l'ID du dossier dont les enfants doivent être récupérés.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un tableau d'objets <a href="/fr/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode"><code>BookmarkTreeNode</code></a>. 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.</p>
+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.
-<p>Si le noeud spécifié n'a pas d'enfants, le tableau est vide.Si le noeud identifié par <code>id</code> n'est pas trouvé, la promise est rejetée avec un message d'erreur.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">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);</pre>
+gettingChildren.then(onFulfilled, onRejected);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.getChildren")}}</p>
+{{Compat("webextensions.api.bookmarks.getChildren")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -95,5 +94,4 @@ gettingChildren.then(onFulfilled, onRejected);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode <code>bookmarks.getRecent()</code> 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')}}.</p>
+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')}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingRecent = browser.bookmarks.getRecent(
+```js
+var gettingRecent = browser.bookmarks.getRecent(
numberOfItems // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>numberOfItems</code></dt>
- <dd>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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un tableau d'objets <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode"><code>BookmarkTreeNode</code></a>.</p>
+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).
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple enregistre l'URL du dernier signet ajouté :</p>
+Cet exemple enregistre l'URL du dernier signet ajouté :
-<pre class="brush: js">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);</pre>
+gettingRecent.then(onFulfilled, onRejected);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.getRecent")}}</p>
+{{Compat("webextensions.api.bookmarks.getRecent")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -95,5 +94,4 @@ gettingRecent.then(onFulfilled, onRejected);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode <strong><code>bookmarks.getSubTree()</code></strong> récupère de façon asynchrone un {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}, étant donné son ID.</p>
+La méthode **`bookmarks.getSubTree()`** récupère de façon asynchrone un {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}, étant donné son ID.
-<p>Si l'élément est un dossier, vous pouvez accéder à tous ses descendants de manière récursive en utilisant sa propriété <code>children</code> et la propriété <code>children</code> de ses descendants, s'ils sont eux-mêmes des dossiers.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingSubTree = browser.bookmarks.getSubTree(
+```js
+var gettingSubTree = browser.bookmarks.getSubTree(
id // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd>Un {{jsxref("string")}} spécifiant l'ID de la racine du sous-arbre à récupérer.</dd>
-</dl>
+- `id`
+ - : Un {{jsxref("string")}} spécifiant l'ID de la racine du sous-arbre à récupérer.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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 à <code>id</code> n'a pas pu être trouvé, la promesse sera rejetée avec un message d'erreur.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple imprime récursivement le sous-arbre sous un noeud donné :</p>
+Cet exemple imprime récursivement le sous-arbre sous un noeud donné :
-<pre class="brush: js">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);</pre>
+gettingSubTree.then(logSubTree, onRejected);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.getSubTree")}}</p>
+{{Compat("webextensions.api.bookmarks.getSubTree")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -115,5 +114,4 @@ gettingSubTree.then(logSubTree, onRejected);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p><strong><code>bookmarks.getTree()</code></strong> renvoie un tableau contenant la racine de l'arborescence des signets en tant qu'objet {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}.</p>
+**`bookmarks.getTree()`** renvoie un tableau contenant la racine de l'arborescence des signets en tant qu'objet {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}.
-<p>Vous pouvez accéder à l'intégralité de l'arborescence de manière récursive en utilisant sa propriété <code>children</code> et la propriété <code>children</code> de ses descendants, s'ils sont eux-mêmes des dossiers.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingTree = browser.bookmarks.getTree()
-</pre>
+```js
+var gettingTree = browser.bookmarks.getTree()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un tableau contenant un objet, un objet  <a href="/fr/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode"><code>bookmarks.BookmarkTreeNode</code></a> le noeud racine.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple imprime l'intégralité de l'arborescence des signets :</p>
+Cet exemple imprime l'intégralité de l'arborescence des signets :
-<pre class="brush: js">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);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.getTree")}}</p>
+{{Compat("webextensions.api.bookmarks.getTree")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -110,5 +110,4 @@ gettingTree.then(logTree, onRejected);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
-
-<p>L’API de la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions">WebExtensions</a> {{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.</p>
-
-<p>Pour utiliser cette API, une extension doit demander la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> « bookmarks » dans son fichier <code><a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a></code>.</p>
-
-<p>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: <em>"La racine du signet ne peut pas être modifiée"</em></p>
-
-<h2 id="Les_Types">Les Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}</dt>
- <dd>Représente un marque-page ou un dossier dans l'arborescence des marque-pages.</dd>
- <dt>{{WebExtAPIRef("bookmarks.BookmarkTreeNodeType")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("bookmarks.BookmarkTreeNodeUnmodifiable")}}</dt>
- <dd>Un {{jsxref("String")}} énumère ce qui spécifie pourquoi un marque-page ou un dossier n’est pas possible.</dd>
- <dt>{{WebExtAPIRef("bookmarks.CreateDetails")}}</dt>
- <dd>Contient des informations passées à la fonction {{WebExtAPIRef("bookmarks.create()")}} lors de la création d’un nouveau marque-page.</dd>
-</dl>
-
-<h2 id="Les_fonctions">Les fonctions</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("bookmarks.create()")}}</dt>
- <dd>Créer un marque-page ou un dossier.</dd>
- <dt>{{WebExtAPIRef("bookmarks.get()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("bookmarks.getChildren()")}}</dt>
- <dd>Récupère les enfants spécifiés {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}}.</dd>
- <dt>{{WebExtAPIRef("bookmarks.getRecent()")}}</dt>
- <dd>Récupère un nombre demandé de marque-page récemment ajoutés.</dd>
- <dt>{{WebExtAPIRef("bookmarks.getSubTree()")}}</dt>
- <dd>Récupère un nombre demandé de favoris récemment ajoutés.</dd>
- <dt>{{WebExtAPIRef("bookmarks.getTree()")}}</dt>
- <dd>Récupère l’intégralité de l’arborescence des marques pages dans un tableau d’objets  {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}}.</dd>
- <dt>{{WebExtAPIRef("bookmarks.move()")}}</dt>
- <dd>Déplace le {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} vers un nouvel emplacement dans l’arborescence de marque-pages.</dd>
- <dt>{{WebExtAPIRef("bookmarks.remove()")}}</dt>
- <dd>Supprime un marque page ou un dossier de marque-pages vide, en fonction de l’ID du noeud.</dd>
- <dt>{{WebExtAPIRef("bookmarks.removeTree()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("bookmarks.search()")}}</dt>
- <dd>Recherche {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} une correspondant à un ensemble de critères spécifié.</dd>
- <dt>{{WebExtAPIRef("bookmarks.update()")}}</dt>
- <dd>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.</dd>
-</dl>
-
-<h2 id="Events">Events</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("bookmarks.onCreated")}}</dt>
- <dd>Déclenché lorsqu’un marque-page ou un dossier est créé.</dd>
- <dt>{{WebExtAPIRef("bookmarks.onRemoved")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("bookmarks.onChanged")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("bookmarks.onMoved")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("bookmarks.onChildrenReordered")}}</dt>
- <dd>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()")}}.</dd>
- <dt>{{WebExtAPIRef("bookmarks.onImportBegan")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("bookmarks.onImportEnded")}}</dt>
- <dd>Déclenché lorsqu’une session d’importation de marque-pages est terminée.</dd>
-</dl>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("webextensions.api.bookmarks")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l’API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{AddonSidebar}}
+
+L’API de la [WebExtensions](/fr/docs/Mozilla/Add-ons/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](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) « bookmarks » dans son fichier [`manifest.json`](/fr/Add-ons/WebExtensions/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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -120,5 +112,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode <strong><code>bookmarks.move()</code></strong> 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.</p>
+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.
-<div class="warning">
-<p><strong>Attention :</strong> 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: "<em>La racine du signet ne peut pas être modifiée</em>" et le déplacement ne sera pas terminé.</p>
-</div>
+> **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é.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var movingBookmark = browser.bookmarks.move(
+```js
+var movingBookmark = browser.bookmarks.move(
id, // string
destination // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres :</h3>
+### Paramètres :
-<dl>
- <dt><code>id</code></dt>
- <dd>Un {{jsxref("string")}} contenant l'ID du signet ou du dossier à déplacer.</dd>
- <dt><code>destination</code></dt>
- <dd><p>Un {{jsxref("object")}} qui spécifie la destination du signet. Cet objet doit contenir un ou les deux champs suivants :</p>
-
- <dl>
- <dt><code>parentId</code> {{optional_inline}}</dt>
- <dd>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.</dd>
- <dt><code>index</code> {{optional_inline}}</dt>
- <dd>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..</dd>
- </dl>
- </dd>
-</dl>
+- `id`
+ - : Un {{jsxref("string")}} contenant l'ID du signet ou du dossier à déplacer.
+- `destination`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : Un {{jsxref("object")}} qui spécifie la destination du signet. Cet objet doit contenir un ou les deux champs suivants :
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un seul objet <a href="/fr/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode"><code>bookmarks.BookmarkTreeNode</code></a>  décrivant le noeud déplacé.Si le noeud correspondant au paramètre <code>id</code> ne peut pas être trouvé, la promesse est rejetée avec un message d'erreur.</p>
+ - `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..
-<h2 id="Exemples">Exemples</h2>
+### Valeur retournée
-<p>Cet exemple déplace un signet afin qu'il soit le premier signet dans son dossier actuel.</p>
+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.
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+movingBookmark.then(onMoved, onRejected);
+```
-<p>{{Compat("webextensions.api.bookmarks.move")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
+{{Compat("webextensions.api.bookmarks.move")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -112,5 +105,4 @@ movingBookmark.then(onMoved, onRejected);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Mise en place quand il y a un changement à :</p>
+Mise en place quand il y a un changement à :
-<ul>
- <li>le titre ou l'URL d'un signet</li>
- <li>le nom d'un dossier.</li>
-</ul>
+- le titre ou l'URL d'un signet
+- le nom d'un dossier.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.bookmarks.onChanged.addListener(listener)
+```js
+browser.bookmarks.onChanged.addListener(listener)
browser.bookmarks.onChanged.removeListener(listener)
browser.bookmarks.onChanged.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. ID de l'article qui a changé.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>changeInfo</code></dt>
- <dd><a href="#changeInfo"><code>object</code></a>. Objet contenant deux propriétés : <code>title</code>, une chaîne contenant le titre de l'élément et <code>url</code>, une chaîne contenant l'URL de l'élément. Si l'élément est un dossier, l'<code>url</code> est omise.</dd>
- </dl>
- </dd>
-</dl>
+ - `id`
+ - : `string`. ID de l'article qui a changé.
-<div class="note">
-<p><strong>Note :</strong> 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'<code>url</code> d'un signet change, le changeInfo ne peut contenir que les nouvelles informations de l'<code>url</code>.</p>
-</div>
+ <!---->
-<h2 id="Exemples">Exemples</h2>
+ - `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.
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-
-
-
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+```
-<p>{{Compat("webextensions.api.bookmarks.onChanged")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
+{{Compat("webextensions.api.bookmarks.onChanged")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -125,5 +110,4 @@ browser.browserAction.onClicked.addListener(handleClick);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.bookmarks.onChildrenReordered.addListener(listener)
+```js
+browser.bookmarks.onChildrenReordered.addListener(listener)
browser.bookmarks.onChildrenReordered.removeListener(listener)
browser.bookmarks.onChildrenReordered.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Synatxe_addListener">Synatxe addListener</h2>
+## Synatxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera très semblable à cet événement. La fonction suivante les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. ID du dossier dont les enfants ont été réorganisés.</dd>
- </dl>
+ - : Fonction qui sera très semblable à cet événement. La fonction suivante les arguments suivants :
- <dl>
- <dt><code>reorderInfo</code></dt>
- <dd><a href="#reorderInfo"><code>object</code></a>. Objet contenant des objets supplémentaires.</dd>
- </dl>
- </dd>
-</dl>
+ - `id`
+ - : `string`. ID du dossier dont les enfants ont été réorganisés.
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ <!---->
-<h3 id="reorderInfo">reorderInfo</h3>
+ - `reorderInfo`
+ - : [`object`](#reorderInfo). Objet contenant des objets supplémentaires.
-<dl>
- <dt><code>childIds</code></dt>
- <dd><code>array</code> de <code><code>string</code></code>. 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.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### reorderInfo
-<p>{{Compat("webextensions.api.bookmarks.onChildrenReordered")}}</p>
+- `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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -120,5 +111,4 @@ browser.browserAction.onClicked.addListener(handleClick);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'un élément de signet (un signet ou un dossier) est créé.</p>
+Lancé lorsqu'un élément de signet (un signet ou un dossier) est créé.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.bookmarks.onCreated.addListener()
+```js
+browser.bookmarks.onCreated.addListener()
browser.bookmarks.onCreated.removeListener(listener)
browser.bookmarks.onCreated.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. L'ID du nouvel élément de favori.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>bookmark</code></dt>
- <dd>{{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}. Informations sur le nouvel élément de favori.</dd>
- </dl>
- </dd>
-</dl>
+ - `id`
+ - : `string`. L'ID du nouvel élément de favori.
-<h2 id="Exemples">Exemples</h2>
+ <!---->
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+browser.bookmarks.onCreated.addListener(handleCreated);
+```
-<p>{{Compat("webextensions.api.bookmarks.onCreated")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
+{{Compat("webextensions.api.bookmarks.onCreated")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -106,5 +100,4 @@ browser.bookmarks.onCreated.addListener(handleCreated);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque le navigateur a commencé à importer un ensemble de signet.</p>
+Lancé lorsque le navigateur a commencé à importer un ensemble de signet.
-<p>Pendant l'importation d'un ensemble de signets, {{WebExtAPIRef("bookmarks.onCreated", "onCreated")}} peut déclencher plusieurs fois. Si votre extension écoute <code>onCreated</code>, et que l'écouteur est cher, vous devez également écouter <code>onImportBegan</code> et {{WebExtAPIRef("bookmarks.onImportEnded", "onImportEnded")}}. Lorsque vous recevez <code>onImportBegan</code>, ignorez <code>onCreated</code> jusqu'à ce que vous receviez <code>onImportEnded</code>. Vous pouvez gérer toutes les autres notifications comme d'habitude.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.bookmarks.onImportBegan.addListener(listener)
+```js
+browser.bookmarks.onImportBegan.addListener(listener)
browser.bookmarks.onImportBegan.removeListener(listener)
browser.bookmarks.onImportBegan.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Parameters">Parameters</h3>
+### Parameters
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. Il n'y a pas de paramètres.</p>
- </dd>
-</dl>
+- `callback`
+ - : Fonction qui sera appelée lorsque cet événement se produit. Il n'y a pas de paramètres.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.onImportBegan")}}</p>
+{{Compat("webextensions.api.bookmarks.onImportBegan")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function handleImportBegan() {
+```js
+function handleImportBegan() {
console.log("Importing...");
}
@@ -68,19 +64,17 @@ function handleClick() {
}
browser.browserAction.onClicked.addListener(handleClick);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -107,5 +101,4 @@ browser.browserAction.onClicked.addListener(handleClick);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque le navigateur a fini d'importer un ensemble de signets.</p>
+Lancé lorsque le navigateur a fini d'importer un ensemble de signets.
-<p>Voir {{WebExtAPIRef("bookmarks.onImportBegan")}}.</p>
+Voir {{WebExtAPIRef("bookmarks.onImportBegan")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.bookmarks.onImportEnded.addListener(listener)
+```js
+browser.bookmarks.onImportEnded.addListener(listener)
browser.bookmarks.onImportEnded.removeListener(listener)
browser.bookmarks.onImportEnded.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. Il n'a pas passé de paramètres.</p>
- </dd>
-</dl>
+- `callback`
+ - : Fonction qui sera appelée lorsque cet événement se produit. Il n'a pas passé de paramètres.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.bookmarks.onImportEnded")}}</p>
+{{Compat("webextensions.api.bookmarks.onImportEnded")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function handleImportBegan() {
+```js
+function handleImportBegan() {
console.log("Importing...");
}
@@ -68,19 +64,17 @@ function handleClick() {
}
browser.browserAction.onClicked.addListener(handleClick);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -107,5 +101,4 @@ browser.browserAction.onClicked.addListener(handleClick);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'un signet ou un dossier est déplacé vers un autre dossier parent et / ou position dans un dossier.</p>
+Lancé lorsqu'un signet ou un dossier est déplacé vers un autre dossier parent et / ou position dans un dossier.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.bookmarks.onMoved.addListener(listener)
+```js
+browser.bookmarks.onMoved.addListener(listener)
browser.bookmarks.onMoved.removeListener(listener)
browser.bookmarks.onMoved.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Parameters">Parameters</h3>
+### Parameters
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Function that will be called when this event occurs. The function will be passed the following arguments:</p>
+- `callback`
- <dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. ID of the item that was moved.</dd>
- </dl>
+ - : Function that will be called when this event occurs. The function will be passed the following arguments:
- <dl>
- <dt><code>moveInfo</code></dt>
- <dd><a href="#moveInfo"><code>object</code></a>. Object containing more details about the move.</dd>
- </dl>
- </dd>
-</dl>
+ - `id`
+ - : `string`. ID of the item that was moved.
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ <!---->
-<h3 id="moveInfo">moveInfo</h3>
+ - `moveInfo`
+ - : [`object`](#moveInfo). Object containing more details about the move.
-<dl>
- <dt><code>parentId</code></dt>
- <dd><code>string</code>. Le nouveau dossier parent.</dd>
- <dt><code>index</code></dt>
- <dd><code>integer</code>. Le nouvel index de cet élément dans son parent.</dd>
- <dt><code>oldParentId</code></dt>
- <dd><code>string</code>. L'ancien dossier parent.</dd>
- <dt><code>oldIndex</code></dt>
- <dd><code>integer</code>. L'ancien index de l'élément dans son parent.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### moveInfo
-<p>{{Compat("webextensions.api.bookmarks.onMoved")}}</p>
+- `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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -129,5 +120,4 @@ browser.browserAction.onClicked.addListener(handleClick);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.bookmarks.onRemoved.addListener(listener)
+```js
+browser.bookmarks.onRemoved.addListener(listener)
browser.bookmarks.onRemoved.removeListener(listener)
browser.bookmarks.onRemoved.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. ID de l'article qui a été supprimé.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>removeInfo</code></dt>
- <dd><a href="#removeInfo"><code>object</code></a>. Plus de détails sur l'élément supprimé.</dd>
- </dl>
- </dd>
-</dl>
+ - `id`
+ - : `string`. ID de l'article qui a été supprimé.
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ <!---->
-<h3 id="removeInfo">removeInfo</h3>
+ - `removeInfo`
+ - : [`object`](#removeInfo). Plus de détails sur l'élément supprimé.
-<dl>
- <dt><code>parentId</code></dt>
- <dd><code>string</code>. ID du parent de l'élément dans l'arborescence.</dd>
- <dt><code>index</code></dt>
- <dd><code>integer</code>. Position d'index basée sur zéro de cet élément dans son parent.</dd>
- <dt><code>node</code></dt>
- <dd>{{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}. Informations détaillées sur l'élément qui a été supprimé.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Exemples">Exemples</h2>
+### removeInfo
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+browser.browserAction.onClicked.addListener(handleClick);
+```
-<p>{{Compat("webextensions.api.bookmarks.onRemoved")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
+{{Compat("webextensions.api.bookmarks.onRemoved")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -124,5 +116,4 @@ browser.browserAction.onClicked.addListener(handleClick);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode <strong><code>bookmarks.remove()</code></strong> supprime un seul signet ou un dossier de signets vide.</p>
+La méthode **`bookmarks.remove()`** supprime un seul signet ou un dossier de signets vide.
-<div class="warning">
-<p><strong>Attention :</strong> 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: "<em>La racine du signet ne peut pas être modifiée</em>" et le signet ne sera pas supprimé.</p>
-</div>
+> **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é.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removingBookmark = browser.bookmarks.remove(
+```js
+var removingBookmark = browser.bookmarks.remove(
id // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd>Un {{jsxref("string")}} spécifiant l'ID du signet ou du dossier vide à supprimer.</dd>
-</dl>
+- `id`
+ - : Un {{jsxref("string")}} spécifiant l'ID du signet ou du dossier vide à supprimer.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera accomplie sans arguments..Si le nœud correspondant au paramètre <code>id</code> ne peut être trouvé ou s'il s'agit d'un dossier non vide, la promesse est rejetée avec un message d'erreur.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">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);</pre>
+removingBookmark.then(onRemoved, onRejected);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
+## Compatibilité du navigateur
+{{Compat("webextensions.api.bookmarks.remove")}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+> **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.
-<p>{{Compat("webextensions.api.bookmarks.remove")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -100,5 +95,4 @@ removingBookmark.then(onRemoved, onRejected);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode <strong><code>bookmarks.removeTree()</code></strong> supprime récursivement un dossier de signets et tout son contenu.</p>
+La méthode **`bookmarks.removeTree()`** supprime récursivement un dossier de signets et tout son contenu.
-<div class="warning">
-<p><strong>Attention :</strong> 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é.</p>
-</div>
+> **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é.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removingTree = browser.bookmarks.removeTree(
+```js
+var removingTree = browser.bookmarks.removeTree(
id // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd>Un {{jsxref("string")}} spécifiant l'ID du noeud de dossier à supprimer avec ses descendants.</dd>
-</dl>
+- `id`
+ - : Un {{jsxref("string")}} spécifiant l'ID du noeud de dossier à supprimer avec ses descendants.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie sans arguments lorsque l'arbre a été retiré.Si le noeud correspondant au paramètre <code>id</code> ne peut pas être trouvé, la promesse est rejetée avec un message d'erreur.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple localise un dossier de signets nommé "MDN" et le supprime avec tout son contenu.</p>
+Cet exemple localise un dossier de signets nommé "MDN" et le supprime avec tout son contenu.
-<pre class="brush: js">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);</pre>
+searchingBookmarks.then(removeMDN, onRejected);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
+## Compatibilité du navigateur
+{{Compat("webextensions.api.bookmarks.removeTree")}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+> **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.
-<p>{{Compat("webextensions.api.bookmarks.removeTree")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -106,5 +101,4 @@ searchingBookmarks.then(removeMDN, onRejected);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <strong><code>bookmarks.search()</code></strong> recherche les nœuds d'arborescence de signets correspondant à la requête donnée.</p>
+La fonction **`bookmarks.search()`** recherche les nœuds d'arborescence de signets correspondant à la requête donnée.
-<p>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 <a href="/fr/Add-ons/WebExtensions/Debugging">console</a> 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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var searching = browser.bookmarks.search(
+```js
+var searching = browser.bookmarks.search(
query // string or object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>query</code></dt>
- <dd><p>Un {{jsxref("string")}} ou {{jsxref("object")}} décrivant la requête à effectuer.</p>
- <p>Si la <code>query</code> 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.</p>
+- `query`
- <p>Si la <code>query</code> un objet, elle possède zéro ou plus des trois propriétés suivantes : <code>query</code>, <code>title</code>, et <code>url</code>, 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.</p>
+ - : Un {{jsxref("string")}} ou {{jsxref("object")}} décrivant la requête à effectuer.
- <dl>
- <dt><code>query</code> {{optional_inline}}</dt>
- <dd>Un {{jsxref("string")}} spécifiant un ou plusieurs termes à comparer; le format est identique à la forme de chaîne du paramètre du <code>query</code>. Si ce n'est pas une chaîne, une exception est levée.</dd>
- <dt><code>url</code> {{optional_inline}}</dt>
- <dd><p>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.</p>
- </dd>
- <dt><code>title</code> {{optional_inline}}</dt>
- <dd>Un {{jsxref("string")}} Ceci doit correspondre exactement au titre du noeud de l'arbre du signet. La correspondance est sensible à la casse.</dd>
- </dl>
- </dd>
-</dl>
+ 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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ 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.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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 <code><a href="/fr/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode">BookmarkTreeNodes</a></code>—même du type <code>"folder"</code> — renvoyé par  <code>bookmarks.search()</code> ne contiennent pas la propriété children. Pour obtenir un  <code>BookmarkTreeNode</code> utilisez <code><a href="/fr/Add-ons/WebExtensions/API/bookmarks/getSubTree">bookmarks.getSubTree()</a></code>.</p>
+ - `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.
-<h2 id="Exemple">Exemple</h2>
+### Valeur retournée
-<p>Cet exemple enregistre les ID de tous les signets :</p>
+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).
-<pre class="brush: js">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);</pre>
+searching.then(onFulfilled, onRejected);
+```
-<p>Cet exemple cherche à voir si l'onglet actuellement actif est marqué d'un signet :</p>
+Cet exemple cherche à voir si l'onglet actuellement actif est marqué d'un signet :
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+```
-<p>{{Compat("webextensions.api.bookmarks.search")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
+{{Compat("webextensions.api.bookmarks.search")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -135,5 +133,4 @@ browser.browserAction.onClicked.addListener(checkActiveTab);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p><strong><code>bookmarks.update()</code></strong> met à jour le titre et / ou l'URL d'un signet ou le nom d'un dossier de signets.</p>
+**`bookmarks.update()`** met à jour le titre et / ou l'URL d'un signet ou le nom d'un dossier de signets.
-<div class="warning">
-<p><strong>Attention :</strong> 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.</p>
-</div>
+> **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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var updating = browser.bookmarks.update(
+```js
+var updating = browser.bookmarks.update(
id, // string
changes // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd>Un {{jsxref("string")}} spécifiant l'ID du dossier de signet ou de dossier de signets à mettre à jour.</dd>
- <dt><code>changes</code></dt>
- <dd><p>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é :</p>
- <dl>
- <dt><code>title</code> {{optional_inline}}</dt>
- <dd>Un {{jsxref("string")}} contenant le nouveau titre du signet, ou le nouveau nom du dossier si l'<code>id</code> fait référence à un dossier.</dd>
- <dt><code>url</code> {{optional_inline}}</dt>
- <dd>Un {{jsxref("string")}} fournissant une nouvelle URL pour le signet.</dd>
- </dl>
- </dd>
-</dl>
+- `id`
+ - : Un {{jsxref("string")}} spécifiant l'ID du dossier de signet ou de dossier de signets à mettre à jour.
+- `changes`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : 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é :
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera satisfaite avec un seul objet <a href="/fr/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode"><code>bookmarks.BookmarkTreeNode</code></a> représentant le signet mis à jour. Si l'élément de signet correspondant au paramètre <code>id</code> ne peut pas être trouvé, la promesse est rejetée.</p>
+ - `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.
-<h2 id="Exemples">Exemples</h2>
+### Valeur retournée
-<p>Cet exemple renomme tous les dossiers nommés "MDN" en "Mozilla Developer Network (MDN)".</p>
+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.
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+searching.then(updateFolders, onRejected);
+```
-<p>{{Compat("webextensions.api.bookmarks.update")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/bookmarks"><code>chrome.bookmarks</code></a>. Cette documentation provient de  <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json"><code>bookmarks.json</code></a> dans le code Chromium.</p>
+{{Compat("webextensions.api.bookmarks.update")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -119,5 +115,4 @@ searching.then(updateFolders, onRejected);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<h2 id="Type">Type</h2>
+## Type
-<p>Un tableau de quatre nombres entiers entre 0-255 définie une couleur RGBA. Les quatres couleurs spécifient les canaux suivants :</p>
+Un tableau de quatre nombres entiers entre 0-255 définie une couleur RGBA. Les quatres couleurs spécifient les canaux suivants :
-<ol>
- <li>Rouge</li>
- <li>Vert</li>
- <li>Bleu</li>
- <li>Alpha (opacité).</li>
-</ol>
+1. Rouge
+2. Vert
+3. Bleu
+4. Alpha (opacité).
-<p>Par exemple , le rouge opaque est  <code>[255, 0, 0, 255]</code>.</p>
+Par exemple , le rouge opaque est  `[255, 0, 0, 255]`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserAction.ColorArray")}}</p>
+{{Compat("webextensions.api.browserAction.ColorArray")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +65,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/ColorArray
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Désactive l'action du navigateur pour un onglet, ce qui signifie qu'il ne peut pas être cliqué lorsque cet onglet est actif.</p>
+Désactive l'action du navigateur pour un onglet, ce qui signifie qu'il ne peut pas être cliqué lorsque cet onglet est actif.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.browserAction.disable(
+```js
+browser.browserAction.disable(
tabId // optional integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'identifiant (ID) de l'onglet pour lequel vous souhaitez désactiver l'action du navigateur.</dd>
-</dl>
+- `tabId`{{optional_inline}}
+ - : `integer`. L'identifiant (ID) de l'onglet pour lequel vous souhaitez désactiver l'action du navigateur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserAction.disable")}}</p>
+{{Compat("webextensions.api.browserAction.disable")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Désactive l'action du navigateur lorsque vous cliquez et réactivez-le chaque fois qu'un nouveau onglet est ouvert :</p>
+Désactive l'action du navigateur lorsque vous cliquez et réactivez-le chaque fois qu'un nouveau onglet est ouvert :
-<pre class="brush: js">browser.tabs.onCreated.addListener(() =&gt; {
+```js
+browser.tabs.onCreated.addListener(() => {
browser.browserAction.enable();
});
-browser.browserAction.onClicked.addListener(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
browser.browserAction.disable();
});
-</pre>
+```
-<p>Désactivez l'action du navigateur uniquement pour l'onglet actif :</p>
+Désactivez l'action du navigateur uniquement pour l'onglet actif :
-<pre class="brush: js">browser.browserAction.onClicked.addListener((tab) =&gt; {
+```js
+browser.browserAction.onClicked.addListener((tab) => {
browser.browserAction.disable(tab.id);
-});</pre>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
+});
+```
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -89,5 +89,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Active l'action du navigateur pour un onglet. Par défaut, les actions du navigateur sont activées pour tous les onglets.</p>
+Active l'action du navigateur pour un onglet. Par défaut, les actions du navigateur sont activées pour tous les onglets.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.browserAction.enable(
+```js
+browser.browserAction.enable(
tabId // optional integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'identifiant (ID) de l'onglet pour lequel vous souhaitez activer l'action du navigateur.</dd>
-</dl>
+- `tabId`{{optional_inline}}
+ - : `integer`. L'identifiant (ID) de l'onglet pour lequel vous souhaitez activer l'action du navigateur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserAction.enable")}}</p>
+{{Compat("webextensions.api.browserAction.enable")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p> Désactivez l'option du navigateur lorsque vous cliquez et réactivez-le chaque fois qu'un nouveau onglet est ouvert :</p>
+Désactivez l'option du navigateur lorsque vous cliquez et réactivez-le chaque fois qu'un nouveau onglet est ouvert :
-<pre class="brush: js">browser.tabs.onCreated.addListener(() =&gt; {
+```js
+browser.tabs.onCreated.addListener(() => {
browser.browserAction.enable();
});
-browser.browserAction.onClicked.addListener(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
browser.browserAction.disable();
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -85,5 +83,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient la couleur d'arrière plan du badge de l'action du navigateur.</p>
+Obtient la couleur d'arrière plan du badge de l'action du navigateur.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.browserAction.getBadgeBackgroundColor (
+```js
+browser.browserAction.getBadgeBackgroundColor (
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p><code>details</code></p>
+`details`
-<p><code>object</code></p>
- <dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Specifie l'onglet pour obtenir la couleur d'arrière-plan du badge.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Spécifie la fenêtre à partir de laquelle obtenir la couleur de fond du badge.</dd>
- </dl>
+`object`
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous les deux fournis, la fonction échoue..</li>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous les deux omis, la couleur de fond du badge global est retournée.</li>
-</ul>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+<!---->
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec la couleur récupérée en tant que  {{WebExtAPIRef('browserAction.ColorArray')}}.</p>
+- 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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.browserAction.getBadgeBackgroundColor",2)}}</p>
+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')}}.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Enregistrez la couleur de fond du badge :</p>
+{{Compat("webextensions.api.browserAction.getBadgeBackgroundColor",2)}}
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.browserAction.getBadgeBackgroundColor({}).then(onGot, onFailure);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -102,5 +102,4 @@ browser.browserAction.getBadgeBackgroundColor({}).then(onGot, onFailure);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient le texte du badge de l'action du navigateur.</p>
+Obtient le texte du badge de l'action du navigateur.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingText = browser.browserAction.getBadgeText (
+```js
+var gettingText = browser.browserAction.getBadgeText (
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code></p>
- <dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Spécifie l'onglet pour obtenir le texte du badge.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Spécifie la fenêtre à partir de laquelle obtenir le texte du badge.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<ul>
- <li>Si windowId et tabId sont tous les deux fournis, la fonction échoue.</li>
- <li>Si windowId et tabId sont tous les deux omis, le texte global du badge est renvoyé.</li>
-</ul>
+ - : `object`
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+ - `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.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec une chaîne contenant le texte du badge.</p>
+<!---->
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- 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é.
-<p>{{Compat("webextensions.api.browserAction.getBadgeText",2)}}</p>
+### Valeur de retour
-<h2 id="Exemples">Exemples</h2>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une chaîne contenant le texte du badge.
-<p>Enregistrez le texte du badge : </p>
+## Compatibilité du navigateur
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+gettingBadgeText.then(gotBadgeText);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -101,5 +99,4 @@ gettingBadgeText.then(gotBadgeText);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient la couleur du texte du badge de l'action du navigateur.</p>
+Obtient la couleur du texte du badge de l'action du navigateur.
-<p>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.</p>
+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.
-<p>Les autres navigateurs utilisent toujours une couleur de texte blanche.</p>
+Les autres navigateurs utilisent toujours une couleur de texte blanche.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.browserAction.getBadgeTextColor(
+```js
+browser.browserAction.getBadgeTextColor(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code></p>
- <dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Spécifie l'onglet pour obtenir la couleur du texte du badge.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Spécifie la fenêtre à partir de laquelle obtenir la couleur du texte du badge.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous deux fournis, la fonction échoue.</li>
- <li>SI <code>windowId</code> et <code>tabId</code> sont tous deux omis, la couleur globale du texte du badge est retournée.</li>
-</ul>
+ - : `object`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - `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.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code> qui sera remplie avec la couleur récupérée comme un {{WebExtAPIRef('browserAction.ColorArray')}}.</p>
+<!---->
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- 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.
-<p>{{Compat("webextensions.api.browserAction.getBadgeTextColor",2)}}</p>
+### Valeur retournée
-<h2 id="Exemples">Exemples</h2>
+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')}}.
-<p>Enregistrer la couleur du texte du badge :</p>
+## Compatibilité du navigateur
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
+browser.browserAction.getBadgeTextColor({}).then(onGot, onFailure);
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -96,5 +94,4 @@ browser.browserAction.getBadgeTextColor({}).then(onGot, onFailure);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient le document HTML défini comme la popup pour cette action du navigateur.</p>
+Obtient le document HTML défini comme la popup pour cette action du navigateur.
-<p>Il s'agit d'une fonction asynchrone  qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone  qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingPopup = browser.browserAction.getPopup(
+```js
+var gettingPopup = browser.browserAction.getPopup(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'onglet dont le menu déroulant reçoit un entier.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Les fenêtres dont le popup à obtenir.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous les deux fournis, la fonction échoue.</li>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous deux omis, la fenêtre contextuelle globale est retournée.</li>
-</ul>
+ - : `object`.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - `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.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec une chaine cntenant l'URL du document contextuel. Ce sera une URL entièrement qualifiée, telle que <code>moz-extension://d1d8a2eb-fe60-f646-af30-a866c5b39942/popups/popup2.html</code>.</p>
+<!---->
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- 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.
-<p>{{Compat("webextensions.api.browserAction.getPopup",2)}}</p>
+### Valeur retournée
-<h2 id="Exemples">Exemples</h2>
+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`.
-<p>Obtenez l'URL du Popup:</p>
+## Compatibilité du navigateur
-<pre class="brush: js">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); </pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+gettingPopup.then(gotPopup);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -101,5 +99,4 @@ gettingPopup.then(gotPopup); </pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient le titre de l'action du navigateur.</p>
+Obtient le titre de l'action du navigateur.
-<p>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.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingTitle = browser.browserAction.getTitle(
+```js
+var gettingTitle = browser.browserAction.getTitle(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code><p>
- <dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Spécifiez l'onglet pour obtenir le titre.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Spécifiez la fenêtre à partir de laquelle vous souhaitez obtenir le titre.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous deux fournis, la fonction échoue et la promesse qu'elle renvoie est rejetée.</li>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous les deux omis, le titre global est renvoyé.</li>
-</ul>
+ - : `object`
-<h3 id="Return_value">Return value</h3>
+ - `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.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec une chaîne contenant le titre de l'action du navigateur.</p>
+<!---->
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- 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é.
-<p>{{Compat("webextensions.api.browserAction.getTitle",2)}}</p>
+### Return value
-<h2 id="Exemples">Exemples</h2>
+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.
-<p>Ce code change le titre entre "ceci" et "cela" chaque fois que l'utilisateur clique sur l'action du navigateur :</p>
+## Compatibilité du navigateur
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
var gettingTitle = browser.browserAction.getTitle({});
gettingTitle.then(toggleTitle);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -109,5 +107,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Données en pixels pour une image. Doit être un objet <code><a href="/fr/docs/Web/API/ImageData">ImageData</a></code>  (par exemple, un élément  {{htmlelement("canvas")}}).</p>
+Données en pixels pour une image. Doit être un objet [`ImageData`](/fr/docs/Web/API/ImageData)  (par exemple, un élément  {{htmlelement("canvas")}}).
-<h2 id="Type">Type</h2>
+## Type
-<p>Un objet <code><a href="/fr/docs/Web/API/ImageData">ImageData</a></code>.</p>
+Un objet [`ImageData`](/fr/docs/Web/API/ImageData).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserAction.ImageDataType")}}</p>
+{{Compat("webextensions.api.browserAction.ImageDataType")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -62,5 +60,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/ImageDataType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
-
-<p>Ajoute un bouton à la barre d'outils du navigateur.</p>
-
-<p>Une <a href="/fr/Add-ons/WebExtensions/Browser_action">action du navigateur</a> est un bouton dans la barre d'outils du navigateur.</p>
-
-<p>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 <a href="/fr/Add-ons/WebExtensions/Modify_a_web_page#Messaging">messages</a>.</p>
-
-<p>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.</p>
-
-<p>Vous pouvez définir la plupart des propriétés d'une action de navigateur en utilisant la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code> dans le manifest.json.</p>
-
-<p>Quand l'API <code>browserAction</code>, vous pouvez :</p>
-
-<ul>
- <li>Utiliser {{WebExtAPIRef("browserAction.onClicked")}} pour écouter les clics sur l'icône.</li>
- <li>Obtenir et définir les propriétés de l'icône — icône, titre, popup, etc. Vous pouvez les définir globalement dans tous les onglets ou pour un onglet spécifique en passant l'ID de l'onglet comme un argument supplémentaire.</li>
-</ul>
-
-<h2 id="Types">Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("browserAction.ColorArray")}}</dt>
- <dd>Un tableau de quatre nombres entiers entre 0-255 définie une couleur RGBA.</dd>
- <dt>{{WebExtAPIRef("browserAction.ImageDataType")}}</dt>
- <dd>Données en pixels pour une image. Doit être un objet <code><a href="/fr/docs/Web/API/ImageData">ImageData</a></code> (par exemple, un élément {{htmlelement("canvas")}} ).</dd>
-</dl>
-
-<h2 id="Fonctions">Fonctions</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("browserAction.setTitle()")}}</dt>
- <dd>Définit le titre de l'action du navigateur. Cela sera affiché dans une info-bulle.</dd>
- <dt>{{WebExtAPIRef("browserAction.getTitle()")}}</dt>
- <dd>Obtient le titre de l'action du navigateur.</dd>
- <dt>{{WebExtAPIRef("browserAction.setIcon()")}}</dt>
- <dd>Définit l'icône de l'action du navigateur.</dd>
- <dt>{{WebExtAPIRef("browserAction.setPopup()")}}</dt>
- <dd>Définit le document HTML à ouvrir en popup lorsque l'utilisateur clique  sur l'icône de l'action du navigateur.</dd>
- <dt>{{WebExtAPIRef("browserAction.getPopup()")}}</dt>
- <dd>Permet de définir le document HTML en tant que popup de l'action du navigateur.</dd>
- <dt>{{WebExtAPIRef("browserAction.openPopup()")}}</dt>
- <dd>Ouvrez le popup de l'action du navigateur.</dd>
- <dt>{{WebExtAPIRef("browserAction.setBadgeText()")}}</dt>
- <dd>Définit le texte du badge de l'action du navigateur. Le badge est affiché en haut de l'icône.</dd>
- <dt>{{WebExtAPIRef("browserAction.getBadgeText()")}}</dt>
- <dd>Obtient le texte du badge de l'action du navigateur.</dd>
- <dt>{{WebExtAPIRef("browserAction.setBadgeBackgroundColor()")}}</dt>
- <dd>Définit la couleur de fond du badge.</dd>
- <dt>{{WebExtAPIRef("browserAction.getBadgeBackgroundColor()")}}</dt>
- <dd>Obtient la couleur de fond du badge.</dd>
- <dt>{{WebExtAPIRef("browserAction.setBadgeTextColor()")}}</dt>
- <dd>Définit la couleur du texte du badge.</dd>
- <dt>{{WebExtAPIRef("browserAction.getBadgeTextColor()")}}</dt>
- <dd>Obtient la couleur du texte du badge.</dd>
- <dt>{{WebExtAPIRef("browserAction.enable()")}}</dt>
- <dd>Active l'action du navigateur pour un onglet. Par défaut, les actions du navigateur sont activées pour tous les onglets.</dd>
- <dt>{{WebExtAPIRef("browserAction.disable()")}}</dt>
- <dd>Désactive l'action du navigateur pour un onglet, ce qui signifie  qu'il ne peut pas être cliqué lorsque cet onglet est actif.</dd>
- <dt>{{WebExtAPIRef("browserAction.isEnabled()")}}</dt>
- <dd>Vérifie si l'action du navigateur est activée ou non.</dd>
-</dl>
-
-<h2 id="Evénements">Evénements</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("browserAction.onClicked")}}</dt>
- <dd>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.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.browserAction")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{AddonSidebar}}
+
+Ajoute un bouton à la barre d'outils du navigateur.
+
+Une [action du navigateur](/fr/Add-ons/WebExtensions/Browser_action) 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](/fr/Add-ons/WebExtensions/Modify_a_web_page#Messaging).
+
+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`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action) dans le manifest.json.
+
+Quand l'API `browserAction`, vous pouvez :
+
+- Utiliser {{WebExtAPIRef("browserAction.onClicked")}} pour écouter les clics sur l'icône.
+- Obtenir et définir les propriétés de l'icône — icône, titre, popup, etc. Vous pouvez les définir globalement dans tous les onglets ou pour un onglet spécifique en passant l'ID de l'onglet comme un argument supplémentaire.
+
+## 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`](/fr/docs/Web/API/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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -123,5 +113,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Renvoie <code>true</code> si l'action du navigateur est activée.</p>
+Renvoie `true` si l'action du navigateur est activée.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">let gettingIsEnabled = browser.browserAction.isEnabled(
+```js
+let gettingIsEnabled = browser.browserAction.isEnabled(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Un objet contenant éventuellement le <code>tabId</code> ou <code>windowId</code> à vérifier.</p>
- <dl>
- <dt><code>tabId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. ID d'un onglet à vérifier</dd>
- <dt><code>windowId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. ID d'une fenêtre à vérifier.</dd>
- </dl>
- </dd>
-</dl>
+- `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.
-<ul>
- <li>Si windowId et tabId sont tous les deux fournis, la fonction échoue.</li>
- <li>Si windowId et tabId sont tous les deux omis, l'état global activé/désactivé est renvoyé.</li>
-</ul>
+<!---->
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+- 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é.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec <code>true</code> si l'action du navigateur de l'extension est activée, et <code>false</code> dans le cas contraire.</p>
+### Valeur retournée
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+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.
-<p>{{Compat("webextensions.api.browserAction.isEnabled",2)}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.browserAction.isEnabled",2)}}
-<p>Vérifiez l'état global :</p>
+## Exemples
-<pre class="brush: js">browser.browserAction.isEnabled({}).then(result =&gt; {
+Vérifiez l'état global :
+
+```js
+browser.browserAction.isEnabled({}).then(result => {
  console.log(result);
-});</pre>
+});
+```
-<p>Vérifiez l'état de l'onglet actuellement actif :</p>
+Vérifiez l'état de l'onglet actuellement actif :
-<pre class="brush: js">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);
-}</pre>
+}
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Pour définir une action de clic droit, utilisez l'API <a href="/fr/Add-ons/WebExtensions/API/contextMenus"><code>contextMenus</code></a>  avec le <a href="/fr/Add-ons/WebExtensions/API/contextMenus/ContextType">type de contexte</a> "browser_action".</p>
+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".
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.browserAction.onClicked.addListener(<code>listener</code>)
+```js
+browser.browserAction.onClicked.addListener(listener)
browser.browserAction.onClicked.removeListener(listener)
browser.browserAction.onClicked.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoutez un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arretez d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifier si l'autditeur est enregistré pour cet événement. Renvoie <code>true</code> si elle est écouté, sinon  <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="addListener_syntaxe">addListener syntaxe</h2>
+## addListener syntaxe
-<h3 id="Paramètre">Paramètre</h3>
+### Paramètre
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :</p>
+- `callback`
- <dl>
- <dt><code>tab</code></dt>
- <dd>{{WebExtAPIRef('tabs.Tab')}}. L'onglet qui était actif lorsque l'icône a été cliquée .</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `tab`
+ - : {{WebExtAPIRef('tabs.Tab')}}. L'onglet qui était actif lorsque l'icône a été cliquée .
-<p>{{Compat("webextensions.api.browserAction.onClicked")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.browserAction.onClicked")}}
-<p>Lorsque l'utilisateur clique sur l'icône, désactivez-la pour l'onglet actif et enregistrez l'URL de l'onglet</p>
+## Exemples
-<pre class="brush: js">browser.browserAction.onClicked.addListener((tab) =&gt; {
+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);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -106,5 +99,4 @@ browser.browserAction.onClicked.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}Ouvrez le popup de l'action du navigateur.
-<div>Ouvrez le popup de l'action du navigateur.</div>
+Vous pouvez uniquement appeler cette fonction à partir du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions).
-<div></div>
+## Syntaxe
-<div>
-<p>Vous pouvez uniquement appeler cette fonction à partir du gestionnaire pour une <a href="/fr/Add-ons/WebExtensions/User_actions">action utilisateur</a>.</p>
-</div>
+```js
+browser.browserAction.openPopup()
+```
-<h2 id="Syntaxe">Syntaxe</h2>
+### Paramètres
-<pre class="brush: js">browser.browserAction.openPopup()
-</pre>
+None.
-<h3 id="Paramètres">Paramètres</h3>
+### Valeur retournée
-<p>None.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) cela est résolu sans arguments.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+## Compatibilité du navigateur
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> cela est résolu sans arguments.</p>
+{{Compat("webextensions.api.browserAction.openPopup", 10)}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Exemples
-<p>{{Compat("webextensions.api.browserAction.openPopup", 10)}}</p>
+Ouvrez la fenêtre contextuelle lorsque l'utilisateur sélectionne un élément de menu contextuel :
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ouvrez la fenêtre contextuelle lorsque l'utilisateur sélectionne un élément de menu contextuel :</p>
-
-<pre class="brush: js">browser.menus.create({
+```js
+browser.menus.create({
id: "open-popup",
title: "open popup",
contexts: ["all"]
});
-browser.menus.onClicked.addListener(() =&gt; {
+browser.menus.onClicked.addListener(() => {
browser.browserAction.openPopup();
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 <code>[217, 0, 0, 255]</code> dans Firefox.</p>
+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.
-<p>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.</p>
+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.
-<p>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</p>
+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
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.browserAction.setBadgeBackgroundColor(
+```js
+browser.browserAction.setBadgeBackgroundColor(
details // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code></p>
- <dl>
- <dt><code>color</code></dt>
- <dd><p>La couleur, spécifiée comme l'un des suivants :</p>
- <ul>
- <li>une chaîne : toute valeur CSS <a href="/fr/docs/Web/CSS/color_value">&lt;color&gt;</a> , par exemple <code>"red"</code>, <code>"#FF0000"</code>, ou <code>"rgb(255,0,0)"</code>. 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.</li>
- <li>Un objet <code>{{WebExtAPIRef('browserAction.ColorArray')}}</code>.</li>
- <li><code>null</code>. Si un <code>tabId</code> 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.</li>
- </ul>
- </dd>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Définit la couleur d'arrière-plan du badge uniquement pour l'onglet donné.</dd>
- </dl>
- </dd>
-</dl>
-
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous deux fournis, la fonction échoue et la couleur n'est pas définie.</li>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous deux omis, la couleur d'arrière-plan du badge global est définie à la place.</li>
-</ul>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.browserAction.setBadgeBackgroundColor",2)}}</p>
-
-<p>La couleur par défaut dans Firefox est : <code>[217, 0, 0, 255]</code>.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Une couleur d'arrière plan qui commence en rouge et devient  verte lorsque l'action du navigateur est cliquée :</p>
-
-<pre class="brush: js">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 [\<color>](/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(()=&gt; {
+browser.browserAction.onClicked.addListener(()=> {
browser.browserAction.setBadgeBackgroundColor({color: "green"});
-});</pre>
+});
+```
-<p>Réglez la couleur d'arrière-plan du badge uniquement pour l'onget actif :</p>
+Réglez la couleur d'arrière-plan du badge uniquement pour l'onget actif :
-<pre class="brush: js">browser.browserAction.setBadgeText({text: "1234"});
+```js
+browser.browserAction.setBadgeText({text: "1234"});
browser.browserAction.setBadgeBackgroundColor({color: "red"});
-browser.browserAction.onClicked.addListener((tab)=&gt; {
+browser.browserAction.onClicked.addListener((tab)=> {
browser.browserAction.setBadgeBackgroundColor({
color: "green",
tabId: tab.id
});
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
-</div>
+});
+```
+
+{{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.
+>
+> <div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+> //
+> // Redistribution and use in source and binary forms, with or without
+> // modification, are permitted provided that the following conditions are
+> // met:
+> //
+> // * Redistributions of source code must retain the above copyright
+> // notice, this list of conditions and the following disclaimer.
+> // * Redistributions in binary form must reproduce the above
+> // copyright notice, this list of conditions and the following disclaimer
+> // in the documentation and/or other materials provided with the
+> // distribution.
+> // * Neither the name of Google Inc. nor the names of its
+> // contributors may be used to endorse or promote products derived from
+> // this software without specific prior written permission.
+> //
+> // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+> // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+> // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+> // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+> // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+> // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+> // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+> // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+> // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+> // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+> // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+> </pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Définit le texte du badge pour l'action du navigateur. Le badge est affiché en haut de l'icône.</p>
+Définit le texte du badge pour l'action du navigateur. Le badge est affiché en haut de l'icône.
-<p>Les onglets sans texte de badge spécifique hériteront du texte global du badge, qui est <code>""</code> par défaut.</p>
+Les onglets sans texte de badge spécifique hériteront du texte global du badge, qui est `""` par défaut.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.browserAction.setBadgeText(
+```js
+browser.browserAction.setBadgeText(
details // object
)
-</pre>
+```
-<p>Cette API est également disponible sous <code>chrome.browserAction.setBadgeText()</code>.</p>
+Cette API est également disponible sous `chrome.browserAction.setBadgeText()`.
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code></p>
- <dl>
- <dt><code>text</code></dt>
- <dd>
- <p><code>string</code> or <code>null</code>. N'importe quel nombre de caractères peut être passé, mais seulement quatre environ peuvent tenir dans l'espace.</p>
+- `details`
- <p>Utilisez une chaîne vide - <code>""</code> - si vous ne voulez pas de badge.</p>
+ - : `object`
- <p>Si un <code>tabId</code> est spécifié, <code>null</code> 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 <code>""</code>.</p>
+ - `text`
- <p>Si un <code>windowId</code> est spécifié, <code>null</code> 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 <code>""</code>.</p>
- </dd>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Définir le texte du badge pour la fenêtre donnée.</dd>
- </dl>
- </dd>
-</dl>
+ - : `string` or `null`. N'importe quel nombre de caractères peut être passé, mais seulement quatre environ peuvent tenir dans l'espace.
-<ul>
- <li>si <code>windowId</code> et <code>tabId</code> sont tous les deux fournis, la fonction échoue.</li>
- <li>si <code>windowId</code> et <code>tabId</code> sont tous les deux omis, le badge global est défini.</li>
-</ul>
+ Utilisez une chaîne vide - `""` - si vous ne voulez pas de badge.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ 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 `""`.
-<p>{{Compat("webextensions.api.browserAction.setBadgeText",2)}}</p>
+ 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 `""`.
-<h2 id="Exemples">Exemples</h2>
+ - `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.
-<p>Ajouter un badge indiquant combien de fois l'utilisateur a cliqué sur le bouton : </p>
+<!---->
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.browserAction.onClicked.addListener(increment);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -110,5 +108,4 @@ browser.browserAction.onClicked.addListener(increment);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.browserAction.setBadgeTextColor(
+```js
+browser.browserAction.setBadgeTextColor(
details // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code></p>
- <dl>
- <dt><code>color</code></dt>
- <dd><p>La couleur, spécifiée comme l'une des couleurs :</p>
- <ul>
- <li> une chaîne : toute valeur CSS <a href="/fr/docs/Web/CSS/color_value">&lt;color&gt;</a>, par exemple <code>"red"</code>, <code>"#FF0000"</code>, ou <code>"rgb(255,0,0)"</code>. 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.</li>
- <li>Un objet <code>{{WebExtAPIRef('browserAction.ColorArray')}}</code>.</li>
- <li><code>null</code>. Si un <code>tabId</code> 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.</li>
- </ul>
- </dd>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Définit la couleur du texte du badge uniquement pour l'onglet donné.</dd>
- </dl>
- </dd>
-</dl>
-
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous deux fournis, la fonction échoue et la couleur n'est pas définie.</li>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous deux omis, la couleur globale du texte du badge est définie à la place.</li>
-</ul>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.browserAction.setBadgeTextColor",2)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Une couleur de texte de badge qui commence par le rouge et passe au vert lorsque l'on clique sur l'action du navigateur :</p>
-
-<pre class="brush: js">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 [\<color>](/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(()=&gt; {
+browser.browserAction.onClicked.addListener(()=> {
browser.browserAction.setBadgeTextColor({color: "green"});
-});</pre>
+});
+```
-<p>Définissez la couleur du texte du badge uniquement pour l'onglet actif :</p>
+Définissez la couleur du texte du badge uniquement pour l'onglet actif :
-<pre class="brush: js">browser.browserAction.setBadgeText({text: "1234"});
+```js
+browser.browserAction.setBadgeText({text: "1234"});
browser.browserAction.setBadgeTextColor({color: "red"});
-browser.browserAction.onClicked.addListener((tab)=&gt; {
+browser.browserAction.onClicked.addListener((tab)=> {
browser.browserAction.setBadgeTextColor({
color: "green",
tabId: tab.id
});
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+});
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -112,5 +112,4 @@ browser.browserAction.onClicked.addListener((tab)=&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Définit l'icône pour l'action du navigateur.</p>
+Définit l'icône pour l'action du navigateur.
-<p>Vous pouvez spécifier une seule icône comme chemin d'accès à un fichier ou un objet {{WebExtAPIRef('browserAction.ImageDataType')}} .</p>
+Vous pouvez spécifier une seule icône comme chemin d'accès à un fichier ou un objet {{WebExtAPIRef('browserAction.ImageDataType')}} .
-<p>Vous pouvez spécifier plusieurs icônes dans différentes tailles en fournissant un dictionnaire contenant plusieurs chemins ou des objets  <code>ImageData</code>. 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.</p>
+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.
-<p>Les onglets sans icône spécifique hériteront de l'icône globale, qui par défaut est  <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action"><code>default_icon</code></a> specifié dans le manifest.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var settingIcon = browser.browserAction.setIcon(
+```js
+var settingIcon = browser.browserAction.setIcon(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Un objet contenant des propriétés <code>imageData</code> ou <code>path</code>, et éventuellement une propriété <code>tabId</code> .</p>
- <dl>
- <dt><code>imageData</code>{{optional_inline}}</dt>
- <dd>
- <p><code>{{WebExtAPIRef('browserAction.ImageDataType')}}</code> ou <code><code>object</code></code>. Il s'agit soit d'un seul objet <code>ImageData</code> ou un dictionnaire d'objet.</p>
+- `details`
- <p>Utilisez un dictionnaire d'objet pour spécifier plusieurs objets <code>ImageData</code> 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 <code>imageData</code> est un dictionnaire, la valeur de chaque propriété  est un objet<code>ImageData</code>, et son nom est sa taille, comme ceci :</p>
+ - : `object`. Un objet contenant des propriétés `imageData` ou `path`, et éventuellement une propriété `tabId` .
- <pre class="brush: json">{
- 16: image16,
- 32: image32
-}</pre>
+ - `imageData`{{optional_inline}}
- <p>Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes">Choix de la tailles d'icônes</a> pour plus d'informations à ce sujet.</p>
- </dd>
- <dt><code>path</code>{{optional_inline}}</dt>
- <dd>
- <p><code><code>string</code></code> or <code><code>object</code></code>. Il s'agit du chemin relatif d'un fichier d'icône ou d'un objet de dictionnaire. </p>
+ - : `{{WebExtAPIRef('browserAction.ImageDataType')}}` ou `object`. Il s'agit soit d'un seul objet `ImageData` ou un dictionnaire d'objet.
- <p>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 <code>path</code> est un dictionnaire, la valeur de chaque propriété est un chemin relatif , et son nom est sa taille, comme ceci :</p>
+ 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 :
- <pre class="brush: json">{
- 16: "path/to/image16.jpg",
- 32: "path/to/image32.jpg"
-}</pre>
+ ```json
+ {
+ 16: image16,
+ 32: image32
+ }
+ ```
- <p>Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes">Choix de la tailles d'icônes</a> pour plus d'informations à ce sujet.</p>
- </dd>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Définit l'icône de la fenêtre donnée.</dd>
- </dl>
- </dd>
-</dl>
+ 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.
-<ul>
- <li>si <code>windowId</code> et <code>tabId</code> sont tous deux fournis, la fonction échoue et l'icône n'est pas définie.</li>
- <li>si <code>windowId</code> et <code>tabId</code> sont tous les deux omis, l'icône globale est définie.</li>
-</ul>
+ - `path`{{optional_inline}}
-<p>Si chaque <code>imageData</code> et <code>path</code> est un objet <code>undefined</code>, <code>null</code> ou vide :</p>
+ - : `string` or `object`. Il s'agit du chemin relatif d'un fichier d'icône ou d'un objet de dictionnaire.
-<ul>
- <li>si <code>tabId</code> 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.</li>
- <li>si <code>windowId</code> 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.</li>
- <li>Sinon, l'icône globale sera réinitialisée à l'icône du manifest.</li>
-</ul>
+ 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 :
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ ```json
+ {
+ 16: "path/to/image16.jpg",
+ 32: "path/to/image32.jpg"
+ }
+ ```
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie sans arguments une fois que l'icône a été définie.</p>
+ 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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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.
-<p>{{Compat("webextensions.api.browserAction.setIcon",2)}}</p>
+<!---->
-<h2 id="Exemples">Exemples</h2>
+- 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.
-<p>Le code ci-dessous utilise une action du navigateur pour basculer un auditeur pour {{WebExtAPIRef("webRequest.onHeadersReceived")}}, et utilise <code>setIcon()</code> pour indiquer si l'écoute est activée ou désactivée :</p>
+Si chaque `imageData` et `path` est un objet `undefined`, `null` ou vide :
-<pre class="brush: js">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: ["&lt;all_urls&gt;"]},
+ {urls: ["<all_urls>"]},
["responseHeaders"]
);
browser.browserAction.setIcon({path: "icons/listening-on.svg"});
@@ -123,11 +124,13 @@ function toggleListener() {
}
}
-browser.browserAction.onClicked.addListener(toggleListener);</pre>
+browser.browserAction.onClicked.addListener(toggleListener);
+```
-<p>Le code ci-dessous définit l'icône à l'aide d'un objet<code><a href="/fr/docs/Web/API/ImageData">ImageData</a></code> :</p>
+Le code ci-dessous définit l'icône à l'aide d'un objet[`ImageData`](/fr/docs/Web/API/ImageData) :
-<pre class="brush: js">function getImageData() {
+```js
+function getImageData() {
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
@@ -137,30 +140,30 @@ browser.browserAction.onClicked.addListener(toggleListener);</pre>
return ctx.getImageData(50, 50, 100, 100);
}
-browser.browserAction.onClicked.addListener(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
browser.browserAction.setIcon({imageData: getImageData()});
});
-</pre>
+```
-<p>L'extrait suivant met à jour l'icône lorsque l'utilisateur clique, mais uniquement pour l'onglet actif :</p>
+L'extrait suivant met à jour l'icône lorsque l'utilisateur clique, mais uniquement pour l'onglet actif :
-<pre class="brush: js">browser.browserAction.onClicked.addListener((tab) =&gt; {
+```js
+browser.browserAction.onClicked.addListener((tab) => {
browser.browserAction.setIcon({
tabId: tab.id, path: "icons/updated-48.png"
});
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -187,5 +190,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action"><code>default_popup</code></a> spécifiée dans le manifest.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.browserAction.setPopup(
+```js
+browser.browserAction.setPopup(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Définit le popup uniquement pour la fenêtre spécifiée.</dd>
- <dt><code>popup</code></dt>
- <dd>
- <p><code>string</code> ou <code>null</code>. Le fichier HTML à afficher dans un popup, spécifié comme URL.</p>
+- `details`
- <p>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 <code>https://example.org/</code>).</p>
+ - : `object`.
- <p>Si une chaîne vide (<code>""</code>) est passée ici, le popup est désactivé, et l'extension recevra les événements {{WebExtAPIRef("browserAction.onClicked")}}.</p>
+ - `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`
- <p>Si le <code>popup</code> est <code>null</code>:</p>
+ - : `string` ou `null`. Le fichier HTML à afficher dans un popup, spécifié comme URL.
- <p>Si <code>tabId</code> est spécifié, supprime la fenêtre popup spécifique à l'onglet afin que l'onglet hérite de la fenêtre popup globale..</p>
+ 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/`).
- <p>Si <code>windowId</code> est spécifié, supprime le popup spécifique à la fenêtre afin que la fenêtre hérite du popup global.</p>
+ Si une chaîne vide (`""`) est passée ici, le popup est désactivé, et l'extension recevra les événements {{WebExtAPIRef("browserAction.onClicked")}}.
- <p>Sinon, la fenêtre contextuelle globale revient à la valeur par défaut.</p>
- </dd>
- </dl>
- </dd>
-</dl>
+ Si le `popup` est `null`:
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous les deux fournis, la fonction échoue et le popup n'est pas défini.</li>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous les deux omis, la fenêtre contextuelle globale est définie.</li>
-</ul>
+ 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..
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ Si `windowId` est spécifié, supprime le popup spécifique à la fenêtre afin que la fenêtre hérite du popup global.
-<p>{{Compat("webextensions.api.browserAction.setPopup",2)}}</p>
+ Sinon, la fenêtre contextuelle globale revient à la valeur par défaut.
-<h2 id="Exemples">Exemples</h2>
+<!---->
-<p>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "contextMenus" définie dans le manifest de l'extension pour créer des éléments du menu contextuel.</p>
+- 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.
-<pre class="brush: js">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"})
}
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -136,5 +133,4 @@ browser.contextMenus.onClicked.addListener(function(info, tab) {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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 <code>tabId</code> dans ou une <code>windowId</code> 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 <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action"><code>default_title</code></a> ou <a href="/fr/Add-ons/WebExtensions/manifest.json/name"><code>name</code></a> specifié dans le manifest.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.browserAction.setTitle(
+```js
+browser.browserAction.setTitle(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Le nouveau titre et éventuellement l'ID de l'onglet ou de la fenêtre à cibler.</p>
- <dl>
- <dt><code>title</code></dt>
- <dd>
- <p><code>string</code> ou <code>null</code>. La chaîne de caractères que l'action du navigateur doit afficher lorsqu'il y a une souris.</p>
+- `details`
- <p>Si <code>title</code> est une chaîne vide, le titre utilisé sera le nom de l'extension, mais {{WebExtAPIRef("browserAction.getTitle")}} fournira toujours la chaîne vide.</p>
+ - : `object`. Le nouveau titre et éventuellement l'ID de l'onglet ou de la fenêtre à cibler.
- <p>Si <code>title</code> est <code>null</code>:</p>
+ - `title`
- <ul>
- <li>Si <code>tabId</code> 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.</li>
- <li>Si <code>windowId</code> 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.</li>
- <li>Sinon, le titre global sera réinitialisé au titre du manifest.</li>
- </ul>
- </dd>
- <dt><code>tabId</code>{{Optional_Inline}}</dt>
- <dd>
- <p><code>integer</code>. Définit le titre uniquement pour l'onglet donné.</p>
- </dd>
- <dt><code>windowId</code>{{Optional_Inline}}</dt>
- <dd>
- <p><code>integer</code>. Définit le titre de la fenêtre donnée.</p>
- </dd>
- </dl>
- </dd>
-</dl>
+ - : `string` ou `null`. La chaîne de caractères que l'action du navigateur doit afficher lorsqu'il y a une souris.
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous deux fournis, la fonction échoue et le titre n'est pas défini.</li>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous les deux omis, le titre global est défini.</li>
-</ul>
+ 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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ 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.
-<p>{{Compat("webextensions.api.browserAction.setTitle",10)}}</p>
+<!---->
-<h2 id="Exemples">Exemples</h2>
+- 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.
-<p>Ce code change le titre entre "ceci" et "ça" chaque fois  que l'utilisateur clique sur l'action du navigateur :</p>
+## Compatibilité du navigateur
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
var gettingTitle = browser.browserAction.getTitle({});
gettingTitle.then(toggleTitle);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browserAction"><code>chrome.browserAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json"><code>browser_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -122,5 +111,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>La valeur sous-jacente  est un booléen.</p>
+La valeur sous-jacente  est un booléen.
-<p>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 <a href="/fr/docs/Web/Events/click">click</a>, <a href="/fr/docs/Web/Events/mouseup">mouseup</a>, <a href="/fr/docs/Web/Events/submit">submit</a>. Si <code>allowPopupsForUserEvents</code> est défini sur <code>false</code>, aucun événement utilisateur ne pourra ouvrir des fenêtres contextuelles. Si elle est définie sur <code>true</code>, l'ensemble d'événements par défaut sera autorisé à ouvrir des fenêtres contextuelles.</p>
+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.
-<p>Par exemple, supposons qu'une page web comporte un code comme celui-ci :</p>
+Par exemple, supposons qu'une page web comporte un code comme celui-ci :
-<pre class="brush: js">window.addEventListener("click", (e) =&gt; {
+```js
+window.addEventListener("click", (e) => {
window.open("https://example.com","myPopup",'height=400,width=400');
});
-</pre>
+```
-<p>Par défaut, cela ouvrira une fenêtre contextuelle. Si vos extensions définient <code>allowPopupsForUserEvents</code> à <code>false</code>, cela n'ouvrira pas la fenêtre contextuelle, et l'utilisateur sera informé que le popup était bloqué.</p>
+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é.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.allowPopupsForUserEvents")}}</p>
+{{Compat("webextensions.api.browserSettings.allowPopupsForUserEvents")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Basculer le réglage :</p>
+Basculer le réglage :
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
toggleAllowPopup();
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour activer ou désactiver globalement le cache du navigateur.</p>
+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour activer ou désactiver globalement le cache du navigateur.
-<p>La valeur sous-jacente est un booléen.</p>
+La valeur sous-jacente est un booléen.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.cacheEnabled")}}</p>
+{{Compat("webextensions.api.browserSettings.cacheEnabled")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtenir une valeur actuelle de ce paramètre :</p>
+Obtenir une valeur actuelle de ce paramètre :
-<pre class="brush: js">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);</pre>
+ then(logResult);
+```
-<p>Désactivation du cache du navigateur :</p>
+Désactivation du cache du navigateur :
-<pre class="brush: js">function logResult(result) {
+```js
+function logResult(result) {
console.log(`Setting was modified: ${result}`);
}
browser.browserSettings.cacheEnabled.set({value: false}).
- then(logResult);</pre>
+ then(logResult);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>La valeur sous-jacente est un booléen.</p>
+La valeur sous-jacente est un booléen.
-<p>Par défaut, closeTabsByDoubleClick est faux. Le réglage peut être modifié par l'utilisateur dans about:config.</p>
+Par défaut, closeTabsByDoubleClick est faux. Le réglage peut être modifié par l'utilisateur dans about:config.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.closeTabsByDoubleClick")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Sa valeur sous-jacente est une chaîne qui peut être "mouseup" ou "mousedown".</p>
+Sa valeur sous-jacente est une chaîne qui peut être "mouseup" ou "mousedown".
-<p>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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.contextMenuShowEvent")}}</p>
+{{Compat("webextensions.api.browserSettings.contextMenuShowEvent")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Réglez le paramètre sur "mouseup":</p>
+Réglez le paramètre sur "mouseup":
-<pre class="brush: js">function logResult(result) {
+```js
+function logResult(result) {
console.log(`Setting was modified: ${result}`);
}
browser.browserSettings.contextMenuShowEvent.set({value: "mouseup"}).
- then(logResult);</pre>
+ then(logResult);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui détermine si le protocole FTP est activé dans le navigateur.</p>
+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui détermine si le protocole FTP est activé dans le navigateur.
-<p>La valeur sous-jaccente est un booléen.</p>
+La valeur sous-jaccente est un booléen.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.ftpProtocolEnabled")}}</p>
+{{Compat("webextensions.api.browserSettings.ftpProtocolEnabled")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Changer le réglage:</p>
+Changer le réglage:
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
toggleAllowFtp();
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Notez qu'il s'agit d'un paramètre en lecture seule. Pour changer la page d'accueil, voir <a href="/fr/Add-ons/WebExtensions/manifest.json/chrome_settings_overrides">chrome_settings_overrides</a>.</p>
+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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.homepageOverride", 10)}}</p>
+{{Compat("webextensions.api.browserSettings.homepageOverride", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtenez la valeur actuelle de l'URL de la page d'accueil :</p>
+Obtenez la valeur actuelle de l'URL de la page d'accueil :
-<pre class="brush: js">browser.browserSettings.homepageOverride.get({}).then(result =&gt; {
+```js
+browser.browserSettings.homepageOverride.get({}).then(result => {
console.log(result.value);
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>La valeur sous-jacente est une chaîne qui peut prendre l'une des trois valeurs suivantes:</p>
+La valeur sous-jacente est une chaîne qui peut prendre l'une des trois valeurs suivantes:
-<ul>
- <li>"normal": la valeur par défaut Jouer des images animées comme d'habitude.</li>
- <li>"none": n'anime pas les images du tout.</li>
- <li>"once": joue une fois l'animation.</li>
-</ul>
+- "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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.imageAnimationBehavior", 10)}}</p>
+{{Compat("webextensions.api.browserSettings.imageAnimationBehavior", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Désactiver les images animées :</p>
+Désactiver les images animées :
-<pre class="brush: js"> browser.browserSettings.imageAnimationBehavior.set({value: "none"});</pre>
+```js
+ browser.browserSettings.imageAnimationBehavior.set({value: "none"});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
-
-<div>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.</div>
-
-<div></div>
-
-<div>Parce que ce sont les paramètres globaux, il est possible d'étendre les conflits des extensions. voir la documentation de <code><a href="/fr/Add-ons/WebExtensions/API/types/BrowserSetting/set">BrowserSetting.set()</a></code> pour plus détails sur la façon dont les conflits sont traités.</div>
-
-<div></div>
-
-<div>
-<p>Pour utiliser cette API, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "browserSettings".</p>
-</div>
-
-<h2 id="Propriétés">Propriétés</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("browserSettings.allowPopupsForUserEvents")}}</dt>
- <dd>Déterminer si le code exécuté dans les pages Web peut afficher les fenêtres contextuelles en réponse aux événements utilisateur.</dd>
- <dt>{{WebExtAPIRef("browserSettings.cacheEnabled")}}</dt>
- <dd>Déterminer si le cache du navigateur est activé ou pas.</dd>
- <dt>{{WebExtAPIRef("browserSettings.closeTabsByDoubleClick")}}</dt>
- <dd>Détermine si l'onglet sélectionné peut être fermé en double-cliquant</dd>
- <dt>{{WebExtAPIRef("browserSettings.contextMenuShowEvent")}}</dt>
- <dd>Détermine l'événement de souris qui déclenche un menu contextuel.</dd>
- <dt>{{WebExtAPIRef("browserSettings.ftpProtocolEnabled")}}</dt>
- <dd>Détermine si le protocole FTP est activé.</dd>
- <dt>{{WebExtAPIRef("browserSettings.homepageOverride")}}</dt>
- <dd>Lire la valeur de la page d'accueil du navigateur.</dd>
- <dt>{{WebExtAPIRef("browserSettings.imageAnimationBehavior")}}</dt>
- <dd>Détermine comment le navigateur traite les images animées.</dd>
- <dt>{{WebExtAPIRef("browserSettings.newTabPageOverride")}}</dt>
- <dd>Lire la valeur de la nouvelle page de l'onglet du navigateur.</dd>
- <dt>{{WebExtAPIRef("browserSettings.newTabPosition")}}</dt>
- <dd>Contrôle la position des onglets nouvellement ouverts par rapport aux onglets déjà ouverts.</dd>
- <dt>{{WebExtAPIRef("browserSettings.openBookmarksInNewTabs")}}</dt>
- <dd>Détermine si les signets sont ouverts dans l'onglet actuel ou dans un nouvel onglet.</dd>
- <dt>{{WebExtAPIRef("browserSettings.openSearchResultsInNewTabs")}}</dt>
- <dd>Détermine si les résultats de recherche sont ouverts dans l'onglet actuel ou dans un nouvel onglet.</dd>
- <dt>{{WebExtAPIRef("browserSettings.openUrlbarResultsInNewTabs")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("browserSettings.overrideDocumentColors")}}</dt>
- <dd>Contrôle si les couleurs choisies par l'utilisateur remplacent les couleurs de la page.</dd>
- <dt>{{WebExtAPIRef("browserSettings.useDocumentFonts")}}</dt>
- <dd>Contrôle si le navigateur utilisera les polices spécifiées par une page Web ou n'utilisera que des polices intégrées.</dd>
- <dt>{{WebExtAPIRef("browserSettings.webNotificationsDisabled")}}</dt>
- <dd>Empêche les sites Web d'afficher des notifications à l'aide de la web API  <code><a href="/fr/docs/Web/API/notification">Notification</a></code>.</dd>
- <dt>{{WebExtAPIRef("browserSettings.zoomFullPage")}}</dt>
- <dd>Contrôle si le zoom est appliqué à la page entière ou seulement au texte.</dd>
- <dt>{{WebExtAPIRef("browserSettings.zoomSiteSpecific")}}</dt>
- <dd>Contrôle si le zoom est appliqué sur un modèle par-site ou par-onglet. Si {{WebExtAPIRef("privacy.websites")}}<code>.resistFingerprinting</code> est à vrai, ce réglage n'a aucun effet et le modèle de zoom appliqué reste par-onglet.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.browserSettings")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Notez qu'il s'agit d'un paramètre en lecture seule.</p>
+Notez qu'il s'agit d'un paramètre en lecture seule.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.newTabPageOverride", 10)}}</p>
+{{Compat("webextensions.api.browserSettings.newTabPageOverride", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtenir la valeur actuelle de la nouvelle URL de l'onglet :</p>
+Obtenir la valeur actuelle de la nouvelle URL de l'onglet :
-<pre class="brush: js">browser.browserSettings.newTabPageOverride.get({}).then(result =&gt; {
+```js
+browser.browserSettings.newTabPageOverride.get({}).then(result => {
console.log(result.value);
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>La valeur sous-jacente est une chaîne qui peut prendre l'une des trois valeurs suivantes :</p>
+La valeur sous-jacente est une chaîne qui peut prendre l'une des trois valeurs suivantes :
-<ul>
- <li>"afterCurrent": ouvre tous les nouveaux onglets à côté de l'onglet actuel.</li>
- <li>"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.</li>
- <li>"atEnd": ouvre tous les onglets à la fin de la bande d'onglets.</li>
-</ul>
+- "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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.newTabPosition", 10)}}</p>
+{{Compat("webextensions.api.browserSettings.newTabPosition", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code définit la valeur à "afterCurrent" puis enregistre la nouvelle valeur :</p>
+Ce code définit la valeur à "afterCurrent" puis enregistre la nouvelle valeur :
-<pre class="brush: js">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}`);
}
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.</p>
+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.
-<p>Si la valeur est <code>true</code>, alors lorsque l'utilisateur sélectionne un signet, il sera ouvert dans un nouvel onglet. Si la valeur est<code>false</code> (valeur par défaut), les marque-pages sont ouverts dans l'onglet en cours.</p>
+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.
-<h2 id="Compatibilité_de_navigateur">Compatibilité de navigateur</h2>
+## Compatibilité de navigateur
-<p>{{Compat("webextensions.api.browserSettings.openBookmarksInNewTabs")}}</p>
+{{Compat("webextensions.api.browserSettings.openBookmarksInNewTabs")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Définissez le paramètre sur <code>true</code>:</p>
+Définissez le paramètre sur `true`:
-<pre class="brush: js">function logResult(result) {
+```js
+function logResult(result) {
console.log(`Setting was modified: ${result}`);
}
browser.browserSettings.openBookmarksInNewTabs.set({value: true}).
- then(logResult);</pre>
+ then(logResult);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.</p>
+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.
-<p>Si la valeur est définie à <code>true</code>, 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 <code>false</code> (valeur par défaut), les résultats de la recherche apparaissent dans l'onglet en cours.</p>
+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.
-<p>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..</p>
+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..
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.openSearchResultsInNewTabs")}}</p>
+{{Compat("webextensions.api.browserSettings.openSearchResultsInNewTabs")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Définissez le paramètre sur <code>true</code>:</p>
+Définissez le paramètre sur `true`:
-<pre class="brush: js">function logResult(result) {
+```js
+function logResult(result) {
console.log(`Setting was modified: ${result}`);
}
browser.browserSettings.openSearchResultsInNewTabs.set({value: true}).
- then(logResult);</pre>
+ then(logResult);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.</p>
+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.
-<p>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.</p>
+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.
-<p>Si la valeur est <code>true</code>, alors lorsque l'utiliseur sélectionne l'un des éléments, l'élément est ouvert dans un nouvel onglet. Si la valeur est <code>false</code> (valeur par défaut) l'élément est ouvert dans l'onglet en cours.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.openUrlbarResultsInNewTabs")}}</p>
+{{Compat("webextensions.api.browserSettings.openUrlbarResultsInNewTabs")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Définit le paramètre à <code>true</code>:</p>
+Définit le paramètre à `true`:
-<pre class="brush: js">function logResult(result) {
+```js
+function logResult(result) {
console.log(`Setting was modified: ${result}`);
}
browser.browserSettings.openUrlbarResultsInNewTabs.set({value: true}).
- then(logResult);</pre>
+ then(logResult);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est une chaîne.</p>
+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est une chaîne.
-<p>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.</p>
+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.
-<p>Sa valeur sous-jacente est une chaîne qui peut prendre l'une des valeurs suivantes:</p>
+Sa valeur sous-jacente est une chaîne qui peut prendre l'une des valeurs suivantes:
-<ul>
- <li>"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.</li>
- <li>"never":  n'applique jamais les choix de l'utilisateur</li>
- <li>"always": Toujours appliquer les choix de l'utilisateur.</li>
-</ul>
+- "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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.openUrlbarResultsInNewTabs")}}</p>
+{{Compat("webextensions.api.browserSettings.openUrlbarResultsInNewTabs")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Définissez le paramètre sur "always":</p>
+Définissez le paramètre sur "always":
-<pre class="brush: js">function logResult(result) {
+```js
+function logResult(result) {
console.log(`Setting was modified: ${result}`);
}
browser.browserSettings.overrideDocumentColors.set({value: "always"}).
- then(logResult);</pre>
+ then(logResult);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.</p>
+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.
-<p>Par défaut, bien sûr, les pages Web peuvent spécifier les polices qu'ils veulent utiliser les propriétés CSS comme <code><a href="/fr/docs/Web/CSS/font-family">font-family</a></code>. 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.</p>
+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.
-<p>Sa valeur sous-jacente est un booléen :</p>
+Sa valeur sous-jacente est un booléen :
-<ul>
- <li><code>true</code>: utilise les polices spécifiées par la page Web. C'est la valeur par défaut.</li>
- <li><code>false</code>:  utilise les polices du système.</li>
-</ul>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.useDocumentFonts")}}</p>
+{{Compat("webextensions.api.browserSettings.useDocumentFonts")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Définissez le paramètre sur <code>false</code>:</p>
+Définissez le paramètre sur `false`:
-<pre class="brush: js">function logResult(result) {
+```js
+function logResult(result) {
console.log(`Setting was modified: ${result}`);
}
browser.browserSettings.useDocumentFonts.set({value: false}).
- then(logResult);</pre>
+ then(logResult);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour empêcher les sites Web d'afficher des <code><a href="/fr/docs/Web/API/Notifications_API">Notifications</a></code> à l'aide de l'API Web de notifications.</p>
+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.
-<p>L'API <code>Notifications</code> est utilisée pour afficher les notifications de bureau à l'utilisateur. Il existe trois niveaux d'autorisation pour les notifications :<em> allow</em>,<em> deny</em>, et <em>prompt</em>. 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 <em>invité</em>e.</p>
+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.
-<p>Définir <code>browserSettings.webNotificationsDisabled</code> à <code>true</code> change l'autorisation globale à<em> refuser</em>.</p>
+Définir `browserSettings.webNotificationsDisabled` à `true` change l'autorisation globale à _refuser_.
-<p>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 <a href="https://example.org">https://example.org</a> pour<em> autoriser</em>, et une extension place ensuite <code>browserSettings.webNotificationsDisabled</code> à <code>true</code>, alors les pages sous <a href="https://example.org">https://example.org </a>seront toujours autorisées à afficher des notifications..</p>
+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 ](https://example.org)seront toujours autorisées à afficher des notifications..
-<p>Si vous définissez <code>browserSettings.webNotificationsDisabled</code> à <code>false</code> la valeur par défaut globale est rétablie.</p>
+Si vous définissez `browserSettings.webNotificationsDisabled` à `false` la valeur par défaut globale est rétablie.
-<p>Notez que ce paramètre n'a aucun effet sur les notifications créées par des extensions à l'aide de l'API de <code><a href="/fr/Add-ons/WebExtensions/API/notifications">notifications</a></code>.</p>
+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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.webNotificationsDisabled")}}</p>
+{{Compat("webextensions.api.browserSettings.webNotificationsDisabled")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Basculer le paramètre :</p>
+Basculer le paramètre :
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
toggleWebNotifications();
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jaccente est un booléen.</p>
+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jaccente est un booléen.
-<p>Par défaut, le zoom s'applique à la page web entière. En utilisant le <a href="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">Zoom Text Only setting</a> 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.</p>
+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.
-<p>Valeurs du paramètre:</p>
+Valeurs du paramètre:
-<ul>
- <li><code>true</code>: le zoom s'applique à la page web en entier (par défaut).</li>
- <li><code>false</code>: le zoom s'applique au texte de la page web seulement.</li>
-</ul>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.zoomFullPage")}}</p>
+{{Compat("webextensions.api.browserSettings.zoomFullPage")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Mettre le réglage à <code>false</code>:</p>
+Mettre le réglage à `false`:
-<pre class="brush: js">function afficherResultat(resultat) {
+```js
+function afficherResultat(resultat) {
console.log(`Le paramètre a été modifié: ${resultat}`);
}
browser.browserSettings.zoomFullPage.set({value: false}).
- then(afficherResultat);</pre>
+ then(afficherResultat);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jaccente est un booléen.</p>
+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jaccente est un booléen.
-<p>Cette propriété contrôle le <a href="https://support.mozilla.org/fr/kb/editeur-configuration-firefox">réglage de configuration</a><code> browser.zoom.siteSpecific</code>, qui règle comment le zoom est appliqué aux sites et onglets.</p>
+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.
-<p>Si <code>browser.zoom.siteSpecific</code> est à vrai, les opérations de zoom s'appliquent à toutes les pages du même site selon les règles :</p>
+Si `browser.zoom.siteSpecific` est à vrai, les opérations de zoom s'appliquent à toutes les pages du même site selon les règles :
-<ul>
- <li>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é.</li>
- <li>quand le niveau de zoom change pour une page, le niveau des autres pages (dans d'autres onglets) de ce site sont mises à jour.</li>
-</ul>
+- 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.
-<p>Si la préférence <code>browser.zoom.siteSpecific</code> est à faux, les opérations de zoom s'appliquent uniquement à l'onglet actif selon les règles :</p>
+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 :
-<ul>
- <li>quand un nouvel onglet s'ouvre, le niveau de zoom par défaut "global" est appliqué.</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>Lors de l'installation de Firefox, <code>browser.zoom.siteSpecific</code> est à vrai.</p>
+Lors de l'installation de Firefox, `browser.zoom.siteSpecific` est à vrai.
-<p>Si <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/privacy/websites"><code>privacy.websites</code></a><code>.resistFingerprinting</code> est à vrai, ce réglage ne peut pas être changé et le niveau de zoom est appliqué sur le schéma par-onglet.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browserSettings.zoomSiteSpecific")}}</p>
+{{Compat("webextensions.api.browserSettings.zoomSiteSpecific")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Mettre le réglage à <code>false</code>:</p>
+Mettre le réglage à `false`:
-<pre class="brush: js">function logResult(result) {
+```js
+function logResult(result) {
console.log(`Setting was modified: ${result}`);
}
browser.browserSettings.zoomSiteSpecific.set({value: false}).
- then(logResult);</pre>
+ then(logResult);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <strong><code>browsingData.DataTypeSet</code></strong>  décrit un ensemble de types de données.</p>
+Le type **`browsingData.DataTypeSet`**  décrit un ensemble de types de données.
-<p>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.</p>
+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.
-<p>Ce type est utilisé :</p>
+Ce type est utilisé :
-<ul>
- <li>dans {{WebExtAPIRef("browsingData.remove()")}} pour décrire les types  de données à supprimer</li>
- <li>dans {{WebExtAPIRef("browsingData.settings()")}} pour décrire les types de données actuellement sélectionnés dans la fonction  "effacer l'historique" du navigateur.</li>
-</ul>
+- 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.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>cache</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Le cache du navigateur</dd>
- <dt><code>cookies</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Cookies acquis en cours de la navigation.</dd>
- <dt><code>downloads</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. L'historique de téléchargement de l'utilisateur.</dd>
- <dt><code>fileSystems</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Les systèmes de fichiers du site Web.</dd>
- <dt><code>formData</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Données de formulaire enregistrées, pour la saisie semi-automatique.</dd>
- <dt><code>history</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. L'histoire de navigation de l'utilisateur.</dd>
- <dt><code>indexedDB</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Données IndexedDB.</dd>
- <dt><code>localStorage</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Données de stockage local.</dd>
- <dt><code>passwords</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Mots de pass enregistrés, pour la saisie semi-automatique.</dd>
- <dt><code>pluginData</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Données stockées associées aux plugins.</dd>
- <dt><code>serverBoundCertificates</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Certificats liés au serveur stockés.</dd>
- <dt><code>serviceWorkers</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Données mises en cache par les travailleurs du service.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.DataTypeSet")}}</p>
+{{Compat("webextensions.api.browsingData.DataTypeSet")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -95,5 +89,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/DataTypeSet
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Permet aux extensions d'effacer les données accumulées pendant la navigation de l'utilisateur.</p>
+Permet aux extensions d'effacer les données accumulées pendant la navigation de l'utilisateur.
-<p>Dans l'API <code>browsingData</code>, les données de navigations sont divisées en types :</p>
+Dans l'API `browsingData`, les données de navigations sont divisées en types :
-<ul>
- <li>cache du navigateur</li>
- <li>cookies</li>
- <li>Téléchargements</li>
- <li>historique</li>
- <li>stockage local</li>
- <li>données du plugin</li>
- <li>données de formulaire enregistrées</li>
- <li>Mots de passe enregistrés</li>
-</ul>
+- 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
-<p>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.</p>
+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.
-<p>Toutes les fonctions <code>browsingData.remove[X]()</code> prennent un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} que vous pouvez utiliser pour contrôler deux autres aspects de la suppression des données :</p>
+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 :
-<ul>
- <li>dans quelle mesure remonter dans le temps pour supprimer des données</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>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.</p>
+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.
-<p>Pour utiliser cette API, vous devez disposer de l'<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">API permission</a> "browseData".</p>
+Pour utiliser cette API, vous devez disposer de l'[API permission](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "browseData".
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("browsingData.DataTypeSet")}}</dt>
- <dd>Objet utilisé pour spécifier le type de données à supprimer: par exemple, l'historique, les téléchargements, les mots de passe, etc.</dd>
- <dt>{{WebExtAPIRef("browsingData.RemovalOptions")}}</dt>
- <dd>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.</dd>
-</dl>
+- {{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.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<dl>
- <dt>{{WebExtAPIRef("browsingData.remove()")}}</dt>
- <dd>Supprime les données de navigation pour les types de données spécifiés.</dd>
- <dt>{{WebExtAPIRef("browsingData.removeCache()")}}</dt>
- <dd>Efface le cache du navigateur.</dd>
- <dt>{{WebExtAPIRef("browsingData.removeCookies()")}}</dt>
- <dd>Supprime les cookies</dd>
- <dt>{{WebExtAPIRef("browsingData.removeDownloads()")}}</dt>
- <dd>Supprime la liste des fichiers téléchargés.</dd>
- <dt>{{WebExtAPIRef("browsingData.removeFormData()")}}</dt>
- <dd>Efface les données de formulaire enregistrées.</dd>
- <dt>{{WebExtAPIRef("browsingData.removeHistory()")}}</dt>
- <dd>Efface l'historique du navigateur.</dd>
- <dt>{{WebExtAPIRef("browsingData.removeLocalStorage()")}}</dt>
- <dd>Efface tout <a href="/fr/docs/Web/API/Window/localStorage">stockage local</a> créé par des sites web.</dd>
- <dt>{{WebExtAPIRef("browsingData.removePasswords()")}}</dt>
- <dd>Efface les mots de passe enregistrés.</dd>
- <dt>{{WebExtAPIRef("browsingData.removePluginData()")}}</dt>
- <dd>Efface les données associées aux plugins.</dd>
- <dt>{{WebExtAPIRef("browsingData.settings()")}}</dt>
- <dd>Obtient la valeur actuelle des paramètres dans la fonction "Effacer l'historique" du navigateur</dd>
-</dl>
+- {{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
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
+{{Compat("webextensions.api.browsingData", 2)}}
+{{WebExtExamples("h2")}}
-<p>{{Compat("webextensions.api.browsingData", 2)}}</p>
+> **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.
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -118,5 +106,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <strong><code>browsingData.RemovalOptions</code></strong> contient des options permettant de contrôler certains aspects de la suppression des données de navigation.</p>
+Le type **`browsingData.RemovalOptions`** contient des options permettant de contrôler certains aspects de la suppression des données de navigation.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes:</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes:
-<dl>
- <dt><code>hostnames</code> {{optional_inline}}</dt>
- <dd>
- <p><code>Array</code> of <code>string</code>. 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.</p>
+- `hostnames` {{optional_inline}}
- <p>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  <code><a href="/fr/docs/Web/API/URL">URL</a></code> 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.</p>
- </dd>
- <dt><code>originTypes</code> {{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. 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 ("<code>unprotectedWeb</code>") 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.</p>
+ - : `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.
- <p>Cet objet peut contenir l'une des propriétés suivantes :</p>
+ 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.
- <dl>
- <dt><code>unprotectedWeb</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si présent et <code>true</code>, supprime les données de la pages Web normales.</dd>
- <dt><code>protectedWeb</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si présent et <code>true</code>, supprime les données de site Web qui ont été installés en tant qu'applications hébergées.</dd>
- <dt><code>extension</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si présent et <code>true</code>, supprime les données d'extensions.</dd>
- </dl>
- </dd>
- <dt><code>since</code> {{optional_inline}}</dt>
- <dd><code>number</code>. Jusqu'à quand remontent les données, données en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque UNIX</a>. 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é <code>since</code> est omise, la valeur par défaut est 0, ce qui signifie "pour toujours".</dd>
-</dl>
+- `originTypes` {{optional_inline}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `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.
-<p>{{Compat("webextensions.api.browsingData.RemovalOptions", 2)}}</p>
+- `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".
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-</div>
+{{Compat("webextensions.api.browsingData.RemovalOptions", 2)}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData).
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -85,5 +77,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/RemovalOptions
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime les données de navigation spécifiées.</p>
+Supprime les données de navigation spécifiées.
-<p>Les données de navigation à supprimer sont spécifiées dans l'option  <code>dataTypes</code>, qui est un objet  {{WebExtAPIRef("browsingData.DataTypeSet")}}.</p>
+Les données de navigation à supprimer sont spécifiées dans l'option  `dataTypes`, qui est un objet  {{WebExtAPIRef("browsingData.DataTypeSet")}}.
-<p>Vous pouvez utiliser l'option <code>removalOptions</code>, 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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.browsingData.remove(
+```js
+var removing = browser.browsingData.remove(
removalOptions, // RemovalOptions object
dataTypes // DataTypeSet object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>removalOptions</code></dt>
- <dd><code>object</code>. 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.</dd>
- <dt><code>dataTypes</code></dt>
- <dd><code>object</code>. Un objet {{WebExtAPIRef("browsingData.DataTypeSet")}}, décrit les types de données à supprimer (par exemple, historique, les téléchargements,...).</dd>
-</dl>
+- `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,...).
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.remove")}}</p>
+{{Compat("webextensions.api.browsingData.remove")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprimer l'historique des téléchargements et de l'histoire de navigation de la semaine dernière :</p>
+Supprimer l'historique des téléchargements et de l'histoire de navigation de la semaine dernière :
-<pre class="brush: js">function onRemoved() {
+```js
+function onRemoved() {
console.log("removed");
}
@@ -70,11 +70,12 @@ browser.browsingData.remove(
{since: oneWeekAgo},
{downloads: true, history: true}).
then(onRemoved, onError);
-</pre>
+```
-<p>Supprimer tout l'historique de téléchargement et de navigation :</p>
+Supprimer tout l'historique de téléchargement et de navigation :
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+then(onRemoved, onError);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -123,5 +123,4 @@ then(onRemoved, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Effacer le cache du navigateur.</p>
+Effacer le cache du navigateur.
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.browsingData.removeCache(
+```js
+var removing = browser.browsingData.removeCache(
removalOptions // RemovalOptions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>removalOptions </code>{{optional_inline}}</dt>
- <dd><code>object</code>. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}. Ce paramètre n'a aucun effet</dd>
-</dl>
+- `removalOptions `{{optional_inline}}
+ - : `object`. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}. Ce paramètre n'a aucun effet
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.removeCache")}}</p>
+{{Compat("webextensions.api.browsingData.removeCache")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Effacer le cache du navigateur :</p>
+Effacer le cache du navigateur :
-<pre class="brush: js">function onRemoved() {
+```js
+function onRemoved() {
console.log("removed");
}
@@ -55,19 +55,18 @@ function onError(error) {
}
browser.browsingData.removeCache({}).
-then(onRemoved, onError);</pre>
+then(onRemoved, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -94,5 +93,4 @@ then(onRemoved, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Efface les cookies du navigateur</p>
+Efface les cookies du navigateur
-<p>Vous pouvez utiliser le paramètre <code>removalOptions</code>, qui est un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :</p>
+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :
-<ul>
- <li>Efface seulement les cookies créés après un temps donné</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.browsingData.removeCookies(
+```js
+var removing = browser.browsingData.removeCookies(
removalOptions // RemovalOptions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>removalOptions</code></dt>
- <dd><code>object</code>. 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.removeCookies")}}</p>
+{{Compat("webextensions.api.browsingData.removeCookies")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprime les cookies créés la semaine dernière :</p>
+Supprime les cookies créés la semaine dernière :
-<pre class="brush: js">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);</pre>
+then(onRemoved, onError);
+```
-<p>Supprime tous les cookies :</p>
+Supprime tous les cookies :
-<div class="warning">
-<p><strong>Attention :</strong></p>
-<p>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).</p>
-<p>Si vous souhaitez simplement effacer tous les cookies sans perturber les installations de stockage locales, utilisez <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/cookies">browser.cookies</a> pour faire une boucle et supprimer le contenu de tous les magasins de cookies.</p>
-</div>
+> **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.
-<pre class="brush: js">function onRemoved() {
+```js
+function onRemoved() {
console.log("removed");
}
@@ -86,19 +86,18 @@ function onError(error) {
}
browser.browsingData.removeCookies({}).
-then(onRemoved, onError);</pre>
+then(onRemoved, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -125,5 +124,4 @@ then(onRemoved, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Vous pouvez utiliser le paramètre <code>removalOptions</code>, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :</p>
+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :
-<ul>
- <li>Efface les enregistrements des élements téléchargés après un temps donné</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.browsingData.removeDownloads(
+```js
+var removing = browser.browsingData.removeDownloads(
removalOptions // RemovalOptions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>removalOptions</code></dt>
- <dd><code>object</code>. 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.removeDownloads")}}</p>
+{{Compat("webextensions.api.browsingData.removeDownloads")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprime les enregistrements d'objets téléchargés la semaine dernière :</p>
+Supprime les enregistrements d'objets téléchargés la semaine dernière :
-<pre class="brush: js">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);</pre>
+then(onRemoved, onError);
+```
-<p>Supprime tous les enregistrements d'objets téléchargés :</p>
+Supprime tous les enregistrements d'objets téléchargés :
-<pre class="brush: js">function onRemoved() {
+```js
+function onRemoved() {
console.log("removed");
}
@@ -80,19 +80,18 @@ function onError(error) {
}
browser.browsingData.removeDownloads({}).
-then(onRemoved, onError);</pre>
+then(onRemoved, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -119,5 +118,4 @@ then(onRemoved, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Efface les données que le navigateur a enregistré pour les formulaires de remplissage automatique.</p>
+Efface les données que le navigateur a enregistré pour les formulaires de remplissage automatique.
-<p>Vous pouvez utiliser le paramètre <code>removalOptions</code>, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, pour :</p>
+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, pour :
-<ul>
- <li>Efface uniquement les données de formulaire entrées après une heure donnée</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.browsingData.removeFormData(
+```js
+var removing = browser.browsingData.removeFormData(
removalOptions // RemovalOptions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p><code>object</code>. 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.</p>
+`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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.removeFormData")}}</p>
+{{Compat("webextensions.api.browsingData.removeFormData")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprimer les données de formulaire enregistrées la semaine dernière :</p>
+Supprimer les données de formulaire enregistrées la semaine dernière :
-<pre class="brush: js">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);</pre>
+then(onRemoved, onError);
+```
-<p>Supprimer tous les données de formulaire enregistrées :</p>
+Supprimer tous les données de formulaire enregistrées :
-<pre class="brush: js">function onRemoved() {
+```js
+function onRemoved() {
console.log("removed");
}
@@ -77,19 +79,18 @@ function onError(error) {
}
browser.browsingData.removeFormData({}).
-then(onRemoved, onError);</pre>
+then(onRemoved, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -116,5 +117,4 @@ then(onRemoved, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Efface l'enregistrement des pages Web que l'utilisateur a visité (historique de navigation).</p>
+Efface l'enregistrement des pages Web que l'utilisateur a visité (historique de navigation).
-<p>Vous pouvez utiliser le paramètre <code>removalOptions</code>, qui est un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :</p>
+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :
-<ul>
- <li>Effacer uniquement les eenregistrements des pages Web visitées après un certain temps.</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.browsingData.removeHistory(
+```js
+var removing = browser.browsingData.removeHistory(
removalOptions // RemovalOptions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>removalOptions</code></dt>
- <dd><code>object</code>. 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.removeHistory", 10)}}</p>
+{{Compat("webextensions.api.browsingData.removeHistory", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprimer les enregistrements de la page visitées de la semaine dernière :</p>
+Supprimer les enregistrements de la page visitées de la semaine dernière :
-<pre class="brush: js">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);</pre>
+then(onRemoved, onError);
+```
-<p>Supprimer tous les enregistrements des pages visitées :</p>
+Supprimer tous les enregistrements des pages visitées :
-<pre class="brush: js">function onRemoved() {
+```js
+function onRemoved() {
console.log("removed");
}
@@ -80,19 +80,18 @@ function onError(error) {
}
browser.browsingData.removeHistory({}).
-then(onRemoved, onError);</pre>
+then(onRemoved, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -119,5 +118,4 @@ then(onRemoved, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Efface tout le <a href="/fr/docs/Web/API/Window/localStorage">stockage local</a> créé par des sites Web.</p>
+Efface tout le [stockage local](/fr/docs/Web/API/Window/localStorage) créé par des sites Web.
-<p>Vous pouvez utiliser le paramètre <code>removalOptions</code>, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :</p>
+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :
-<ul>
- <li>Effacer uniquement les objets de stockage locaux créés après un délai donné</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.browsingData.removeLocalStorage(
+```js
+var removing = browser.browsingData.removeLocalStorage(
removalOptions // RemovalOptions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>removalOptions</code></dt>
- <dd><code>object</code>. 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.removeLocalStorage", 10)}}</p>
+{{Compat("webextensions.api.browsingData.removeLocalStorage", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprime tout le stockage local :</p>
+Supprime tout le stockage local :
-<pre class="brush: js">function onRemoved() {
+```js
+function onRemoved() {
console.log("removed");
}
@@ -60,17 +58,16 @@ function onError(error) {
}
browser.browsingData.removeLocalStorage({}).
-then(onRemoved, onError);</pre>
+then(onRemoved, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -97,5 +94,4 @@ then(onRemoved, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Efface les mots de passes enregistrés</p>
+Efface les mots de passes enregistrés
-<p>Vous pouvez utiliser le paremètre <code>removalOptions</code>, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :</p>
+Vous pouvez utiliser le paremètre `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :
-<ul>
- <li>Effacer uniquement les mots de passe enregistrés après un certain temp</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.browsingData.removePasswords(
+```js
+var removing = browser.browsingData.removePasswords(
removalOptions // RemovalOptions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>removalOptions</code></dt>
- <dd><code>object</code>. 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.removePasswords")}}</p>
+{{Compat("webextensions.api.browsingData.removePasswords")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprimer les mots de passe enregistrés la semaine dernière :</p>
+Supprimer les mots de passe enregistrés la semaine dernière :
-<pre class="brush: js">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);</pre>
+then(onRemoved, onError);
+```
-<p>Supprime tous les mots de passe enregistrés :</p>
+Supprime tous les mots de passe enregistrés :
-<pre class="brush: js">function onRemoved() {
+```js
+function onRemoved() {
console.log("removed");
}
@@ -78,19 +78,18 @@ function onError(error) {
console.error(error);
}
-browser.browsingData.removePasswords({}).then(onRemoved, onError);</pre>
+browser.browsingData.removePasswords({}).then(onRemoved, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -117,5 +116,4 @@ browser.browsingData.removePasswords({}).then(onRemoved, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Efface les données stockées par les plugins du navigateur.</p>
+Efface les données stockées par les plugins du navigateur.
-<p>Vous pouvez utiliser le paramètre <code>removalOptions</code>, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, pour :</p>
+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, pour :
-<ul>
- <li>effacer seulement les données du plugins stockées après un temps donné</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.browsingData.removePluginData(
+```js
+var removing = browser.browsingData.removePluginData(
removalOptions // RemovalOptions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>removalOptions</code></dt>
- <dd><code>object</code>. 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.removePluginData")}}</p>
+{{Compat("webextensions.api.browsingData.removePluginData")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprimer les données stockées par les plugins au cours de la dernière semaine :</p>
+Supprimer les données stockées par les plugins au cours de la dernière semaine :
-<pre class="brush: js">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);</pre>
+then(onRemoved, onError);
+```
-<p>Supprimer toutes les données stockées par les plugins :</p>
+Supprimer toutes les données stockées par les plugins :
-<pre class="brush: js">function onRemoved() {
+```js
+function onRemoved() {
console.log("removed");
}
@@ -79,19 +79,18 @@ function onError(error) {
}
browser.browsingData.removePluginData({}).
-then(onRemoved, onError);</pre>
+then(onRemoved, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -118,5 +117,4 @@ then(onRemoved, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Cette fonction renvoie la valeur actuelle de ces paramètres.</p>
+Cette fonction renvoie la valeur actuelle de ces paramètres.
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getSettings = browser.browsingData.settings()
-</pre>
+```js
+var getSettings = browser.browsingData.settings()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun.</p>
+Aucun.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet contenant les informations sur les paramètres. Cet objet a trois propriétés :</p>
+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 :
-<dl>
- <dt><code>options</code></dt>
- <dd><code>{{WebExtAPIRef("browsingData.RemovalOptions")}}</code>. Un objet  <code>RemovalOptions</code> décrivant les options de suppression actuellement sélectionnées.</dd>
- <dt><code>dataToRemove</code></dt>
- <dd><code>{{WebExtAPIRef("browsingData.DataTypeSet")}}</code>. 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 <code>true</code> si ce type est sélectionné pour la suppression et <code>false</code> dans le cas contraire.</dd>
- <dt><code>dataRemovalPermitted</code></dt>
- <dd><code>{{WebExtAPIRef("browsingData.DataTypeSet")}}</code>. Cela contiendra une propriété pour chaque type de données pouvant être basculé dans l'interface utilisateur du navigateur. Chacune aura la valeur  <code>true</code> si l'administrateur du périphérique a autorisé l'utilisateur à supprimer ce type, et <code>false</code> dans le cas contraire.</dd>
-</dl>
+- `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.
-<p>Si une erreur se produit, la  promise sera rejetée avec un message d'erreur.</p>
+Si une erreur se produit, la  promise sera rejetée avec un message d'erreur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.browsingData.settings")}}</p>
+{{Compat("webextensions.api.browsingData.settings")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Paramètres des Logs courrants :</p>
+Paramètres des Logs courrants :
-<pre class="brush: js">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);</pre>
+browser.browsingData.settings().then(onGotSettings, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/browsingData"><code>chrome.browsingData</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -103,5 +102,4 @@ browser.browsingData.settings().then(onGotSettings, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Renvoyer l'URL canonique de la page de détection du portail des prisonniers. En lecture seule.</p>
+Renvoyer l'URL canonique de la page de détection du portail des prisonniers. En lecture seule.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
+{{Compat("webextensions.api.captivePortal.canonicalURL")}}
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.captivePortal.canonicalURL")}}</p>
+> **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.
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/tabs#property-TAB_ID_NONE"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -56,5 +52,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/captivePortal/canonicalURL
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Retourne le temps écoulé depuis que la dernière demande a été complétée.</p>
+Retourne le temps écoulé depuis que la dernière demande a été complétée.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var state = browser.captivePortal.getLastChecked()
-</pre>
+```js
+var state = browser.captivePortal.getLastChecked()
+```
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a> qui est remplie avec un nombre entier représentant le temps en millisecondes.</p>
+Une [Promise](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est remplie avec un nombre entier représentant le temps en millisecondes.
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.captivePortal.getLastChecked")}}</p>
+{{Compat("webextensions.api.captivePortal.getLastChecked")}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -58,5 +58,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/captivePortal/getLastChecked
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Renvoie l'état du portail comme <code>unknown</code>, <code>not_captive</code>, <code>unlocked_portal</code>, ou <code>locked_portal</code>.</p>
+Renvoie l'état du portail comme `unknown`, `not_captive`, `unlocked_portal`, ou `locked_portal`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var state = browser.captivePortal.getState()
-</pre>
+```js
+var state = browser.captivePortal.getState()
+```
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a> qui est remplie avec une chaîne de caractères contenant l'un des éléments suivants <code>unknown</code>, <code>not_captive</code>, <code>unlocked_portal</code>, ou <code>locked_portal</code>.</p>
+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`.
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.captivePortal.getState")}}</p>
+{{Compat("webextensions.api.captivePortal.getState")}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -58,5 +58,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/captivePortal/getState
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Pour utiliser cette API, vous devez disposer de la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "captivePortal".</p>
+Pour utiliser cette API, vous devez disposer de la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "captivePortal".
-<h2 id="Propriétés">Propriétés</h2>
+## Propriétés
-<dl>
- <dt>{{WebExtAPIRef("captivePortal.canonicalURL")}}</dt>
- <dd>Renvoyer l'URL canonique de la page de détection du portail des prisonniers. En lecture seule.</dd>
-</dl>
+- {{WebExtAPIRef("captivePortal.canonicalURL")}}
+ - : Renvoyer l'URL canonique de la page de détection du portail des prisonniers. En lecture seule.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("captivePortal.getLastChecked()")}}</dt>
- <dd>Retourne le temps, en millisecondes, depuis que la dernière demande a été complétée.</dd>
- <dt>{{WebExtAPIRef("captivePortal.getState()")}}</dt>
- <dd>Renvoie l'état du portail comme étant inconnu, <code>unknown</code>, <code>not_captive</code>, <code>unlocked_portal</code>, ou <code>locked_portal</code>.</dd>
-</dl>
+- {{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`.
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt>{{WebExtAPIRef("captivePortal.onConnectivityAvailable")}}</dt>
- <dd>S'allume lorsque le service de portail captif détermine que l'utilisateur peut se connecter à l'internet.</dd>
- <dt>{{WebExtAPIRef("captivePortal.onStateChanged")}}</dt>
- <dd>
- <p>S'allume lorsque l'état de portail captif change</p>
- </dd>
-</dl>
+- {{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
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.captivePortal")}}</p>
+{{Compat("webextensions.api.captivePortal")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -80,5 +71,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/captivePortal
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>S'allume lorsque le service de portail captif détermine que l'utilisateur peut se connecter à l'internet.</p>
+S'allume lorsque le service de portail captif détermine que l'utilisateur peut se connecter à l'internet.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.captivePortal.onConnectivityAvailable.addListener(callback)
+```js
+browser.captivePortal.onConnectivityAvailable.addListener(callback)
browser.captivePortal.onConnectivityAvailable.removeListener(listener)
browser.captivePortal.onConnectivityAvailable.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un auditeur à cet événement</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'auditeur à retirer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est inscrit à cet événement. Renvoie <code>true</code> si c'est un auditeur, sinon <code>false</code> .</dd>
-</dl>
+- `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` .
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramétres">Paramétres</h3>
+### Paramétres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui est appelée lorsque cet événement se produit. La fonction se voit transmettre les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>status</code></dt>
- <dd><code>string</code> Le statut du service, étant celui de <code>captive</code> s'il y a un portail captif déverrouillé présent ou <code>clear</code> si aucun portail captif n'est détecté</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui est appelée lorsque cet événement se produit. La fonction se voit transmettre les arguments suivants :
-<h2 id="Exemples">Exemples</h2>
+ - `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é
-<p>Gérer la capacité d'un utilisateur de changement à se connecter à l'internet :</p>
+## Exemples
-<pre class="brush: js">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);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.captivePortal.onConnectivityAvailable")}}</p>
+{{Compat("webextensions.api.captivePortal.onConnectivityAvailable")}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -94,5 +88,4 @@ browser.captivePortal.onConnectivityAvailable.addListener(handleConnectivity);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>S'allume lorsque l'état de portail captif change.</p>
+S'allume lorsque l'état de portail captif change.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.captivePortal.onStateChanged.addListener(callback)
+```js
+browser.captivePortal.onStateChanged.addListener(callback)
browser.captivePortal.onStateChanged.removeListener(listener)
browser.captivePortal.onStateChanged.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de <code>listener</code> est l'auditeur à retirer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est inscrit à cet événement. Renvoie <code>true</code> si c'est un auditeur, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramétres">Paramétres</h3>
+### Paramétres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui est appelée lorsque cet événement se produit. La fonction se voit transmettre les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>details</code></dt>
- <dd>
- <p><code>string</code> L'État portail captif, étant l'un des <code>unknown</code>, <code>not_captive</code>, <code>unlocked_portal</code>, ou <code>locked_portal</code>.</p>
- </dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui est appelée lorsque cet événement se produit. La fonction se voit transmettre les arguments suivants :
-<h2 id="Exemples">Exemples</h2>
+ - `details`
+ - : `string` L'État portail captif, étant l'un des `unknown`, `not_captive`, `unlocked_portal`, ou `locked_portal`.
-<p>Gérer un changement de statut de portail captif :</p>
+## Exemples
-<pre class="brush: js">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)
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.captivePortal.onStateChanged")}}</p>
+{{Compat("webextensions.api.captivePortal.onStateChanged")}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -96,5 +88,4 @@ browser.captivePortal.onStateChanged.addListener(handlePortalStatus)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>L'API <code>presse-papiers</code> 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.</p>
+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.
-<p>Cette API WebExtension existe principalement parce que l'API standard du presse-papiers Web <a href="https://w3c.github.io/clipboard-apis/#writing-to-clipboard">ne prend pas en charge l'écriture d'images dans le presse-papiers</a>. 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.</p>
+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.
-<p>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 <a href="/fr/Add-ons/WebExtensions/Interact_with_the_clipboard#Reading_from_the_clipboard">Interaction avec le presse-papier</a>.</p>
+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).
-<p>Cette API est basée sur l'API de <code><a href="https://developer.chrome.com/apps/clipboard">clipboard</a></code> de Chrome, mais cette API n'est disponible que pour les applications Chrome et non pour les extensions.</p>
+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.
-<p>Pour utiliser cette API, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"clipboardWrite"</code>.</p>
+Pour utiliser cette API, vous devez avoir la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"clipboardWrite"`.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("clipboard.setImageData()")}}</dt>
- <dd>Copiez une image dans le presse-papiers.</dd>
-</dl>
+- {{WebExtAPIRef("clipboard.setImageData()")}}
+ - : Copiez une image dans le presse-papiers.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.clipboard", 1, 1)}} {{WebExtExamples("h2")}}</p>
+{{Compat("webextensions.api.clipboard", 1, 1)}} {{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/apps/clipboard"><code>chrome.clipboard</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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é.</p>
+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é.
-<p>L'image est fournie en tant que <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer">ArrayBuffer</a></code> contenant l'image codée. Les formats JPEG et PNG sont pris en charge.</p>
+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.
-<p>Bien que cette API soit basée sur l'API <code><a href="https://developer.chrome.com/apps/clipboard">clipboard.setImageData()</a></code> de Chrome, il existe certaines différentes :</p>
+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 :
-<ul>
- <li>L'API Chrome est réservée aux applications et non aux extensions.</li>
- <li>Cette API nécessite uniquement la permission <code>"clipboardWrite"</code>, tandis que la version Chrome nécessite également la permission <code>"clipboard"</code>.</li>
- <li>L'API de Chrome utilise des rappels et cette API ne prend en charge que les promises.</li>
- <li>Cette API ne prend pas en charge le paramètre <code>additionalItems</code>.</li>
-</ul>
+- 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`.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.clipboard.setImageData(<em>imageData</em>, <em>imageType</em>)
-</pre>
+```js
+browser.clipboard.setImageData(imageData, imageType)
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>imageData</code></dt>
- <dd><code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer">ArrayBuffer</a></code>. Les données de l'image codées.</dd>
- <dt><code>imageType</code></dt>
- <dd>Un {{domxref("DOMString")}} indiquant le type d'image contenue dans le fichier <code>imageData</code>: <code>"png"</code> ou <code>"jpeg"</code>.</dd>
-</dl>
+- `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"`.
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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).</p>
+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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.clipboard.setImageData", 10)}}</p>
+{{Compat("webextensions.api.clipboard.setImageData", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Copiez une image distante :</p>
+Copiez une image distante :
-<pre class="brush: js">// 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 =&gt; response.arrayBuffer())
-.then(buffer =&gt; browser.clipboard.setImageData(buffer, 'png'));</pre>
+.then(response => response.arrayBuffer())
+.then(buffer => browser.clipboard.setImageData(buffer, 'png'));
+```
-<p>Copiez une image fournie avec l'extension :</p>
+Copiez une image fournie avec l'extension :
-<pre class="brush: js">// requires the API permission "clipboardWrite"
+```js
+// requires the API permission "clipboardWrite"
fetch(browser.runtime.getURL('image.png'))
-.then(response =&gt; response.arrayBuffer())
-.then(buffer =&gt; browser.clipboard.setImageData(buffer, 'png'));</pre>
+.then(response => response.arrayBuffer())
+.then(buffer => browser.clipboard.setImageData(buffer, 'png'));
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/apps/clipboard"><code>chrome.clipboard</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Information sur une commande. Cela contient les informations spécifiées pour la commande dans la  <a href="/fr/Add-ons/WebExtensions/manifest.json/commands"><code>commande</code> clef manifest.json</a>.</p>
+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).
-<p>Un tableau de ces objets est renvoyé par {{WebExtAPIRef('commands.getAll()')}}.</p>
+Un tableau de ces objets est renvoyé par {{WebExtAPIRef('commands.getAll()')}}.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type  sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type  sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>name</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Nom de la commande. Cela sera passé dans l'écouteur de l'événement  {{WebExtAPIRef('commands.onCommand')}}.</dd>
- <dt><code>description</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Description de cette commande. Ceci est principalement utilisé pour expliquer à l'utilisateur ce que cette commande fait.</dd>
- <dt><code>shortcut</code>{{optional_inline}}</dt>
- <dd><code>string</code>. clef(s) utilisée pour exécuter cette commande , spécifiée comme une chaîne comme "Ctrl+Shift+Y".</dd>
-</dl>
+- `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".
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.commands.Command")}}</p>
+{{Compat("webextensions.api.commands.Command")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/commands"><code>chrome.commands</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obient toutes les commandes pour l'exécution que vous avez enregistré à l'aide d'une des <a href="/fr/Add-ons/WebExtensions/manifest.json/commands"><code>commandes</code> clef du manifest.json</a>.</p>
+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).
-<p>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, <code>browser.commands.getAll()</code>,  les commandes sont passées dans l'argument <code>onFulfilled</code> à <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise/then">Promise.then()</a></code>.</p>
+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).
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getCommands = browser.commands.getAll();
-</pre>
+```js
+var getCommands = browser.commands.getAll();
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun.</p>
+Aucun.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera accompli avec un tableau  d'objets <code>{{WebExtAPIRef('commands.Command')}}</code>, un pour  chaque commande enregistrée pour l'extension. Si aucune n'a été enregistrée, le tableau  sera vide.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.commands.getAll")}}</p>
+{{Compat("webextensions.api.commands.getAll")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function logCommands(commands) {
+```js
+function logCommands(commands) {
  commands.forEach(function(command) {
    console.log(command);
  });
}
var getCommands = browser.commands.getAll();
-getCommands.then(logCommands);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+getCommands.then(logCommands);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/commands"><code>chrome.commands</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Écoutez l'utilisateur exécutant les commandes que vous avez enregistrées à l'aide des <a href="/fr/Add-ons/WebExtensions/manifest.json/commands">clés <code>commandes</code> du fichier manifest.json</a>.</p>
+É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).
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("commands.Command")}}</dt>
- <dd>Objet représentant une commande. Il contient les informations spécifiées pour la commande dans les <a href="/fr/Add-ons/WebExtensions/manifest.json/commands">clés <code>commands</code> du fichier manifest.json</a>.</dd>
-</dl>
+- {{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).
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("commands.getAll")}}</dt>
- <dd>
- <p>Obtient toutes les commandes enregistrées pour cette extension.</p>
- </dd>
- <dt>{{WebExtAPIRef("commands.reset")}}</dt>
- <dd>
- <p>Réinitialiser la description de la commande donnée et le raccourci vers les valeurs données dans la clé “manifest”.</p>
- </dd>
- <dt>{{WebExtAPIRef("commands.update")}}</dt>
- <dd>
- <p>Modifiez la description ou le raccourci de la commande donnée.</p>
- </dd>
-</dl>
+- {{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.
-<h2 id="Événements">Événements</h2>
+## Événements
-<dl>
- <dt>{{WebExtAPIRef("commands.onCommand")}}</dt>
- <dd>
- <div>Activé lorsqu'une commande est exécutée à l'aide du raccourci clavier associé.</div>
- </dd>
-</dl>
+- {{WebExtAPIRef("commands.onCommand")}}
+ - : Activé lorsqu'une commande est exécutée à l'aide du raccourci clavier associé.
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.api.commands")}} {{WebExtExamples("h2")}}</p>
+{{Compat("webextensions.api.commands")}} {{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/commands"><code>chrome.commands</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -87,5 +71,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/commands
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{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).
-<div>Lancer quand une commande est exécutée à l'aide de son raccourci clavier associé.</div>
+## Syntaxe
-<div>L'écouteur reçoit  le nom de la commande. Cela correspond au nom donnée à la commande dans une  <a href="/fr/Add-ons/WebExtensions/manifest.json/commands">entrée manifest.json</a>.</div>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">browser.commands.onCommand.addListener(listener)
+```js
+browser.commands.onCommand.addListener(listener)
browser.commands.onCommand.removeListener(listener)
browser.commands.onCommand.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à un événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêter d'écouter un événement. L'arguement <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement . Renvoie <code>true</code> s'il écoute, <code>false</code> sinon.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètre">Paramètre</h3>
+### Paramètre
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsqu'un utilisateur entre dans le raccourci de la commande. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. Nom de la commande. Cela correspond au nom donné à la commande dans son <a href="/fr/Add-ons/WebExtensions/manifest.json/commands">entrée manifest.json</a>.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsqu'un utilisateur entre dans le raccourci de la commande. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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).
-<p>{{Compat("webextensions.api.commands.onCommand")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.commands.onCommand")}}
-<div>Etant donnée une entrée manifest.json comme ceci :</div>
+## Exemples
-<pre class="brush: json">"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"
}
-}</pre>
+}
+```
-<div>Vous pouvez écouter cette commande particulière comme ceci :</div>
+Vous pouvez écouter cette commande particulière comme ceci :
-<pre class="brush: js">browser.commands.onCommand.addListener(function(command) {
+```js
+browser.commands.onCommand.addListener(function(command) {
if (command == "toggle-feature") {
console.log("toggling the feature!");
}
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+});
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/commands"><code>chrome.commands</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Réinitialise la description de la commande donnée et le raccourci clavier aux valeurs indiquées dans <a href="/fr/Add-ons/WebExtensions/manifest.json/commands"><code>commands</code> de la clé du manifest.json</a> de l'extension.</p>
+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.
-<p>Cela annule efficacement les modifications apportées à la commande à l'aide de la fonction {{WEbExtAPIRef("commands.update()")}}.</p>
+Cela annule efficacement les modifications apportées à la commande à l'aide de la fonction {{WEbExtAPIRef("commands.update()")}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.commands.reset(
+```js
+browser.commands.reset(
name // string
);
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. Nom de la commande à réinitialiser, comme indiqué par la propriété <code>name</code> de l'objet {{WebExtAPIRef("commands.Command")}}.</dd>
-</dl>
+- `name`
+ - : `string`. Nom de la commande à réinitialiser, comme indiqué par la propriété `name` de l'objet {{WebExtAPIRef("commands.Command")}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie sans arguments lorsque le raccourci a été réinitialisé.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments lorsque le raccourci a été réinitialisé.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.commands.reset")}}</p>
+{{Compat("webextensions.api.commands.reset")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Réinitialise la commande "my-command" lorsque l'utilisateur clique sur le bouton "reset" :</p>
+Réinitialise la commande "my-command" lorsque l'utilisateur clique sur le bouton "reset" :
-<pre class="brush: js">const commandName = 'my-command';
+```js
+const commandName = 'my-command';
function resetShortcut() {
browser.commands.reset(commandName);
}
-document.querySelector('#reset').addEventListener('click', resetShortcut);</pre>
+document.querySelector('#reset').addEventListener('click', resetShortcut);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Changez la description ou le raccourci clavier pour la commande donnée.</p>
+Changez la description ou le raccourci clavier pour la commande donnée.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.commands.update(
+```js
+browser.commands.update(
details // object
);
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Un objet avec les propriétés suivantes:</p>
- <dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. e nom de la commande à mettre à jour. Cela doit correspondre au nom d'une commande existante, comme indiqué par exemple dans la propriété <code>name</code> de l'objet {{WebExtAPIRef("commands.Command")}}.</dd>
- <dt><code>description</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Une nouvelle description à définir pour la commande.</dd>
- <dt><code>shortcut</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Un nouveau raccourci à définir pour la commande. Cela doit correspondre au format donné dans la documentation pour les <a href="/fr/Add-ons/WebExtensions/manifest.json/commands"><code>commands</code> de la clé manifest.json</a>. S'il ne correspond pas à ce format, la fonction va générer une erreur.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. Un objet avec les propriétés suivantes:
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.commands.update")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Met à jour la commande "my-command" avec la valeur de raccourci donnée, lorsque l'utilisateur clique sur "update" :</p>
+{{Compat("webextensions.api.commands.update")}}
-<pre class="brush: js">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);</pre>
+document.querySelector('#update').addEventListener('click', updateShortcut);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Cette API est très similaire à la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">"content_scripts"</a></code> du manifest.json, à l'exception de <code>"content_scripts"</code> , l'ensemble des scripts de contenu et des motifs associés est fixé au moment de l'installation. Avec l'API <code>contentScripts</code>, une extension peut enregistrer et désenregistrer des scripts au moment de l'exécution.</p>
+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.
-<p>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 <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}}.</p>
+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")}}.
-<p>L'objet <code>RegisteredContentScript</code> représente les scripts enregistrés dans l'appel <code>register()</code> . Il définit une méthode <code>unregister()</code> 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.</p>
+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.
-<p>Il n'y a pas de permission de l'API <code>contentScripts</code>, mais une extension doit disposer des <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôte</a> appropriées pour tous les modèles qu'elle transmet à <code>register()</code>.</p>
+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()`.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("contentScripts.RegisteredContentScript")}}</dt>
- <dd>
- <p>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.</p>
- </dd>
-</dl>
+- {{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.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("contentScripts.register()")}}</dt>
- <dd>Enregistre les scripts de contenu donnés.</dd>
-</dl>
+- {{WebExtAPIRef("contentScripts.register()")}}
+ - : Enregistre les scripts de contenu donnés.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.contentScripts", 10, 1)}}</p>
+{{Compat("webextensions.api.contentScripts", 10, 1)}}
-<p> {{WebExtExamples("h2")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Utilisez cette fonction pour enregistrer un ou plusieurs scripts de contenu.</p>
+Utilisez cette fonction pour enregistrer un ou plusieurs scripts de contenu.
-<p>Il accepte un paramètre, qui est un objet avec des propriétés similaires aux objets donnés dans la clé du manifest <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code> (mais notez que <code>content_scripts</code> est un tableau d'objets, tandis que l'argument de <code>register()</code> est un simple objet).</p>
+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).
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var registering = browser.contentScripts.register(
+```js
+var registering = browser.contentScripts.register(
contentScriptOptions // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>contentScriptOptions</code></dt>
- <dd>
- <p><code>object</code>. Un objet <code>RegisteredContentScriptOptions</code> représentant les scripts de contenu à enregistrer. Sa syntaxe est similaire à celle des objets du tableau de clés de manifest <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.  Les différences sont :</p>
+- `contentScriptOptions`
- <ul>
- <li>les noms de propriété utilisent camelCase plutôt que des traits de soulignement (par exemple, <code>excludeMatches</code>, pas <code>exclude_matches</code></li>
- <li>les propriétés <code>js</code> et <code>css</code> vous permettent d'enregistrer des chaînes ainsi que des URL, leur syntaxe doit donc distinguer ces types.</li>
- </ul>
+ - : `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 :
- <p>L'objet <code>RegisteredContentScriptOptions</code> a les propriétés suivantes :</p>
+ - 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.
- <dl>
- <dt><code>allFrames</code>{{optional_inline}}</dt>
- <dd>Identique à <code>all_frames</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>css</code>{{optional_inline}}</dt>
- <dd>Un tableau d'objets. Chaque objet possède soit une propriété nommée <code>file</code>, 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>code</code>, qui est un code CSS à enregistrer.</dd>
- <dt><code>excludeGlobs</code>{{optional_inline}}</dt>
- <dd>Identique à <code>exclude_globs</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>excludeMatches</code>{{optional_inline}}</dt>
- <dd>Identique à <code>exclude_matches</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>includeGlobs</code>{{optional_inline}}</dt>
- <dd>Identique à <code>include_globs</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>js</code>{{optional_inline}}</dt>
- <dd>Un tableau d'objets. Chaque objet possède soit une propriété nommée <code>file</code>, 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>code</code>, qui est du code JavaScript à enregistrer.</dd>
- <dt><code>matchAboutBlank</code>{{optional_inline}}</dt>
- <dd>Identique à <code>match_about_blank</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>matches</code></dt>
- <dd>Identique à <code>matches</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>runAt</code>{{optional_inline}}</dt>
- <dd>Identique à <code>run_at</code> dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- </dl>
- </dd>
-</dl>
+ L'objet `RegisteredContentScriptOptions` a les propriétés suivantes :
-<h3 id="Return_value">Return value</h3>
+ - `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).
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}} que vous pouvez utiliser pour annuler l'enregistrement des scripts de contenu.</p>
+### Return value
-<p>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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+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.
-<p>{{Compat("webextensions.api.contentScripts.register", 10)}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.contentScripts.register", 10)}}
-<p>Cet exemple enregistre le script de contenu <code>defaultCode</code>  pour toutes les URL <code>.org</code> :</p>
+## Exemples
-<pre class="brush: js">const defaultHosts = "*://*.org/*";
-const defaultCode = "document.body.innerHTML = '&lt;h1&gt;This page has been eaten&lt;h1&gt;'";
+Cet exemple enregistre le script de contenu `defaultCode`  pour toutes les URL `.org` :
+
+```js
+const defaultHosts = "*://*.org/*";
+const defaultCode = "document.body.innerHTML = '<h1>This page has been eaten<h1>'";
async function register(hosts, code) {
@@ -89,16 +84,18 @@ async function register(hosts, code) {
}
-var registered = register(defaultHosts, defaultCode);</pre>
+var registered = register(defaultHosts, defaultCode);
+```
-<p>Ce code enregistre le fichier JS à l'adresse content_scripts/example.js:</p>
+Ce code enregistre le fichier JS à l'adresse content_scripts/example.js:
-<pre class="brush: js">const scriptObj = await browser.contentScripts.register({
+```js
+const scriptObj = await browser.contentScripts.register({
"js": [{file: "/content_scripts/example.js"}],
- "matches": ["&lt;all_urls&gt;"],
+ "matches": ["<all_urls>"],
"allFrames": true,
"runAt": "document_start"
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un <code>RegisteredContentScript</code> est renvoyé par un appel à  {{WebExtAPIRef("contentScripts.register()")}} et représente les scripts de contenu enregistrés dans cet appel.</p>
+Un `RegisteredContentScript` est renvoyé par un appel à  {{WebExtAPIRef("contentScripts.register()")}} et représente les scripts de contenu enregistrés dans cet appel.
-<p>Il définit une seule fonction {{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister()", "unregister()")}}, qui peut être utilisée pour annuler l'enregistrement des scripts de contenu.</p>
+Il définit une seule fonction {{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister()", "unregister()")}}, qui peut être utilisée pour annuler l'enregistrement des scripts de contenu.
-<div class="blockIndicator note">
-<p><strong>Note:</strong> 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.</p>
-</div>
+> **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.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<dl>
- <dt>{{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister","unregister()")}}</dt>
- <dd>Annule l'inscription des scripts de contenu représentés par cet objet.</dd>
-</dl>
+- {{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister","unregister()")}}
+ - : Annule l'inscription des scripts de contenu représentés par cet objet.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.contentScripts.RegisteredContentScript", 10)}}</p>
+{{Compat("webextensions.api.contentScripts.RegisteredContentScript", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :</p>
+Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :
-<pre class="brush: js">var registered = null;
+```js
+var registered = null;
async function register() {
registered = await browser.contentScripts.register({
matches: ["*://*.org/*"],
js: [{
- code: "document.body.innerHTML = '&lt;h1&gt;This page has been eaten&lt;h1&gt;'"
+ code: "document.body.innerHTML = '<h1>This page has been eaten<h1>'"
}],
runAt: "document_idle"
});
@@ -61,7 +58,6 @@ function toggle() {
}
browser.browserAction.onClicked.addListener(toggle);
+```
-</pre>
-
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}Annule l'inscription des scripts de contenu représentés par cet objet `RegisteredContentScript`.
-<div>Annule l'inscription des scripts de contenu représentés par cet objet <code>RegisteredContentScript</code>.</div>
+## Syntaxe
-<h2 id="Syntaxe">Syntaxe</h2>
+```js
+registered.unregister()
+```
-<pre class="brush: js">registered.unregister()
-</pre>
+### Paramètres
-<h3 id="Paramètres">Paramètres</h3>
+None.
-<p>None.</p>
+### Valeur retournée
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+None.
-<p>None.</p>
+## Compatibilité du navigateur
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{Compat("webextensions.api.contentScripts.RegisteredContentScript.unregister", 10)}}
-<p>{{Compat("webextensions.api.contentScripts.RegisteredContentScript.unregister", 10)}}</p>
+## Exemples
-<h2 id="Exemples">Exemples</h2>
+Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :
-<p>Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :</p>
-
-<pre class="brush: js">var registered = null;
+```js
+var registered = null;
async function register() {
registered = await browser.contentScripts.register({
matches: ["*://*.org/*"],
js: [{
- code: "document.body.innerHTML = '&lt;h1&gt;This page has been eaten&lt;h1&gt;'"
+ code: "document.body.innerHTML = '<h1>This page has been eaten<h1>'"
}],
runAt: "document_idle"
});
@@ -60,6 +60,6 @@ function toggle() {
}
browser.browserAction.onClicked.addListener(toggle);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code><strong>contextualIdentities</strong></code><strong><code>.ContextualIdentity</code></strong> décrit une identité contextuelle unique.</p>
+Le type **`contextualIdentities`\*\***`.ContextualIdentity`\*\* décrit une identité contextuelle unique.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>cookieStoreId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>color</code></dt>
- <dd>
- <p><code>string</code>. La couleur pour l'identité. Cela sera montré dans les onglets appartenant à cette identité. Les valeurs suivantes sont valides :</p>
+- `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`
- <ul>
- <li>"blue"</li>
- <li>"turquoise"</li>
- <li>"green"</li>
- <li>"yellow"</li>
- <li>"orange"</li>
- <li>"red"</li>
- <li>"pink"</li>
- <li>"purple"</li>
- <li>"toolbar"</li>
- </ul>
+ - : `string`. La couleur pour l'identité. Cela sera montré dans les onglets appartenant à cette identité. Les valeurs suivantes sont valides :
- <p>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme#colors">clé thème</a> <code>"toolbar_field_text"</code>).</p>
- </dd>
- <dt><code>colorCode</code></dt>
- <dd><code>string</code>. Un code hexadécimal représentant la couleur exacte utilisée pour l'identité. Par exemple : <code>"#37adff"</code>. Dans le cas particulier de la couleur "toolbar", <code>colorCode</code> est toujours <code>"#7c7c7d"</code>, quelle que soit la couleur affichée.</dd>
- <dt><code>icon</code></dt>
- <dd>
- <p><code>string</code>. 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 :</p>
+ - "blue"
+ - "turquoise"
+ - "green"
+ - "yellow"
+ - "orange"
+ - "red"
+ - "pink"
+ - "purple"
+ - "toolbar"
- <ul>
- <li>"fingerprint"</li>
- <li>"briefcase"</li>
- <li>"dollar"</li>
- <li>"cart"</li>
- <li>"circle"</li>
- <li>"gift"</li>
- <li>"vacation"</li>
- <li>"food"</li>
- <li>"fruit"</li>
- <li>"pet"</li>
- <li>"tree"</li>
- <li>"chill"</li>
- <li>"fence"</li>
- </ul>
- </dd>
- <dt><code>iconUrl</code></dt>
- <dd><code>string</code>. Une URL complète resource:// pointant vers l'icône de l'identité. Par exemple : "resource://usercontext-content/fingerprint.svg".</dd>
- <dt><code>name</code></dt>
- <dd><code>string</code>. 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 .</dd>
-</dl>
+ 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"`).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- `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`
-<p>{{Compat("webextensions.api.contextualIdentities.ContextualIdentity")}}</p>
+ - : `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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var createContext = browser.contextualIdentities.create(
+```js
+var createContext = browser.contextualIdentities.create(
details // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>details</code></dt>
- <dd>
- <p><code>object</code>. Un objet contenant des propriétés pour la nouvelle identité contextuelle. Cela contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>name</code></dt>
- <dd>
- <p><code>string</code>. 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é.</p>
- </dd>
- <dt><code>color</code></dt>
- <dd>
- <p><code><code>string</code></code>. 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 :</p>
-
- <ul>
- <li>"blue"</li>
- <li>"turquoise"</li>
- <li>"green"</li>
- <li>"yellow"</li>
- <li>"orange"</li>
- <li>"red"</li>
- <li>"pink"</li>
- <li>"purple"</li>
- <li>"toolbar"</li>
- </ul>
- </dd>
- <dt><code>icon</code></dt>
- <dd>
- <p><code>string</code>. 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 :</p>
-
- <ul>
- <li>"fingerprint"</li>
- <li>"briefcase"</li>
- <li>"dollar"</li>
- <li>"cart"</li>
- <li>"circle"</li>
- <li>"gift"</li>
- <li>"vacation"</li>
- <li>"food"</li>
- <li>"fruit"</li>
- <li>"pet"</li>
- <li>"tree"</li>
- <li>"chill"</li>
- <li>"fence"</li>
- </ul>
- </dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.contextualIdentities.create")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Cet exemple crée une nouvelle identité contextuelle et enregistre son ID de cookie :</p>
-
-<pre class="brush: js">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);</pre>
+}).then(onCreated, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient des informations sur une identité contextuelle, compte tenu de son ID de cookie.</p>
+Obtient des informations sur une identité contextuelle, compte tenu de son ID de cookie.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getContext = browser.contextualIdentities.get(
+```js
+var getContext = browser.contextualIdentities.get(
cookieStoreId // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>cookieStoreId</code></dt>
- <dd>
- <p><code>string</code>. 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.</p>
- </dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Comptatiblité_du_navigateur">Comptatiblité du navigateur</h2>
+## Comptatiblité du navigateur
-<p>{{Compat("webextensions.api.contextualIdentities.get")}}</p>
+{{Compat("webextensions.api.contextualIdentities.get")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple tente de récupérer l'identité contextuelle dont l'ID est "firefox-container-1":</p>
+Cet exemple tente de récupérer l'identité contextuelle dont l'ID est "firefox-container-1":
-<pre class="brush: js">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);</pre>
+browser.contextualIdentities.get("firefox-container-1").then(onGot, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Travailler avec des identités contextuelles : lister, créer, supprimer et mettre à jour des identités contextuelles.</p>
+Travailler avec des identités contextuelles : lister, créer, supprimer et mettre à jour des identités contextuelles.
-<p>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.</p>
+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.
-<p>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…</p>
+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…
-<p><img alt="" src="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 <code>privacy.userContext.enabled</code> sur <code>true</code>. 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.</p>
+![](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.
-<p>Avant Firefox 57, l’API <code>contextualIdentities</code> n’était disponible que si la fonctionnalité d’identités contextuelles était activée. Si une extension essayait d’utiliser l’API <code>contextualIdentities</code> sans activer la fonctionnalité, les appels de méthode résolvaient leurs promesses avec <code>false</code>.</p>
+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`.
-<p>À partir de Firefox 57, si une extension utilisant l’API  <code>contextualIdentities</code> 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 <code>contextualIdentities</code> rejetteront leurs promesses avec un message d’erreur.</p>
+À 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.
-<p>Pour plus d’informations sur les identités contextuelles, consultez <a href="https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers">ce guide</a>.</p>
+Pour plus d’informations sur les identités contextuelles, consultez [ce guide](https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers).
-<p>Les identités contextuelles ne sont actuellement pas supportes dans les autres navigateurs.</p>
+Les identités contextuelles ne sont actuellement pas supportes dans les autres navigateurs.
-<p>Pour utiliser cette API, vous devez inclure la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> « contextualIdentities » dans votre fichier <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a>.</p>
+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).
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("contextualIdentities.ContextualIdentity")}}</dt>
- <dd>Contient des informations sur une identité contextuelle.</dd>
-</dl>
+- {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}}
+ - : Contient des informations sur une identité contextuelle.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("contextualIdentities.create()")}}</dt>
- <dd>Crée une nouvelle identité contextuelle.</dd>
- <dt>{{WebExtAPIRef("contextualIdentities.get()")}}</dt>
- <dd>Récupère une identité contextuelle unique, compte tenu de son ID de cookie.</dd>
- <dt>{{WebExtAPIRef("contextualIdentities.query()")}}</dt>
- <dd>Récupère toutes les identités contextuelles ou toutes les identités contextuelles avec un nom particulier.</dd>
- <dt>{{WebExtAPIRef("contextualIdentities.update()")}}</dt>
- <dd>Met à jour les propriétés d’une identité contextuelle existante.</dd>
- <dt>{{WebExtAPIRef("contextualIdentities.remove()")}}</dt>
- <dd>Supprime une identité contextuelle.</dd>
-</dl>
+- {{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.
-<h2 id="Événements">Événements</h2>
-<dl>
- <dt>{{WebExtAPIRef("contextualIdentities.onCreated")}}</dt>
- <dd>Lancé lorsqu’une identité contextuelle est créée</dd>
- <dt>{{WebExtAPIRef("contextualIdentities.onRemoved")}}</dt>
- <dd>Lancé lorsqu’une identité contextuelle est supprimée</dd>
- <dt>{{WebExtAPIRef("contextualIdentities.onUpdated")}}</dt>
- <dd>Lancé lorsqu’une ou plusieurs propriétés d’une identité contextuelle sont mises à jour</dd>
-</dl>
+## Événements
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- {{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
-<p>{{Compat("webextensions.api.contextualIdentities")}}</p>
+## Compatibilité du navigateur
-<p>{{WebExtExamples("h2")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'une nouvelle identité contextuelle est créée. Les identités contextuelles peuvent être créées par des extensions en utilisant l'API <code>contextualIdentities</code>, ou directement par l'utilisateur, en utilisant l'interface utilisateur du navigateur.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.contextualIdentities.onCreated.addListener(listener)
+```js
+browser.contextualIdentities.onCreated.addListener(listener)
browser.contextualIdentities.onCreated.removeListener(listener)
browser.contextualIdentities.onCreated.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>changeInfo</code></dt>
- <dd><code>object</code>. Un objet contenant une seule propriété, <code>contextualIdentity</code>, qui est un objet {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} représentant l'identité créée.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `changeInfo`
+ - : `object`. Un objet contenant une seule propriété, `contextualIdentity`, qui est un objet {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} représentant l'identité créée.
-<p>{{Compat("webextensions.api.contextualIdentities.onCreated")}}</p>
+## Compatibilité du navigateur
-<h2 id="Examples">Examples</h2>
+{{Compat("webextensions.api.contextualIdentities.onCreated")}}
-<pre class="brush: js">function handleCreated(changeInfo) {
+## Examples
+
+```js
+function handleCreated(changeInfo) {
console.log(`Created: ${changeInfo.contextualIdentity.name}`);
}
-browser.contextualIdentities.onCreated.addListener(handleCreated);</pre>
+browser.contextualIdentities.onCreated.addListener(handleCreated);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -92,5 +87,4 @@ browser.contextualIdentities.onCreated.addListener(handleCreated);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'une nouvelle identité contextuelle est supprimée. Les identités contextuelles peuvent être supprimées par des extensions en utilisant l'API <code>contextualIdentities</code>,  ou directement par l'utilisateur, en utilisant l'interface utilisateur du navigateur.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.contextualIdentities.onRemoved.addListener(listener)
+```js
+browser.contextualIdentities.onRemoved.addListener(listener)
browser.contextualIdentities.onRemoved.removeListener(listener)
browser.contextualIdentities.onRemoved.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>changeInfo</code></dt>
- <dd><code>object</code>. Un objet qui contient une seule propriété, <code>contextualIdentity</code>, qui est un objet {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} représentant l'identité qui a été supprimée.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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.
-<p>{{Compat("webextensions.api.contextualIdentities.onRemoved")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.contextualIdentities.onRemoved")}}
-<pre class="brush: js">function handleRemoved(changeInfo) {
+## Exemples
+
+```js
+function handleRemoved(changeInfo) {
console.log(`Removed: ${changeInfo.contextualIdentity.name}`);
}
-browser.contextualIdentities.onRemoved.addListener(handleRemoved);</pre>
+browser.contextualIdentities.onRemoved.addListener(handleRemoved);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -92,5 +87,4 @@ browser.contextualIdentities.onRemoved.addListener(handleRemoved);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 <code>contextualIdentities</code> , ou directement par l'utilisateur, en utilisant l'interface utilisateur du navigateur.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.contextualIdentities.onUpdated.addListener(listener)
+```js
+browser.contextualIdentities.onUpdated.addListener(listener)
browser.contextualIdentities.onUpdated.removeListener(listener)
browser.contextualIdentities.onUpdated.hasListener(listener)
-</pre>
+```
-<p>Events have three functions:</p>
+Events have three functions:
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si le <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code>s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>changeInfo</code></dt>
- <dd><code>object</code>. Un objet qui contient une seule propriété, <code>contextualIdentity</code>, qui est un objet {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} représentant l'identité dont les propriétés ont été mises à jour.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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.
-<p>{{Compat("webextensions.api.contextualIdentities.onUpdated")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.contextualIdentities.onUpdated")}}
-<pre class="brush: js">function handleUpdated(changeInfo) {
+## Exemples
+
+```js
+function handleUpdated(changeInfo) {
console.log(`Updated: ${changeInfo.contextualIdentity.name}`);
}
-browser.contextualIdentities.onUpdated.addListener(handleUpdated);</pre>
+browser.contextualIdentities.onUpdated.addListener(handleUpdated);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -92,5 +87,4 @@ browser.contextualIdentities.onUpdated.addListener(handleUpdated);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient des informations sur toutes les identités contextuelles ou sur les identités contextuelles correspondant à un argument de filtre donné.</p>
+Obtient des informations sur toutes les identités contextuelles ou sur les identités contextuelles correspondant à un argument de filtre donné.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getContext = browser.contextualIdentities.query(
+```js
+var getContext = browser.contextualIdentities.query(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd>
- <p><code>object</code>. Un objet qui peut être utilisé pour filtrer les identités contextuelles renvoyées. Cela peut contenir l'une des propriétés suivantes :</p>
+- `details`
- <dl>
- <dt><code>name</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Renvoie uniquement les identités contextuelles avec ce nom.</dd>
- </dl>
- </dd>
-</dl>
+ - : `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 :
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - `name` {{optional_inline}}
+ - : `string`. Renvoie uniquement les identités contextuelles avec ce nom.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+### Valeur retournée
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+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.
-<p>{{Compat("webextensions.api.contextualIdentities.query")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.contextualIdentities.query")}}
-<p>Retrieve all contextual identities, and log their names :</p>
+## Exemples
-<pre class="brush: js">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);</pre>
+browser.contextualIdentities.query({}).then(onGot, onError);
+```
-<p>Récupérez toutes les identités contextuelles dont les noms sont "my-thing", et consignez leurs noms :</p>
+Récupérez toutes les identités contextuelles dont les noms sont "my-thing", et consignez leurs noms :
-<pre class="brush: js">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);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime une identité contextuelle, compte tenu de son ID de cookie.</p>
+Supprime une identité contextuelle, compte tenu de son ID de cookie.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removeContext = browser.contextualIdentities.remove(
+```js
+var removeContext = browser.contextualIdentities.remove(
cookieStoreId // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>cookieStoreId</code></dt>
- <dd>
- <p><code>string</code>. 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.</p>
- </dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.contextualIdentities.remove")}}</p>
+{{Compat("webextensions.api.contextualIdentities.remove")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple tente de supprimer l'identité contextuelle dont l'ID est "firefox-container-1" :</p>
+Cet exemple tente de supprimer l'identité contextuelle dont l'ID est "firefox-container-1" :
-<pre class="brush: js">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);</pre>
+ then(onRemoved, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Met à jour les propriétés d'une identité contextuelle, compte tenu de son ID de cookie.</p>
+Met à jour les propriétés d'une identité contextuelle, compte tenu de son ID de cookie.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var createContext = browser.contextualIdentities.update(
+```js
+var createContext = browser.contextualIdentities.update(
cookieStoreId, // string
details // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>cookieStoreId</code></dt>
- <dd>
- <p><code>string</code>. 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.</p>
- </dd>
- <dt><code>details</code></dt>
- <dd>
- <p><code>object</code>. 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 :</p>
-
- <dl>
- <dt><code>name</code> {{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. 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é.</p>
- </dd>
- <dt><code>color</code> {{optional_inline}}</dt>
- <dd>
- <p><code><code>string</code></code>. 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 :</p>
-
- <ul>
- <li>"blue"</li>
- <li>"turquoise"</li>
- <li>"green"</li>
- <li>"yellow"</li>
- <li>"orange"</li>
- <li>"red"</li>
- <li>"pink"</li>
- <li>"purple"</li>
- <li>"toolbar"</li>
- </ul>
- </dd>
- <dt><code>icon</code> {{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. Une nouvelle icône pour l'identité. Vous pouvez fournir l'une des valeurs suivantes ici :</p>
-
- <ul>
- <li>"fingerprint"</li>
- <li>"briefcase"</li>
- <li>"dollar"</li>
- <li>"cart"</li>
- <li>"circle"</li>
- <li>"gift"</li>
- <li>"vacation"</li>
- <li>"food"</li>
- <li>"fruit"</li>
- <li>"pet"</li>
- <li>"tree"</li>
- <li>"chill"</li>
- <li>"fence"</li>
- </ul>
- </dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.contextualIdentities.update")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>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 :</p>
-
-<pre class="brush: js">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);</pre>
+ }).then(onUpdated, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
-
-<p>Le type <code>Cookie</code> de l'API {{WebExtAPIRef("cookies")}} représente des informations sur un cookie HTTP.</p>
-
-<h2 id="Type">Type</h2>
-
-<p>Les valeurs de ce type sont des objets, qui peuvent contenir les propriétés suivantes :</p>
-
-<dl>
- <dt><code>domain</code></dt>
- <dd>Une <code>chaîne</code> représentant le domaine auquel appartient le cookie (par exemple "www.google.com", "example.com").</dd>
- <dt><code>expirationDate</code>{{optional_inline}}</dt>
- <dd>Un <code>number</code> 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.</dd>
- <dt><code>firstPartyDomain</code></dt>
- <dd>Une <code>chaîne</code> 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 <a href="/fr/Add-ons/WebExtensions/API/cookies#Isolement_de_la_première_partie">Isolement de la première partie</a>.</dd>
- <dt><code>hostOnly</code></dt>
- <dd>Un <code>booléen</code>, <code>true</code> 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  <code>false</code> dans la case contraire.</dd>
- <dt><code>httpOnly</code></dt>
- <dd>Un <code>booléen</code>, <code>true</code> si le cookie est marqué comme  HttpOnly (c'est à dire le cookie est inaccessible aux scripts côté client), ou <code>false</code> dans le cas contraire.</dd>
- <dt><code>name</code></dt>
- <dd>Une <code>chaîne</code> représentant le nom du cookie.</dd>
- <dt><code>path</code></dt>
- <dd>Une <code>chaîne</code> représentant le chemin du cookie.</dd>
- <dt><code>secure</code></dt>
- <dd>Un <code>booléen</code>, 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 <code>false</code> dans le cas contraire.</dd>
- <dt><code>session</code></dt>
- <dd>Un <code>boolean</code>, <code>true</code> si le cookie est un cookie de session, ou <code>false</code> s'il s'agit d'un cookie persistant avec une date expiration.</dd>
- <dt><code>sameSite</code></dt>
- <dd>Une valeur {{WebExtAPIRef("cookies.SameSiteStatus")}} qui indique l'état SameSite du cookie.</dd>
- <dt><code>storeId</code></dt>
- <dd>Une <code>chaine</code> représentant l'ID du cookie store contenant ce cookie, tel que fourni par {{WebExtAPIRef("cookies.getAllCookieStores()")}}.</dd>
- <dt><code>value</code></dt>
- <dd>Une <code>chaîne</code> représentant la valeur du cookie.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.cookies.Cookie")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>La plupart des méthodes de l'API cookies impliquent qu'un objet <code>Cookie</code>    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 <code>Cookie</code>.</p>
-
-<p>Dans l'exemple ci-dessous, nous avons demandé tous les cookies, puis enregistré quelque-unes des valeurs de chacun des objets <code>Cookie</code> :</p>
-
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+gettingAll.then(logCookies);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/cookies"><code>chrome.cookies</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json"><code>cookies.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -107,5 +105,4 @@ gettingAll.then(logCookies);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>CookieStore</code> de l'API {{WebExtAPIRef("cookies")}} représente un cookie store dans le navigateur.</p>
+Le type `CookieStore` de l'API {{WebExtAPIRef("cookies")}} représente un cookie store dans le navigateur.
-<p>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.</p>
+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.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets, qui peuvent contenir les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets, qui peuvent contenir les propriétés suivantes :
-<dl>
- <dt><code>id</code></dt>
- <dd>Une <code>chaîne</code> représentant l'identification unique pour le cookie store.***</dd>
- <dt><code>incognito</code></dt>
- <dd>Une valeur booléenne qui indique s'il s'agit d'un magasin de cookies incognito.</dd>
- <dt><code>tabIds</code></dt>
- <dd>Un <code>tableau</code> d'<code><code>entiers</code></code>, qui identifie tous les onglets du navigateur qui partagent ce cookie store.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.cookies.CookieStore")}}</p>
+{{Compat("webextensions.api.cookies.CookieStore")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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.</p>
+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.
-<pre class="brush: js">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);</pre>
+getting.then(logStores);
+```
-<p>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.</p>
+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.
-<pre class="brush: js">browser.cookies.getAllCookieStores().then((stores) =&gt; {
- var incognitoStores = stores.map(store =&gt; 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.`);
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/cookies"><code>chrome.cookies</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json"><code>cookies.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -93,5 +93,4 @@ getting.then(logStores);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode <strong><code>get()</code></strong> de l'API {{WebExtAPIRef("cookies")}} récupère les informations d'un seul cookie, par son nom et son URL.</p>
+La méthode **`get()`** de l'API {{WebExtAPIRef("cookies")}} récupère les informations d'un seul cookie, par son nom et son URL.
-<p>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 <code>null</code> est retourné.</p>
+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é.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getting = browser.cookies.get(
+```js
+var getting = browser.cookies.get(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p>Un <code>objet</code> contenant les informations pouvant être utilisées pour récupérer un cookie. Il peut inclure les propriétés suivantes :</p>
- <dl>
- <dt><code>firstPartyDomain</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> 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 <a href="/fr/Add-ons/WebExtensions/API/cookies#Isolement_de_la_première_partie">Isolement de la première partie</a>.</dd>
- <dt><code>name</code></dt>
- <dd>Une <code>chaîne</code> représentant le nom du cookie à récupérer.</dd>
- <dt><code>storeId</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> 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é.</dd>
- <dt><code>url</code></dt>
- <dd>Une <code>chaîne</code> 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  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions"> permissions d'hôte</a> pour cette URL ne sont pas spécifiées dans le <a href="/fr/Add-ons/WebExtensions/manifest.json">fichier manifeste</a> de l'extension, l'appel de l'API échouera.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : Un `objet` contenant les informations pouvant être utilisées pour récupérer un cookie. Il peut inclure les propriétés suivantes :
-<p>Une <code><a href="fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet {{WebExtAPIRef('cookies.Cookie', 'Cookie')}} contenant des détails sur le cookie, ou <code>null</code> si le cookie n'a pas été trouvé.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.cookies.get")}}</p>
+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é.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Cet exemple tente d'obtenir le cookie nommé "favourite-colour", associé à l'URL de l'onglet actuellement actif :</p>
+{{Compat("webextensions.api.cookies.get")}}
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+getActive.then(getCookie);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/cookies"><code>chrome.cookies</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json"><code>cookies.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -115,5 +113,4 @@ getActive.then(getCookie);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode <strong><code>getAll()</code></strong> de l'API {{WebExtAPIRef("cookies")}} récupère tous les cookies d'un seul cookie store qui correspondent aux informations fournies.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getting = browser.cookies.getAll(
+```js
+var getting = browser.cookies.getAll(
details // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>details</code></dt>
- <dd><p>Un <code>object</code> contenant des détails pouvant être utilisés pour faire correspondre les cookies à extraire. Les propriétés incluses sont les suivantes (voir <a href="/fr/Add-ons/WebExtensions/API/cookies/Cookie#Type">type de cookie</a> pour plus d'informations sur celles-ci ) :</p>
- <dl>
- <dt><code>domain</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> 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).</dd>
- <dt><code>firstPartyDomain</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> 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 <code>null</code> dans cette situation. Si vous faites cela, alors les cookies avec n'importe quelle valeur pour <code>firstPartyDomain</code>, ainsi que les cookies qui n'ont pas de set <code>firstPartyDomain</code> , seront inclus dans les résultats. Voir <a href="/fr/Add-ons/WebExtensions/API/cookies#Isolement_de_la_première_partie">Isolement de la première partie</a>.</dd>
- <dt><code>name</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> représentant un nom que les cookies devraient avoir.</dd>
- <dt><code>path</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> représentant un chemin - le chemin des cookies doit être identique à celui-ci.</dd>
- <dt><code>secure</code>{{optional_inline}}</dt>
- <dd>Un <code>booléen</code> — filtre les cookies par leur propriété <code>sécurisée</code>, vous permettant de filtrer les cookies sécurisés contre les cookies non sécurisés.</dd>
- <dt><code>session</code>{{optional_inline}}</dt>
- <dd>Un <code>booléen</code>— filtre les cookies en fonction de leur propriété de <code>session</code>, ce qui vous permet de filtrer les cookies de session par rapport aux cookies persistants.</dd>
- <dt><code>storeId</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> 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é.</dd>
- <dt><code>url</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> représentant une URL à laquelle les cookies récupérés doivent être associés.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un tableau d'objets   <code>{{WebExtAPIRef('cookies.Cookie')}}</code> correspondant aux propriétés données dans le paramètre <code>details</code>. 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.</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.cookies.getAll")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>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.</p>
-
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+gettingAll.then(logCookies);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/cookies"><code>chrome.cookies</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json"><code>cookies.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -112,5 +110,4 @@ gettingAll.then(logCookies);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode <strong><code>getAllCookieStores()</code></strong> de l'API {{WebExtAPIRef("cookies")}} retourne une liste de tous les cookies stores.</p>
+La méthode **`getAllCookieStores()`** de l'API {{WebExtAPIRef("cookies")}} retourne une liste de tous les cookies stores.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingStores = browser.cookies.getAllCookieStores()
-</pre>
+```js
+var gettingStores = browser.cookies.getAllCookieStores()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun.</p>
+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.
-<h3 id="Valeur_renvoyée">Valeur renvoyée</h3>
+## Compatibibilité du navigateur
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un <code>tableau</code> d'objets {{WebExtAPIRef('cookies.CookieStore')}} représentant tous les cookies stores existants.</p>
+{{Compat("webextensions.api.cookies.getAllCookieStores")}}
-<h2 id="Compatibibilité_du_navigateur">Compatibibilité du navigateur</h2>
+## Exemples
-<p>{{Compat("webextensions.api.cookies.getAllCookieStores")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
-
-<p>Dans l'extrait suivant, la méthode <code>getAllCookieStores()</code> 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.</p>
-
-<pre class="brush: js">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);</pre>
-
-<p>Chaque membre du tableau <code>cookieStores</code> est un objet  {{WebExtAPIRef("cookies.CookieStore")}}.</p>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/cookies"><code>chrome.cookies</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json"><code>cookies.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
-</div>
+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.
+>
+> <div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+> //
+> // Redistribution and use in source and binary forms, with or without
+> // modification, are permitted provided that the following conditions are
+> // met:
+> //
+> // * Redistributions of source code must retain the above copyright
+> // notice, this list of conditions and the following disclaimer.
+> // * Redistributions in binary form must reproduce the above
+> // copyright notice, this list of conditions and the following disclaimer
+> // in the documentation and/or other materials provided with the
+> // distribution.
+> // * Neither the name of Google Inc. nor the names of its
+> // contributors may be used to endorse or promote products derived from
+> // this software without specific prior written permission.
+> //
+> // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+> // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+> // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+> // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+> // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+> // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+> // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+> // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+> // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+> // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+> // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+> </pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Permet aux extensions d'obtenir et de définir des cookies, et d'être averti quand ils changent.</p>
-
-<p>Pour utiliser cette API, vous devez inclure l'<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">API permission</a> "cookies" dans votre fichier  <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a>, ainsi que les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôte</a>  pour les sites dont vous devez accéder aux cookies. Voir les <a href="/fr/Add-ons/WebExtensions/API/cookies#Permissions">permissions cookies</a>.</p>
-
-<h2 id="Permissions">Permissions</h2>
-
-<p>Pour utiliser cette API, un module complémentaire doit spécifier la  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission d'API</a> "cookies" dans son manifest, ainsi que les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions host</a> 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 :</p>
+Permet aux extensions d'obtenir et de définir des cookies, et d'être averti quand ils changent.
-<dl>
- <dt><code>http://*.example.com/</code></dt>
- <dd>
- <p>Un module complémentaire avec cette autorisation d'hôte peut :</p>
+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).
- <ul>
- <li>Lire un cookie non sécurisé pour <code>www.example.com</code>, avec n'importe quel chemin.</li>
- <li>Écrire un cookie ou non sécurisé pour <code>www.example.com</code>, avec n'importe quel chemin.</li>
- </ul>
+## Permissions
- <p>Il ne peut <em>pas</em> :</p>
+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 :
- <ul>
- <li>Lire un cookie  sécurisé pour <code>www.example.com</code>.</li>
- </ul>
- </dd>
- <dt><code>http://www.example.com/</code></dt>
- <dd>
- <p>Un module complémentaire avec cette permission d'hôte peut :</p>
+- `http://*.example.com/`
- <ul>
- <li>Lire un cookie non sécurisé pour <code>www.example.com</code>, avec n'importe quel chemin.</li>
- <li>Lire un cookie non sécurisé pour <code>.example.com</code>, avec n'importe quel chemin.</li>
- <li>Écrire un cookie sécurisé ou non sécurisé pour  <code>www.example.com</code> avec n'importe quel chemin.</li>
- <li>Écrire un cookie sécurisé ou non sécurisé pour  <code>.example.com</code> avec n'importe quel chemin.</li>
- </ul>
+ - : Un module complémentaire avec cette autorisation d'hôte peut :
- <p>Il ne peut <em>pas</em> :</p>
+ - 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.
- <ul>
- <li>Lire ou écrire un cookie pour <code>foo.example.com</code>.</li>
- <li>Lire ou écrire un cookie pour <code>foo.www.example.com</code>.</li>
- </ul>
- </dd>
- <dt><code>*://*.example.com/</code></dt>
- <dd>
- <p>Un module complémentaire avec çà permission d'hôtes n add-on with this host permission may:</p>
+ Il ne peut _pas_ :
- <ul>
- <li>Read or write a secure or non-secure cookie for <code>www.example.com</code> with any path.</li>
- </ul>
- </dd>
-</dl>
+ - Lire un cookie  sécurisé pour `www.example.com`.
-<h2 id="Isolement_de_la_première_partie">Isolement de la première partie</h2>
+- `http://www.example.com/`
-<p>Les cookies tiers sont des cookies qui sont définis par un site Web autre que celui sur lequel vous êtes actuellement. Par exemple :</p>
+ - : Un module complémentaire avec cette permission d'hôte peut :
-<ol>
- <li>Vous visitez <a href="http://bbc.com">bbc.com</a>. Il contient une annonce de <a href="http://tracker.com">tracker.com</a> qui définit un cookie associé au domaine "<a href="http://tracker.com">tracker.com</a>".</li>
- <li>Vous visitez <a href="http://cnn.com">cnn.com</a>. Il contient également une annonce de  <a href="http://tracker.com">tracker.com</a> qui définit un cookie associé au domaine "<a href="http://tracker.com">tracker.com</a>".</li>
- <li>Finalement, les deux cookies peuvent être envoyés à <a href="http://tracker.com">tracker.com</a>. qui peut alors comprendre que le même utilisateur a visité les deux sites.</li>
-</ol>
+ - 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.
-<p>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 <a href="http://bbc.com">bbc.com</a> avec son cookie de <a href="http://cnn.com">cnn.com</a>, de sorte que le tracker ne peut pas suivre un seul utilisateur sur les deux sites.</p>
+ Il ne peut _pas_ :
-<p>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 <code><a href="/fr/Add-ons/WebExtensions/API/privacy/websites#Properties">firstPartyIsolate</a></code> de l'API de <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/privacy">privacy</a></code> Notez que l'isolation de première partie est activée par défaut dans le <a href="https://www.torproject.org/">Tor Browser</a>.</p>
+ - Lire ou écrire un cookie pour `foo.example.com`.
+ - Lire ou écrire un cookie pour `foo.www.example.com`.
-<p>Dans l'API <code>cookies</code>, le domaine de première partie est représenté à l'aide de l'attribut <code>firstPartyDomain</code>. 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 "<a href="http://bbc.com">bbc.com</a>" pour un cookie et "<a href="http://cnn.com">cnn.com</a>" 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.<br>
- <br>
- Le {{WebExtAPIRef("cookies.get()")}}, {{WebExtAPIRef("cookies.getAll()")}}, {{WebExtAPIRef("cookies.set()")}} et {{WebExtAPIRef("cookies.remove()")}} Les API acceptent toutes une option <code>firstPartyDomain</code>.</p>
+- `*://*.example.com/`
-<p>Lorsque l'isolation de première partie est activée, vous devez fournir cette option ou les appels de l'API échoueront. Pour <code>get()</code>, <code>set()</code>, et <code>remove()</code>vous devez passer une valeur de chaîne de caractères.</p>
+ - : Un module complémentaire avec çà permission d'hôtes n add-on with this host permission may:
-<p>Pour <code>getAll()</code>,  vous pouvez aussi passer <code>null</code> ici, et ceci obtiendra tous les cookies,<br>
- qu'ils aient ou non une valeur non vide pour <code>firstPartyDomain.</code></p>
+ - Read or write a secure or non-secure cookie for `www.example.com` with any path.
-<p>Lorsque l'isolation de la première partie est désactivée, le paramètre <code>firstPartyDomain</code> 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  <code>null</code> comme <code>firstPartyDomain</code> pour <code>getAll()</code> retournera tous les cookies.</p>
+## Isolement de la première partie
-<h2 id="Types">Types</h2>
+Les cookies tiers sont des cookies qui sont définis par un site Web autre que celui sur lequel vous êtes actuellement. Par exemple :
-<dl>
- <dt>{{WebExtAPIRef("cookies.Cookie")}}</dt>
- <dd>Représente les informations sur un cookie HTTP.</dd>
- <dt>{{WebExtAPIRef("cookies.CookieStore")}}</dt>
- <dd>Représente un cookie store dans le navigateur.</dd>
- <dt>{{WebExtAPIRef("cookies.OnChangedCause")}}</dt>
- <dd>Représente la raison pour laquelle un cookie a été modifié.***</dd>
- <dt>{{WebExtAPIRef("cookies.SameSiteStatus")}}</dt>
- <dd>Représente le même statut du cookie sur le site.</dd>
-</dl>
+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.
-<h2 id="Méthodes">Méthodes</h2>
+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.
-<dl>
- <dt>{{WebExtAPIRef("cookies.get()")}}</dt>
- <dd>Récupère les informations sur un cookie unique.</dd>
- <dt>{{WebExtAPIRef("cookies.getAll()")}}</dt>
- <dd>Récupère tous les cookies correspondant à un ensemble de filtres données.</dd>
- <dt>{{WebExtAPIRef("cookies.set()")}}</dt>
- <dd>Définit un cookie avec les données d'un cookie donné ; peut remplacer les cookies équivalents s'ils existent.</dd>
- <dt>{{WebExtAPIRef("cookies.remove()")}}</dt>
- <dd>Supprime un cookie par son nom.</dd>
- <dt>{{WebExtAPIRef("cookies.getAllCookieStores()")}}</dt>
- <dd>Liste tous les cookies stores existants.</dd>
-</dl>
+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/).
-<h2 id="Gestionnaire_dévénements">Gestionnaire d'événements</h2>
+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.
-<dl>
- <dt>{{WebExtAPIRef("cookies.onChanged")}}</dt>
- <dd>Détails quand un cookie est défini ou supprimé.</dd>
-</dl>
+Le {{WebExtAPIRef("cookies.get()")}}, {{WebExtAPIRef("cookies.getAll()")}}, {{WebExtAPIRef("cookies.set()")}} et {{WebExtAPIRef("cookies.remove()")}} Les API acceptent toutes une option `firstPartyDomain`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.cookies")}}</p>
+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.
-<p>{{WebExtExamples("h2")}}</p>
+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.`
-<div class="note"><p><strong>Note :</strong></p>
+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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/cookies"><code>chrome.cookies</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json"><code>cookies.json</code></a> dans le code Chromium.</p>
-</div>
+## Types
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+- {{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.
+
+## Méthodes
+
+- {{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.
+
+## Gestionnaire d'événements
+
+- {{WebExtAPIRef("cookies.onChanged")}}
+ - : Détails quand un cookie est défini ou supprimé.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.cookies")}}
+
+{{WebExtExamples("h2")}}
+
+> **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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -165,5 +142,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/cookies
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'événement <code>onChanged</code> de l'API {{WebExtAPIRef("cookies")}} est déclenché lorsqu'un cookie est défini ou supprimé.</p>
+L'événement `onChanged` de l'API {{WebExtAPIRef("cookies")}} est déclenché lorsqu'un cookie est défini ou supprimé.
-<p>Notez que la mise à jour des propriétés d'un cookie est implémentée en deux étapes :</p>
+Notez que la mise à jour des propriétés d'un cookie est implémentée en deux étapes :
-<ol>
- <li>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.</li>
- <li>Ensuite, un nouveau cookie est écrit avec les valeurs mises à jour, généralement une seconde notification avec un {{WebExtAPIRef("cookies.OnChangedCause")}} <code>explicite</code>.</li>
-</ol>
+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`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.cookies.onChanged.addListener(listener)
+```js
+browser.cookies.onChanged.addListener(listener)
browser.cookies.onChanged.removeListener(listener)
browser.cookies.onChanged.hasListener(listener)
-</pre>
+```
-<p>Cet API est également disponible en tant que  <code>browser.cookies.onChanged.*</code>.</p>
+Cet API est également disponible en tant que  `browser.cookies.onChanged.*`.
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à l'événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si l'écouteur est enregistré pour cet événement. Retourne <code>true</code> s'il écoute, <code>false</code> sinon.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Une fonction de rappel qui sera appelée lorsque l'événement se produira. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>changeInfo</code></dt>
- <dd><p>Un <code>objet</code> contenant les détails de la modification survenue. Ses propriétés sont les suivantes :</p>
- <dl>
- <dt><code>removed</code></dt>
- <dd>Un <code>booléen</code> défini sur <code>true</code> si un cookie a été supprimé et sinon  false.</dd>
- <dt><code>cookie</code></dt>
- <dd>Un objet {{WebExtAPIRef('cookies.Cookie')}} contenant les informations sur le cookie qui a été défini ou supprimé.</dd>
- <dt><code>cause</code></dt>
- <dd>Une valeur {{WebExtAPIRef('cookies.OnChangedCause')}} représentant la raison sous-jacente de la modification du cookie.</dd>
- </dl>
- </dd>
- </dl>
- </dd>
-</dl>
+ - : Une fonction de rappel qui sera appelée lorsque l'événement se produira. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `changeInfo`
-<p>{{Compat("webextensions.api.cookies.onChanged")}}</p>
+ - : Un `objet` contenant les détails de la modification survenue. Ses propriétés sont les suivantes :
-<h2 id="Exemples">Exemples</h2>
+ - `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.
-<p>Cet exemple écoute les événements <code>onChanged</code> et enregistre les détails de l'argument  <code>changeInfo</code> :</p>
+## Compatibilité du navigateur
-<pre class="brush: js">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);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/cookies"><code>chrome.cookies</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json"><code>cookies.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -121,5 +112,4 @@ browser.cookies.onChanged.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>OnChangedCause</code> de l'API {{WebExtAPIRef("cookies")}} représente la raison pour laquelle un cookie a été modifié.</p>
+Le type `OnChangedCause` de l'API {{WebExtAPIRef("cookies")}} représente la raison pour laquelle un cookie a été modifié.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt><code>evicted</code></dt>
- <dd>Un cookie a été automatiquement supprimé en raison d'un nettoyage de mémoire.</dd>
- <dt><code>expired</code></dt>
- <dd>Un cookie a été automatiquement supprimé en raison de l'expiration.</dd>
- <dt><code>explicit</code></dt>
- <dd>Un cookie a été inséré ou supprimé via un appel explicite à {{WebExtAPIRef("cookies.remove()")}}.</dd>
- <dt><code>expired_overwrite</code></dt>
- <dd>Un cookie a été remplacé par un cookie dont la date d'expiration est déjà expirée.</dd>
- <dt><code>overwrite</code></dt>
- <dd>Un appel à {{WebExtAPIRef("cookies.set()")}} a remplacé ce cookie par un autre.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.cookies.OnChangedCause")}}</p>
+{{Compat("webextensions.api.cookies.OnChangedCause")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Vous pouvez écouter l'événement {{WebExtAPIRef("cookies.onChanged")}} pour être averti lorsque les cookies changent. L'écouteur reçoit un objet  <code>changeInfo</code> qui contient une propriété <code>cause</code>, dont la valeur est une chaîne <code>OnChangeCaused</code> :</p>
+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` :
-<pre class="brush: js">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);
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/cookies"><code>chrome.cookies</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json"><code>cookies.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -86,5 +84,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/OnChangedCause
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode <strong><code>remove()</code></strong> de l'API {{WebExtAPIRef("cookies")}} supprime un cookie, compte tenu de son nom et de son URL.</p>
+La méthode **`remove()`** de l'API {{WebExtAPIRef("cookies")}} supprime un cookie, compte tenu de son nom et de son URL.
-<p>L'appel réussit uniquement si vous incluez la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API</a> "cookies" dans votre fichier <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a>, ainsi que les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôte</a> pour l'URL indiquée dans son manifest.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.cookies.remove(
+```js
+var removing = browser.cookies.remove(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p>Un <code>objet</code> contenant des informations permettant d'identifier le cookie à supprimer. Il contient les propriétés suivantes :</p>
- <dl>
- <dt><code>firstPartyDomain</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> 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 <a href="/fr/Add-ons/WebExtensions/API/cookies#Isolement_de_la_première_partie">Isolement de la première partie</a>.</dd>
- <dt><code>name</code></dt>
- <dd>Une <code>chaîne</code> représenant le nom du cookie à supprimer.</dd>
- <dt><code>storeId</code>{{optional_inline}}</dt>
- <dd>Une<code> chaîne</code> 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.</dd>
- <dt><code>url</code></dt>
- <dd>Une <code>chaîne</code> représentant l'URL associée au cookie. Si l'extension n'a pas de <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôte</a> pour cette URL, l'appel de l'API échouera.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : Un `objet` contenant des informations permettant d'identifier le cookie à supprimer. Il contient les propriétés suivantes :
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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 <code>details</code> n'a pas pu être trouvé, la promesse est remplie avec <code>null</code>.  Si l'appel échoue pour une raison quelconque, la promesse sera rejetée avec un message d'erreur.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.cookies.remove")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>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 :</p>
+{{Compat("webextensions.api.cookies.remove")}}
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+getActive.then(removeCookie);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/cookies"><code>chrome.cookies</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json"><code>cookies.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -114,5 +112,4 @@ getActive.then(removeCookie);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div></div>
+Le type `SameSiteStatus` de l'API {{WebExtAPIRef("cookies")}} représente des informations sur l'état `SameSite` d'un cookie.
-<p>Le type <code>SameSiteStatus</code> de l'API {{WebExtAPIRef("cookies")}} représente des informations sur l'état <code>SameSite</code> d'un cookie.</p>
+## Type
-<h2 id="Type">Type</h2>
+Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont :
-<p>Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont :</p>
+- `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`
-<dl>
- <dt><code>no_restriction</code></dt>
- <dd>Représente un ensemble de cookies sans attribut <code>SameSite</code>.</dd>
- <dt><code>lax</code></dt>
- <dd>Correspond au <code>SameSite=Lax</code></dd>
- <dt><code>strict</code></dt>
- <dd>Correspond à un ensemble de témoins avec <code>SameSite=Strict</code></dd>
-</dl>
-
-<p>Voir les <a href="/fr/docs/Web/HTTP/Cookies">cookies HTTP</a> pour plus d'informations.</p>
+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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode <strong><code>set()</code></strong> 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 <code>Set-Cookie</code> lors d'une requête à une URL donnée.</p>
+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.
-<p>L'appel réussit uniquement si vous incluez la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API</a> "cookies" dans votre fichier <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a>, ainsi que les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôte</a> 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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var setting = browser.cookies.set(
+```js
+var setting = browser.cookies.set(
details // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>details</code></dt>
- <dd>Un <code>objet</code> contenant les détails du cookie que vous souhaitez définir. Il peut avoir les propriétés suivantes :</dd>
- <dt><code>domain</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> représentant le domaine du cookie. S’il est omis, le cookie devient un cookie hôte uniquement.</dd>
- <dt><code>expirationDate</code>{{optional_inline}}</dt>
- <dd>Un <code>nombre</code> 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.</dd>
- <dt><code>firstPartyDomain</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> 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 <a href="/fr/Add-ons/WebExtensions/API/cookies#Isolement_de_la_première_partie">Isolement de la première partie</a>.</dd>
- <dt><code>httpOnly</code>{{optional_inline}}</dt>
- <dd>Un <code>booléen</code> qui spécifie si le cookie doit être marqué comme  HttpOnly (<code>true</code>), ou pas (false). S’il est omis, la valeur par défaut est <code>false</code>.</dd>
- <dt><code>name</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> représentant le nom du cookie. S’il est omis, il est vide par défaut.</dd>
- <dt><code>path</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> 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.</dd>
- <dt><code>sameSite{{optional_inline}}</code></dt>
- <dd>Une valeur {{WebExtAPIRef("cookies.SameSiteStatus")}} qui indique l’état SameSite du cookie. Si omis, la valeur par défaut 0, 'no_restriction'.</dd>
- <dt><code>secure</code>{{optional_inline}}</dt>
- <dd>Un <code>booléen</code> qui spécifie si le cookie doit être marqué comme sécurisé (<code>true</code>), ou pas (false). S’il est omis, la valeur par défaut est <code>false</code>.</dd>
- <dt><code>storeId</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> 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.</dd>
- <dt><code>url</code></dt>
- <dd>Une <code>chaîne</code> 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.</dd>
- <dt><code>value</code>{{optional_inline}}</dt>
- <dd>Une <code>chaîne</code> représentant la valeur du cookie. S’il est omis, c’est vide par défaut.</dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.cookies.set")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Cet exemple définit un cookie pour le document hébergé par l'onglet actuellement actif :</p>
-
-<pre class="brush: js">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"
});
}
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/cookies"><code>chrome.cookies</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json"><code>cookies.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -118,5 +116,4 @@ function setCookie(tabs) {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Pour utiliser cette API, vous devez disposer de la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission API</a> <code>"devtools"</code> spécifiée dans votre fichier <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a>. Cette permission ne peut pas être facultative.</p>
+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.
-<h2 id="Interfaces">Interfaces</h2>
+## Interfaces
-<dl>
- <dt>{{WebExtAPIRef("devtools.inspectedWindow")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("devtools.network")}}</dt>
- <dd>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).</dd>
- <dt>{{WebExtAPIRef("devtools.panels")}}</dt>
- <dd>Créer des panneaux d'interface utilisateur qui seront affichés dans les outils de développement de l'agent utilisateur.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools")}}</p>
+{{Compat("webextensions.api.devtools")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basé sur l'API  <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a> de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -68,5 +64,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/devtools
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Exécute JavaScript dans la fenêtre à laquelle les devtools sont attachés.</p>
+Exécute JavaScript dans la fenêtre à laquelle les devtools sont attachés.
-<p>C'est un peu comme utiliser {{WebExtAPIRef("tabs.executeScript()")}} pour joindre un script de contenu, mais avec deux différences principales:</p>
+C'est un peu comme utiliser {{WebExtAPIRef("tabs.executeScript()")}} pour joindre un script de contenu, mais avec deux différences principales:
-<p>Tout d'abord, le JavaScript peut utiliser un ensemble de <a href="#Helpers">commandes spéciales que les navigateurs fournissent généralement dans leur implémentation de console devtools </a>: par exemple, en utilisant "$0" pour designer l'élément actuellement sélectionné dans l'inspecteur.</p>
+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.
-<p>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 <a href="/fr/Add-ons/WebExtensions/Content_scripts#DOM_access">telle qu'elle existerait si aucun script de page n'était pas chargé</a>. 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().</p>
+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().
-<p>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.</p>
+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.
-<p>Vous ne pouvez pas appeler eval() sur les fenêtres de navigateur privilégiées telles que "about: addons".</p>
+Vous ne pouvez pas appeler eval() sur les fenêtres de navigateur privilégiées telles que "about: addons".
-<p>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.</p>
+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.
-<p>La fonction eval() renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui résout le résultat évalué du script ou une erreur.</p>
+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.
-<h2 id="Aides">Aides</h2>
+## Aides
-<p>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:</p>
+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:
-<dl>
- <dt><code>$0</code></dt>
- <dd>Contient une référence à l'élément actuellement sélectionné dans l'inspecteur Devtools.</dd>
- <dt><code>inspect()</code></dt>
- <dd>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.</dd>
-</dl>
+- `$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.
-<p><a href="#Examples">Voir quelques exemples.</a></p>
+[Voir quelques exemples.](#Examples)
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var evaluating = browser.devtools.inspectedWindow.eval(
+```js
+var evaluating = browser.devtools.inspectedWindow.eval(
expression, // string
options // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>expression</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>options</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>. Options pour la fonction  (Notez que Firefox ne supporte pas encore cette option), comme suit :</p>
- <dl>
- <dt><code>frameURL</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>useContentScriptContext</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>contextSecurityOrigin</code> {{optional_inline}}</dt>
- <dd><code>string</code>. 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 <code>useContentScriptContext</code>.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un tableau contenant deux éléments.</p>
-
-<p>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.</p>
-
-<p>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 :</p>
-
-<ul>
- <li>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 :
- <ul>
- <li>Une propriété boolean isException, définie sur true</li>
- <li>Une valeur de propriété de chaîne, en donnant plus de détails.</li>
- </ul>
- </li>
- <li>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:
- <ul>
- <li>Une propriété booléenne isError, définie sur true</li>
- <li>Un code de propriété de chaîne contenant un code d'erreur.</li>
- </ul>
- </li>
-</ul>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("webextensions.api.devtools.inspectedWindow.eval")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>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.</p>
-
-<pre class="brush: js">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", () =&gt; {
+evalButton.addEventListener("click", () => {
browser.devtools.inspectedWindow.eval(checkjQuery)
.then(handleResult);
-});</pre>
+});
+```
-<h3 id="Exemples_d'aide">Exemples d'aide</h3>
+### Exemples d'aide
-<p>Cela utilise l'aide de <code>$0</code> pour définir la couleur d'arrière-plan de l'élément, actuellement sélectionné dans l'inspecteur :</p>
+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 :
-<pre class="brush: js">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", () =&gt; {
+evalButton.addEventListener("click", () => {
browser.devtools.inspectedWindow.eval(evalString)
.then(handleResult);
});
-</pre>
+```
-<p>Cela utilise l'assistant l'inspection() pour sélectionner le premier élément &lt;h1&gt; dans la page:</p>
+Cela utilise l'assistant l'inspection() pour sélectionner le premier élément \<h1> dans la page:
-<pre class="brush: js">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", () =&gt; {
+inspectButton.addEventListener("click", () => {
browser.devtools.inspectedWindow.eval(inspectString)
.then(handleResult);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools"><code>chrome.devtools</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -213,5 +206,4 @@ inspectButton.addEventListener("click", () =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<div class="note">
-<p><strong>Note :</strong> 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 <a href="https://developer.chrome.com/extensions/devtools">APIs de devtools de Chrome</a>, 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  <a href="/fr/Add-ons/WebExtensions/Using_the_devtools_APIs#Limitations_of_the_devtools_APIs">Limitations des APIs devtools</a>.</p>
-</div>
+> **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).
-<p>L'API <code>devtools.inspectedWindow</code> permet à un extension de devtools d'interagir avec la fenêtre sur laquelle les outils de développement sont attachés.</p>
+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.
-<p>Comme toutes les APIs de <code>devtools</code>, cette API n'est disponible que pour exécuter le code dans le document défini dans la clé <a href="/fr/Add-ons/WebExtensions/manifest.json/devtools_page">devtools_page</a> 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 <a href="/fr/Add-ons/WebExtensions/Extending_the_developer_tools">Extension des outils de développement </a> pour plus d'informations.</p>
+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.
-<h2 id="Propriétés">Propriétés</h2>
+## Propriétés
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/tabId">devtools.inspectedWindow.tabId</a></code></dt>
- <dd>L'ID de la fenêtre sur laquelle sont attachés les outils du développeur.</dd>
-</dl>
+- [`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.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/eval">devtools.inspectedWindow.eval()</a></code></dt>
- <dd>Evaluez certains JavaScript dans la fenêtre de destination.</dd>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/reload">devtools.inspectedWindow.reload()</a></code></dt>
- <dd>Rechargez le document de la fenêtre destination.</dd>
-</dl>
+- [`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.
-<h2 id="Comptatibilité_navigateur">Comptatibilité navigateur</h2>
+## Comptatibilité navigateur
-<p>{{Compat("webextensions.api.devtools.inspectedWindow")}}</p>
+{{Compat("webextensions.api.devtools.inspectedWindow")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{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.
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_inspectedWindow"><code>chrome.devtools.inspectedWindow</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<p>// Copyright 2015 The Chromium Authors. All rights reserved.<br>
- //<br>
- // Redistribution and use in source and binary forms, with or without<br>
- // modification, are permitted provided that the following conditions are<br>
- // met:<br>
- //<br>
- //    * Redistributions of source code must retain the above copyright<br>
- // notice, this list of conditions and the following disclaimer.<br>
- //    * Redistributions in binary form must reproduce the above<br>
- // copyright notice, this list of conditions and the following disclaimer<br>
- // in the documentation and/or other materials provided with the<br>
- // distribution.<br>
- //    * Neither the name of Google Inc. nor the names of its<br>
- // contributors may be used to endorse or promote products derived from<br>
- // this software without specific prior written permission.<br>
- //<br>
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS<br>
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT<br>
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR<br>
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT<br>
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,<br>
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT<br>
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,<br>
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY<br>
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT<br>
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE<br>
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>
-</div>
+<div class="hidden"><p>// Copyright 2015 The Chromium Authors. All rights reserved.<br>//<br>// Redistribution and use in source and binary forms, with or without<br>// modification, are permitted provided that the following conditions are<br>// met:<br>//<br>//    * Redistributions of source code must retain the above copyright<br>// notice, this list of conditions and the following disclaimer.<br>//    * Redistributions in binary form must reproduce the above<br>// copyright notice, this list of conditions and the following disclaimer<br>// in the documentation and/or other materials provided with the<br>// distribution.<br>//    * Neither the name of Google Inc. nor the names of its<br>// contributors may be used to endorse or promote products derived from<br>// this software without specific prior written permission.<br>//<br>// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS<br>// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT<br>// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR<br>// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT<br>// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,<br>// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT<br>// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,<br>// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY<br>// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT<br>// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE<br>// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Recharge la fenêtre à laquelle les devtools sont attachés.</p>
+Recharge la fenêtre à laquelle les devtools sont attachés.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.devtools.inspectedWindow.reload(
+```js
+browser.devtools.inspectedWindow.reload(
reloadOptions // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>reloadOptions</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>. Options pour la fonction, comme suit</p>
- <dl>
- <dt><code>ignoreCache</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. S'il est vrai, cela fait que le rechargement ignore le cache du navigateur (comme si l'utilisateur avait appuyé sur Shift+Ctrl+R).</dd>
- <dt><code>userAgent</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Définissez un agent utilisateur personnalisé pour la page. Ici, la chaîne fournie sera envoyée dans l'en-tête de l'<a href="/fr/docs/Web/HTTP/Headers/User-Agent">Agent utilisateur</a>, et sera renvoyée par les appels à <code><a href="/fr/docs/Web/API/NavigatorID/userAgent">navigator.userAgent</a></code> réalisé par des scripts s'exécutant sur la page.</dd>
- <dt><code>injectedScript</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Injectez l'expression JavaScript donnée dans toutes les images de la page, avant tout autre script.</dd>
- </dl>
- </dd>
-</dl>
+- `reloadOptions`{{optional_inline}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `object`. Options pour la fonction, comme suit
-<p>{{Compat("webextensions.api.devtools.inspectedWindow.reload")}}</p>
+ - `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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Rechargez la fenêtre inspectée, définissez l'agent utilisateur et injectez un script</p>
+{{Compat("webextensions.api.devtools.inspectedWindow.reload")}}
-<pre class="brush: js">const reloadButton = document.querySelector("#reload-button");
+## Exemples
-reloadButton.addEventListener("click", () =&gt; {
+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"
});
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools"><code>chrome.devtools</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -94,5 +91,4 @@ reloadButton.addEventListener("click", () =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'ID de {{WebExtAPIRef("tabs.Tab", "tab")}} est que cette instance des devtools est jointe, représenté comme un nombre.</p>
+L'ID de {{WebExtAPIRef("tabs.Tab", "tab")}} est que cette instance des devtools est jointe, représenté comme un nombre.
-<p>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 :</p>
+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 :
-<pre class="brush: js">// devtools-panel.js
+```js
+// devtools-panel.js
const scriptToAttach = "document.body.innerHTML = 'Hi from the devtools';";
-attachContentScriptButton.addEventListener("click", () =&gt; {
+attachContentScriptButton.addEventListener("click", () => {
browser.runtime.sendMessage({
tabId: browser.devtools.inspectedWindow.tabId,
script: scriptToAttach
});
-});</pre>
+});
+```
-<pre class="brush: js">// 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);</pre>
+browser.runtime.onMessage.addListener(handleMessage);
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.inspectedWindow.tabId")}}</p>
+{{Compat("webextensions.api.devtools.inspectedWindow.tabId")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools"><code>chrome.devtools</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -80,5 +82,4 @@ browser.runtime.onMessage.addListener(handleMessage);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtenez un <a href="http://www.softwareishard.com/blog/har-12-spec/#log">journal HAR</a> pour la page chargée dans l'onglet en cours.</p>
+Obtenez un [journal HAR](http://www.softwareishard.com/blog/har-12-spec/#log) pour la page chargée dans l'onglet en cours.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getting = browser.devtools.network.getHAR()
-</pre>
+```js
+var getting = browser.devtools.network.getHAR()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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 <a href="http://www.softwareishard.com/blog/har-12-spec/#log">spécification HAR</a>.</p>
+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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.network.getHAR")}}</p>
+{{Compat("webextensions.api.devtools.network.getHAR")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Consignez les URL des demandes contenues dans le journal HAR :</p>
+Consignez les URL des demandes contenues dans le journal HAR :
-<pre class="brush: js">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);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.devtools.network`](https://developer.chrome.com/extensions/devtools_network).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_network"><code>chrome.devtools.network</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -83,5 +83,4 @@ logRequestsButton.addEventListener("click", logRequests);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>L'API <code>devtools.network</code> 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).</p>
+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).
-<p>Comme toutes les APIs de devtools, cette API est uniquement disponible pour le code exécuté dans le document défini dans la clé <a href="/fr/Add-ons/WebExtensions/manifest.json/devtools_page">devtools_page</a> du manifest.json, ou dans d'autres documents de devtools créés par l'extension (tel que le document du panneau). Voir <a href="/fr/Add-ons/WebExtensions/Extending_the_developer_tools">Extension des outils de développement</a> pour plus d'informations.</p>
+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.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/devtools.network/getHAR">devtools.network.getHAR()</a></dt>
- <dd>Obtenez le  <a href="http://www.softwareishard.com/blog/har-12-spec/#log" rel="noopener">journal HAR</a> pour la page chargée dans l'onglet en cours..</dd>
-</dl>
+- [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..
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.network/onNavigated">devtools.network.onNavigated</a></code></dt>
- <dd>Attiré lorsque l'utilisateur navigue dans la fenêtre inspectée vers une nouvelle page.</dd>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.network/onRequestFinished">devtools.network.onRequestFinished</a></code></dt>
- <dd>Lancé lorsque la demande réseau est terminée et que ses détails sont disponibles pour l'extension.</dd>
-</dl>
+- [`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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.network")}}</p>
+{{Compat("webextensions.api.devtools.network")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.devtools.network`](https://developer.chrome.com/extensions/devtools_network).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_network"><code>chrome.devtools.network</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -72,5 +66,4 @@ original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.network
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Mise en place lorsque l'utilisateur navigue dans la fenêtre inspectée vers une nouvelle page</p>
+Mise en place lorsque l'utilisateur navigue dans la fenêtre inspectée vers une nouvelle page
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajouter un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêter d'écouter un événement. L'argument de l'auditeur est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie <strong>vrai</strong> si elle écoute, sinon <strong>faux</strong>.</dd>
-</dl>
+- `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**.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>url</code></dt>
- <dd><code>string</code>. La nouvelle URL pour la fenêtre.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `url`
+ - : `string`. La nouvelle URL pour la fenêtre.
-<p>{{Compat("webextensions.api.devtools.network.onNavigated")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.devtools.network.onNavigated")}}
-<pre class="brush: js">function handleNavigated(url) {
+## Exemples
+
+```js
+function handleNavigated(url) {
console.log(url);
}
-browser.devtools.network.onNavigated.addListener(handleNavigated);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.devtools.network.onNavigated.addListener(handleNavigated);
+```
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/devtools"><code>chrome.devtools</code></a> de Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -98,5 +92,4 @@ browser.devtools.network.onNavigated.addListener(handleNavigated);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'une requête réseau est terminée et que ses détails sont disponibles pour l'extension.</p>
+Lancé lorsqu'une requête réseau est terminée et que ses détails sont disponibles pour l'extension.
-<p>La requête est donnée en tant qu'<a href="http://www.softwareishard.com/blog/har-12-spec/#entries">objet d'entrée HAR</a>, qui est également doté d'une méthode <code>getContent()</code> asynchrone qui récupère le contenu du corps de la réponse.</p>
+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.
-<p>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 <a href="/fr/docs/Outils/Moniteur_réseau">moniteur réseau</a> du navigateur au moins une fois.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
+```
-<p>Les événements ont trois fonctions</p>
+Les événements ont trois fonctions
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de <code>listener</code>  est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code>s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>request</code></dt>
- <dd><code>object</code>. Un objet représentant la requête. Cet objet est un seul objet d'<a href="http://www.softwareishard.com/blog/har-12-spec/#entries">entrée HAR</a>. Il définit également une méthode <code>getContent()</code> asynchrone, qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui se résout avec le corps de la réponse.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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.
-<p>{{Compat("webextensions.api.devtools.network.onRequestFinished")}}</p>
+## Compatibilité du navigateur
-<h2 id="Examples">Examples</h2>
+{{Compat("webextensions.api.devtools.network.onRequestFinished")}}
-<p>Ajoutez un écouteur qui consigne l'adresse IP du serveur et le corps de la réponse pour chaque requête réseau.</p>
+## Examples
-<pre class="brush: js">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 =&gt; {
+ request.getContent().then(content => {
console.log("Content: ", content);
});
}
-browser.devtools.network.onRequestFinished.addListener(handleRequestFinished);</pre>
-
-<p>{{WebExtExamples}}</p>
+browser.devtools.network.onRequestFinished.addListener(handleRequestFinished);
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/devtools"><code>chrome.devtools</code></a> de Chromium.</p>
-</div>
+> **Note :**
+>
+> Cette API est basée sur l'API [`chrome.devtools`](https://developer.chrome.com/extensions/devtools) de Chromium.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -107,5 +101,4 @@ browser.devtools.network.onRequestFinished.addListener(handleRequestFinished);</
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Ajoute un nouveau panneau aux devtools.</p>
+Ajoute un nouveau panneau aux devtools.
-<p>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 <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui résout un objet <code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionPanel">ExtensionPanel</a></code> représentant le nouveau panneau.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var creating = browser.devtools.panels.create(
+```js
+var creating = browser.devtools.panels.create(
title, // string
iconPath, // string
pagePath // string
)
-</pre>
+```
-<h3 id="Parametères">Parametères</h3>
+### Parametères
-<dl>
- <dt><code>title</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>iconPath</code></dt>
- <dd><code>string</code>. 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").</dd>
- <dt><code>pagePath</code></dt>
- <dd>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Extending_the_developer_tools">Extention des outils de développement</a>.</dd>
-</dl>
+- `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).
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet <code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionPanel">ExtensionPanel</a></code> représentant le nouveau panneau.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.create")}}</p>
+{{Compat("webextensions.api.devtools.panels.create")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Créer un nouveau panneau, et ajoute des auditeurs à ces événements onShown et  onHidden :</p>
+Créer un nouveau panneau, et ajoute des auditeurs à ces événements onShown et  onHidden :
-<pre class="brush: js">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) =&gt; {
+).then((newPanel) => {
newPanel.onShown.addListener(handleShown);
newPanel.onHidden.addListener(handleHidden);
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -105,5 +103,4 @@ browser.devtools.panels.create(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet <code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel">ElementsPanel</a></code> qui représente l'inspecteur HTML/CSS du navigateur</p>
+Un objet [`ElementsPanel`](/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel) qui représente l'inspecteur HTML/CSS du navigateur
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.elements", 10)}}</p>
+{{Compat("webextensions.api.devtools.panels.elements", 10)}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Ajoute un nouveau volet à la barre latérale dans l'inspecteur HTML / CSS.</p>
+Ajoute un nouveau volet à la barre latérale dans l'inspecteur HTML / CSS.
-<p>L'inspecteur HTML / CSS, appelé l'<a href="/fr/docs/Outils/Inspecteur">inspecteur de page</a> dans Firefox et le <a href="https://developers.google.com/web/tools/chrome-devtools/inspect-styles/">panneau éléments</a> 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.</p>
+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.
-<p>La fonction <code>createSidebarPane()</code> 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 :</p>
+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 :
-<p><img alt="" src="inspector-sidebar.png"></p>
+![](inspector-sidebar.png)
-<p>Cette fonction prend un argument, qui est une chaîne représentant le titre du volet. Il renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui se résout en un objet <code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane">ExtensionSidebarPane</a></code> représentant le nouveau volet. Vous pouvez utiliser cet objet pour définir le contenu et le comportement du volet.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var creating = browser.devtools.panels.elements.createSidebarPane(
+```js
+var creating = browser.devtools.panels.elements.createSidebarPane(
title // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>title</code></dt>
- <dd><code>string</code>. 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet <code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane">ExtensionSidebarPane</a></code> représentant le nouveau volet.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.ElementsPanel.createSidebarPane", 10)}}</p>
+{{Compat("webextensions.api.devtools.panels.ElementsPanel.createSidebarPane", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Créez un nouveau volet et remplissez-le avec un objet JSON. Vous pouvez exécuter ce code dans un script chargé par la <a href="/fr/Add-ons/WebExtensions/manifest.json/devtools_page">page devtools</a>.</p>
+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).
-<pre class="brush: js">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);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -103,5 +101,4 @@ browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un <code>ElementsPanel</code> 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.</p>
+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.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel/createSidebarPane">devtools.panels.ElementsPanel.createSidebarPane()</a></code></dt>
- <dd>Crée un volet dans la barre latérale de l'inspecteur.</dd>
-</dl>
+- [`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.
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel/onSelectionChanged">devtools.panels.ElementsPanel.onSelectionChanged</a></code></dt>
- <dd>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".</dd>
-</dl>
+- [`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".
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.ElementsPanel", 10)}}</p>
+{{Compat("webextensions.api.devtools.panels.ElementsPanel", 10)}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -70,5 +64,4 @@ original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
+```
-<p>L'événement a trois fonctions :</p>
+L'événement a trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute une écoute à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrête une écoute à l'événement. L'argument de l'auditeur est un auditeur supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie la valeur Vrai si elle l'écoute, sinon Faux.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lors de l'événement. La fonction ne passera pas d'arguments.</p>
- </dd>
-</dl>
+- `callback`
+ - : Fonction qui sera appelée lors de l'événement. La fonction ne passera pas d'arguments.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.ElementsPanel.onSelectionChanged", 10)}}</p>
+{{Compat("webextensions.api.devtools.panels.ElementsPanel.onSelectionChanged", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ecoutez la sélection des événements modifiés, et enregistrez le contenu du texte de l'élément nouvellement sélectionné :</p>
+Ecoutez la sélection des événements modifiés, et enregistrez le contenu du texte de l'élément nouvellement sélectionné :
-<pre class="brush: js">function handleSelectedElement() {
+```js
+function handleSelectedElement() {
browser.devtools.inspectedWindow.eval("$0.textContent")
- .then((result) =&gt; {
+ .then((result) => {
console.log(result[0]);
});
}
-browser.devtools.panels.elements.onSelectionChanged.addListener(handleSelectedElement);</pre>
+browser.devtools.panels.elements.onSelectionChanged.addListener(handleSelectedElement);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools"><code>chrome.devtools</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Une <code>ExtensionPanel</code> représente un panneau ajouté aux devtools. C'est la résolution de la <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> renvoyé par <code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/create">browser.devtools.panels.create()</a></code>.</p>
+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).
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Définissez deux événements, <code>onShown</code> et <code>onHidden</code>.</p>
+Les valeurs de ce type sont des objets. Définissez deux événements, `onShown` et `onHidden`.
-<ul>
- <li><code>onShown</code> 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).</li>
- <li><code>onHidden</code> est émis lorsque le panneau est caché (par exemple, quand l'utilisateur a basculé sur un onglet différent dans la fenêtre devtools).</li>
-</ul>
+- `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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.ExtensionPanel")}}</p>
+{{Compat("webextensions.api.devtools.panels.ExtensionPanel")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code crée un nouveau panneau, puis ajoute des gestionnaires pour ces événements <code>onShown</code> et <code>onHidden</code>.</p>
+Ce code crée un nouveau panneau, puis ajoute des gestionnaires pour ces événements `onShown` et `onHidden`.
-<pre class="brush: js">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) =&gt; {
+).then((newPanel) => {
newPanel.onShown.addListener(handleShown);
newPanel.onHidden.addListener(handleHidden);
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -88,5 +86,4 @@ browser.devtools.panels.create(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>L'objet <code>ExtensionSidebarPane</code> représente un volet qu'une extension a ajouté à la barre latérale dans l'inspecteur HTML/CSS du navigateur.</p>
+L'objet `ExtensionSidebarPane` représente un volet qu'une extension a ajouté à la barre latérale dans l'inspecteur HTML/CSS du navigateur.
-<p><img alt="" src="inspector-sidebar.png"></p>
+![](inspector-sidebar.png)
-<p>Pour créer un <code>ExtensionSidebarPane</code>, appelez la fonction <code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel/createSidebarPane">browser.devtools.panels.elements.createSidebarane()</a></code>.</p>
+Pour créer un `ExtensionSidebarPane`, appelez la fonction [`browser.devtools.panels.elements.createSidebarane()`](/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel/createSidebarPane).
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/setExpression">devtools.panels.ExtensionSidebarPane.setExpression()</a></code></dt>
- <dd>
- <p>É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.</p>
- </dd>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/setObject">devtools.panels.ExtensionSidebarPane.setObject()</a></code></dt>
- <dd>
- <p>Définit un objet JSON qui sera affiché dans le volet de la barre latérale.</p>
- </dd>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/setPage">devtools.panels.ExtensionSidebarPane.setPage()</a></code></dt>
- <dd>
- <p>Charge la page pointée par l'URL fournie.</p>
- </dd>
-</dl>
+- [`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.
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/onShown">devtools.panels.ExtensionSidebarPane.onShown</a></code></dt>
- <dd>Lancé lorsque le volet latéral est affiché.</dd>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/onHidden">devtools.panels.ExtensionSidebarPane.onHidden</a></code></dt>
- <dd>Lancé lorsque le volet de la barre latérale est masqué.</dd>
-</dl>
+- [`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é.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane", 10)}}</p>
+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane", 10)}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -86,5 +74,4 @@ original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSideba
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Appelé lorsque le volet de la barre latérale est masqué, suite à l'abandon de l'utilisateur.</p>
+Appelé lorsque le volet de la barre latérale est masqué, suite à l'abandon de l'utilisateur.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
+```
-<p>Les événements ont trois fonctions:</p>
+Les événements ont trois fonctions:
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrête d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute,  sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction appelée lorsque cet événement se produit. Cette fonction sera passée sans arguments.</p>
- </dd>
-</dl>
+- `callback`
+ - : Fonction appelée lorsque cet événement se produit. Cette fonction sera passée sans arguments.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.onHidden", 10)}}</p>
+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.onHidden", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Créez un volet de barre latérale et journal afficher et masquer les événements.</p>
+Créez un volet de barre latérale et journal afficher et masquer les événements.
-<pre class="brush: js">function onCreated(sidebarPane) {
+```js
+function onCreated(sidebarPane) {
- sidebarPane.onShown.addListener(() =&gt; {
+ sidebarPane.onShown.addListener(() => {
console.log("Shown");
});
- sidebarPane.onHidden.addListener(() =&gt; {
+ sidebarPane.onHidden.addListener(() => {
console.log("Hidden");
});
}
browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque le volet latéral devient visible suite à un changement d'utilisateur.</p>
+Lancé lorsque le volet latéral devient visible suite à un changement d'utilisateur.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée sans arguments.</p>
- </dd>
-</dl>
+- `callback`
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée sans arguments.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.onShown", 10)}}</p>
+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.onShown", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Créez un volet de barre latérale et journal afficher et masquer les événements.</p>
+Créez un volet de barre latérale et journal afficher et masquer les événements.
-<pre class="brush: js">function onCreated(sidebarPane) {
+```js
+function onCreated(sidebarPane) {
- sidebarPane.onShown.addListener(() =&gt; {
+ sidebarPane.onShown.addListener(() => {
console.log("Shown");
});
- sidebarPane.onHidden.addListener(() =&gt; {
+ sidebarPane.onHidden.addListener(() => {
console.log("Hidden");
});
}
browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Le contexte d'exécution de l'expression est le même que celui de <code><a href="/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/eval">inspectedWindow.eval()</a></code>.</p>
+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).
-<p> Les objets JSON et les noeuds DOM sont affichés en tant qu'arborescence extensible, comme dans la <a href="/fr/docs/Outils/JSON_viewer">visionneuse jSON</a> dans Firefox. Vous pouvez éventuellement spécifier une chaîne <code>rootTitle</code> : elle sera affichée comme le titre de la racine de l'arbre.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var evaluating = browser.devtools.panels.setExpression(
+```js
+var evaluating = browser.devtools.panels.setExpression(
expression, // string
rootTitle // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>expression</code></dt>
- <dd><code>string</code>. L'expression à évaluer.</dd>
- <dt><code>rootTitle</code> {{optional_inline}}</dt>
- <dd>string. Le titre de la racine de l'arbre dans lequel les résultats sont affichés.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> sera remplie sans arguments, une fois l'expression évaluée.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera remplie sans arguments, une fois l'expression évaluée.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setExpression", 10)}}</p>
+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setExpression", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code crée un volet de barre latérale qui affiche le <code><a href="/fr/docs/Web/API/Element/tagName">tagName</a></code> de l'élément actuellement sélectionné :</p>
+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é :
-<pre class="brush: js">function onCreated(sidebarPane) {
+```js
+function onCreated(sidebarPane) {
- browser.devtools.panels.elements.onSelectionChanged.addListener(() =&gt; {
- const exp = "$0 &amp;&amp; $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);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -102,5 +100,4 @@ browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Affiche un objet JSON dans le volet de la barre latérale de l'extension.</p>
+Affiche un objet JSON dans le volet de la barre latérale de l'extension.
-<p>L'objet est affiché en tant qu'arborescence extensible, comme dans le <a href="/fr/docs/Outils/JSON_viewer">JSON viewer</a> dans Firefox. Vous pouvez éventuellement spécifier une chaîne <code>rootTitle</code> : elle sera affichée comme le titre de la racine de l'arbre.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var setting = browser.devtools.panels.setObject(
+```js
+var setting = browser.devtools.panels.setObject(
jsonObject, // string, array, or JSON object
rootTitle // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>jsonObject</code></dt>
- <dd><code>String</code> ou <code>Array</code> ou <code>Object</code>. L'objet à afficher. S'il s'agit d'un objet JSON-serialized, donc les propriétés comme les fonctions seront omises.</dd>
- <dt><code>rootTitle</code> {{optional_inline}}</dt>
- <dd><code>String</code>. Le titre de la racine de l'arbre dans lequel l'objet est affiché.</dd>
-</dl>
+- `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é.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera accomplie sans arguments, une fois l'objet défini.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accomplie sans arguments, une fois l'objet défini.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setObject", 10)}}</p>
+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setObject", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Créez un nouveau volet et remplissez-le avec un objet JSON. Vous pouvez exécuter ce code dans un script chargé par la <a href="/fr/Add-ons/WebExtensions/manifest.json/devtools_page">page devtools</a>. de votre extension</p>
+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
-<pre class="brush: js">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);</pre>
+browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -100,5 +99,4 @@ browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);</
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>Définit une page HTML à afficher dans le volet latéral.</p>
+Définit une page HTML à afficher dans le volet latéral.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.devtools.panels.setPage(
+```js
+browser.devtools.panels.setPage(
path // string containing relative path to page
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt>extensionPageURL</dt>
- <dd><code>string</code>. Le chemin relatif d'une page HTML à afficher dans la barre latérale.</dd>
-</dl>
+- extensionPageURL
+ - : `string`. Le chemin relatif d'une page HTML à afficher dans la barre latérale.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera tenue sans arguments, une fois l'URL définie.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera tenue sans arguments, une fois l'URL définie.
-<p>La page sélectionnée ne sera pas chargée tant que l'utilisateur n'aura pas sélectionné la barre latérale devtools.</p>
+La page sélectionnée ne sera pas chargée tant que l'utilisateur n'aura pas sélectionné la barre latérale devtools.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Créez un nouveau volet et remplissez-le d'une page HTML. Vous pouvez exécuter ce code dans un script chargé par la <a href="/fr/Add-ons/WebExtensions/manifest.json/devtools_page">page devtools</a> de votre extension.</p>
+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.
-<pre class="brush: js">function onCreated(sidebarPane) {
+```js
+function onCreated(sidebarPane) {
sidebarPane.setPage('sidebar/sidebar.html');
}
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setPage", 10)}}</p>
+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setPage", 10)}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -82,5 +80,4 @@ original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSideba
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</pre>
-</div>
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<div class="note">
-<p><strong>Note :</strong> Bien que les API soient basées sur les <a href="https://developer.chrome.com/extensions/devtools">APIs de devtools de Chrome</a>, 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  <a href="/fr/Add-ons/WebExtensions/Using_the_devtools_APIs#Limitations_of_the_devtools_APIs">Limitations des APIs devtools</a>.</p>
-</div>
+> **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).
-<p>L'API devtools.panels permet à une extension devtools de définir son interface utilisateur à l'intérieur de la fenêtre devtools.</p>
+L'API devtools.panels permet à une extension devtools de définir son interface utilisateur à l'intérieur de la fenêtre devtools.
-<p>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".</p>
+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".
-<p>Avec l'API devtools.panels, vous pouvez créer de nouveaux panneaux dans la fenêtre des devtools.</p>
+Avec l'API devtools.panels, vous pouvez créer de nouveaux panneaux dans la fenêtre des devtools.
-<p>Comme toutes les API de devtools, cette API est uniquement disponible pour le code exécuté dans le document défini dans la clé <a href="/fr/Add-ons/WebExtensions/manifest.json/devtools_page">devtools_page</a> du manifest.json, ou dans d'autres documents de déploiement créés par une extension (tel que le document du panneau). Voir <a href="/fr/Add-ons/WebExtensions/Extending_the_developer_tools">Extension des outils de développement</a> pour plus for d'informations.</p>
+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.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel">devtools.panels.ElementsPanel</a></code></dt>
- <dd>Représente l'inspecteur HTML/CSS dans le devtools du navigateur</dd>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionPanel">devtools.panels.ExtensionPanel</a></code></dt>
- <dd>Représente un panneau de déploiement créé par l'extension.</dd>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane">devtools.panels.ExtensionSidebarPane</a></code></dt>
- <dd>Représente un volet ajouté par une extension à l'inspecteur HTML/CC dans les devtools du navigateur.</dd>
-</dl>
+- [`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.
-<h2 id="Propriétés">Propriétés</h2>
+## Propriétés
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/elements">devtools.panels.elements</a></code></dt>
- <dd>Une référence à un objet <code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel">ElementsPanel</a></code>.</dd>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/themeName">devtools.panels.themeName</a></code></dt>
- <dd>Le nom du thème actuel des devtools.</dd>
-</dl>
+- [`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.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/create">devtools.panels.create()</a></code></dt>
- <dd>Créé un nouveau panneau de développement</dd>
-</dl>
+- [`devtools.panels.create()`](/fr/Add-ons/WebExtensions/API/devtools.panels/create)
+ - : Créé un nouveau panneau de développement
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels/onThemeChanged">devtools.panels.onThemeChanged</a></code></dt>
- <dd>Mise en place lorsque le thème Devtools change.</dd>
-</dl>
+- [`devtools.panels.onThemeChanged`](/fr/Add-ons/WebExtensions/API/devtools.panels/onThemeChanged)
+ - : Mise en place lorsque le thème Devtools change.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels", 2)}}</p>
+{{Compat("webextensions.api.devtools.panels", 2)}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -100,5 +88,4 @@ original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Remplacement quand le thème de devtools change</p>
+Remplacement quand le thème de devtools change
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un auditeur à cet événement</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie Vrai si elle écoute, sinon Faux.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Function qui sera appelée lors de l'événement. La fonction passera les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>themeName</code></dt>
- <dd><code>string</code>. Nom du nouveau thème : ce sera l'une des valeurs autorisées pour  <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/devtools.panels/themeName">devtools.panels.themeName</a></code>.</dd>
- </dl>
- </dd>
-</dl>
+ - : Function qui sera appelée lors de l'événement. La fonction passera les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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).
-<p>{{Compat("webextensions.api.devtools.panels.onThemeChanged")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.devtools.panels.onThemeChanged")}}
-<pre class="brush: js">browser.devtools.panels.onThemeChanged.addListener((newThemeName) =&gt; {
+## Exemples
+
+```js
+browser.devtools.panels.onThemeChanged.addListener((newThemeName) => {
console.log(`New theme: ${newThemeName}`);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le nom du thème de <strong>devtools</strong> actuellement sélectionné.</p>
+Le nom du thème de **devtools** actuellement sélectionné.
-<p>Il s'agit d'une chaîne dont les valeurs possibles sont :</p>
+Il s'agit d'une chaîne dont les valeurs possibles sont :
-<ul>
- <li>"lumière"</li>
- <li>"foncé"</li>
- <li>"firebug"</li>
-</ul>
+- "lumière"
+- "foncé"
+- "firebug"
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.devtools.panels.themeName")}}</p>
+{{Compat("webextensions.api.devtools.panels.themeName")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/devtools_panels"><code>chrome.devtools.panels</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{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) .
-<div>Active une extension pour résoudre les noms de domaine.</div>
+## Fonctions
-<div></div>
+- {{WebExtAPIRef("dns.resolve()")}}
+ - : Résout le nom d'hôte donné en un enregistrement DNS
-<div>Pour utiliser cette API, une extension doit demander la permission "dns" <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> dans son fichier <code><a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a></code> .</div>
+## Compatibilité du navigateur
-<h2 id="Fonctions">Fonctions</h2>
+{{Compat("webextensions.api.dns")}}
-<dl>
- <dt>{{WebExtAPIRef("dns.resolve()")}}</dt>
- <dd>Résout le nom d'hôte donné en un enregistrement DNS</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.dns")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Résout le nom d'hôte donné en un enregistrement DNS.</p>
+Résout le nom d'hôte donné en un enregistrement DNS.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var resolving = browser.dns.resolve(
+```js
+var resolving = browser.dns.resolve(
hostname, // string
flags // array of string
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>hostname</code></dt>
- <dd><code><code>string</code></code>. Le nom d'hôte à résoudre.</dd>
- <dt><code>flags</code> {{optional_inline}}</dt>
- <dd><p><code>array</code> de <code>string</code>. Drapeaux pour modifier la façon dont le nom d'hôte est résolu. Tous les indicateurs omis sont par défaut à <code>false</code>. Vous pouvez passer zéro ou plusieurs des indicateurs suivants :</p>
- <ul>
- <li><code>"allow_name_collisions"</code>: autorise les résultats de collision de noms qui sont normalement filtrés.</li>
- <li><code>"bypass_cache"</code>: Supprime le cache de recherche DNS interne.</li>
- <li><code>"canonical_name"</code>: Le nom canonique de l'hôte spécifié sera interrogé.</li>
- <li><code>"disable_ipv4"</code>: Seules les adresses IPv6 seront renvoyées.</li>
- <li><code>"disable_ipv6"</code>: Seules les adresses IPv4 seront renvoyées.</li>
- <li><code>"disable_trr"</code>: 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 <a href="https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-02">DNS-over-HTTPS</a> dédié.</li>
- <li><code>"offline"</code>: seuls les littéraux et les entrées mises en cache seront renvoyés.</li>
- <li><code>"priority_low"</code>: La priorité est donnée à la requête. Si "priority_medium" est également donné, la requête est prioritaire.</li>
- <li><code>"priority_medium"</code>: La priorité est donnée à la requête. Si "priority_low" est également donné, la requête est prioritaire</li>
- <li><code>"speculate"</code>: 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.</li>
- </ul>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>A <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promisee">Promise</a></code> qui sera remplie avec un objet <code>DNSRecord</code> object. Cet objet peut contenir les propriétés suivantes :</p>
-
-<dl>
- <dt><code>addresses</code></dt>
- <dd><code>array</code> of <code>string</code>. Les adresses IP associées à cet enregistrement DNS.</dd>
- <dt><code>canonicalName</code></dt>
- <dd><code>string</code>. Le nom canonique de cet enregistrement. Ceci n'est inclus dans la réponse que si le drapeau <code>"canonical_name"</code>a été passé à  <code>resolve()</code>.</dd>
- <dt><code>isTRR</code></dt>
- <dd><code>boolean</code>: <code>true</code> si l'enregistrement a été récupéré à l'aide d'un TRR (Trusted Recursive Resolver).</dd>
-</dl>
-
-<h2 id="Exemples">Exemples</h2>
-
-<pre class="brush: js">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);
-// &gt; e.g. Array [ "73.284.240.12" ]
-</pre>
+// > e.g. Array [ "73.284.240.12" ]
+```
-<p>Contournez le cache et demandez le nom canonique:</p>
+Contournez le cache et demandez le nom canonique:
-<pre class="brush: js">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);
-// &gt; e.g. xyz.us-west-2.elb.amazonaws.com
-// &gt; e.g. Array [ "78.18.187.134", "34.79.135.234" ]</pre>
+// > e.g. xyz.us-west-2.elb.amazonaws.com
+// > e.g. Array [ "78.18.187.134", "34.79.135.234" ]
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.dns.resolve")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <code><strong>acceptDanger</strong></code><strong><code>()</code></strong> de l'API {{WebExtAPIRef("downloads")}} invite l'utilisateur à accepter ou à annuler un téléchargement potentiellement dangereux.</p>
+La fonction **`acceptDanger`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} invite l'utilisateur à accepter ou à annuler un téléchargement potentiellement dangereux.
-<p>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).</p>
+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).
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var prompting = browser.downloads.acceptDanger(
+```js
+var prompting = browser.downloads.acceptDanger(
downloadId // integer
)
-</pre>
+```
-<h3 id="Parameters">Parameters</h3>
+### Parameters
-<dl>
- <dt><code>downloadId</code></dt>
- <dd>Un <code>integer</code> représentant l'<code>id</code> de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} en question.</dd>
-</dl>
+- `downloadId`
+ - : Un `integer` représentant l'`id` de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} en question.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. Lorsque la boîte de dialogue se ferme, la promesse sera remplie sans arguments.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Lorsque la boîte de dialogue se ferme, la promesse sera remplie sans arguments.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.acceptDanger")}}</p>
+{{Compat("webextensions.api.downloads.acceptDanger")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -80,5 +77,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/acceptDanger
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>BooleanDelta</code> de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux booléens.</p>
+Le type `BooleanDelta` de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux booléens.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>current</code>{{optional_inline}}</dt>
- <dd>Un <code>boolean</code> représentant la valeur booléenne actuelle.</dd>
- <dt><code>previous</code>{{optional_inline}}</dt>
- <dd>Un <code>boolean</code> représentant la valeur booléenne précédente.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.BooleanDelta")}}</p>
+{{Compat("webextensions.api.downloads.BooleanDelta")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre> // Copyright 2015 Les auteurs de chrome. Tous les droits sont réservés.
+<div class="hidden"><pre> // Copyright 2015 Les auteurs de chrome. Tous les droits sont réservés.
//
// Redistribution et utilisation sous forme source et binaire, avec ou sans
// modification, sont autorisées à condition que les conditions suivantes soient
@@ -68,5 +64,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/BooleanDelta
// THÉORIE DE LA RESPONSABILITÉ, QU'IL SOIT UN CONTRAT, UNE RESPONSABILITÉ STRICTE OU UN TORT
// (INCLUANT LA NÉGLIGENCE OU AUTREMENT) SURVENANT DE TOUTE MANIÈRE DE L'UTILISER
// DE CE LOGICIEL, MÊME SI AVISÉ DE LA POSSIBILITÉ D'UN TEL DOMMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <code><strong>cancel</strong></code><strong><code>()</code></strong> 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..</p>
+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..
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var canceling = browser.downloads.cancel(
+```js
+var canceling = browser.downloads.cancel(
downloadId // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>downloadId</code></dt>
- <dd><code>integer</code>. L'identifiant du téléchargement à annuler.</dd>
-</dl>
+- `downloadId`
+ - : `integer`. L'identifiant du téléchargement à annuler.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.cancel")}}</p>
+{{Compat("webextensions.api.downloads.cancel")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">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);</pre>
+canceling.then(onCanceled, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -95,5 +94,4 @@ canceling.then(onCanceled, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>Le type <code>DangerType</code> 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..</p>
+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..
-<p>Une propriété de <code>danger</code> {{WebExtAPIRef('downloads.DownloadItem')}} contiendra une chaîne tirée des valeurs définies dans ce type.</p>
+Une propriété de `danger` {{WebExtAPIRef('downloads.DownloadItem')}} contiendra une chaîne tirée des valeurs définies dans ce type.
-<div class="note">
-<p><strong>Note :</strong> Ces constantes de chaîne ne changeront jamais, mais l'ensemble de DangerTypes peut changer.</p>
-</div>
+> **Note :** Ces constantes de chaîne ne changeront jamais, mais l'ensemble de DangerTypes peut changer.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt><code>file</code></dt>
- <dd>Le nom de fichier du téléchargement est suspect.</dd>
- <dt><code>url</code></dt>
- <dd>L'URL du téléchargement est connue pour être malveillante.</dd>
- <dt><code>content</code></dt>
- <dd>Le fichier téléchargé est connu pour être malveillant.</dd>
- <dt><code>uncommon</code></dt>
- <dd>L'URL du téléchargement n'est pas généralement téléchargée.</dd>
- <dt><code>host</code></dt>
- <dd>Le téléchargement provenait d'un hôte connu pour distribuer des binaires malveillants.</dd>
- <dt><code>unwanted</code></dt>
- <dd>Le téléchargement est potentiellement indésirable ou dangereux..</dd>
- <dt><code>safe</code></dt>
- <dd>Le téléchargement ne présente aucun danger connu pour l'ordinateur de l'utilisateur.</dd>
- <dt><code>accepted</code></dt>
- <dd>L'utilisateur a accepté le téléchargement dangereux.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.DangerType")}}</p>
+{{Compat("webextensions.api.downloads.DangerType")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -87,5 +81,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/DangerType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>DoubleDelta</code> de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux doubles.</p>
+Le type `DoubleDelta` de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux doubles.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>current</code>{{optional_inline}}</dt>
- <dd>Un <code>number</code> représentant la double valeur actuelle.</dd>
- <dt><code>previous</code>{{optional_inline}}</dt>
- <dd>Un <code>number</code> représentant la valeur double précédente.</dd>
-</dl>
+- `current`{{optional_inline}}
+ - : Un `number` représentant la double valeur actuelle.
+- `previous`{{optional_inline}}
+ - : Un `number` représentant la valeur double précédente.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.DoubleDelta")}}</p>
+{{Compat("webextensions.api.downloads.DoubleDelta")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +65,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/DoubleDelta
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <strong><code>download()</code></strong> de l'API {{WebExtAPIRef("downloads")}} télécharge le fichier, compte tenu de son URL et d'autres préférences optionnelles.</p>
+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.
-<ul>
- <li>Si l'<code>url</code> 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.</li>
- <li>Si à la fois le  <code>nom de fichier</code> et <code>saveAs</code> sont spécifiés, la boîte de dialogue Enregistrer sous s'affiche, pré-remplie avec le <code>nom du fichier</code> spécifié.</li>
-</ul>
+- 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é.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var downloading = browser.downloads.download(
+```js
+var downloading = browser.downloads.download(
options // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>options</code></dt>
- <dd><p>Un <code>object</code> 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 :</p>
- <dl>
- <dt><code>allowHttpErrors</code>{{optional_inline}}</dt>
- <dd><p>Un tag <code>booléen</code> 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 <code>false</code>. Lorsqu'il est défini à :</p>
- <ul>
- <li><code>false</code>, le téléchargement est annulé lorsqu'il rencontre une erreur HTTP.</li>
- <li><code>true</code>, 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.</li>
- </ul>
- </dd>
- <dt><code>body</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant le corps du message de la requête.</dd>
- <dt><code>conflictAction</code>{{optional_inline}}</dt>
- <dd>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é).</dd>
- <dt><code>filename</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> 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  (<code>../</code>) 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.</dd>
- <dt><code>headers</code>{{optional_inline}}</dt>
- <dd>Si l'URL utilise les protocoles HTTP ou HTTPS, un <code>array</code> d'<code>objects</code> 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 <code>name</code> des clés et soit la <code>value</code>, soit la valeur <code>binaryValue</code>. Les en-têtes interdits par <code>XMLHttpRequest</code> et <code>fetch</code> ne peuvent pas être spécifiés, cependant, Firefox 70 et les versions ultérieures permettent d'utiliser l'en-tête <code>Referer</code>. Tenter d'utiliser un en-tête interdit provoque une erreur.</dd>
- <dt><code>incognito</code>{{optional_inline}}</dt>
- <dd>Un <code>boolean</code>: 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.</dd>
- <dt><code>method</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant la méthode HTTP à utiliser si l'<code>url</code> utilise le protocole HTTP[S]. Cela peut être "GET" ou "POST".</dd>
- <dt><code>saveAs</code>{{optional_inline}}</dt>
- <dd>
- <p>Un <code>boolean</code> 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 (<code>true</code>), ou non (<code>false</code>).</p>
-
- <p>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 <code>browser.download.useDownloadDir</code> dans about:config).</p>
-
- <div class="note">
- <p><strong>Note :</strong> Firefox pour Android provoque une erreur si <code>saveAs</code> est à  <code>true</code>. Le paramètre est ignoré lorsque <code>saveAs</code> est <code>false</code> ou non inclus.</p>
- </div>
- </dd>
- <dt><code>url</code></dt>
- <dd>Un <code>string</code> représentant l'URL à télécharger.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. Si le téléchargement a démarré avec succès, la promesse sera remplie avec l'<code>id</code> de la nouvelle {{WebExtAPIRef("downloads.DownloadItem")}}. Sinon, la promesse sera rejetée avec un message d'erreur venant de  {{WebExtAPIRef("downloads.InterruptReason")}}.</p>
-
-<p>Si vous utilisez <a href="/fr/docs/Web/API/URL/createObjectURL">URL.createObjectURL()</a> pour télécharger des données créées en JavaScript et que vous voulez révoquer l'URL de l'objet (avec <a href="/fr/docs/Web/API/URL/revokeObjectURL">revokeObjectURL</a>) plus tard (comme il est fortement recommandé), vous devez le faire après le téléchargement. Pour ce faire, écoutez l'événement <a href="/fr/Add-ons/WebExtensions/API/downloads/onChanged">downloads.onChanged</a>.</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.downloads.download")}}</p>
-
-<h2 id="Examples">Examples</h2>
-
-<p>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 <code>uniquify</code> <code>conflictAction</code>.</p>
-
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
+downloading.then(onStartedDownload, onFailed);
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-</div>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads).
-<div class="hidden">
-<pre> // Copyright 2015 Les auteurs de chrome. Tous les droits sont réservés.
+<div class="hidden"><pre> // Copyright 2015 Les auteurs de chrome. Tous les droits sont réservés.
//
// Redistribution et utilisation sous forme source et binaire, avec ou sans
// modification, sont autorisées à condition que les conditions suivantes soient
@@ -138,5 +132,4 @@ downloading.then(onStartedDownload, onFailed);</pre>
// THÉORIE DE LA RESPONSABILITÉ, QU'IL SOIT UN CONTRAT, UNE RESPONSABILITÉ STRICTE OU UN TORT
// (INCLUANT LA NÉGLIGENCE OU AUTREMENT) SURVENANT DE TOUTE MANIÈRE DE L'UTILISER
// DE CE LOGICIEL, MÊME SI AVISÉ DE LA POSSIBILITÉ D'UN TEL DOMMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>DownloadItem</code> de l'API {{WebExtAPIRef("downloads")}} représente un fichier téléchargé.</p>
+Le type `DownloadItem` de l'API {{WebExtAPIRef("downloads")}} représente un fichier téléchargé.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>byExtensionId</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> 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.</dd>
- <dt><code>byExtensionName</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> 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.</dd>
- <dt><code>bytesReceived</code></dt>
- <dd>Un <code>number</code> 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.</dd>
- <dt><code>canResume</code></dt>
- <dd>Un <code>boolean</code> indiquant si un téléchargement actuellement interrompu (par exemple en pause) peut être repris à partir du point où il a été interrompu (<code>true</code>), ou non (<code>false</code>).</dd>
- <dt><code>danger</code></dt>
- <dd>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')}}.</dd>
- <dt><code>endTime</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> (au format <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a>) 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é.</dd>
- <dt><code>error</code>{{optional_inline}}</dt>
- <dd>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.</dd>
- <dt><code>estimatedEndTime</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> (au format <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a>) 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  <code>DownloadItem</code> qui est passé dans {{WebExtAPIRef("downloads.onCreated")}}).</dd>
- <dt><code>exists</code></dt>
- <dd>Un <code>boolean</code> indiquant si un fichier téléchargé existe toujours (<code>true</code>) ou non (<code>false</code>). 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.</dd>
- <dt><code>filename</code></dt>
- <dd>Un <code>string</code> représentant le chemin local absolu du fichier.</dd>
- <dt><code>fileSize</code></dt>
- <dd>Un <code>number</code> 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.</dd>
- <dt><code>id</code></dt>
- <dd>Un <code>integer</code> représentant un identifiant unique pour le fichier téléchargé qui est persistant entre les sessions du navigateur.</dd>
- <dt><code>incognito</code></dt>
- <dd>Un <code>boolean</code> qui indique si le téléchargement est enregistré dans l'historique du navigateur (<code>false</code>), ou non (<code>true</code>).</dd>
- <dt><code>mime</code></dt>
- <dd>Un <code>string</code> représentant le type MIME du fichier téléchargé.</dd>
- <dt><code>paused</code></dt>
- <dd>Un <code>boolean</code> 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 <code>true</code>, sinon <code>false</code>.</dd>
- <dt><code>referrer</code></dt>
- <dd>Un <code>string</code> représentant le référent du fichier téléchargé.</dd>
- <dt><code>startTime</code></dt>
- <dd>Un <code>string</code> (au format <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a>) représentant le nombre de millisecondes entre l'époque UNIX et le début du téléchargement.</dd>
- <dt><code>state</code></dt>
- <dd>Un <code>string</code> Indique si le téléchargement progresse, est interrompu ou terminé. Les valeurs possibles sont définies dans le type {{WebExtAPIRef('downloads.State')}}.</dd>
- <dt><code>totalBytes</code></dt>
- <dd>Un <code>number</code> 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..</dd>
- <dt><code>url</code></dt>
- <dd>Un <code>string</code> représentant l'URL absolue à partir de laquelle le fichier a été téléchargé.</dd>
-</dl>
+- `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é.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.DownloadItem")}}</p>
+{{Compat("webextensions.api.downloads.DownloadItem")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -105,5 +101,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/DownloadItem
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>DownloadQuery</code> 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.</p>
+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.
-<p>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.</p>
+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.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>query</code>{{optional_inline}}</dt>
- <dd>Un <code>tableau</code> de<code><code>chaines</code></code>. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le <code>nom de fichier</code> ou l'<code>URL</code> contient toutes les chaînes données. Vous pouvez également inclure des termes commençant par un titet (-) — ces termes <strong>ne doivent pas</strong> figurer dans le <code>nom du fichier</code> ou l'<code>url</code> de l'élément à inclure.</dd>
- <dt><code>startedBefore</code>{{optional_inline}}</dt>
- <dd>Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui a démarré avant l'heure indiquée.</dd>
- <dt><code>startedAfter</code>{{optional_inline}}</dt>
- <dd>Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui a démarré après l'heure indiquée.</dd>
- <dt><code>endedBefore</code>{{optional_inline}}</dt>
- <dd>Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui s'est terminé avant l'heure indiquée.</dd>
- <dt><code>endedAfter</code>{{optional_inline}}</dt>
- <dd>Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui s'est terminé après l'heure indiquée.</dd>
- <dt><code>totalBytesGreater</code>{{optional_inline}}</dt>
- <dd>Un <code>number</code> représentant un nombre d'octets. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le  <code>totalBytes</code> est supérieur au nombre donné.</dd>
- <dt><code>totalBytesLess</code>{{optional_inline}}</dt>
- <dd>Un <code>number</code> représentant un nombre d'octets. Inclure seulement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le <code>totalBytes</code> est inférieur au nombre donné.</dd>
- <dt><code>filenameRegex</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant une expression régulière. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le <code>nom du fichier</code> correspond à l'expression régulière donnée..</dd>
- <dt><code>urlRegex</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant une expression régulière. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont la valeur d'<code>url</code> correspond à l'expression régulière donnée..</dd>
- <dt><code>limit</code>{{optional_inline}}</dt>
- <dd>Un <code>integer</code> représentant un nombre de résultats. Incluez uniquement le nombre spécifié de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}}.</dd>
- <dt><code>orderBy</code>{{optional_inline}}</dt>
- <dd>Un <code>tableau</code>de <code><code>chaînes</code></code> représentant les propriétés  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} les résultats de la recherche doivent être tirés par exemple, en incluant <code>startTime</code> puis <code>totalBytes</code> 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 <code>-startTime</code>.</dd>
- <dt><code>id</code>{{optional_inline}}</dt>
- <dd>Un <code>integer</code> représentant l'ID du {{WebExtAPIRef("downloads.DownloadItem")}} que vous souhaitez interroger.</dd>
- <dt><code>url</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant l'URL absolue à partir de laquelle le téléchargement a été initié, avant toute redirection.</dd>
- <dt><code>filename</code>{{optional_inline}}</dt>
- <dd>Un string représentant le chemin local absolu du fichier téléchargé que vous souhaitez interroger.</dd>
- <dt><code>danger</code>{{optional_inline}}</dt>
- <dd>Une chaîne représentant un {{WebExtAPIRef('downloads.DangerType')}} — inclut uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur de <code>danger</code> .</dd>
- <dt><code>mime</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant un type MIME. Incluez uniquement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur <code>mime</code>.</dd>
- <dt><code>startTime</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant une heure au format <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a>. Incluez seulement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur  <code>startTime</code>.</dd>
- <dt><code>endTime</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant une heure au format <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a>. Inclure uniquement sera limité à {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur <code>endTime</code>.</dd>
- <dt><code>state</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant un téléchargement {{WebExtAPIRef('downloads.State')}} (<code>in_progress</code>, <code>interrupted</code>, or <code>complete</code>). Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur d' <code>état</code>.</dd>
- <dt><code>paused</code>{{optional_inline}}</dt>
- <dd>Un <code>boolean</code> 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 (<code>true</code>), ou non (<code>false</code>). inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur de <code>pause</code>.</dd>
- <dt><code>error</code>{{optional_inline}}</dt>
- <dd>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'  <code>erreur</code> .</dd>
- <dt><code>bytesReceived</code>{{optional_inline}}</dt>
- <dd>Un <code>number</code> 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 <code>bytesReceived</code>.</dd>
- <dt><code>totalBytes</code>{{optional_inline}}</dt>
- <dd>Un <code>number</code> 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  <code>totalBytes</code>.</dd>
- <dt><code>fileSize</code>{{optional_inline}}</dt>
- <dd><code>number</code>. Nombre d'octets dans le fichier entier après la décompression, ou -1 si inconnu. Un <code>nombre</code> représentant le nombre total d'octets dans le fichier après la décompression. Inclure seulement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur <code>fileSize</code>.</dd>
- <dt><code>exists</code>{{optional_inline}}</dt>
- <dd>Un <code>boolean</code> si un fichier téléchargé existe toujours (<code>true</code>) ou non (<code>false</code>). Inclure seulement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur <code>existe</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.DownloadQuery")}}</p>
+{{Compat("webextensions.api.downloads.DownloadQuery")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -116,5 +112,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/DownloadQuery
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>DownloadTime</code> de l'API {{WebExtAPIRef("downloads")}} représente le temps nécessaire au téléchargement.</p>
+Le type `DownloadTime` de l'API {{WebExtAPIRef("downloads")}} représente le temps nécessaire au téléchargement.
-<h2 id="Type">Type</h2>
+## Type
-<p>Un <code>DownloadTime</code> peut être l'un de trois types différents :</p>
+Un `DownloadTime` peut être l'un de trois types différents :
-<ul>
- <li>Un objet JavaScript <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></code>.</li>
- <li>a string:
- <ul>
- <li>Si cela ne contient que des chiffres, il est interprété comme le nombre de millisecondes écoulées depuis l'époque UNI.</li>
- <li>inon, il est interprété comme une chaîne <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a>.</li>
- </ul>
- </li>
- <li>un nombre : ceci est interprété comme le nombre de millisecondes écoulées depuis l'époque UNIX.</li>
-</ul>
+- Un objet JavaScript [`Date`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Date).
+- a string:
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - 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).
-<p>{{Compat("webextensions.api.downloads.DownloadTime")}}</p>
+- un nombre : ceci est interprété comme le nombre de millisecondes écoulées depuis l'époque UNIX.
-<p>{{WebExtExamples}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.downloads.DownloadTime")}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -73,5 +68,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/DownloadTime
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction  <code><strong>drag</strong></code><strong><code>()</code></strong> de l'API {{WebExtAPIRef("downloads")}} initie le glissement du fichier téléchargé vers une autre application.</p>
+La fonction  **`drag`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} initie le glissement du fichier téléchargé vers une autre application.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">chrome.downloads.drag(
+```js
+chrome.downloads.drag(
downloadId // integer
)
-</pre>
+```
-<p>Cette API est également disponible en tant que <code>browser.downloads.drag()</code>.</p>
+Cette API est également disponible en tant que `browser.downloads.drag()`.
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>downloadId</code></dt>
- <dd>Un <code>integer</code> représentant l'<code>id</code> du {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} ein question.</dd>
-</dl>
+- `downloadId`
+ - : Un `integer` représentant l'`id` du {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} ein question.
-<h2 id="Browser_compatibility">Browser compatibility</h2>
+## Browser compatibility
-<p>{{Compat("webextensions.api.downloads.drag")}}</p>
+{{Compat("webextensions.api.downloads.drag")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -74,5 +71,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/drag
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <code><strong>erase</strong></code><strong><code>()</code></strong> 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.</p>
+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.
-<p>Pour supprimer les fichiers du disque, vous devez utiliser {{WebExtAPIRef("downloads.removeFile()")}}.</p>
+Pour supprimer les fichiers du disque, vous devez utiliser {{WebExtAPIRef("downloads.removeFile()")}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<div class="note">
-<p><strong>Note :</strong> 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 <code>erase()</code>. 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.</p>
-</div>
+> **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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var erasing = browser.downloads.erase(
+```js
+var erasing = browser.downloads.erase(
query // DownloadQuery
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>query</code></dt>
- <dd>Un objet {{WebExtAPIRef('downloads.DownloadQuery')}}.</dd>
-</dl>
+- `query`
+ - : Un objet {{WebExtAPIRef('downloads.DownloadQuery')}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.erase")}}</p>
+{{Compat("webextensions.api.downloads.erase")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Effacer le téléchargement le plus récent :</p>
+Effacer le téléchargement le plus récent :
-<pre class="brush: js">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);</pre>
+erasing.then(onErased, onError);
+```
-<p>Tout effacer :</p>
+Tout effacer :
-<pre class="brush: js">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);</pre>
+erasing.then(onErased, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -117,5 +116,4 @@ erasing.then(onErased, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>FilenameConflictAction</code> 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.</p>
+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.
-<p>Ce type définit les valeurs pouvant être utilisées pour la propriété <code>conflictAction</code> du paramètre d'<code>options</code> {{WebExtAPIRef("downloads.download")}}.</p>
+Ce type définit les valeurs pouvant être utilisées pour la propriété `conflictAction` du paramètre d'`options` {{WebExtAPIRef("downloads.download")}}.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt><code>"uniquify"</code></dt>
- <dd>Le navigateur modifiera le nom de fichier pour le rendre unique.</dd>
- <dt><code>"overwrite"</code></dt>
- <dd>Le navigateur écrase l'ancien fichier avec le fichier nouvellement téléchargé.</dd>
- <dt><code>"prompt"</code></dt>
- <dd>Le navigateur invitera l'utilisateur, lui demandant de choisir s'il souhaite l'uniquifier ou l'écraser.</dd>
-</dl>
+- `"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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.FilenameConflictAction")}}</p>
+{{Compat("webextensions.api.downloads.FilenameConflictAction")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -73,5 +69,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/FilenameConflictActi
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <code><strong>getFileIcon</strong></code><strong><code>()</code></strong> de l'API {{WebExtAPIRef("downloads")}} récupère une icône pour le téléchargement spécifié.</p>
+La fonction **`getFileIcon`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} récupère une icône pour le téléchargement spécifié.
-<p>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é.</p>
+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é.
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingIcon = browser.downloads.getFileIcon(
+```js
+var gettingIcon = browser.downloads.getFileIcon(
downloadId, // integer
options // optional object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>downloadId</code></dt>
- <dd>Un <code>integer</code> eprésentant l'ID du téléchargement.</dd>
- <dt><code>options</code>{{optional_inline}}</dt>
- <dd><p>Un <code>object</code> d'options représentant les préférences pour l'icône à extraire. Il peut prendre les propriétés suivantes :</p>
- <dl>
- <dt><code>size</code>{{optional_inline}}</dt>
- <dd>Un <code>integer</code> 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.</dd>
- </dl>
- </dd>
-</dl>
+- `downloadId`
+ - : Un `integer` eprésentant l'ID du téléchargement.
+- `options`{{optional_inline}}
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : Un `object` d'options représentant les préférences pour l'icône à extraire. Il peut prendre les propriétés suivantes :
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.downloads.getFileIcon")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Cet exemple enregistre l'URL de l'icône pour le téléchargement le plus récent :</p>
+{{Compat("webextensions.api.downloads.getFileIcon")}}
-<pre class="brush: js">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 &gt; 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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+searching.then(getIcon, onError);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -117,5 +115,4 @@ searching.then(getIcon, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Pour utiliser cette API, vous devez disposer de l' <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">API permission</a> "downloads" spécifiée dans votre fichier <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a>.</p>
+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).
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("downloads.FilenameConflictAction")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("downloads.InterruptReason")}}</dt>
- <dd>Définit un ensemble de raisons possibles pour lesquelles un téléchargement a été interrompu.</dd>
- <dt>{{WebExtAPIRef("downloads.DangerType")}}</dt>
- <dd>Définit un ensemble d'avertissements communs des dangers possibles associés aux fichiers téléchargeables.</dd>
- <dt>{{WebExtAPIRef("downloads.State")}}</dt>
- <dd>Définit différents états dans lesquels un téléchargement en cours peut être.</dd>
- <dt>{{WebExtAPIRef("downloads.DownloadItem")}}</dt>
- <dd>Représente un fichier téléchargé.</dd>
- <dt>{{WebExtAPIRef("downloads.StringDelta")}}</dt>
- <dd>Représente la différence entre deux chaînes.</dd>
- <dt>{{WebExtAPIRef("downloads.DoubleDelta")}}</dt>
- <dd>Représente la différence entre deux doubles.</dd>
- <dt>{{WebExtAPIRef("downloads.BooleanDelta")}}</dt>
- <dd>Représente la différence entre deux booléens.</dd>
- <dt>{{WebExtAPIRef("downloads.DownloadTime")}}</dt>
- <dd>Représente le temps nécessaire au téléchargement pour terminer.</dd>
- <dt>{{WebExtAPIRef("downloads.DownloadQuery")}}</dt>
- <dd>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.</dd>
-</dl>
+- {{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.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("downloads.download()")}}</dt>
- <dd>Télécharge un fichier, compte tenu de son URL et d'autres préférences optionnelles.</dd>
- <dt>{{WebExtAPIRef("downloads.search()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("downloads.pause()")}}</dt>
- <dd>Suspend un téléchargement.</dd>
- <dt>{{WebExtAPIRef("downloads.resume()")}}</dt>
- <dd>Reprend un téléchargement suspendu.</dd>
- <dt>{{WebExtAPIRef("downloads.cancel()")}}</dt>
- <dd>Annule un téléchargement.</dd>
- <dt>{{WebExtAPIRef("downloads.getFileIcon()")}}</dt>
- <dd>Récupère une icône pour le téléchargement spécifié.</dd>
- <dt>{{WebExtAPIRef("downloads.open()")}}</dt>
- <dd>Ouvre le fichier téléchargé avec son application associée.</dd>
- <dt>{{WebExtAPIRef("downloads.show()")}}</dt>
- <dd>Ouvre l'application du gestionnaire de fichiers de la plateforme pour afficher le fichier téléchargé dans son dossier conteneur.</dd>
- <dt>{{WebExtAPIRef("downloads.showDefaultFolder()")}}</dt>
- <dd>Ouvre l'application du gestionnaire de fichiers de la plateforme pour afficher le dossier de téléchargements par défaut.</dd>
- <dt>{{WebExtAPIRef("downloads.erase()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("downloads.removeFile()")}}</dt>
- <dd>Supprime un fichier téléchargé du disque, mais pas de l'historique de téléchargement du navigateur.</dd>
- <dt>{{WebExtAPIRef("downloads.acceptDanger()")}}</dt>
- <dd>Invite l'utilisateur à accepter ou annuler un téléchargement dangereux.</dd>
- <dt>{{WebExtAPIRef("downloads.drag()")}}</dt>
- <dd>Lance le glissement du fichier téléchargé vers une autre application.</dd>
- <dt>{{WebExtAPIRef("downloads.setShelfEnabled()")}}</dt>
- <dd>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.</dd>
-</dl>
+- {{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.
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt>{{WebExtAPIRef("downloads.onCreated")}}</dt>
- <dd>Se déclenche avec l'objet {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} lorsqu'un téléchargement commence.</dd>
- <dt>{{WebExtAPIRef("downloads.onErased")}}</dt>
- <dd>Se déclenche avec <code>downloadId</code> lorsqu'un téléchargement est effacé de l'historique.</dd>
- <dt>{{WebExtAPIRef("downloads.onChanged")}}</dt>
- <dd>Lorsque l'une des propriétés de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} sauf les changements <code>bytesReceived</code>, cet événement se déclenche avec le <code>downloadId</code> et un objet contenant les propriétés qui ont changé.</dd>
-</dl>
+- {{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é.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads")}}</p>
+{{Compat("webextensions.api.downloads")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -128,5 +120,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>InteruptReason</code> de l'API {{WebExtAPIRef("downloads")}} définit un ensemble de raisons possibles pour lesquelles un téléchargement a été interrompu.</p>
+Le type `InteruptReason` de l'API {{WebExtAPIRef("downloads")}} définit un ensemble de raisons possibles pour lesquelles un téléchargement a été interrompu.
-<p>Une propriété {{WebExtAPIRef('downloads.DownloadItem')}} d'<code>erreur</code> contiendra une chaîne tirée des valeurs définies dans ce type.</p>
+Une propriété {{WebExtAPIRef('downloads.DownloadItem')}} d'`erreur` contiendra une chaîne tirée des valeurs définies dans ce type.
-<h2 id="Type">Type</h2>
+## Type
-<p>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:</p>
+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:
-<p>Erreurs liées au fichier :</p>
+Erreurs liées au fichier :
-<ul>
- <li><code>"FILE_FAILED"</code></li>
- <li><code>"FILE_ACCESS_DENIED"</code></li>
- <li><code>"FILE_NO_SPACE"</code></li>
- <li><code>"FILE_NAME_TOO_LONG"</code></li>
- <li><code>"FILE_TOO_LARGE"</code></li>
- <li><code>"FILE_VIRUS_INFECTED"</code></li>
- <li><code>"FILE_TRANSIENT_ERROR"</code></li>
- <li><code>"FILE_BLOCKED"</code></li>
- <li><code>"FILE_SECURITY_CHECK_FAILED"</code></li>
- <li><code>"FILE_TOO_SHORT"</code></li>
-</ul>
+- `"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"`
-<p>Erreurs liées au réseau :</p>
+Erreurs liées au réseau :
-<ul>
- <li><code>"NETWORK_FAILED"</code></li>
- <li><code>"NETWORK_TIMEOUT"</code></li>
- <li><code>"NETWORK_DISCONNECTED"</code></li>
- <li><code>"NETWORK_SERVER_DOWN"</code></li>
- <li><code>"NETWORK_INVALID_REQUEST"</code></li>
-</ul>
+- `"NETWORK_FAILED"`
+- `"NETWORK_TIMEOUT"`
+- `"NETWORK_DISCONNECTED"`
+- `"NETWORK_SERVER_DOWN"`
+- `"NETWORK_INVALID_REQUEST"`
-<p>Erreurs liées au serveur :</p>
+Erreurs liées au serveur :
-<ul>
- <li><code>"SERVER_FAILED"</code></li>
- <li><code>"SERVER_NO_RANGE"</code></li>
- <li><code>"SERVER_BAD_CONTENT"</code></li>
- <li><code>"SERVER_UNAUTHORIZED"</code></li>
- <li><code>"SERVER_CERT_PROBLEM"</code></li>
- <li><code>"SERVER_FORBIDDEN"</code></li>
-</ul>
+- `"SERVER_FAILED"`
+- `"SERVER_NO_RANGE"`
+- `"SERVER_BAD_CONTENT"`
+- `"SERVER_UNAUTHORIZED"`
+- `"SERVER_CERT_PROBLEM"`
+- `"SERVER_FORBIDDEN"`
-<p>Erreurs liées à l'utilisateur :</p>
+Erreurs liées à l'utilisateur :
-<ul>
- <li><code>"USER_CANCELED"</code></li>
- <li><code>"USER_SHUTDOWN"</code></li>
-</ul>
+- `"USER_CANCELED"`
+- `"USER_SHUTDOWN"`
-<p>Divers :</p>
+Divers :
-<ul>
- <li><code>"CRASH"</code></li>
-</ul>
+- `"CRASH"`
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.InterruptReason")}}</p>
+{{Compat("webextensions.api.downloads.InterruptReason")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -113,5 +101,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/InterruptReason
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'événement <code><strong>onChanged</strong></code><strong><code>()</code></strong> de l'API {{WebExtAPIRef("downloads")}} est déclenché lorsque l'une des propriétés de {{WebExtAPIRef('downloads.DownloadItem')}} change (à l'exception de <code>bytesReceived</code>).</p>
+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`).
-<p>L'écouteur reçoit un fichier <code>downloadDelta</code> en tant que paramètre — un objet contenant le <code>downloadId</code> de l'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question, plus le statut de toutes les propriétés qui ont changé.</p>
+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é.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.downloads.onChanged.addListener(listener)
+```js
+browser.downloads.onChanged.addListener(listener)
browser.downloads.onChanged.removeListener(listener)
browser.downloads.onChanged.hasListener(listener)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si un <code>listener</code> donné est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Parameters">Parameters</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants :</p>
-
- <dl>
- <dt><code>downloadDelta</code></dt>
- <dd>Un <a href="#downloadDelta"><code>objet</code></a> 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.</dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="downloadDelta">downloadDelta</h3>
-
-<p>L'objet <code>downloadDelta</code> a les propriétés suivantes disponibles :</p>
-
-<dl>
- <dt><code>id</code></dt>
- <dd>Un <code>integer</code> représentant l'identifiant de l'<code>id</code>  {{WebExtAPIRef('downloads.DownloadItem')}} qui a changé.</dd>
- <dt><code>url</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant une modification d'une  <code>url</code> {{WebExtAPIRef('downloads.DownloadItem')}}.</dd>
- <dt><code>filename</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un <code>filename</code> {{WebExtAPIRef('downloads.DownloadItem')}}</dd>
- <dt><code>danger</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un <code>danger</code> {{WebExtAPIRef('downloads.DownloadItem')}}.</dd>
- <dt><code>mime</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un <code>mime</code> {{WebExtAPIRef('downloads.DownloadItem')}}</dd>
- <dt><code>startTime</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un <code>startTime</code> {{WebExtAPIRef('downloads.DownloadItem')}}.</dd>
- <dt><code>endTime</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un  <code>endTime</code> {{WebExtAPIRef('downloads.DownloadItem')}}.</dd>
- <dt><code>state</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un <code>état</code> {{WebExtAPIRef('downloads.DownloadItem')}}</dd>
- <dt><code>canResume</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.BooleanDelta')}} décrivant un changement dans un état {{WebExtAPIRef('downloads.DownloadItem')}} <code>canResume</code>.</dd>
- <dt><code>paused</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.BooleanDelta')}} décrivant un changement dans un état en <code>pause</code> {{WebExtAPIRef('downloads.DownloadItem')}}.</dd>
- <dt><code>error</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un état d'<code>erreur</code> {{WebExtAPIRef('downloads.DownloadItem')}}.</dd>
- <dt><code>totalBytes</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.DoubleDelta')}} décrivant un changement dans un <code>totalBytes</code> {{WebExtAPIRef('downloads.DownloadItem')}}.</dd>
- <dt><code>fileSize</code>{{optional_inline}}</dt>
- <dd>Un objet  {{WebExtAPIRef('downloads.DoubleDelta')}} décrivant une modification d'un  <code>fileSize</code> {{WebExtAPIRef('downloads.DownloadItem')}}.</dd>
- <dt><code>exists</code>{{optional_inline}}</dt>
- <dd>Un objet {{WebExtAPIRef('downloads.BooleanDelta')}} décrivant un changement dans un état {{WebExtAPIRef('downloads.DownloadItem')}}.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.downloads.onChanged")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Enregistrez un message lorsque les téléchargements sont terminés :</p>
-
-<pre class="brush: js">function handleChanged(delta) {
- if (delta.state &amp;&amp; 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);</pre>
+browser.downloads.onChanged.addListener(handleChanged);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>This API is based on Chromium's <a href="https://developer.chrome.com/extensions/downloads#event-onChanged"><code>chrome.downloads</code></a> API.</p>
-
-<p>Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -144,5 +136,4 @@ browser.downloads.onChanged.addListener(handleChanged);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'événement <code><strong>onCreated</strong></code><strong><code>()</code></strong> 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.</p>
+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.
-<p>L'écouteur reçoit l'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question en tant que paramètre.</p>
+L'écouteur reçoit l'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question en tant que paramètre.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.downloads.onCreated.addListener(listener)
+```js
+browser.downloads.onCreated.addListener(listener)
browser.downloads.onCreated.removeListener(listener)
browser.downloads.onCreated.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si un <code>listener</code> donné est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>function</code></dt>
- <dd>
- <p>Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants :</p>
+- `function`
- <dl>
- <dt><code>downloadItem</code></dt>
- <dd>L'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question.</dd>
- </dl>
- </dd>
-</dl>
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `downloadItem`
+ - : L'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question.
-<p>{{Compat("webextensions.api.downloads.onCreated")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.downloads.onCreated")}}
-<p>Consignez l'URL des éléments au fur et à mesure qu'ils sont téléchargés :</p>
+## Exemples
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.downloads.onCreated.addListener(handleCreated);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -104,5 +98,4 @@ browser.downloads.onCreated.addListener(handleCreated);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'événement <code><strong>onErased</strong></code><strong><code>()</code></strong> de l'API {{WebExtAPIRef("downloads")}} se déclenche lorsqu'un téléchargement est effacé de l'historique du navigateur.</p>
+L'événement **`onErased`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} se déclenche lorsqu'un téléchargement est effacé de l'historique du navigateur.
-<p>L'écouteur reçoit le paramètre <code>downloadId</code> de l'objet {{WebExtAPIRef('downloads.DownloadItem')}}  en question en tant que paramètre.</p>
+L'écouteur reçoit le paramètre `downloadId` de l'objet {{WebExtAPIRef('downloads.DownloadItem')}}  en question en tant que paramètre.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.downloads.onErased.addListener(listener)
+```js
+browser.downloads.onErased.addListener(listener)
browser.downloads.onErased.removeListener(listener)
browser.downloads.onErased.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer..</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>listener</code> donné est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="syntaxe_addListener">syntaxe addListener</h2>
+## syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>downloadId</code></dt>
- <dd>Un <code>integer</code> représentant l'<code>id</code> du {{WebExtAPIRef('downloads.DownloadItem')}} qui a été effacé.</dd>
- </dl>
- </dd>
-</dl>
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `downloadId`
+ - : Un `integer` représentant l'`id` du {{WebExtAPIRef('downloads.DownloadItem')}} qui a été effacé.
-<p>{{Compat("webextensions.api.downloads.onErased")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.downloads.onErased")}}
-<p>Ajoute un écouteur pour les événements <code>onErased</code> , puis effacez le téléchargement le plus récent :</p>
+## Exemples
-<pre class="brush: js">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"]
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -109,5 +103,4 @@ var erasing = browser.downloads.erase({
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <code><strong>open()</strong></code> 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.</p>
+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.
-<p>Pour utiliser cette fonction dans votre extension, vous devez demander la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission manifest</a> "downloads.open", ainsi que la permission "downloads". En outre, vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une <a href="/fr/Add-ons/WebExtensions/User_actions">action utilisateur</a>.</p>
+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).
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var opening = browser.downloads.open(
+```js
+var opening = browser.downloads.open(
downloadId // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>downloadId</code></dt>
- <dd>Un <code>integer</code> représentant l'<code>id</code> du {{WebExtAPIRef("downloads.DownloadItem")}} que vous voulez ouvrir.</dd>
-</dl>
+- `downloadId`
+ - : Un `integer` représentant l'`id` du {{WebExtAPIRef("downloads.DownloadItem")}} que vous voulez ouvrir.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.open")}}</p>
+{{Compat("webextensions.api.downloads.open")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple ouvre l'élément le plus récemment téléchargé :</p>
+Cet exemple ouvre l'élément le plus récemment téléchargé :
-<pre class="brush: js">function onOpened() {
+```js
+function onOpened() {
console.log(`Opened download item`);
}
@@ -56,7 +56,7 @@ function onError(error) {
}
function openDownload(downloadItems) {
- if (downloadItems.length &gt; 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);</pre>
+searching.then(openDownload, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -106,5 +105,4 @@ searching.then(openDownload, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <code><strong>pause</strong></code><strong><code>()</code></strong> de l'API {{WebExtAPIRef("downloads")}} interrompt un téléchargement.</p>
+La fonction **`pause`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} interrompt un téléchargement.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var pausing = browser.downloads.pause(
+```js
+var pausing = browser.downloads.pause(
downloadId // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>downloadId</code></dt>
- <dd>Un <code>integer</code> représetant l'<code>id</code> du téléchargement à mettre en pause.</dd>
-</dl>
+- `downloadId`
+ - : Un `integer` représetant l'`id` du téléchargement à mettre en pause.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.pause")}}</p>
+{{Compat("webextensions.api.downloads.pause")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">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);</pre>
+pausing.then(onPaused, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 Les auteurs de chrome. Tous les droits sont réservés.
+<div class="hidden"><pre>// Copyright 2015 Les auteurs de chrome. Tous les droits sont réservés.
//
// Redistribution et utilisation sous forme source et binaire, avec ou sans
// modification, sont autorisées à condition que les conditions suivantes soient
@@ -90,5 +89,4 @@ pausing.then(onPaused, onError);</pre>
// THÉORIE DE LA RESPONSABILITÉ, QU'IL SOIT UN CONTRAT, UNE RESPONSABILITÉ STRICTE OU UN TORT
// (INCLUANT LA NÉGLIGENCE OU AUTREMENT) SURVENANT DE TOUTE MANIÈRE DE L'UTILISER
// DE CE LOGICIEL, MÊME SI AVISÉ DE LA POSSIBILITÉ D'UN TEL DOMMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <code><strong>removeFile</strong></code><strong><code>()</code></strong> de l'API {{WebExtAPIRef("downloads")}} supprime un fichier téléchargé du disque.</p>
+La fonction **`removeFile`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} supprime un fichier téléchargé du disque.
-<p>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 <code>exists</code> sera <code>false</code>.</p>
+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`.
-<p>Pour supprimer un fichier de l'historique des téléchargements, vous devez utiliser  {{WebExtAPIRef("downloads.erase()")}}.</p>
+Pour supprimer un fichier de l'historique des téléchargements, vous devez utiliser  {{WebExtAPIRef("downloads.erase()")}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<div class="note">
-<p><strong>Note :</strong> Si vous souhaitez supprimer un fichier téléchargé du disque et l'effacer de l'historique, vous devez appeler <code>removeFile()</code> avant d'appeler {{WebExtAPIRef("downloads.erase()")}}. Si vous l'essayez dans l'autre sens, vous obtiendrez une erreur lors de l'appel de <code>removeFile()</code>, car le navigateur n'aura plus d'enregistrement du téléchargement.</p>
-</div>
+> **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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.downloads.removeFile(
+```js
+var removing = browser.downloads.removeFile(
downloadId // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>downloadId</code></dt>
- <dd>Un <code>integer</code> représentant l'identifiant de  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} que vous souhaitez supprimer du disque.</dd>
-</dl>
+- `downloadId`
+ - : Un `integer` représentant l'identifiant de  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} que vous souhaitez supprimer du disque.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.removeFile")}}</p>
+{{Compat("webextensions.api.downloads.removeFile")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprimer le dernier fichier téléchargé :</p>
+Supprimer le dernier fichier téléchargé :
-<pre class="brush: js">function onRemoved() {
+```js
+function onRemoved() {
console.log(`Removed item`);
}
@@ -62,7 +60,7 @@ function onError(error) {
}
function remove(downloadItems) {
- if (downloadItems.length &gt; 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);</pre>
+searching.then(remove, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -112,5 +109,4 @@ searching.then(remove, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <code><strong>resume</strong></code><strong><code>()</code></strong> 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 <code>resume()</code> échouera si le téléchargement n'est pas actif: par exemple, parce qu'il a fini le téléchargement.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var resuming = browser.downloads.resume(
+```js
+var resuming = browser.downloads.resume(
downloadId // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>downloadId</code></dt>
- <dd>Un <code>integer</code> représentant l'<code>id</code> du téléchargement à reprendre.</dd>
-</dl>
+- `downloadId`
+ - : Un `integer` représentant l'`id` du téléchargement à reprendre.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.resume")}}</p>
+{{Compat("webextensions.api.downloads.resume")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">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);</pre>
+resuming.then(onResumed, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -93,5 +92,4 @@ resuming.then(onResumed, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <strong><code>search()</code></strong> 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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var searching = browser.downloads.search(query);
-</pre>
+```js
+var searching = browser.downloads.search(query);
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>query</code></dt>
- <dd>Un objet {{WebExtAPIRef('downloads.DownloadQuery')}}.</dd>
-</dl>
+- `query`
+ - : Un objet {{WebExtAPIRef('downloads.DownloadQuery')}}.
-<h3 id="Return_value">Return value</h3>
+### Return value
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. La promise est remplie avec un <code>tableau d'objets</code> <code>{{WebExtAPIRef('downloads.DownloadItem')}}</code> qui correspondent aux critères donnés.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.search")}}</p>
+{{Compat("webextensions.api.downloads.search")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>En général, vous restreignez les éléments récupérés à l'aide du paramètre de <code>requête</code>.</p>
+En général, vous restreignez les éléments récupérés à l'aide du paramètre de `requête`.
-<h3 id="Obtenez_les_téléchargements_correspondant_à_query">Obtenez les téléchargements correspondant à "query"</h3>
+### Obtenez les téléchargements correspondant à "query"
-<pre class="brush: js">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);</pre>
+searching.then(logDownloads, onError);
+```
-<h3 id="Obtenez_un_article_spécifique">Obtenez un article spécifique</h3>
+### Obtenez un article spécifique
-<p>Pour obtenir un {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}}, la méthode la plus simple consiste à définir uniquement le champ <code>id</code>, comme indiqué dans l'extrait ci-dessous :</p>
+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 :
-<pre class="brush: js">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);
-</pre>
+```
-<h3 id="Obtenez_tous_les_téléchargements">Obtenez tous les téléchargements</h3>
+### Obtenez tous les téléchargements
-<p>Si vous voulez renvoyer tout {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}}, définissez la <code>query</code> sur un objet vide.</p>
+Si vous voulez renvoyer tout {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}}, définissez la `query` sur un objet vide.
-<pre class="brush: js">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);</pre>
+searching.then(logDownloads, onError);
+```
-<h3 id="Obtenez_le_téléchargement_le_plus_récent">Obtenez le téléchargement le plus récent</h3>
+### Obtenez le téléchargement le plus récent
-<p>Vous pouvez obtenir le téléchargement le plus récent en spécifiant les paramètres de recherche suivants :</p>
+Vous pouvez obtenir le téléchargement le plus récent en spécifiant les paramètres de recherche suivants :
-<pre class="brush: js">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);</pre>
-
-<p>Vous pouvez voir ce code en action par exemple dans notre <a href="https://github.com/mdn/webextensions-examples/blob/master/latest-download/popup/latest_download.js">dernier téléchargement</a>.</p>
-
-<p>{{WebExtExamples}}</p>
+searching.then(logDownloads, onError);
+```
-<div class="note"><p><strong>Note :</strong></p>
+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).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -162,5 +166,4 @@ searching.then(logDownloads, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>La fonction  <code><strong>setShelfEnabled</strong></code><strong><code>()</code></strong> 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.</p>
+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.
-<p>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é.</p>
+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é.
-<div class="note">
-<p><strong>Note :</strong> Pour utiliser cette fonction dans votre extension, vous devez demander la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission manifest</a>, <code>"downloads.shelf"</code>, ainsi que la permission <code>"downloads"</code>.</p>
-</div>
+> **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"`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">chrome.downloads.setShelfEnabled(enabled);
-</pre>
+```js
+chrome.downloads.setShelfEnabled(enabled);
+```
-<p>Cette API est également disponible en tant que  <code>browser.downloads.setShelfEnabled()</code>.</p>
+Cette API est également disponible en tant que  `browser.downloads.setShelfEnabled()`.
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>enabled</code></dt>
- <dd>Un <code>boolean</code> l'état que vous souhaitez définir <code>setShelfEnabled()</code> à — <code>true</code> pour activer et <code>false</code> pour désactiver.</dd>
-</dl>
+- `enabled`
+ - : Un `boolean` l'état que vous souhaitez définir `setShelfEnabled()` à — `true` pour activer et `false` pour désactiver.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.setShelfEnabled")}}</p>
+{{Compat("webextensions.api.downloads.setShelfEnabled")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -78,5 +73,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/setShelfEnabled
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <code><strong>show</strong></code><strong><code>()</code></strong> 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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var showing = browser.downloads.show(
+```js
+var showing = browser.downloads.show(
downloadId // integer
)
-</pre>
+```
-<h3 id="Paramètes">Paramètes</h3>
+### Paramètes
-<dl>
- <dt><code>downloadId</code></dt>
- <dd>Un <code>integer</code> représentant l'ID du {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} à afficher.</dd>
-</dl>
+- `downloadId`
+ - : Un `integer` représentant l'ID du {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} à afficher.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.show")}}</p>
+{{Compat("webextensions.api.downloads.show")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple montre l'élément le plus récemment téléchargé :</p>
+Cet exemple montre l'élément le plus récemment téléchargé :
-<pre class="brush: js">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 &gt; 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);</pre>
+searching.then(openDownload, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -105,5 +104,4 @@ searching.then(openDownload, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La fonction <code><strong>showDefaultFolder</strong></code><strong><code>()</code></strong> de l'API {{WebExtAPIRef("downloads")}} ouvre le dossier de téléchargement par défaut dans le gestionnaire de fichiers de la plateforme.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.downloads.showDefaultFolder();
-</pre>
+```js
+browser.downloads.showDefaultFolder();
+```
-<h3 id="Paramètres">Paramètres</h3>
-<p>Aucun</p>
+### Paramètres
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+Aucun
-<p>{{Compat("webextensions.api.downloads.showDefaultFolder")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.downloads.showDefaultFolder")}}
-<p>L'extrait suivant contient un bouton d'affichage qui, lorsqu'il est cliqué, appelle <code>showDefaultFolder()</code> pour ouvrir le dossier de téléchargement par défaut dans le gestionnaire de fichiers de la plateforme :</p>
+## Exemples
-<pre class="brush: js">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();
-}</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+}
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -77,5 +79,4 @@ showBtn.onclick = function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>Le type d'<code>état</code> de l'API {{WebExtAPIRef("downloads")}} définit différents états dans lesquels un téléchargement en cours peut se trouver.</p>
+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.
-<p>Une propriété d'<code>state</code> {{WebExtAPIRef('downloads.DownloadItem')}}  contiendra une chaîne tirée des valeurs définies dans ce type.</p>
+Une propriété d'`state` {{WebExtAPIRef('downloads.DownloadItem')}}  contiendra une chaîne tirée des valeurs définies dans ce type.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt><code>in_progress</code></dt>
- <dd>Le navigateur reçoit actuellement les données de téléchargement du serveur .</dd>
- <dt><code>interrupted</code></dt>
- <dd>Une erreur a rompu la connexion avec le serveur.</dd>
- <dt><code>complete</code></dt>
- <dd>Le téléchargement s'est terminé avec succès.</dd>
-</dl>
+- `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.
-<div class="note">
-<p><strong>Note :</strong> Ces constantes de chaîne ne changeront jamais, mais de nouvelles constantes peuvent être ajoutées.</p>
-</div>
+> **Note :** Ces constantes de chaîne ne changeront jamais, mais de nouvelles constantes peuvent être ajoutées.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.State")}}</p>
+{{Compat("webextensions.api.downloads.State")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -77,5 +71,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/State
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>StringDelta</code> de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux chaînes.</p>
+Le type `StringDelta` de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux chaînes.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes:</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes:
-<dl>
- <dt><code>current</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant la valeur de chaîne actuelle.</dd>
- <dt><code>previous</code>{{optional_inline}}</dt>
- <dd>Un <code>string</code> représentant la valeur de chaîne précédente.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.downloads.StringDelta")}}</p>
+{{Compat("webextensions.api.downloads.StringDelta")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/downloads"><code>chrome.downloads</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +65,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/StringDelta
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet qui permet l'ajout et la suppression d'écouteurs pour un événement de navigateur.</p>
+Un objet qui permet l'ajout et la suppression d'écouteurs pour un événement de navigateur.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets.</p>
+Les valeurs de ce type sont des objets.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<dl>
- <dt>{{WebExtAPIRef("events.Event.addListener()")}}</dt>
- <dd>Enregistre un rappel d'écouteur d'événement sur un événement.</dd>
- <dt>{{WebExtAPIRef("events.Event.removeListener()")}}</dt>
- <dd>Désinscrit un rappel d'écouteur d'événement d'un événement.</dd>
- <dt>{{WebExtAPIRef("events.Event.hasListener()")}}</dt>
- <dd>Teste l'état d'enregistrement d'un écouteur.</dd>
- <dt>{{WebExtAPIRef("events.Event.hasListeners()")}}</dt>
- <dd>Teste si des écouteurs sont enregistrés pour l'événement.</dd>
- <dt>{{WebExtAPIRef("events.Event.addRules()")}}</dt>
- <dd>Enregistre les règles pour gérer les événements.</dd>
- <dt>{{WebExtAPIRef("events.Event.getRules()")}}</dt>
- <dd>Renvoie les règles actuellement enregistrées.</dd>
- <dt>{{WebExtAPIRef("events.Event.removeRules()")}}</dt>
- <dd>Annule l'inscription des règles actuellement enregistrées.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.events.Event")}}</p>
+{{Compat("webextensions.api.events.Event")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/events"><code>chrome.events</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/events.json"><code>events.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -81,5 +77,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/events/Event
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Types communs utilisés par les API qui distribuent les événements.</p>
+Types communs utilisés par les API qui distribuent les événements.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("events.Rule")}}</dt>
- <dd>Description d'une règle déclarative pour gérer les événements.</dd>
- <dt>{{WebExtAPIRef("events.Event")}}</dt>
- <dd>Un objet qui permet l'ajout et la suppression d'écouteurs pour un événement Chrome.</dd>
- <dt>{{WebExtAPIRef("events.UrlFilter")}}</dt>
- <dd>Filtre les URL pour différents critères. Si un critère donné correspond, alors tout le filtre correspond.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.events")}}</p>
+{{Compat("webextensions.api.events")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/events"><code>chrome.events</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/events.json"><code>events.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -68,5 +64,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/events
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>Description d'une règle déclarative pour la gestion des événements.</p>
+Description d'une règle déclarative pour la gestion des événements.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>id</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Identifiant facultatif permettant de référencer cette règle.</dd>
- <dt><code>tags</code>{{optional_inline}}</dt>
- <dd><code>array</code> of <code><code>string</code></code>. Les balises peuvent être utilisées pour annoter des règles et effectuer des opérations sur des ensembles de règles.</dd>
- <dt><code>conditions</code></dt>
- <dd><code>array</code> de <code><code>any</code></code>. Liste des conditions qui peuvent déclencher les actions.</dd>
- <dt><code>actions</code></dt>
- <dd><code>array</code> de <code><code>any</code></code>. Liste des actions qui sont déclenchées si l'une des conditions est remplie.</dd>
- <dt><code>priority</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Priorité optionnelle de cette règle. Par défaut à 100.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.events.Rule")}}</p>
+{{Compat("webextensions.api.events.Rule")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/events"><code>chrome.events</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/events.json"><code>events.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -75,5 +71,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/events/Rule
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
-
-<p>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 <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a> d'UrlFilters. Par exemple, les écouteurs  <a href="/fr/Add-ons/WebExtensions/API/webNavigation">webNavigation</a> peuvent être ajoutés avec un filtre qui est un objet avec une seule propriété url qui est un <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a> de UrlFilters, par exemple <code>{url:[UrlFilter,UrlFilter,...]}</code>. 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ù.</p>
-
-<p>Tous les critères sont sensibles à la casse.</p>
-
-<h2 id="Type">Type</h2>
-
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes:</p>
-
-<p>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, <code>"org."</code> correspondra à "https://borg.com" mais pas "https://example.org". Pour faire correspondre ces modèles, utilisez <code>hostSuffix</code>.</p>
-
-<dl>
- <dt><code>hostContains</code>{{optional_inline}}</dt>
- <dd><p><code>string</code>. Correspond si le <a href="/fr/docs/Web/API/HTMLHyperlinkElementUtils/hostname">hostname</a> de l'URL contient la chaîne donnée.</p>
- <ul>
- <li>Pour tester si un composant de nom d'hôte commence par "foo", utilisez  <code>".foo"</code>. Cela correspond à "www.foobar.com" et "foo.com", car un point implicite est ajouté au début du nom d'hôte.</li>
- <li>Pour tester si un composant de nom d'hôte se termine par "foo", utilisez <code>"foo."</code>.</li>
- <li>Pour tester si un composant de nom d'hôte correspond exactement à "foo", utilisez <code>".foo."</code>.</li>
- </ul>
- </dd>
- <dt><code>hostEquals</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si le nom d'hôte de l'URL est égal à une chaîne spécifiée.</dd>
- <dt><code>hostPrefix</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si le nom d'hôte de l'URL commence par une chaîne spécifiée.</dd>
- <dt><code>hostSuffix</code>{{optional_inline}}</dt>
- <dd><p><code>string</code>. Correspond si le nom d'hôte de l'URL se termine par une chaîne spécifiée.</p>
- <ul>
- <li>Exemple: <code>".example.com"</code> correspond à "http://www.example.com/", mais pas à "http://example.com/".</li>
- <li>Exemple: <code>"example.com"</code> correspond à "http://www.example.com/", et  "http://fakeexample.com/".</li>
- </ul>
- </dd>
- <dt><code>pathContains</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si le segment de chemin de l'URL contient une chaîne spécifiée.</dd>
- <dt><code>pathEquals</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si le segment de chemin de l'URL est égal à une chaîne spécifiée.</dd>
- <dt><code>pathPrefix</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si le segment de chemin de l'URL commence par une chaîne spécifiée.</dd>
- <dt><code>pathSuffix</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si le segment de chemin de l'URL se termine par une chaîne spécifiée.</dd>
- <dt><code>queryContains</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si le segment de requête de l'URL contient une chaîne spécifiée.</dd>
- <dt><code>queryEquals</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si le segment de requête de l'URL est égal à une chaîne spécifiée.</dd>
- <dt><code>queryPrefix</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si le segment de requête de l'URL commence par une chaîne spécifiée.</dd>
- <dt><code>querySuffix</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si le segment de requête de l'URL se termine par une chaîne spécifiée.</dd>
- <dt><code>urlContains</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>urlEquals</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>urlMatches</code>{{optional_inline}}</dt>
- <dd><p><code>string</code>. Correspond si l'URL (sans l'identificateur de fragment) correspond à une  <a href="/fr/docs/Web/JavaScript/Guide/Regular_Expressions">expression régulière</a>. Les numéros de port sont supprimés de l'URL s'ils correspondent au numéro de port par défaut.</p>
- <ul>
- <li>Par exemple : <code>urlMatches: "^[^:]*:(?://)?(?:[^/]*\\.)?mozilla\\.org/.*$"</code> correspond "http://mozilla.org/", "https://developer.mozilla.org/", "ftp://foo.mozilla.org/", mais pas "https://developer.fakemozilla.org/".</li>
- </ul>
- </dd>
- <dt><code>originAndPathMatches</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Correspond si l'URL sans segment de requête et l'identificateur de fragment correspondent à une <a href="/fr/docs/Web/JavaScript/Guide/Regular_Expressions">expression régulière</a> 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.</dd>
- <dt><code>urlPrefix</code>{{optional_inline}}</dt>
- <dd><p><code>string</code>. 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.</p>
- <ul>
- <li>Exemple: <code>"https://developer"</code> correspond "https://developer.mozilla.org/" et  "https://developers.facebook.com/".</li>
- </ul>
- </dd>
- <dt><code>urlSuffix</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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 <code>"com/"</code> correspond "https://example.com", mais pas <code>"com"</code>.</dd>
- <dt><code>schemas</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> of <code><code>string</code></code>. 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.</p>
- <ul>
- <li>Exemple: <code>["https"]</code> correspond uniquement aux URL HTTPS.</li>
- </ul>
- </dd>
- <dt><code>ports</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> de <code><code><code>(integer</code></code> </code>ou<code> <code><code>array</code> of <code><code>integer</code></code></code></code>). 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.</p>
- <ul>
- <li>Par exemple: <code>[80, 443, [1000, 1200]]</code> correspond à toutes les demandes sur les ports 80, 443, et dans la plage 1000-1200.</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.events.UrlFilter")}}</p>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/events"><code>chrome.events</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/events.json"><code>events.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array) d'UrlFilters. Par exemple, les écouteurs  [webNavigation](/fr/Add-ons/WebExtensions/API/webNavigation) peuvent être ajoutés avec un filtre qui est un objet avec une seule propriété url qui est un [Array](/fr/docs/Web/JavaScript/Reference/Global_Objects/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](/fr/docs/Web/API/HTMLHyperlinkElementUtils/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](/fr/docs/Web/JavaScript/Guide/Regular_Expressions). 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](/fr/docs/Web/JavaScript/Guide/Regular_Expressions) 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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -136,5 +131,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/events/UrlFilter
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Alias de {{WebExtAPIRef("runtime.getBackgroundPage()")}}.</p>
+Alias de {{WebExtAPIRef("runtime.getBackgroundPage()")}}.
-<div class="note">
-<p><strong>Note :</strong> 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)}}.</p>
-</div>
+> **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)}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var page = browser.extension.getBackgroundPage()
-</pre>
+```js
+var page = browser.extension.getBackgroundPage()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun</p>
+Aucun
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p><code>object</code>. <a href="/fr/docs/Web/API/Window">Window</a> de la page d'arrière plan.</p>
+`object`. [Window](/fr/docs/Web/API/Window) de la page d'arrière plan.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extension.getBackgroundPage")}}</p>
+{{Compat("webextensions.api.extension.getBackgroundPage")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supposons un  <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">script d'arrière plan</a> définisse une fonction <code>foo()</code>:</p>
+Supposons un  [script d'arrière plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts) définisse une fonction `foo()`:
-<pre class="brush: js">// background.js
+```js
+// background.js
function foo() {
console.log("I'm defined in background.js");
-}</pre>
+}
+```
-<p>Un script exécuté dans un <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2">popup</a> peut appeler cette fonction directement comme ceci :</p>
+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 :
-<pre class="brush: js">// popup.js
+```js
+// popup.js
var page = browser.extension.getBackgroundPage();
-page.foo(); // -&gt; "I'm defined in background.js"</pre>
+page.foo(); // -> "I'm defined in background.js"
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -92,5 +93,4 @@ page.foo(); // -&gt; "I'm defined in background.js"</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div class="warning">
-<p><strong>Attention :</strong> Cette méthode a été dépréciée. Utilisez {{WebExtAPIRef("extension.getViews()")}} à la place.</p>
-</div>
+> **Attention :** Cette méthode a été dépréciée. Utilisez {{WebExtAPIRef("extension.getViews()")}} à la place.
-<p>Renvoie un tableau des objets de la <a href="/fr/docs/Web/API/Window">Window</a> JavaScriptpour chacun des onglets qui s'exécutent dans l'extension actuelle. Si <code>windowId</code> est spécifié, renvoie uniquement les objets Window des onglets attachés à la fenêtre spécifiée.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">chrome.extension.getExtensionTabs(
+```js
+chrome.extension.getExtensionTabs(
windowId // optional integer
)
-</pre>
+```
-<p>Cette API est également disponible en tant que <code>browser.extension.getExtensionTabs()</code>.</p>
+Cette API est également disponible en tant que `browser.extension.getExtensionTabs()`.
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>.</dd>
-</dl>
+- `windowId`{{optional_inline}}
+ - : `integer`.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p><code>array</code> of <code>object</code>. Tableau d'objets de fenêtre globaux</p>
+`array` of `object`. Tableau d'objets de fenêtre globaux
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extension.getExtensionTabs")}}</p>
+{{Compat("webextensions.api.extension.getExtensionTabs")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -82,5 +77,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extension/getExtensionTabs
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<div class="warning">
-<p><strong>Attention :</strong> Cette fonction est obsolète. Veuillez utiliser <a href="/fr/Add-ons/WebExtensions/API/runtime/getURL"><code>runtime.getURL</code></a>.</p>
-</div>
+> **Attention :** Cette fonction est obsolète. Veuillez utiliser [`runtime.getURL`](/fr/Add-ons/WebExtensions/API/runtime/getURL).
-<p>Convertit un chemin relatif dans le répertoire d'installation d'une extension en une URL complète.</p>
+Convertit un chemin relatif dans le répertoire d'installation d'une extension en une URL complète.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.extension.getURL(
+```js
+browser.extension.getURL(
path // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>path</code></dt>
- <dd><code>string</code>. Un chemin vers une ressource dans une extension exprimée par rapport à son répertoire d'installation.</dd>
-</dl>
+- `path`
+ - : `string`. Un chemin vers une ressource dans une extension exprimée par rapport à son répertoire d'installation.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p><code>string</code>. The fully-qualified URL to the resource.</p>
+`string`. The fully-qualified URL to the resource.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extension.getURL")}}</p>
+{{Compat("webextensions.api.extension.getURL")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Donné un fichier empaqueté avec l'add-on à "beasts/frog.html", obtenez l'URL complète comme ceci :</p>
+Donné un fichier empaqueté avec l'add-on à "beasts/frog.html", obtenez l'URL complète comme ceci :
-<pre class="brush: js">var fullURL = browser.extension.getURL("beasts/frog.html");
+```js
+var fullURL = browser.extension.getURL("beasts/frog.html");
-// -&gt; something like:
-// moz-extension://2c127fa4-62c7-7e4f-90e5-472b45eecfdc/beasts/frog.html</pre>
+// -> something like:
+// moz-extension://2c127fa4-62c7-7e4f-90e5-472b45eecfdc/beasts/frog.html
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -88,5 +85,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extension/getURL
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Renvoie un tableau des objets <a href="/fr/docs/Web/API/Window">Window</a> pour chacune des pages exécutées dans l'extension en cours. Cela inclut, par exemple :</p>
+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 :
-<ul>
- <li>la page d'arrière-plan, si une est définie</li>
- <li>toutes les pages contextuelles, si définies et chargées</li>
- <li>toutes les pages d'options, si définies et chargées</li>
- <li>les onglets du navigateur hébergeant le contenu fourni avec l'extension</li>
-</ul>
+- 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
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var windows = browser.extension.getViews(
+```js
+var windows = browser.extension.getViews(
fetchProperties // optional object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>fetchProperties</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>type</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Un {{WebExtAPIRef('extension.ViewType')}} indiquant le type de vue à obtenir. Si omis, cette fonction renvoie toutes les vues.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. La fenêtre pour restreindre la recherche. Si omis, cette fonction renvoie toutes les vues.</dd>
- </dl>
- </dd>
-</dl>
+- `fetchProperties`{{optional_inline}}
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`.
-<p><code>array</code> of <code>object</code>. Un tableau d'objets <a href="/fr/docs/Web/API/Window">Window</a>.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.extension.getViews")}}</p>
+`array` of `object`. Un tableau d'objets [Window](/fr/docs/Web/API/Window).
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Obtenez toutes les fenêtres appartenant à cette extension et consignez leurs URL :</p>
+{{Compat("webextensions.api.extension.getViews")}}
-<pre class="brush: js">var windows = browser.extension.getViews();
+## Exemples
-for (var extensionWindow of windows) {
- console.log(extensionWindow.location.href);
-}</pre>
+Obtenez toutes les fenêtres appartenant à cette extension et consignez leurs URL :
-<p>Obtenez uniquement des fenêtres dans les onglets du navigateur hébergeant du contenu fourni avec l'extension :</p>
+```js
+var windows = browser.extension.getViews();
-<pre class="brush: js">var windows = browser.extension.getViews({type: "tab"});</pre>
+for (var extensionWindow of windows) {
+ console.log(extensionWindow.location.href);
+}
+```
-<p>Obtenir seulement des fenêtres dans les popups :</p>
+Obtenez uniquement des fenêtres dans les onglets du navigateur hébergeant du contenu fourni avec l'extension :
-<pre class="brush: js">var windows = browser.extension.getViews({type: "popup"});</pre>
+```js
+var windows = browser.extension.getViews({type: "tab"});
+```
-<p>{{WebExtExamples}}</p>
+Obtenir seulement des fenêtres dans les popups :
-<div class="note"><p><strong>Note :</strong></p>
+```js
+var windows = browser.extension.getViews({type: "popup"});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -110,5 +110,4 @@ for (var extensionWindow of windows) {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Utilitaires liés à votre extension. Obtenez des URL vers des packages de ressources avec votre extension, récupérez l'objet <code><a href="/fr/docs/Web/API/Window">Window</a></code> 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 <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime">runtime</a></code>.</p>
+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).
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("extension.ViewType")}}</dt>
- <dd>Le type de vue d'extension.</dd>
-</dl>
+- {{WebExtAPIRef("extension.ViewType")}}
+ - : Le type de vue d'extension.
-<h2 id="Propriétés">Propriétés</h2>
+## Propriétés
-<dl>
- <dt>{{WebExtAPIRef("extension.lastError")}}</dt>
- <dd>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 <em>indéfini</em>.</dd>
- <dt>{{WebExtAPIRef("extension.inIncognitoContext")}}</dt>
- <dd>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'.</dd>
-</dl>
+- {{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'.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("extension.getBackgroundPage()")}}</dt>
- <dd>Renvoie l'objet <code><a href="/fr/docs/Web/API/Window">Window</a></code> 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.</dd>
- <dt>{{WebExtAPIRef("extension.getExtensionTabs()")}} {{deprecated_inline}}</dt>
- <dd>Renvoie un tableau des objets de la <a href="/fr/docs/Web/API/Window">Window</a> JavaScript pour chacun des onglets qui s'exécutent dans l'extension actuelle.</dd>
- <dt>{{WebExtAPIRef("extension.getURL()")}} {{deprecated_inline}}</dt>
- <dd>Convertit un chemin relatif dans un répertoire d'installation d'extension en une URL complète.</dd>
- <dt>{{WebExtAPIRef("extension.getViews()")}}</dt>
- <dd>Renvoie un tableau des objets <code><a href="/fr/docs/Web/API/Window">Window</a></code> pour chacune des pages exécutées dans l'extension en cours.</dd>
- <dt>{{WebExtAPIRef("extension.isAllowedIncognitoAccess()")}}</dt>
- <dd>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").</dd>
- <dt>{{WebExtAPIRef("extension.isAllowedFileSchemeAccess()")}}</dt>
- <dd>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').***</dd>
- <dt>{{WebExtAPIRef("extension.sendRequest()")}} {{deprecated_inline}}</dt>
- <dd>Envoie une seule requête aux autres écouteurs de l'extension.</dd>
- <dt>{{WebExtAPIRef("extension.setUpdateUrlData()")}}</dt>
- <dd>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.</dd>
-</dl>
+- {{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.
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt>{{WebExtAPIRef("extension.onRequest")}} {{deprecated_inline}}</dt>
- <dd>Lancé lorsqu'une requête est envoyée par un processus d'extension ou un script de contenu.</dd>
- <dt>{{WebExtAPIRef("extension.onRequestExternal")}} {{deprecated_inline}}</dt>
- <dd>Lancé lorsqu'une requête est envoyée depuis une autre extension.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
+{{Compat("webextensions.api.extension")}}
+{{WebExtExamples("h2")}}
-<p>{{Compat("webextensions.api.extension")}}</p>
+> **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.
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -105,5 +93,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extension
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Valeur booléenne, <code>true</code> 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é..</p>
+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é..
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extension.inIncognitoContext")}}</p>
+{{Compat("webextensions.api.extension.inIncognitoContext")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -58,5 +56,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extension/inIncognitoContext
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}Renvoie `true` si l'extension peut accéder au schéma "file://", sinon `false`.
-<div>Renvoie <code>true</code> si l'extension peut accéder au schéma "file://", sinon <code>false</code>.</div>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<div></div>
+## Syntaxe
-<div>
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
-</div>
+```js
+var isAllowed = browser.extension.isAllowedFileSchemeAccess()
+```
-<h2 id="Syntaxe">Syntaxe</h2>
+### Paramètres
-<pre class="brush: js">var isAllowed = browser.extension.isAllowedFileSchemeAccess()
-</pre>
+None.
-<h3 id="Paramètres">Paramètres</h3>
+### Valeur retournée
-<p>None.</p>
+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`.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+Firefox retournera toujours `false`.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un booléen : <code>true</code> si l'extension est autorisée à accéder aux URLs "file://", sinon <code>false</code>.</p>
+## Compatibilité du navigateur
-<p>Firefox retournera toujours <code>false</code>.</p>
+{{Compat("webextensions.api.extension.isAllowedFileSchemeAccess")}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Exemples
-<p>{{Compat("webextensions.api.extension.isAllowedFileSchemeAccess")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<pre class="brush: js">function logIsAllowed(answer) {
+```js
+function logIsAllowed(answer) {
console.log(`Is allowed: ${answer}`);
}
var isAllowed = browser.extension.isAllowedFileSchemeAccess();
-isAllowed.then(logIsAllowed);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+isAllowed.then(logIsAllowed);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -88,5 +83,4 @@ isAllowed.then(logIsAllowed);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Vérifiez si l'extension est autorisée à accéder aux onglets ouverts en mode "navigation privée".</p>
+Vérifiez si l'extension est autorisée à accéder aux onglets ouverts en mode "navigation privée".
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var isAllowed = browser.extension.isAllowedIncognitoAccess()
-</pre>
+```js
+var isAllowed = browser.extension.isAllowedIncognitoAccess()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un booléen : <code>true</code> si l'extension est autorisée à accéder aux onglets privés, sinon <code>false</code>.</p>
+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`.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function logIsAllowed(answer) {
+```js
+function logIsAllowed(answer) {
console.log(`Is allowed: ${answer}`);
}
var isAllowed = browser.extension.isAllowedIncognitoAccess();
-isAllowed.then(logIsAllowed);</pre>
+isAllowed.then(logIsAllowed);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extension.isAllowedIncognitoAccess")}}</p>
+{{Compat("webextensions.api.extension.isAllowedIncognitoAccess")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -82,5 +83,4 @@ isAllowed.then(logIsAllowed);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un alias de {{WebExtAPIRef("runtime.lastError")}}.</p>
+Un alias de {{WebExtAPIRef("runtime.lastError")}}.
-<h2 id="Compatibilité_du_navoigateur">Compatibilité du navoigateur</h2>
+## Compatibilité du navoigateur
-<p>{{Compat("webextensions.api.extension.lastError")}}</p>
+{{Compat("webextensions.api.extension.lastError")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -58,5 +56,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extension/lastError
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div class="warning">
-<p><strong>Attention :</strong> Ceci n'est pas implémenté dans Firefox car il est obsolète depuis Chrome 33. Veuillez utiliser <a href="/fr/Add-ons/WebExtensions/API/runtime/onMessageExternal">runtime.onMessageExternal</a> à la place.</p>
-</div>
+> **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.
-<p>Lancé lorsqu'une requête est envoyée par un processus d'extension ou un script de contenu.</p>
+Lancé lorsqu'une requête est envoyée par un processus d'extension ou un script de contenu.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+- `callback`
-<h3 id="Paramètres">Paramètres</h3>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+ - `request`
+ - : `any`. La requête envoyée par le script appelant.
- <dl>
- <dt><code>request</code></dt>
- <dd><code>any</code>. La requête envoyée par le script appelant.</dd>
- </dl>
+ <!---->
- <dl>
- <dt><code>sender</code></dt>
- <dd>{{WebExtAPIRef('runtime.MessageSender')}}.</dd>
- </dl>
+ - `sender`
+ - : {{WebExtAPIRef('runtime.MessageSender')}}.
- <dl>
- <dt><code>sendResponse</code></dt>
- <dd><code>function</code>. 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 <code>onRequest</code> dans le même document, un seul peut envoyer une réponse.</dd>
- </dl>
- </dd>
-</dl>
+ <!---->
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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.
-<p>{{Compat("webextensions.api.extension.onRequest")}}</p>
+## Compatibilité du navigateur
-<p>{{WebExtExamples}}</p>
+{{Compat("webextensions.api.extension.onRequest")}}
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
+> **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.
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -111,5 +99,4 @@ chrome.extension.onRequest.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div class="warning">
-<p><strong>Attention :</strong> Ceci n'est pas implémenté dans Firefox car il est obsolète depuis Chrome 33. Veuillez utiliser <a href="/fr/Add-ons/WebExtensions/API/runtime/onMessageExternal">runtime.onMessageExternal</a> à la place.</p>
-</div>
+> **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.
-<p>Lancé lorsqu'une requête est envoyée depuis une autre extension.</p>
+Lancé lorsqu'une requête est envoyée depuis une autre extension.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>request</code></dt>
- <dd><code>any</code>. La requête envoyée par le script appelant.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>sender</code></dt>
- <dd>{{WebExtAPIRef('runtime.MessageSender')}}.</dd>
- </dl>
+ - `request`
+ - : `any`. La requête envoyée par le script appelant.
- <dl>
- <dt><code>sendResponse</code></dt>
- <dd><code>function</code>. 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.</dd>
- </dl>
- </dd>
-</dl>
+ <!---->
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `sender`
+ - : {{WebExtAPIRef('runtime.MessageSender')}}.
-<p>{{Compat("webextensions.api.extension.onRequestExternal")}}</p>
+ <!---->
-<p>{{WebExtExamples}}</p>
+ - `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.
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
+{{Compat("webextensions.api.extension.onRequestExternal")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+{{WebExtExamples}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+> **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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -110,5 +100,4 @@ chrome.extension.onRequestExternal.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}{{Deprecated_Header}}
-<div class="warning">
-<p><strong>Attention :</strong> Cette méthode est dépréciée. utilisez {{WebExtAPIRef("runtime.sendMessage")}} à la place.</p>
-</div>
-</div>
+{{AddonSidebar}}{{Deprecated_Header}}
-<p>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</p>
+> **Attention :** Cette méthode est dépréciée. utilisez {{WebExtAPIRef("runtime.sendMessage")}} à la place.
-<h2 id="Syntaxe">Syntaxe</h2>
+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
-<pre class="brush: js">chrome.extension.sendRequest(
+## Syntaxe
+
+```js
+chrome.extension.sendRequest(
extensionId, // optional string
request, // any
function(response) {...} // optional function
)
-</pre>
+```
-<p>Cette API est également disponible en tant que <code>browser.extension.sendRequest()</code> dans une <a href="/fr/Add-ons/WebExtensions/API#Callbacks_and_promises">version qui renvoie une promise</a>.</p>
+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).
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>extensionId</code>{{Optional_Inline}}</dt>
- <dd><code>string</code>. L'ID d'extension de l'extension à laquelle vous souhaitez vous connecter. Si omis, la valeur par défaut est votre propre extension.</dd>
- <dt><code>request</code></dt>
- <dd><code>any</code>.</dd>
- <dt><code>responseCallback</code>{{Optional_Inline}}</dt>
- <dd><p><code>function</code>. La fonction est passée les arguments suivants :</p>
- <dl>
- <dt><code>response</code></dt>
- <dd><code>any</code>. 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.</dd>
- </dl>
- </dd>
-</dl>
+- `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}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `function`. La fonction est passée les arguments suivants :
-<p>{{Compat("webextensions.api.extension.sendRequest")}}</p>
+ - `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.
-<p>{{WebExtExamples}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.extension.sendRequest")}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -89,5 +83,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extension/sendRequest
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.extension.setUpdateUrlData(
+```js
+browser.extension.setUpdateUrlData(
data // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>data</code></dt>
- <dd><code>string</code>.</dd>
-</dl>
+- `data`
+ - : `string`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extension.setUpdateUrlData")}}</p>
+{{Compat("webextensions.api.extension.setUpdateUrlData")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -74,5 +71,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extension/setUpdateUrlData
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type de vue de l'extension.</p>
+Le type de vue de l'extension.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : <code>"tab"</code>, <code>"popup"</code>, <code>"sidebar"</code>.</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : `"tab"`, `"popup"`, `"sidebar"`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extension.ViewType")}}</p>
+{{Compat("webextensions.api.extension.ViewType")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/extension"><code>chrome.extension</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json"><code>extension.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -62,5 +60,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extension/ViewType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Details sur le format et la qualité de l'image.</p>
+Details sur le format et la qualité de l'image.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>format</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('extensionTypes.ImageFormat')}}. Le format du résultat de l'image. Par défaut est <code>"png"</code>.</dd>
- <dt><code>quality</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Quand le format est <code>"jpeg"</code>, 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  <code>encoderOptions</code> sur <code><a href="/fr/docs/Web/API/HTMLCanvasElement/toDataURL">HTMLCanvasElement.toDataURL()</a></code>. 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.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extensionTypes.ImageDetails")}}</p>
+{{Compat("webextensions.api.extensionTypes.ImageDetails")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basé sur l'API Chromium <a href="https://developer.chrome.com/extensions/extensionTypes"><code>chrome.extensionTypes</code></a> . Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/extension_types.json"><code>extension_types.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +65,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extensionTypes/ImageDetails
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont : <code>"jpeg"</code>, <code>"png"</code>.</p>
+Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont : `"jpeg"`, `"png"`.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaines. Les valeurs possibles sont : <code>"jpeg"</code>, <code>"png"</code>.</p>
+Les valeurs de ce type sont des chaines. Les valeurs possibles sont : `"jpeg"`, `"png"`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extensionTypes.ImageFormat")}}</p>
+{{Compat("webextensions.api.extensionTypes.ImageFormat")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basé sur l'API Chromium <a href="https://developer.chrome.com/extensions/extensionTypes"><code>chrome.extensionTypes</code></a> . Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/extension_types.json"><code>extension_types.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -62,5 +60,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extensionTypes/ImageFormat
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Certains types communs utilisés dans d'autres APIs WebExtensions.</p>
+Certains types communs utilisés dans d'autres APIs WebExtensions.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("extensionTypes.ImageDetails")}}</dt>
- <dd>Détails sur le format et la qualité de l'image.</dd>
- <dt>{{WebExtAPIRef("extensionTypes.ImageFormat")}}</dt>
- <dd>Le format d'une image.</dd>
- <dt>{{WebExtAPIRef("extensionTypes.ImageDetails")}}</dt>
- <dd>Injecte des détails dans une page</dd>
- <dt>{{WebExtAPIRef("extensionTypes.RunAt")}}</dt>
- <dd>Le plus tot que le Javascript ou le CSS est injecté dans l'onglet.</dd>
- <dt><code>extensionTypes.CSSOrigin</code></dt>
- <dd>Indique si une feuille de style CSS injectée par <code><a href="/fr/Add-ons/WebExtensions/API/tabs/insertCSS">tabs.insertCSS</a></code> doit être traitée comme une feuille de style "auteur" ou "utilisateur".</dd>
-</dl>
+- {{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".
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extensionTypes")}}</p>
+{{Compat("webextensions.api.extensionTypes")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basé sur l'API Chromium <a href="https://developer.chrome.com/extensions/extensionTypes"><code>chrome.extensionTypes</code></a> . Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/extension_types.json"><code>extension_types.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -72,5 +68,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extensionTypes
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Ce type est donné en tant que paramètre aux méthodes <code>tabs.executeScript()</code>, <code>tabs.insertCSS()</code>, et <code>tabs.removeCSS()</code> . Pour plus de détails sur ses propriétés et leur utilisation, consultez les pages de documentation de ces méthodes :</p>
+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 :
-<ul>
- <li>{{WebExtAPIRef("tabs.executeScript()")}}</li>
- <li>{{WebExtAPIRef("tabs.insertCSS()")}}</li>
- <li>{{WebExtAPIRef("tabs.removeCSS()")}}</li>
-</ul>
+- {{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le plus tot que le Javascript ou CSS sera injecté dans l'onglet.</p>
+Le plus tot que le Javascript ou CSS sera injecté dans l'onglet.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaines. Les valeurs possibles sont : <code>"document_start"</code>, <code>"document_end"</code>, <code>"document_idle"</code>.</p>
+Les valeurs de ce type sont des chaines. Les valeurs possibles sont : `"document_start"`, `"document_end"`, `"document_idle"`.
-<ul>
- <li><code>"document_start"</code>: corresponds au <code>chargement</code>. Le DOM est toujours en cours de chargement.</li>
- <li><code>"document_end"</code>: corresponds à l'<code>interactif</code>. Le DOM a fini de charger, mais des ressources telles que des scripts et des images peuvent toujours être en cours de chargement.</li>
- <li><code>"document_idle"</code>: corresponds à  <code>complete</code>. Le document et toutes ses ressources ont terminé le changement.</li>
-</ul>
+- `"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.
-<p>La valeur par défaut est <code>"document_idle"</code>.</p>
+La valeur par défaut est `"document_idle"`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.extensionTypes.RunAt")}}</p>
+{{Compat("webextensions.api.extensionTypes.RunAt")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basé sur l'API Chromium <a href="https://developer.chrome.com/extensions/extensionTypes"><code>chrome.extensionTypes</code></a> . Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/extension_types.json"><code>extension_types.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -70,5 +66,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/extensionTypes/RunAt
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Recherche du texte dans un onglet.</p>
+Recherche du texte dans un onglet.
-<p>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..</p>
+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..
-<p>Vous pouvez rendre la recherche sensible à la casse et la faire correspondre uniquement à des mots entiers.</p>
+Vous pouvez rendre la recherche sensible à la casse et la faire correspondre uniquement à des mots entiers.
-<p>Par défaut, la fonction renvoie juste le nombre de correspondances trouvées. En transmettant les options <code>includeRangeData</code> et  <code>includeRectData</code>, vous pouvez obtenir plus d'informations sur l'emplacement des correspondances dans l'onglet cible.</p>
+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.
-<p>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 <em>find</em> seront mis en surbrillance, jusqu'à ce que quelqu'un appelle <code>find()</code>.</p>
+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()`.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.find.find(
+```js
+browser.find.find(
queryphrase, // string
options // optional object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>queryphrase</code></dt>
- <dd><code>string</code>. Le texte à rechercher</dd>
- <dt><code>options</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. Un objet spécifiant des options supplémentaires. Il peut prendre l'une des propriétés suivantes, toutes facultatives :</p>
-
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet à rechercher. Par défaut à l'onglet actif</dd>
- <dt><code>caseSensitive</code></dt>
- <dd><code>boolean</code>. Si true, la recherche est sensible à la casse. Par défault à  <code>false</code>.</dd>
- <dt><code>entireWord</code></dt>
- <dd><code>boolean</code>. Comparaison seulement entre les mots entiers : ainsi "Tok" ne sera pas comparé dans "Tokyo". Par défaut à <code>false</code>.</dd>
- <dt><code>includeRangeData</code></dt>
- <dd><code>boolean</code>. Inclure les groupes de données dans la réponse, which describe where in the page DOM the match was found. Defaults to <code>false</code>.</dd>
- <dt><code>includeRectData</code></dt>
- <dd><code>boolean</code>. 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 à <code>false</code>.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>  Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet contenant jusqu'à trois propriétés :</p>
-
-<dl>
- <dt><code>count</code></dt>
- <dd><code>integer</code>. Le nombre de résultat trouvés.</dd>
- <dt><code>rangeData</code>{{optional_inline}}</dt>
- <dd>
- <p><code>array</code>. Si <code>includeRangeData</code> a été donné dans le paramètre  <code>options</code>, cette propriété sera incluse. Il est fourni sous la forme d'un tableau d'objets <code>RangeData</code>, un pour chaque correspondance. Chaque objet <code>RangeData</code> 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.</p>
-
- <p>Les élements correspondent aux éléments données dans <code>rectData</code>, donc <code>rangeData[i]</code> décrit la même correspondance que  <code>rectData[i]</code>.</p>
-
- <p>Chaque <code>RangeData</code> contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>framePos</code></dt>
- <dd>L'index de l'image contenant la correspondance. 0 correspond à une fenêtre parente. Notez que l'ordre des objets dans un tableau  <code>rangeData</code> s'alignera séquentiellement avec l'ordre des index d'images : par exemple, <code>framePos</code> pour la première séquence d'objets <code>rangeData</code> sera 0, <code>framePos</code> pour la séquence suivante sera 1, et ainsi de suite.</dd>
- <dt><code>startTextNodePos</code></dt>
- <dd>La position ordinale du noeud de texte dans lequel la correspondance a démarrée.</dd>
- <dt><code>endTextNodePos</code></dt>
- <dd>La position ordinale du noeud de texte dans lequel la correspondance s'est terminée.</dd>
- <dt><code>startOffset</code></dt>
- <dd>La position de la chaîne de caractères ordinale du début du mot correspondant dans le noeud texte de début.</dd>
- <dt><code>endOffset</code></dt>
- <dd>La position de la chaîne de caractères ordinale de la fin du mot trouvé dans le nœud de texte final.</dd>
- </dl>
- </dd>
- <dt><code>rectData</code>{{optional_inline}}</dt>
- <dd>
- <p><code>array</code>. Si <code>includeRectData</code> a été donné dans les paramètres des <code>options</code>, cette propriété sera incluse. C'est un tableau d'objets <code>RectData</code> . 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..</p>
-
- <p>Chaque objet <code>RectData</code> contient des données rectangle pour une seule correspondance. Il a deux propriétés :</p>
-
- <dl>
- <dt><code>rectsAndTexts</code></dt>
- <dd>Un objet contenant deux propriétés, les deux tableaux :
- <ul>
- <li><code>rectList</code>: un tableau d'objets ayant chacun quatre propriétés entières : <code>top</code>, <code>left</code>, <code>bottom</code>, <code>right</code>. Ceux-ci décrivent un rectangle par rapport à la partie supérieure gauche de la fenêtre.</li>
- <li><code>textList</code>:  un tableau de chaînes, correspondant au tableau  <code>rectList</code>. L'entrée de <code>textList[i]</code> contient la partie du match délimitée par le rectangle de <code>rectList[i]</code>.</li>
- </ul>
-
- <p>Par exemple, considérons une partie d'une page Web qui ressemble à ceci :</p>
-
- <p><img alt="" src="rects-1.png">Si vous recherchez "You may", la comparaison doit être décrit par deux rectangles :</p>
-
- <p><img alt="" src="rects-2.png">Dans le cas, dans le <code>RectData</code> qui décrit cette correspondance, <code>rectsAndTexts.rectList</code> et <code>rectsAndTexts.textList</code> auront chacun 2 éléments.</p>
-
- <ul>
- <li><code>textList[0]</code> contiendra "You ", et <code>rectList[0]</code> contiendra son rectangle de délimitation.</li>
- <li><code>textList[1]</code> contiendra "may", et <code>rectList[1]</code> contiendra son rectangle de délimitation.</li>
- </ul>
- </dd>
- <dt><code>text</code></dt>
- <dd>Le texte complet de comparaison, "You may" dans l'exemple ci-dessus.</dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.find.find", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Exemples_basics">Exemples basics</h3>
-
-<p>Recherchez "banana" dans l'onglet actif, log le nombre de correspondances et mettez-les en surbrillance :</p>
-
-<pre class="brush: js">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 &gt; 0) {
+ if (results.count > 0) {
browser.find.highlightResults();
}
}
-browser.find.find("banana").then(found);</pre>
+browser.find.find("banana").then(found);
+```
-<p>Rechercher "banana" dans tous les onglets (notez que cela nécessite la  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "tabs", car il accède à <code>tab.url</code>):</p>
+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`):
-<pre class="brush: js">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);</pre>
+browser.tabs.query({}).then(findInAllTabs);
+```
-<h3 id="Utilisation_de_rangeData">Utilisation de rangeData</h3>
+### Utilisation de rangeData
-<p>Dans cet exemple, l'extension utilise <code>rangeData</code> pour obtenir le contexte dans lequel la correspondance a été trouvée. Le contexte est le  <code>textContent</code> 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 <code>textContent</code> de tous les noeuds étendus.</p>
+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.
-<p>Notez que pour des raisons de simplicité, cet exemple ne gère pas les pages contenant des cadres. Pour cela, vous devez divisez <code>rangeData</code> en groupes, un par frame, et executer le script dans chaque image.</p>
+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.
-<p>Le script d'arrière plan :</p>
+Le script d'arrière plan :
-<pre class="brush: js">// background.js
+```js
+// background.js
async function getContexts(matches) {
@@ -176,14 +168,15 @@ async function getContexts(matches) {
}
-browser.browserAction.onClicked.addListener((tab) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
browser.find.find("example", {includeRangeData: true}).then(getContexts);
});
-</pre>
+```
-<p>Le script de contenu :</p>
+Le script de contenu :
-<pre class="brush: js">/**
+```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 &lt; 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) =&gt; {
+browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
sendResponse(getContexts(message.ranges));
});
-</pre>
+```
-<h3 id="Utiliser_rectData">Utiliser rectData</h3>
+### Utiliser rectData
-<p>Dans cet exemple, l'extensions utilise <code>rectData</code> pour comparer "redact", en ajoutant des DIVs noires au dessus de leurs rectangles de délimitation :</p>
+Dans cet exemple, l'extensions utilise `rectData` pour comparer "redact", en ajoutant des DIVs noires au dessus de leurs rectangles de délimitation :
-<p><img alt="" src="redacted.png">Notez qu'il y a plusieurs façons, c'est une mauvaise façon d'atteindre les pages.</p>
+![](redacted.png)Notez qu'il y a plusieurs façons, c'est une mauvaise façon d'atteindre les pages.
-<p>Le script d'arrière-plan :</p>
+Le script d'arrière-plan :
-<pre class="brush: js">// 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) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
browser.find.find("banana", {includeRectData: true}).then(redact);
});
-</pre>
+```
-<p>Le script de contenu :</p>
+Le script de contenu :
-<pre class="brush: js">// 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) =&gt; {
+browser.runtime.onMessage.addListener((message) => {
redactAll(message.rects);
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Souligne les résultats d'un précédent appel à {{WebExtAPIRef("find.find()")}}.</p>
+Souligne les résultats d'un précédent appel à {{WebExtAPIRef("find.find()")}}.
-<p>Lorsqu'une extension appelle <code>find()</code>, les correspondances ne sont pas automatiquement mises en surbrillance, mais elles sont stockées par le navigateur. Appelez <code>highlightResults()</code> pour les mettre en surbrillance.</p>
+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.
-<p>Notez que les résultats stockés sont globaux pour toutes les extensions, par exemple, si l'extension appelle <code>find("apple")</code>, alors si l'extensions B appelle <code>find("banana")</code>, alors si l'extensions A appelle  <code>highlightResults()</code>, le résultat pour "banana" sera mis en évidence.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.find.highlightResults()
-</pre>
+```js
+browser.find.highlightResults()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun.</p>
+Aucun.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Aucune.</p>
+Aucune.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.find.highlightResults", 10)}}</p>
+{{Compat("webextensions.api.find.highlightResults", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Recherchez "banana" dans l'onglet actif, notez le nombre de correspondances et mettez-les en surbrillance :</p>
+Recherchez "banana" dans l'onglet actif, notez le nombre de correspondances et mettez-les en surbrillance :
-<pre class="brush: js">function found(results) {
+```js
+function found(results) {
console.log(`There were: ${results.count} matches.`);
- if (results.count &gt; 0) {
+ if (results.count > 0) {
browser.find.highlightResults();
}
}
-browser.find.find("banana").then(found);</pre>
+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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Trouve un texte dans une page web, et met en évidence les correspondances.</p>
+Trouve un texte dans une page web, et met en évidence les correspondances.
-<p>Pour utiliser cette API, vous devez disposez de la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "find".</p>
+Pour utiliser cette API, vous devez disposez de la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "find".
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("find.find()")}}</dt>
- <dd>Trouver du texte dans une page web.</dd>
- <dt>{{WebExtAPIRef("find.highlightResults()")}}</dt>
- <dd>Mettez en surbrillance le dernier jeu de correspondance trouvé.</dd>
- <dt>{{WebExtAPIRef("find.removeHighlighting()")}}</dt>
- <dd>Supprimez toute mise en évidence.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.find", 1, 1)}} {{WebExtExamples("h2")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.find.removeHighlighting()
-</pre>
+```js
+browser.find.removeHighlighting()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun</p>
+Aucun
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Aucune.</p>
+Aucune.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.find.removeHighlighting", 10)}}</p>
+{{Compat("webextensions.api.find.removeHighlighting", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">browser.find.removeHighlighting();
-</pre>
+```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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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".</p>
+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".
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var addingUrl = browser.history.addUrl(
+```js
+var addingUrl = browser.history.addUrl(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Objet contenant l'URL à ajouter.</p>
- <dl>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL à ajouter.</dd>
- <dt><code>title</code>{{optional_inline}}</dt>
- <dd>string: Le titre de la page. Si ce n'est pas fourni, le titre sera enregistré comme <code>null</code>.</dd>
- <dt><code>transition</code>{{optional_inline}}</dt>
- <dd>{{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é.</dd>
- <dt><code>visitTime</code>{{optional_inline}}</dt>
- <dd><code>number</code> ou <code>string</code> ou <code>object</code>. Cela peut être représenté par: un objet <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></code>, une  <a href="http://www.iso.org/iso/home/standards/iso8601.htm">chaîne de date ISO 8601</a>, 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.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. Objet contenant l'URL à ajouter.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> sera rempli sans paramètres lorsque l'élément a été ajouté.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.history.addUrl")}}</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera rempli sans paramètres lorsque l'élément a été ajouté.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>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 :</p>
+{{Compat("webextensions.api.history.addUrl")}}
-<pre class="brush: js">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);</pre>
+addingUrl.then(onAdded);
+```
-<p>Ajouter un enregistrement d'une visite à "https://example.org", mais lui donner une <code>visitTime</code> de 24 heures dans le passé, et une <code>transition</code>  "typed":</p>
+Ajouter un enregistrement d'une visite à "https\://example.org", mais lui donner une `visitTime` de 24 heures dans le passé, et une `transition`  "typed":
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+addingUrl.then(onAdded);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -143,5 +143,4 @@ addingUrl.then(onAdded);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime toutes les visites de l'historique du navigateur.</p>
+Supprime toutes les visites de l'historique du navigateur.
-<p>Cette fonction déclenche {{WebExtAPIRef("history.onVisitRemoved")}} une seule fois, avec  <code>allHistory</code> défini sur <code>true</code> et un argument <code>urls</code> vide.</p>
+Cette fonction déclenche {{WebExtAPIRef("history.onVisitRemoved")}} une seule fois, avec  `allHistory` défini sur `true` et un argument `urls` vide.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var deletingAll = browser.history.deleteAll()
-</pre>
+```js
+var deletingAll = browser.history.deleteAll()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> sera remplie sans paramètre lorsque tout l'historique a été supprimé.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera remplie sans paramètre lorsque tout l'historique a été supprimé.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.history.deleteAll")}}</p>
+{{Compat("webextensions.api.history.deleteAll")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprimer tout l'historique lorsque l'utilisateur clique sur une action du navigateur :</p>
+Supprimer tout l'historique lorsque l'utilisateur clique sur une action du navigateur :
-<pre class="brush: js">function onDeleteAll() {
+```js
+function onDeleteAll() {
console.log("Deleted all history");
}
@@ -51,19 +53,18 @@ function deleteAllHistory() {
deletingAll.then(onDeleteAll);
}
-deleteAllHistory();</pre>
+deleteAllHistory();
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -90,5 +91,4 @@ deleteAllHistory();</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var deletingRange = browser.history.deleteRange(
+```js
+var deletingRange = browser.history.deleteRange(
range // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>range</code></dt>
- <dd><p><code>object</code>. Spécification de la plage de temps pour laquelle supprimer des visites.</p>
- <dl>
- <dt><code>startTime</code></dt>
- <dd><code>number</code> ou <code>string</code> ou <code>object</code>. Une valeur indiquant une date et une heure. Cela peut être représenté par: un objet <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></code>, une <a href="http://www.iso.org/iso/home/standards/iso8601.htm">chaîne de de date ISO 8601</a>, ou le nombre de <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>. Spécifie l'heure de début de la plage.</dd>
- <dt><code>endTime</code></dt>
- <dd><code>number</code> ou <code>string</code> ou <code>object</code>. Une valeur indiquant une date et une heure. Cela peut être représenté par: un objet <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></code>, une <a href="http://www.iso.org/iso/home/standards/iso8601.htm">chaîne de date ISO 8601</a>, ou le nombre de <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>. Spécifie l'heure de fin de la plage.</dd>
- </dl>
- </dd>
-</dl>
+- `range`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. Spécification de la plage de temps pour laquelle supprimer des visites.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> sera remplie sans paramètre lorsque la plage a été supprimée.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.history.deleteRange")}}</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera remplie sans paramètre lorsque la plage a été supprimée.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Supprimer toutes les visites effectuées à la dernière minute :</p>
+{{Compat("webextensions.api.history.deleteRange")}}
-<pre class="brush: js">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()
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>This API is based on Chromium's <a href="https://developer.chrome.com/extensions/history#method-deleteRange"><code>chrome.history</code></a> API. This documentation is derived from <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> in the Chromium code.</p>
+{{WebExtExamples}}
-<p>Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -100,5 +98,4 @@ browser.history.deleteRange({
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime toutes les visites à l'URL donnée de l'historique du navigateur.</p>
+Supprime toutes les visites à l'URL donnée de l'historique du navigateur.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var deletingUrl = browser.history.deleteUrl(
+```js
+var deletingUrl = browser.history.deleteUrl(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Objet contenant l'URL dont les visites doivent être supprimées.</p>
- <dl>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL dont les visites doivent être supprimées.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. Objet contenant l'URL dont les visites doivent être supprimées.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> sera remplie sans paramètres lorsque les visites auront été supprimées.</p>
+ - `url`
+ - : `string`. L'URL dont les visites doivent être supprimées.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.history.deleteUrl")}}</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera remplie sans paramètres lorsque les visites auront été supprimées.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>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()")}}:</p>
+{{Compat("webextensions.api.history.deleteUrl")}}
-<pre class="brush: js">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);</pre>
+deletingUrl.then(onRemoved);
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+searching.then(onGot);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -135,5 +135,4 @@ searching.then(onGot);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Récupère des informations sur toutes les visites de l'URL donnée.</p>
+Récupère des informations sur toutes les visites de l'URL donnée.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getting = browser.history.getVisits(
+```js
+var getting = browser.history.getVisits(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL pour laquelle récupérer les informations de visite.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="valeur_retournée">valeur retournée</h3>
+ - : `object`.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> sera remplie avec un tableau d'objets <code>{{WebExtAPIRef('history.VisitItem')}}</code> représentant chacun une visite à l'URL donnée. Les visites sont triées dans l'ordre chronologique inverse.</p>
+ - `url`
+ - : `string`. L'URL pour laquelle récupérer les informations de visite.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### valeur retournée
-<p>{{Compat("webextensions.api.history.getVisits")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Liste toutes les visites de la page la plus récemment visitée :</p>
+{{Compat("webextensions.api.history.getVisits")}}
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+searching.then(listVisits);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -112,5 +110,4 @@ searching.then(listVisits);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>Un objet <code>HistoryItem</code> fournit des informations sur une page dans l'historique du navigateur.</p>
+Un objet `HistoryItem` fournit des informations sur une page dans l'historique du navigateur.
-<h2 id="Type">Type</h2>
+## Type
-<p>C'est un objet avec les propriétés suivantes :</p>
+C'est un objet avec les propriétés suivantes :
-<dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. Identifiant unique pour l'article.</dd>
- <dt><code>url</code> {{optional_inline}}</dt>
- <dd><code>string</code>. L'URL de la page.</dd>
- <dt><code>title</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Le titre de la page.</dd>
- <dt><code>lastVisitTime</code> {{optional_inline}}</dt>
- <dd><code>number</code>. Date et heure du dernier chargement de la page, représentée en millisecondes depuis l'époque.</dd>
- <dt><code>visitCount</code> {{optional_inline}}</dt>
- <dd><code>number</code>. Le nombre de fois que l'utilisateur a visité la page.</dd>
- <dt><code>typedCount</code> {{optional_inline}}</dt>
- <dd><code>number</code>. Le nombre de fois que l'utilisateur a navigué sur cette page en tapant l'adresse.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.history.HistoryItem")}}</p>
+{{Compat("webextensions.api.history.HistoryItem")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -77,5 +73,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/history/HistoryItem
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
-
-<p>Utilisez l'API <code>historique</code> pour interargir avec l'historique du navigateur.</p>
-
-<p>Si vous recherchez des informations sur l'historique de session du navigateur, consultez l'<a href="/fr/docs/Web/API/History">interface historique</a>.</p>
-
-<div class="note">
-<p><strong>Note :</strong> Les téléchargements sont traités comme des objets <a href="/fr/Add-ons/WebExtensions/API/history/HistoryItem"><code>HistoryItem</code></a>. Par conséquent, des événements tels que <a href="/fr/Add-ons/WebExtensions/API/history/onVisited"><code>history.onVisited</code></a> seront également déclenchés pour les téléchargements.</p>
-</div>
-
-<p>L'historique du navigateur est un enregistrement chronologique des pages que l'utilisateur a visitées. l'API d'historique vous permet de :</p>
-
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/API/history/search">Recherchez dans des pagesqui apparaissent dans l'historique du navigateur</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/API/history/deleteUrl">Supprimer des pages individuelles de l'historique du navigateur</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/API/history/addUrl">Ajouter des pages à l'historique du navigateur</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/API/history/deleteAll">Supprimer toutes les pages de l'historique du navigateur</a>.</li>
-</ul>
-
-<p>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 :</p>
-
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/API/history/getVisits">Récupérer l'ensemble des visites effectuées par l'utilisateur sur une page particulière</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/API/history/deleteRange">Supprimer les visites à toutes les pages faites pendant une période de temps</a>.</li>
-</ul>
-
-<p>Pour utiliser cette API, une extension doit demander la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "history" dans le fichier  <code><a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a></code>.</p>
-
-<h2 id="Types">Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("history.TransitionType")}}</dt>
- <dd>Décrit comment le navigateur a navigué vers une page particulière.</dd>
- <dt>{{WebExtAPIRef("history.HistoryItem")}}</dt>
- <dd>
- <p>Fournit des informations sur une page particulière dans l'historique du navigateur.</p>
- </dd>
- <dt>{{WebExtAPIRef("history.VisitItem")}}</dt>
- <dd>
- <p>Décrit une seule visite sur une page.</p>
- </dd>
-</dl>
-
-<h2 id="Fonctions">Fonctions</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("history.search()")}}</dt>
- <dd>Recherche dans l'historique du navigateur les objets <a href="/fr/Add-ons/WebExtensions/API/History/HistoryItem"><code>history.HistoryItem</code></a> correspondant aux critères donnés.</dd>
- <dt>{{WebExtAPIRef("history.getVisits()")}}</dt>
- <dd>Récupère des informations sur les visites sur une page donnée.</dd>
- <dt>{{WebExtAPIRef("history.addUrl()")}}</dt>
- <dd>Ajoute un enregistrement à l'historique du navigateur d'une visite sur la page donnée.</dd>
- <dt>{{WebExtAPIRef("history.deleteUrl()")}}</dt>
- <dd>Supprime toutes les visites à l'URL donnée de l'historique du navigateur.</dd>
- <dt>{{WebExtAPIRef("history.deleteRange()")}}</dt>
- <dd>Supprime toutes les visites aux pages que l'utilisateur a effectuées pendant la période donnée.</dd>
- <dt>{{WebExtAPIRef("history.deleteAll()")}}</dt>
- <dd>Supprime toutes les visites de l'historique du navigateur.</dd>
-</dl>
-
-<h2 id="Evénements">Evénements</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("history.onTitleChanged")}}</dt>
- <dd>
- <div>Lancé lorsque le titre d'une page visitée par l'utilisateur est enregistré.</div>
- </dd>
- <dt>{{WebExtAPIRef("history.onVisited")}}</dt>
- <dd>Lancé chaque fois que l'utilisateur visite une page, en fournissant les données {{WebExtAPIRef("history.HistoryItem")}} pour cette page.</dd>
- <dt>{{WebExtAPIRef("history.onVisitRemoved")}}</dt>
- <dd>
- <p>Lancé lorsqu'une URL est complètement supprimée de l'historique du navigateur.</p>
- </dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.history")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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](/fr/docs/Web/API/History).
+
+> **Note :** Les téléchargements sont traités comme des objets [`HistoryItem`](/fr/Add-ons/WebExtensions/API/history/HistoryItem). Par conséquent, des événements tels que [`history.onVisited`](/fr/Add-ons/WebExtensions/API/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 :
+
+- [Recherchez dans des pagesqui apparaissent dans l'historique du navigateur](/fr/Add-ons/WebExtensions/API/history/search)
+- [Supprimer des pages individuelles de l'historique du navigateur](/fr/Add-ons/WebExtensions/API/history/deleteUrl)
+- [Ajouter des pages à l'historique du navigateur](/fr/Add-ons/WebExtensions/API/history/addUrl)
+- [Supprimer toutes les pages de l'historique du navigateur](/fr/Add-ons/WebExtensions/API/history/deleteAll).
+
+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 :
+
+- [Récupérer l'ensemble des visites effectuées par l'utilisateur sur une page particulière](/fr/Add-ons/WebExtensions/API/history/getVisits)
+- [Supprimer les visites à toutes les pages faites pendant une période de temps](/fr/Add-ons/WebExtensions/API/history/deleteRange).
+
+Pour utiliser cette API, une extension doit demander la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "history" dans le fichier  [`manifest.json`](/fr/Add-ons/WebExtensions/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`](/fr/Add-ons/WebExtensions/API/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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -128,5 +106,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/history
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{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`.
-<div>Lancé lorsque le titre d'une page visitée par l'utilisateur est enregistré.</div>
+## Syntaxe
-<div></div>
-
-<div>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ù <code>history.onVisited</code> est envoyé.</div>
-
-<div></div>
-
-<div>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 <code>history.onTitleChanged</code>.</div>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">browser.history.onTitleChanged.addListener(listener)
+```js
+browser.history.onTitleChanged.addListener(listener)
browser.history.onTitleChanged.removeListener(listener)
browser.history.onTitleChanged.hasListener(listener)
-</pre>
+```
+
+Les événements ont trois fonctions :
-<p>Les événements ont trois fonctions :</p>
+- `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`.
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> argument est l'écouteur à supprimer</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+## Syntaxe addListener
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+### Paramètres
-<h3 id="Paramètres">Paramètres</h3>
+- `callback`
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Function that will be called when this event occurs. The function will be passed an object with the following properties:</p>
+ - : Function that will be called when this event occurs. The function will be passed an object with the following properties:
- <dl>
- <dt><code>url</code></dt>
- <dd><code>String</code>. URL of the page visited.</dd>
- <dt><code>title</code></dt>
- <dd><code>String</code>. Title of the page visited.</dd>
- </dl>
- </dd>
-</dl>
+ - `url`
+ - : `String`. URL of the page visited.
+ - `title`
+ - : `String`. Title of the page visited.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.history.onTitleChanged")}}</p>
+{{Compat("webextensions.api.history.onTitleChanged")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Écoutez les événements de changement de titre et consignez l'URL et le titre des pages visitées</p>
+Écoutez les événements de changement de titre et consignez l'URL et le titre des pages visitées
-<pre class="brush: js">function handleTitleChanged(item) {
+```js
+function handleTitleChanged(item) {
console.log(item.title);
console.log(item.url);
}
-browser.history.onTitleChanged.addListener(handleTitleChanged);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.history.onTitleChanged.addListener(handleTitleChanged);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -111,5 +95,4 @@ browser.history.onTitleChanged.addListener(handleTitleChanged);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.history.onVisited.addListener(listener)
+```js
+browser.history.onVisited.addListener(listener)
browser.history.onVisited.removeListener(listener)
browser.history.onVisited.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>result</code></dt>
- <dd>
- <p>{{WebExtAPIRef('history.HistoryItem')}}. Un objet représentant l'élément dans l'historique du navigateur.</p>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <p>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 <code>HistoryItem.title</code> contiendra l'ancien titre de la page. Si le navigateur n'a pas d'enregistrement de l'ancien titre de la page, alors <code>HistoryItem.title</code> sera vide. Pour obtenir les titres des pages dès qu'ils sont connus, écoutez  {{WebExtAPIRef("history.onTitleChanged")}}.</p>
- </dd>
- </dl>
- </dd>
-</dl>
+ - `result`
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : {{WebExtAPIRef('history.HistoryItem')}}. Un objet représentant l'élément dans l'historique du navigateur.
-<p>{{Compat("webextensions.api.history.onVisited")}}</p>
+ 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")}}.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Écoutez les visites et consignez l'URL et l'heure de visite.</p>
+{{Compat("webextensions.api.history.onVisited")}}
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.history.onVisited.addListener(onVisited);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -107,5 +100,4 @@ browser.history.onVisited.addListener(onVisited);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'une page est complètement supprimée de l'historique du navigateur.</p>
+Lancé lorsqu'une page est complètement supprimée de l'historique du navigateur.
-<ul>
- <li>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.</li>
- <li>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 <em>dont les visites tombent toutes dans la plage autorisée</em>.</li>
- <li>Si l'historique complet du navigateur est effacé (par exemple, en utilisant {{WebExtAPIRef("history.deleteAll")}}), il est déclenché une seule fois.</li>
-</ul>
+- 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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.history.onVisitRemoved.addListener(listener)
+```js
+browser.history.onVisitRemoved.addListener(listener)
browser.history.onVisitRemoved.removeListener(listener)
browser.history.onVisitRemoved.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions:</p>
+Les événements ont trois fonctions:
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd><p>Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée l'argument suivant :</p>
- <dl>
- <dt><code>removed</code></dt>
- <dd><p><code>object</code>. Détails de l'enlèvement. C'est un objet contenant deux propriétés: un booléen <code>allHistory</code> et un tableau <code>urls</code>.</p>
- <ul>
- <li>Si cet événement se déclenche parce qu'il est clair, <code>allHistory</code> sera <code>true</code> et <code>urls</code> sera un tableau vide.</li>
- <li>Dans le cas contraire,  <code>allHistory</code> sera <code>false</code> et <code>urls</code> contiendront un qui est l'URL de la page supprimée.</li>
- </ul>
- </dd>
- </dl>
- </dd>
-</dl>
+- `callback`
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée l'argument suivant :
-<p>{{Compat("webextensions.api.history.onVisitRemoved")}}</p>
+ - `removed`
-<h2 id="Exemples">Exemples</h2>
+ - : `object`. Détails de l'enlèvement. C'est un objet contenant deux propriétés: un booléen `allHistory` et un tableau `urls`.
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.history.onVisitRemoved.addListener(onRemoved);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -113,5 +106,4 @@ browser.history.onVisitRemoved.addListener(onRemoved);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Recherche dans l'historique du navigateur les objets {{WebExtAPIRef("history.HistoryItem")}} correspondant aux critères donnés.</p>
+Recherche dans l'historique du navigateur les objets {{WebExtAPIRef("history.HistoryItem")}} correspondant aux critères donnés.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var searching = browser.history.search(
+```js
+var searching = browser.history.search(
query // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>query</code></dt>
- <dd><p>Un objet qui indique ce qu'il faut rechercher dans l'historique du navigateur. Cet objet a les champs suivants :</p>
- <dl>
- <dt><code>text</code></dt>
- <dd><p><code>string</code>. 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.</p>
- <p>Par exemple, considérez cet article :</p>
- <p><p>URL: <code>"http://example.org"</code></p>
- <p>Title: <code>"Example Domain"</code></p>
- <pre>"http" -&gt; matches
-"domain" -&gt; matches
-"MAIN ample" -&gt; matches
-"main tt" -&gt; matches
-"main https" -&gt; does not match</pre>
- <p>Spécifiez une chaîne vide (<code>""</code>) pour récupérer tous les objets {{WebExtAPIRef("history.HistoryItem")}} qui répondent à tous les autres critères.</p></dd>
- <dt><code>startTime</code> {{optional_inline}}</dt>
- <dd><code>number</code> ou <code>string</code> ou <code>object</code>. Une valeur indiquant une date et une heure. Cela peut être représenté par :  un objet <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></code>, une <a href="http://www.iso.org/iso/home/standards/iso8601.htm">chaîne de date ISO 8601</a>, ou le nombre de millisecondes depuis l'époque. Si elle est fournie, cette option exclut les résultats dont <code>lastVisitTime</code> est antérieure à cette heure. Si elle est omise, la recherche est limitée aux dernières 24 heures.</dd>
- <dt><code>endTime</code> {{optional_inline}}</dt>
- <dd><code>number</code> ou <code>string</code> ou <code>object</code>. Une valeur indiquant une date et une heure. Cela peut être représenté par : un objet <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</a></code>, une <a href="http://www.iso.org/iso/home/standards/iso8601.htm">chaîne de date ISO 8601</a>, ou le nombre de millisecondes depuis l'époque. Si elle est fournie, cette option exclut les résultats dont <code>lastVisitTime</code> est postérieur à cette fois. Si elle est omise, toutes les entrées sont prises en compte à partir de l'heure de début.</dd>
- <dt><code>maxResults</code> {{optional_inline}}</dt>
- <dd><code>number</code>. 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 <code>maxResults</code> inférieure à 1.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>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 :</p>
-
-<pre class="brush: js">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);</pre>
+searching.then(onGot);
+```
-<p>Logs the URL and last visit time for all history items ever visited:</p>
+Logs the URL and last visit time for all history items ever visited:
-<pre class="brush: js">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);</pre>
+searching.then(onGot);
+```
-<p>Consigne l'URL et la dernière visite de la dernière visite sur une page contenant la chaîne "mozilla" :</p>
+Consigne l'URL et la dernière visite de la dernière visite sur une page contenant la chaîne "mozilla" :
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+searching.then(onGot);
+```
-<p>{{Compat("webextensions.api.history.search")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
+{{Compat("webextensions.api.history.search")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -146,5 +155,4 @@ searching.then(onGot);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>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</p>
+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
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt>"link"</dt>
- <dd>L'utilisateur a cliqué sur un lien dans une autre page.</dd>
- <dt>"typed"</dt>
- <dd>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é".</dd>
- <dt>"auto_bookmark"</dt>
- <dd>L'utilisateur a cliqué sur un signet ou un élément dans l'historique du navigateur.</dd>
- <dt>"auto_subframe"</dt>
- <dd>Les iframes imbriqués qui sont automatiquement chargés par leur parent.</dd>
- <dt>"manual_subframe"</dt>
- <dd>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.</dd>
- <dt>"generated"</dt>
- <dd>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.</dd>
- <dt>"auto_toplevel"</dt>
- <dd>La page a été passée à la ligne de commande ou est la page de démarrage.</dd>
- <dt>"form_submit"</dt>
- <dd>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.</dd>
- <dt>"reload"</dt>
- <dd>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.</dd>
- <dt>"keyword"</dt>
- <dd>L'URL a été générée à l'aide d'une <a href="https://support.mozilla.org/en-US/kb/how-search-from-address-bar">recherche par mot clé</a> configuré par l'utilisateur.</dd>
- <dt>"keyword_generated"</dt>
- <dd>Correspond à une visite générée pour un mot clé.</dd>
-</dl>
+- "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é.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.history.TransitionType")}}</p>
+{{Compat("webextensions.api.history.TransitionType")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -87,5 +83,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/history/TransitionType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet décrivant une seule visite sur une page.</p>
+Un objet décrivant une seule visite sur une page.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. L'identifiant unique du {{WebExtAPIRef("history.HistoryItem")}} associé à cette visite.</dd>
- <dt><code>visitId</code></dt>
- <dd><code>string</code>. L'identifiant unique pour cette visite.</dd>
- <dt><code>visitTime</code>{{optional_inline}}</dt>
- <dd><code>number</code>. Lorsque cette visite s'est produite, représentée en millisecondes depuis l'époque.</dd>
- <dt><code>referringVisitId</code></dt>
- <dd><code>string</code>. L'ID de visite du référent.</dd>
- <dt><code>transition</code></dt>
- <dd>{{WebExtAPIRef('history.TransitionType')}}. Décrit comment le navigateur a navigué vers la page à cette occasion.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.history.VisitItem")}}</p>
+{{Compat("webextensions.api.history.VisitItem")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/history"><code>chrome.history</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json"><code>history.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -75,5 +71,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/history/VisitItem
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Détecte la langue du texte fourni à l'aide du <a href="https://github.com/CLD2Owners/cld2">détecteur de langue compact</a> (CLD).</p>
+Détecte la langue du texte fourni à l'aide du [détecteur de langue compact](https://github.com/CLD2Owners/cld2) (CLD).
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var detectingLanguages = browser.i18n.detectLanguage(
+```js
+var detectingLanguages = browser.i18n.detectLanguage(
text // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>text</code></dt>
- <dd><code>string</code>. Chaîne d'entrée de l'utilisateur à traduire.</dd>
-</dl>
+- `text`
+ - : `string`. Chaîne d'entrée de l'utilisateur à traduire.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet résultat. L'objet résultat a deux propriétés :</p>
+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 :
-<dl>
- <dt><code>isReliable</code></dt>
- <dd><code>boolean</code>. Si la langue a été détectée de manière fiable.</dd>
- <dt><code>languages</code></dt>
- <dd><p><code>array</code> d'objets, dont chacun a deux propriétés:</p>
- <dl>
- <dt><code>language</code></dt>
- <dd>{{WebExtAPIRef('i18n.LanguageCode')}}. La langue détectée.</dd>
- <dt><code>percentage</code></dt>
- <dd><code>integer</code>. Le pourcentage de la chaîne d'entrée qui était dans la langue détectée.</dd>
- </dl>
- </dd>
-</dl>
+- `isReliable`
+ - : `boolean`. Si la langue a été détectée de manière fiable.
+- `languages`
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `array` d'objets, dont chacun a deux propriétés:
-<p>{{Compat("webextensions.api.i18n.detectLanguage")}}</p>
+ - `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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<pre class="brush: js">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);
+```
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/i18n"><code>chrome.i18n</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json"><code>i18n.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -108,5 +102,4 @@ detecting.then(onLanguageDetected);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient les <a href="/fr/docs/Web/HTTP/Content_negotiation#The_Accept-Language_header">accept-languages</a> 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')}}.</p>
+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')}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingAcceptLanguages = browser.i18n.getAcceptLanguages()
-</pre>
+```js
+var gettingAcceptLanguages = browser.i18n.getAcceptLanguages()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un <code>array</code> d'objets <code>{{WebExtAPIRef('i18n.LanguageCode')}}</code>.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un `array` d'objets `{{WebExtAPIRef('i18n.LanguageCode')}}`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.i18n.getAcceptLanguages")}}</p>
+{{Compat("webextensions.api.i18n.getAcceptLanguages")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function onGot(languages) {
+```js
+function onGot(languages) {
console.log(languages);
//e.g. Array [ "en-US", "en" ]
}
var gettingAcceptLanguages = browser.i18n.getAcceptLanguages();
gettingAcceptLanguages.then(onGot);
-</pre>
+```
+{{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.
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/i18n"><code>chrome.i18n</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json"><code>i18n.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -86,5 +84,4 @@ gettingAcceptLanguages.then(onGot);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient la chaîne localisée pour le message spécifié.</p>
+Obtient la chaîne localisée pour le message spécifié.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.i18n.getMessage(
+```js
+browser.i18n.getMessage(
messageName, // string
substitutions // optional any
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>messageName</code></dt>
- <dd><p><code>string</code>. Le nom du message, tel que spécifié dans le fichier messages.json. Si le message ne peut pas être trouvé dans messages.json :</p>
- <ul>
- <li>Firefox renvoie "" et enregistre une erreur.</li>
- <li>Chrome renvoie "" et n'enregistre pas d'erreur.</li>
- </ul>
- </dd>
- <dt><code>substitutions</code>{{optional_inline}}</dt>
- <dd><code>string</code> ou <code>array</code> de <code>string</code>. 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, <code>getMessage()</code> renvoie <code>undefined</code>.</dd>
-</dl>
+- `messageName`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `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 :
-<p><code>string</code>. Message localisé pour les paramètres régionaux en cours.</p>
+ - Firefox renvoie "" et enregistre une erreur.
+ - Chrome renvoie "" et n'enregistre pas d'erreur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- `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`.
-<p>{{Compat("webextensions.api.i18n.getMessage")}}</p>
+### Valeur retournée
-<h2 id="Exemples">Exemples</h2>
+`string`. Message localisé pour les paramètres régionaux en cours.
-<p>Obtenez la chaîne localisée pour <code>"messageContent"</code>, avec <code>target.url</code> substitué :</p>
+## Compatibilité du navigateur
-<pre class="brush: js">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);
-</pre>
+```
-<p>Cela fonctionnerait avec un fichier _locales/en/messages.json contenant :</p>
+Cela fonctionnerait avec un fichier \_locales/en/messages.json contenant :
-<pre class="brush: json">{
+```json
+{
"messageContent": {
"message": "You clicked $URL$.",
"description": "Tells the user which link they clicked.",
@@ -68,23 +69,22 @@ console.log(message);
}
}
}
-}</pre>
-
-<p>Si <code>target.url</code> est "https://developer.mozilla.org", alors la valeur de message, dans la locale "en", serait :</p>
-
-<pre>"You clicked https://developer.mozilla.org."</pre>
+}
+```
-<p>{{WebExtExamples}}</p>
+Si `target.url` est "https\://developer.mozilla.org", alors la valeur de message, dans la locale "en", serait :
-<div class="note"><p><strong>Note :</strong></p>
+ "You clicked https://developer.mozilla.org."
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/i18n"><code>chrome.i18n</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json"><code>i18n.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -111,5 +111,4 @@ console.log(message);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.i18n.getUILanguage()
-</pre>
+```js
+browser.i18n.getUILanguage()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun</p>
+Aucun
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p><code>string</code>. Le code de langue de l'interface utilisateur du navigateur en tant que  {{WebExtAPIRef("i18n.LanguageCode")}}.</p>
+`string`. Le code de langue de l'interface utilisateur du navigateur en tant que  {{WebExtAPIRef("i18n.LanguageCode")}}.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.i18n.getUILanguage")}}</p>
+{{Compat("webextensions.api.i18n.getUILanguage")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">var uiLanguage = browser.i18n.getUILanguage();
+```js
+var uiLanguage = browser.i18n.getUILanguage();
console.log(uiLanguage);
-//e.g. "fr"</pre>
+//e.g. "fr"
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/i18n"><code>chrome.i18n</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json"><code>i18n.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -78,5 +79,4 @@ console.log(uiLanguage);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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 <a href="/fr/docs/Web/HTTP/Content_negotiation#The_Accept-Language_header">En-tete "Accept-Language"</a>.</p>
+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).
-<p>Pour plus de détails sur l'utilisation de i18n pour votre extension, voir :</p>
+Pour plus de détails sur l'utilisation de i18n pour votre extension, voir :
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/Internationalization">Internationalization</a>: un guide d'utilisation du système WebExtension i18n.</li>
- <li><a href="/fr/Add-ons/WebExtensions/API/i18n/Locale-Specific_Message_reference">Référence de message spécifique aux paramètres régionaux </a>: Les extensions fournissent des chaînes de caractères locales dans des fichiers appelés <code>messages.json</code>. Cette page décrit le format de <code>messages.json</code>.</li>
-</ul>
+- [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`.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("i18n.LanguageCode")}}</dt>
- <dd>Une <a href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.10">balise de langue</a> telle que <code>"en-US"</code> ou "<code>fr</code>".</dd>
-</dl>
+- {{WebExtAPIRef("i18n.LanguageCode")}}
+ - : Une [balise de langue](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.10) telle que `"en-US"` ou "`fr`".
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("i18n.getAcceptLanguages()")}}</dt>
- <dd>Obtient les <a href="/fr/docs/Web/HTTP/Content_negotiation#The_Accept-Language_header">accept-languages</a> 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')}}.</dd>
- <dt>{{WebExtAPIRef("i18n.getMessage()")}}</dt>
- <dd>Obtient la chaîne localisée pour le message spécifié.</dd>
- <dt>{{WebExtAPIRef("i18n.getUILanguage()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("i18n.detectLanguage()")}}</dt>
- <dd>Détecte la langue du texte fourni en utilisant le <a href="https://github.com/CLD2Owners/cld2">détecteur de langue compact</a>.</dd>
-</dl>
+- {{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).
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.api.i18n")}}</p>
+{{Compat("webextensions.api.i18n")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note">
-<p><strong>Note :</strong>
- Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/i18n"><code>chrome.i18n</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json"><code>i18n.json</code></a> dans le code de Chromium.<br>
- <br>
- Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Une <a href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.10">balise de langue</a> telle que <code>"en-US"</code> ou "<code>fr</code>".</p>
+Une [balise de langue](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.10) telle que `"en-US"` ou "`fr`".
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes.</p>
+Les valeurs de ce type sont des chaînes.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.i18n.LanguageCode")}}</p>
+{{Compat("webextensions.api.i18n.LanguageCode")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/i18n"><code>chrome.i18n</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json"><code>i18n.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -63,5 +61,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/i18n/LanguageCode
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>Chaque extension internationalisée a au moins un fichier nommé <code>messages.json</code> qui fournit des chaînes spécifiques aux paramètres régionaux. Cette page décrit le format des fichiers <code>messages.json</code>.</p>
+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`.
-<div class="note">
-<p><strong>Note :</strong> Pour plus d'informations sur l'internationalisation de vos extensions, consultez notre guide <a href="/fr/Add-ons/WebExtensions/WebExtension_i18n">i18n</a>.</p>
-</div>
+> **Note :** Pour plus d'informations sur l'internationalisation de vos extensions, consultez notre guide [i18n](/fr/Add-ons/WebExtensions/WebExtension_i18n).
-<h2 id="Exemple_messages.json">Exemple messages.json</h2>
+## Exemple messages.json
-<p>Le code suivant montre un exemple de fichier <code>messages.json file</code>, tiré de notre extension <a href="https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n">d'exemple notify-link-clicks-i18n</a>. Seuls les champs "<em>name</em>" et "message" ont obligatoires.</p>
+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.
-<pre class="brush: json">{
+```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
}
}
}
-}</pre>
+}
+```
-<h2 id="Placement">Placement</h2>
+## Placement
-<p>Vos fichiers <code>messages.json</code> doivent être placés dans des répertoires nommés d'après les paramètres régionaux que chacun supporte — <code>en</code>, <code>de</code>, <code>ja</code>, etc. Ceux-ci doivent être placés dans un répertoire appelé <code>_locales</code>, à l'intérieur de la racine de votre extension.</p>
+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.
-<h2 id="Détails_des_membres">Détails des membres</h2>
+## Détails des membres
-<p>Cette section décrit chaque membre qui peut apparaître dans un fichier <code>messages.json</code>.</p>
+Cette section décrit chaque membre qui peut apparaître dans un fichier `messages.json`.
-<h3 id="name">name</h3>
+### name
-<p>Chaque membre de niveau supérieur est nommé d'après le nom de la chaîne de message que vous localisez, par exemple <code>"extensionName"</code> ou <code>"notificationContent"</code> 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é.</p>
+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é.
-<p>Le nom peut inclure les caractères suivants :</p>
+Le nom peut inclure les caractères suivants :
-<ul>
- <li>A-Z</li>
- <li>a-z</li>
- <li>0-9</li>
- <li>_ (underscore)</li>
- <li>@</li>
-</ul>
+- A-Z
+- a-z
+- 0-9
+- \_ (underscore)
+- @
-<div class="note"><p><strong>Note :</strong> Vous ne devez pas définir les noms commençant par @@. Ces noms sont réservés aux <a href="/fr/Add-ons/WebExtensions/Internationalization#Predefined_messages">messages prédéfinis</a>.</p></div>
+> **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).
-<h3 id="message">message</h3>
+### message
-<p>Au moins, cette propriété doit être définie pour chaque chaîne. Le membre <code>"message"</code> contient une chaîne localisée qui peut contenir {{anch("placeholders")}}. Vous pouvez utiliser :</p>
+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 :
-<ul>
- <li><em>$placeholder_name$</em> (case insensitive) pour insérer un espace réservé particulier (par exemple $URL$ dans l'exemple ci-dessus) dans votre chaîne.</li>
- <li><code>$1</code>, <code>$2</code>,<code> $3</code>, etc. pour insérer directement les valeurs obtenues à partir d'un {{WebExtAPIRef("i18n.getMessage()")}} appel dans votre chaîne.</li>
-</ul>
+- _$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.
-<p>Autres points à noter :</p>
+Autres points à noter :
-<ul>
- <li>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, $$ &gt; $, $$$ &gt; $$, etc.</li>
- <li>Lorsque le fichier de paramètres régionaux est lu, les jetons correspondant à  <code>/\$([a-z0-9_@]+)\$/i</code> sont remplacés par la valeur correspondante de l'objet "placeholders" de la chaîne. Ces substitutions se produisent avant le traitement des  <code>/\$\d/</code> jetons dans le message.</li>
- <li>Lorsqu'une chaîne locale est utilisée, les jetons correspondant à <code>/\$\d+/</code> sont remplacés par les remplacements passés à {{WebExtAPIRef("i18n.getMessage()")}}.</li>
- <li><code>getMessage()</code> ne traitera pas les appels avec plus de 9  placeholders/substitutions.</li>
-</ul>
+- 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.
-<h3 id="description">description</h3>
+### description
-<p>{{optional_inline}}</p>
+{{optional_inline}}
-<p>Le membre <code>"description"</code> 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.</p>
+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.
-<h3 id="placeholders">placeholders</h3>
+### placeholders
-<p>{{optional_inline}}</p>
+{{optional_inline}}
-<p>Le membre <code>"placeholders"</code> 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.</p>
+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.
-<p>Chaque définition de sous-chaîne d'espace réservé possède un certain nombre de valeurs :</p>
+Chaque définition de sous-chaîne d'espace réservé possède un certain nombre de valeurs :
-<pre class="brush: json">"url" : {
+```json
+"url" : {
"content" : "$1",
"example" : "https://developer.mozilla.org"
-}</pre>
+}
+```
-<h4 id="Nom_placeholder">Nom placeholder</h4>
+#### Nom placeholder
-<p>Le nom de l'espace réservé est utilisé pour représenter l'espace réservé dans la chaîne de substitution (par exemple <code>"url"</code> devient <code>$url$</code>). Il est insensible à la casse et peut contenir les mêmes caractères qu'une chaîne de message {{anch("name")}}.</p>
+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")}}.
-<h4 id="contenu">contenu</h4>
+#### contenu
-<p>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 <a href="/fr/Add-ons/WebExtensions/Internationalization#Retrieving_message_strings_from_JavaScript">Récupération des chaînes de messages à partir de Javascript</a>.</p>
+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).
-<h4 id="exemple">exemple</h4>
+#### exemple
-<p>{{optional_inline}}</p>
+{{optional_inline}}
-<p>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.</p>
+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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Génère une URL que vous pouvez utiliser comme URL de redirection.</p>
+Génère une URL que vous pouvez utiliser comme URL de redirection.
-<p>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 <code><a href="/fr/Add-ons/WebExtensions/manifest.json/applications">applications</a></code> (sinon, chaque fois que vous installerez <a href="/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox">temporairement l'extension</a>, vous obtiendrez une URL de redirection différente).</p>
+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).
-<p>Voir <a href="/fr/Add-ons/WebExtensions/API/identity#Getting_the_redirect_URL">Obtenir une URL de redirection</a> pour plus d'informations sur les URL de redirection.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var redirectURL = browser.identity.getRedirectURL()
-</pre>
+```js
+var redirectURL = browser.identity.getRedirectURL()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une chaîne contenant une valeur d'URL de redirection.</p>
+Une chaîne contenant une valeur d'URL de redirection.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.identity.getRedirectURL")}}</p>
+{{Compat("webextensions.api.identity.getRedirectURL")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtenez l'URL de redirection :</p>
+Obtenez l'URL de redirection :
-<pre class="brush: js">var redirectURL = browser.identity.getRedirectURL();</pre>
+```js
+var redirectURL = browser.identity.getRedirectURL();
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/identity"><code>chrome.identity</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Utilisez l'API d'identité pour obtenir un code d'autorisation ou un jeton d'accès <a href="https://oauth.net/2/">OAuth2</a>, 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).</p>
+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).
-<p>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 :</p>
+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 :
-<ul>
- <li><a href="https://developers.google.com/identity/protocols/OAuth2UserAgent">https://developers.google.com/identity/protocols/OAuth2UserAgent</a></li>
- <li><a href="https://developer.github.com/v3/oauth/">https://developer.github.com/v3/oauth/</a></li>
-</ul>
+- <https://developers.google.com/identity/protocols/OAuth2UserAgent>
+- <https://developer.github.com/v3/oauth/>
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>Pour utiliser cette API, vous devez posséder la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API </a>"identity"</p>
+Pour utiliser cette API, vous devez posséder la [permission de l'API ](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions)"identity"
-<h2 id="Installer">Installer</h2>
+## Installer
-<p>Il y a une certaine configuration que vous devez faire avant de publier votre extension.</p>
+Il y a une certaine configuration que vous devez faire avant de publier votre extension.
-<h3 id="Obtenir_l'URL_de_redirection">Obtenir l'URL de redirection</h3>
+### Obtenir l'URL de redirection
-<p>L'<a href="https://www.oauth.com/oauth2-servers/redirect-uris/">URL de redirection</a> 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..</p>
+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..
-<p>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 <code><a href="/fr/Add-ons/WebExtensions/manifest.json/applications">applications</a></code> (sinon, chaque fois que vous <a href="/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox">installez temporairement le module complémentaire</a>, vous obtiendrez une URL de redirection différente).</p>
+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).
-<p>Vous n'avez pas besoin d'utiliser l'URL de redirection retournée par  <code>identity.getRedirectURL()</code>: 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.</p>
+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.
-<p>Vous utiliserez l'URL de redirection à deux endroits :</p>
+Vous utiliserez l'URL de redirection à deux endroits :
-<ul>
- <li>Fournissez-le lors de l'enregistrement de votre extension en tant que client OAuth2</li>
- <li>Transmettez-le dans <code>identity.launchWebAuthFlow()</code>, en tant que paramètre d'URL ajouté à l'argument <code>url</code> de cette fonction.</li>
-</ul>
+- 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.
-<h3 id="Enregistrement_de_votre_extension">Enregistrement de votre extension</h3>
+### Enregistrement de votre extension
-<p>Avant de pouvoir utiliser OAuth2 avec un fournisseur de services, vous devez enregistrer l'extension auprès du fournisseur en tant que client OAuth2.</p>
+Avant de pouvoir utiliser OAuth2 avec un fournisseur de services, vous devez enregistrer l'extension auprès du fournisseur en tant que client OAuth2.
-<p>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()")}}.</p>
+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()")}}.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("identity.getRedirectURL()")}}</dt>
- <dd>Obtient l'URL de redirection.</dd>
- <dt>{{WebExtAPIRef("identity.launchWebAuthFlow()")}}</dt>
- <dd>Lancement WAF.</dd>
-</dl>
+- {{WebExtAPIRef("identity.getRedirectURL()")}}
+ - : Obtient l'URL de redirection.
+- {{WebExtAPIRef("identity.launchWebAuthFlow()")}}
+ - : Lancement WAF.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.identity")}}</p>
+{{Compat("webextensions.api.identity")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/identity"><code>chrome.identity</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -102,5 +94,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/identity
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Effectue la première partie d'un flux <a href="https://oauth.net/2/">OAuth2</a> y compris l'authentification de l'utilisateur et l'autorisation du client.</p>
+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.
-<p>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'<a href="/fr/Add-ons/WebExtensions/API/identity#Getting_the_redirect_URL">URL de redirection</a> et l'<a href="/fr/Add-ons/WebExtensions/API/identity#Registering_your_add-on">ID client</a> de l'extension. Le fournisseur de service alors :</p>
+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 :
-<ul>
- <li>authentifie l'utilisateur auprès du fournisseur de services, si nécessaire (c'est-à-dire: s'ils ne sont pas déjà connectés)</li>
- <li>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)</li>
-</ul>
+- 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)
-<p>Notez que si aucune authentification ou autorisation n'est nécessaire, cette fonction se terminera silencieusement, sans interaction de l'utilisateur.</p>
+Notez que si aucune authentification ou autorisation n'est nécessaire, cette fonction se terminera silencieusement, sans interaction de l'utilisateur.
-<p>Cette fonction prend également un paramètre facultatif <code>interactif</code>: 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.</p>
+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.
-<p>Cette fonction renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>: 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.</p>
+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.
-<p>S'il y a une erreur, la promesse est rejetée avec un message d'erreur. Les conditions d'erreur peuvent inclure :</p>
+S'il y a une erreur, la promesse est rejetée avec un message d'erreur. Les conditions d'erreur peuvent inclure :
-<ul>
- <li>l'URL du fournisseur de services n'a pas pu être atteinte</li>
- <li>l'ID du client ne correspond pas à l'ID d'un client enregistré</li>
- <li>l'URL de redirection ne correspond à aucune URL de redirection enregistrée pour ce client</li>
- <li>l'utilisateur ne s'est pas authentifié avec succès</li>
- <li>l'utilisateur n'a pas autorisé l'extension</li>
- <li>Le paramètre <code>interactif</code> a été omis ou faux, mais l'interaction de l'utilisateur aurait été nécessaire pour autoriser l'extension.</li>
-</ul>
+- 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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var authorizing = browser.identity.launchWebAuthFlow(
+```js
+var authorizing = browser.identity.launchWebAuthFlow(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Options pour le flux, contenant les propriétés suivantes :</p>
- <dl>
- <dt><code>url</code></dt>
- <dd>
- <p><code>string</code>. 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 :</p>
+- `details`
- <ul>
- <li>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 <a href="/fr/Add-ons/WebExtensions/API/identity#Getting_the_redirect_URL">Obtenir l'URL de redirection</a>.</li>
- </ul>
- </dd>
- <dt><code>interactive</code> {{optional_inline}}</dt>
- <dd>
- <p><code>boolean</code>. Si omis ou <code>false</code>, force le flux à se terminer en silence, sans interaction de l'utilisateur.</p>
+ - : `object`. Options pour le flux, contenant les propriétés suivantes :
- <p>Si l'utilisateur est déjà connecté et a déjà accordé l'accès pour l'extension, <code>launchWebAuthFlow()</code> 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), <code>launchWebAuthFlow()</code> invite l'utilisateur, c'est-à-dire que le flux sera interactif.</p>
+ - `url`
- <p>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).</p>
+ - : `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 :
- <p>TC'est le but de l'<code>interactif</code>: Si vous omettez <code>interactif</code> ou le définissez sur <code>false</code>, 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 <code>interactif</code> à <code>true</code> si vous lancez le flux en réponse à une action de l'utilisateur, et omettez le sinon.</p>
- </dd>
- </dl>
- </dd>
-</dl>
+ - 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).
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - `interactive` {{optional_inline}}
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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. </p>
+ - : `boolean`. Si omis ou `false`, force le flux à se terminer en silence, sans interaction de l'utilisateur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ 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.
-<p>{{Compat("webextensions.api.identity.launchWebAuthFlow")}}</p>
+ 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).
-<h2 id="Exemples">Exemples</h2>
+ 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.
-<p>Cette fonction autorise une extension des données Google d'un utilisateur, conformément à la documentation disponible à l'adresse  <a href="https://developers.google.com/identity/protocols/OAuth2UserAgent">https://developers.google.com/identity/protocols/OAuth2UserAgent</a>. La validation du jeton d'accès renvoyé n'est pas affichée ici :</p>
+### Valeur retournée
-<pre class="brush: js">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  <https://developers.google.com/identity/protocols/OAuth2UserAgent>. 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 += `&amp;response_type=token`;
- authURL += `&amp;redirect_uri=${encodeURIComponent(redirectURL)}`;
- authURL += `&amp;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);
-}</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+}
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/identity"><code>chrome.identity</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Chaîne d'écrivant l'état d'inactivité du périphérique.</p>
+Chaîne d'écrivant l'état d'inactivité du périphérique.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : <code>"active"</code>, <code>"idle"</code>, <code>"locked"</code>.</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : `"active"`, `"idle"`, `"locked"`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.idle.IdleState")}}</p>
+{{Compat("webextensions.api.idle.IdleState")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/idle"><code>chrome.idle</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/idle.json"><code>idle.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -62,5 +60,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/idle/IdleState
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Découvrez quand le système de l'utilisateur est inactif, vérouillé ou actif.</p>
+Découvrez quand le système de l'utilisateur est inactif, vérouillé ou actif.
-<p>Pour utiliser cette API, vous disposez de la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "idle" .</p>
+Pour utiliser cette API, vous disposez de la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "idle" .
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("idle.IdleState")}}</dt>
- <dd>
- <p>Chaîne décrivant l'état d'inactivité du périphérique</p>
- </dd>
-</dl>
+- {{WebExtAPIRef("idle.IdleState")}}
+ - : Chaîne décrivant l'état d'inactivité du périphérique
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("idle.queryState()")}}</dt>
- <dd>Renvoie <code>"locked"</code> si le système est verrouillé, <code>"idle"</code> si l'utilisateur n'a généré aucune entrée pendant un nombre de secondes spécifié, ou sinon <code>"active"</code></dd>
- <dt>{{WebExtAPIRef("idle.setDetectionInterval()")}}</dt>
- <dd>Définit l'intervalle utilisé pour déterminer quand le système est inactif pour les événements  {{WebExtAPIRef("idle.onStateChanged")}}.</dd>
-</dl>
+- {{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")}}.
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt>{{WebExtAPIRef("idle.onStateChanged")}}</dt>
- <dd>Définit quand le système change d'état.</dd>
-</dl>
+- {{WebExtAPIRef("idle.onStateChanged")}}
+ - : Définit quand le système change d'état.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.idle")}}</p>
+{{Compat("webextensions.api.idle")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/idle"><code>chrome.idle</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/idle.json"><code>idle.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -84,5 +74,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/idle
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 :</p>
+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 :
-<ul>
- <li>"vérouillé" si l'écran est vérouillé ou si l'économisateur d'écran s'active</li>
- <li>"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()")}}.</li>
- <li>"actif" quand l'utilisateur génère une entrée sur un système inactif.</li>
-</ul>
+- "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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.idle.onStateChanged.addListener(listener)
+```js
+browser.idle.onStateChanged.addListener(listener)
browser.idle.onStateChanged.removeListener(listener)
browser.idle.onStateChanged.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrétez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si l' <code>écouteur</code> est enregistré pour cet événement. Retourne <code>true</code> s'il écoute, <code>false</code> sinon.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>newState</code></dt>
- <dd>{{WebExtAPIRef('idle.IdleState')}}. Le nouvel état est inactif.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `newState`
+ - : {{WebExtAPIRef('idle.IdleState')}}. Le nouvel état est inactif.
-<p>{{Compat("webextensions.api.idle.onStateChanged")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.idle.onStateChanged")}}
-<pre class="brush: js">function newState(state) {
+## Exemples
+
+```js
+function newState(state) {
console.log(`New state: ${state}`);
}
-browser.idle.onStateChanged.addListener(newState);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.idle.onStateChanged.addListener(newState);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/idle"><code>chrome.idle</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/idle.json"><code>idle.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -107,5 +99,4 @@ browser.idle.onStateChanged.addListener(newState);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Renvoie <code>"locked"</code> si le système est vérouillé, <code>"inactif"</code> si l'utilisation n'a généré aucune entrée pendant un nombre de secondes spécifié, ou <code>"actif"</code> dans le cas contraire.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var querying = browser.idle.queryState(
+```js
+var querying = browser.idle.queryState(
detectionIntervalInSeconds // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>detectionIntervalInSeconds</code></dt>
- <dd><code>integer</code>. Le système est considéré inactif si  <code>detectionIntervalInSeconds</code> secondes s'est écoulé depuis la dernière entrée utilisateur détectée.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_renvoyée">Valeur renvoyée</h3>
+### Valeur renvoyée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec une chaîne {{WebExtAPIRef('idle.IdleState')}}, indiquant l'état actuel.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une chaîne {{WebExtAPIRef('idle.IdleState')}}, indiquant l'état actuel.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.idle.queryState")}}</p>
+{{Compat("webextensions.api.idle.queryState")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Dans cet extrait simple, nous appelons <code>queryState()</code> et vérifions si le <code>newState</code> est <code>inactif</code> ou <code>active</code>, en enregistrant un message selon le cas. Comme nous avons spécifié une valeur de  <code>detectionIntervalInSeconds</code> de 15, un état <code>inactif</code>  ne sera signalé que s'il n'y a pas eu d'activité de l'utilisateur depuis au moins 15 secondes</p>
+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
-<pre class="brush: js">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);</pre>
+querying.then(onGot);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/idle"><code>chrome.idle</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/idle.json"><code>idle.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -94,5 +93,4 @@ querying.then(onGot);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.idle.setDetectionInterval(
+```js
+browser.idle.setDetectionInterval(
intervalInSeconds // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>intervalInSeconds</code></dt>
- <dd><code>integer</code>. 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.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.idle.setDetectionInterval")}}</p>
+{{Compat("webextensions.api.idle.setDetectionInterval")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">browser.idle.setDetectionInterval(15);</pre>
+```js
+browser.idle.setDetectionInterval(15);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/idle"><code>chrome.idle</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/idle.json"><code>idle.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -78,5 +77,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/idle/setDetectionInterval
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Les APIs WebExtensions en JavaScript peuvent être utilisées au sein des <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension">scripts d’arrière plan</a> de l’extension et dans tout autre document livré avec celle-ci. Ceci inclut les pop-ups relatives à une <a href="/fr/Add-ons/WebExtensions/user_interface/Browser_action">action navigateur</a> ou <a href="/fr/Add-ons/WebExtensions/user_interface/Page_actions">action de page</a>, <a href="/fr/Add-ons/WebExtensions/user_interface/barres_laterales">barres latérales</a>, <a href="/fr/Add-ons/WebExtensions/user_interface/Options_pages">pages d’options</a>, ou <a href="/fr/Add-ons/WebExtensions/manifest.json/chrome_url_overrides">pages de nouvel onglet</a>. Certaines de ces APIs peuvent également être interrogées par des <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Content_scripts">scripts de contenu</a> de l’extension (voir la <a href="/fr/Add-ons/WebExtensions/Content_scripts#WebExtension_APIs">liste dans le guide des scripts de contenu</a>).</p>
+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)).
-<p>Pour utiliser les APIs plus puissantes, vous devez en <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">demander la permission</a> dans le manifest.json de votre extension.</p>
+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.
-<p>Vous pouvez accéder aux APIs en utilisant l’espace de noms <code>browser</code> :</p>
+Vous pouvez accéder aux APIs en utilisant l’espace de noms `browser` :
-<pre class="brush: js">function afficherTabs (tabs) {
+```js
+function afficherTabs (tabs) {
console.log(tabs)
}
-browser.tabs.query({currentWindow: true}, afficherTabs)</pre>
+browser.tabs.query({currentWindow: true}, afficherTabs)
+```
+De nombreuses APIs sont asynchrones et retournent une {{JSxRef("Promise")}}:
-<p>De nombreuses APIs sont asynchrones et retournent une {{JSxRef("Promise")}}:</p>
-
-<pre class="brush: js">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)</pre>
-
+setCookie.then(logCookie, afficherErreur)
+```
-<div>
-<p>Notez que ceci est différent du système d'extension de Google Chrome, qui utilise l’espace de noms <code>chrome</code> à la place de <code>browser</code>, 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 <code>chrome</code> et les fonctions de rappel ainsi que <code>browser</code> et les promesses. Mozilla a également écrit une prothèse d’émulation (polyfill) permettant au code qui utilise <code>browser</code> et les promesses de fonctionner sans modification dans Chrome: <a href="https://github.com/mozilla/webextension-polyfill">https://github.com/mozilla/webextension-polyfill</a>.</p>
+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>.
-<p>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.</p>
+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.
-<p>Microsoft Edge utilise l’espace de noms <code>browser</code>, 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.</p>
+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.
-<p>Tous les navigateurs ne sont pas compatibles avec toutes les APIs : pour de plus amples informations, consultez <a href="/fr/Add-ons/WebExtensions/prise_en_charge_du_navigateur_pour_les_api_javascript">la compatibilité navigateur pour les APIs JavaScript</a>.</p>
+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).
-<p>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 <a href="https://extensionworkshop.com/documentation/develop/debugging/#developer-tools-toolbox">boîte à outils</a>. Par exemple, voici le premier exemple de code sur cette page fonctionnant dans la console de la boîte à outils dans Firefox Developpeur Edition :</p>
+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 :
-<p><img alt="Illustration of a snippet of web extension code run from the console in the Toolbox" src="javaScript_exercised_in_console.jpg"></p>
+![Illustration of a snippet of web extension code run from the console in the Toolbox](javaScript_exercised_in_console.jpg)
-<h2 id="Liste_des_API_JavaScript">Liste des API JavaScript</h2>
+## Liste des API JavaScript
-<p>Voir ci-dessous pour une liste complète des API JavaScript :</p>
-</div>
+Voir ci-dessous pour une liste complète des API JavaScript :
-<div>{{SubpagesWithSummaries}}</div>
+{{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
---
-<div>{{AddonSidebar()}}</div>
-
-<p>Un objet <code>ExtensionInfo</code> contenant les informations sur l'extension.</p>
-
-<h2 id="Type">Type</h2>
-
-<p>Il s'agit d'un objet avec les propriétés suivantes :</p>
-
-<dl>
- <dt><code>description</code></dt>
- <dd><code>string</code>. La description de l'extension, prise à partir de la clé de <a href="/fr/Add-ons/WebExtensions/manifest.json/description">description</a> du manifest.json.</dd>
- <dt><code>disabledReason</code></dt>
- <dd><code>string</code>. Si l'extension est désactivée, la raison pour laquelle il a été désactivé. L'une des "inconnnues' or "permissions_increase".</dd>
- <dt><code>enabled</code></dt>
- <dd><code>boolean</code>. Que l'extension soit activée ou pas.</dd>
- <dt><code>homepageUrl</code></dt>
- <dd><code>string</code>. L'URL de la page d'accueil de l'extension, prise en compte de la clé  <a href="/fr/Add-ons/WebExtensions/manifest.json/homepage_url">homepage_url</a> du fichier manifest.json.</dd>
- <dt><code>hostPermissions</code></dt>
- <dd><code>ensemble</code> de <code>chaîne</code>. Les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôtes</a> de l'extension.</dd>
- <dt><code>icons</code></dt>
- <dd><p><code>array</code> of <code>object</code>. les informations sur les icônes des extensions. Un tableau d'objets, un par chaque icône. Chaque objet contient deux propriétés :</p>
- <ul>
- <li><code>size</code>: un entier représentant la largeur et la hauteur de l'icônes en pixels.</li>
- <li><code>url</code>: une chaîne contenant l'url relative de l'icône, en commençant par la racine de l'extensions.</li>
- </ul>
- </dd>
- <dt><code>id</code></dt>
- <dd><code>string</code>. l'ID de l'extension.</dd>
- <dt><code>installType</code></dt>
- <dd><p><code>string</code>. Une chaîne décriantn comme l'extension a été ajouté. Une des options suivantes :</p>
- <ul>
- <li>"admin": l'extension a été installé en raison d'une politique administrative.</li>
- <li>"development": l'extension a été installé décompressé sur le disque.</li>
- <li>"normal": l'extension a été installé normalement à partir du package d'installation.</li>
- <li>"sideload": l'extension a été installé par un autre logiciel sur l'ordinateur de l'utilisateur.</li>
- <li>"other": l'extension a été installé d'une autre manière.</li>
- </ul>
- </dd>
- <dt><code>mayDisable</code></dt>
- <dd><code>boolean</code>. Que cette extensions a été désactivé ou désinstallé par l'utilisateur.</dd>
- <dt><code>name</code></dt>
- <dd><code>string</code>. Le nom de l'extension, pris à partir de la clé <a href="/fr/Add-ons/WebExtensions/manifest.json/name">name</a> du manifest.json.</dd>
- <dt><code>offlineEnabled</code></dt>
- <dd><code>boolean</code>. Que les demandes de l'extensions soient prises en charge hors connexion.</dd>
- <dt><code>optionsUrl</code></dt>
- <dd><code>string</code>. l'URL pour la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Options_pages">page d'options</a> de l'élément, s'il y en a un. Il s'agit d'une URL relative, à partir de la racine de l'extension.</dd>
- <dt><code>permissions</code></dt>
- <dd><code>array</code> of <code>string</code>. les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permissions de l'API</a> de l'extension.</dd>
- <dt><code>shortName</code></dt>
- <dd><code>string</code>. Une courte version du nom de l'extension, prise à partir de la clé  <a href="/fr/Add-ons/WebExtensions/manifest.json/short_name">short_name</a> du manifest.json.</dd>
- <dt><code>type</code></dt>
- <dd><p><code>string</code>. 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 :</p>
- <ul>
- <li>"extension": le type d'extension la plus courante.</li>
- <li>"hosted_app"</li>
- <li>"packaged_app"</li>
- <li>"legacy_packaged_app"</li>
- <li>"theme"</li>
- </ul>
- </dd>
- <dt><code>updateUrl</code></dt>
- <dd><code>string</code>. URL pour la mise à jour de l'extension, tiré de la clé <a href="/fr/Add-ons/WebExtensions/manifest.json/applications">applications</a> de manifest.json.</dd>
- <dt><code>version</code></dt>
- <dd><code>string</code>. La version de l'extension, tiré de la clé <a href="/fr/Add-ons/WebExtensions/manifest.json/version">version</a> du manifest.json</dd>
- <dt><code>versionName</code></dt>
- <dd><code>string</code>. Le nom descriptif pour la version de l'extension, tiré de la clé  <a href="/fr/Add-ons/WebExtensions/manifest.json/version_name">version_name</a> du manifest.json.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.management.ExtensionInfo")}}</p>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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](/fr/Add-ons/WebExtensions/manifest.json/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](/fr/Add-ons/WebExtensions/manifest.json/homepage_url) du fichier manifest.json.
+- `hostPermissions`
+ - : `ensemble` de `chaîne`. Les [permissions d'hôtes](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) 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](/fr/Add-ons/WebExtensions/manifest.json/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](/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Options_pages) 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](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) de l'extension.
+- `shortName`
+ - : `string`. Une courte version du nom de l'extension, prise à partir de la clé  [short_name](/fr/Add-ons/WebExtensions/manifest.json/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](/fr/Add-ons/WebExtensions/manifest.json/applications) de manifest.json.
+- `version`
+ - : `string`. La version de l'extension, tiré de la clé [version](/fr/Add-ons/WebExtensions/manifest.json/version) du manifest.json
+- `versionName`
+ - : `string`. Le nom descriptif pour la version de l'extension, tiré de la clé  [version_name](/fr/Add-ons/WebExtensions/manifest.json/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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -121,5 +117,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/management/ExtensionInfo
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Récupère un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}} contenant des informations sur l'extension spécifiée.</p>
+Récupère un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}} contenant des informations sur l'extension spécifiée.
-<p>Cette API requière la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission API</a> "management"</p>
+Cette API requière la [permission API](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management"
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingInfo = browser.management.get(
+```js
+var gettingInfo = browser.management.get(
id // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. l'ID de l'extension dont vous souhaitez récupérer les informations.</dd>
-</dl>
+- `id`
+ - : `string`. l'ID de l'extension dont vous souhaitez récupérer les informations.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.management.get")}}</p>
+{{Compat("webextensions.api.management.get")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Enregistrez le nom de l'extension dont l'ID est "my-add-on":</p>
+Enregistrez le nom de l'extension dont l'ID est "my-add-on":
-<pre class="brush: js">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);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -92,5 +90,4 @@ getting.then(got);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Récupère un ensemble d'objets {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}, un pour chaque extension installé.</p>
+Récupère un ensemble d'objets {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}, un pour chaque extension installé.
-<p>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é <code>type</code> de  {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}.</p>
+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")}}.
-<p>Cette API requiert la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission de l'API</a> de "management"</p>
+Cette API requiert la [permission de l'API](/fr/Add-ons/WebExtensions/manifest.json/permissions) de "management"
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingAll = browser.management.getAll()
-</pre>
+```js
+var gettingAll = browser.management.getAll()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera rempli avec un ensemble d'objets  {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}, un pour chaque extension installée.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.management.getAll")}}</p>
+{{Compat("webextensions.api.management.getAll")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Enregistrez le nom de toutes les extensions installées :</p>
+Enregistrez le nom de toutes les extensions installées :
-<pre class="brush: js">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);</pre>
+gettingAll.then(gotAll);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -90,5 +91,4 @@ gettingAll.then(gotAll);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{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.
-<div>Lorsque l'utilisateur installe ou met  à jour une extension, le navigateur peut avertir l'utilisateur des <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> 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.</div>
+Compte tenu de l'ID d'une extension, cette fonction retourne les avertisseurs de permissions comme un tableau de chaînes.
-<div></div>
+Cette API requière l'[API permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management"
-<p>Compte tenu de l'ID d'une extension, cette fonction retourne les avertisseurs de permissions comme un tableau de chaînes.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<p>Cette API requière l'<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">API permission</a> "management"</p>
+## Syntaxe
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">var gettingWarnings = browser.management.getPermissionWarningsById(
+```js
+var gettingWarnings = browser.management.getPermissionWarningsById(
id // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. ID de l'extension dont vous souhaitez récupérer les avertisseurs de permissions.</dd>
-</dl>
+- `id`
+ - : `string`. ID de l'extension dont vous souhaitez récupérer les avertisseurs de permissions.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un ensemble de chaînes, chacune contenant un texte d'un avertissement de permissions.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.management.getPermissionWarningsById")}}</p>
+{{Compat("webextensions.api.management.getPermissionWarningsById")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Enregistrez les avertissements de permissions pour l'extension dont l'ID est "my-add-on" :</p>
+Enregistrez les avertissements de permissions pour l'extension dont l'ID est "my-add-on" :
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
-</div>
+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.
+>
+> <div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+> //
+> // Redistribution and use in source and binary forms, with or without
+> // modification, are permitted provided that the following conditions are
+> // met:
+> //
+> // * Redistributions of source code must retain the above copyright
+> // notice, this list of conditions and the following disclaimer.
+> // * Redistributions in binary form must reproduce the above
+> // copyright notice, this list of conditions and the following disclaimer
+> // in the documentation and/or other materials provided with the
+> // distribution.
+> // * Neither the name of Google Inc. nor the names of its
+> // contributors may be used to endorse or promote products derived from
+> // this software without specific prior written permission.
+> //
+> // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+> // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+> // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+> // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+> // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+> // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+> // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+> // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+> // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+> // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+> // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+> </pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{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.
-<div>Lorsque l'utilisateur installe ou met à jour une extension, la navigateur peut avertir l'utilisateur des <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> obligatoires. Toutes les permissions ne donnent pas lieu à des avertissements, et cela n'est pas normalisé dans les navigateurs.</div>
+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.
-<div></div>
+Cette API _ne requière pas_ l'[API de permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management".
-<p>Compte tenu du texte du fichier <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a>, cette fonction retourne les avertisseurs de permissions qui seraient donnés pour l'extension comme un ensemble de chaines.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<p>Cette API <em>ne requière pas</em> l'<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">API de permission</a> "management".</p>
+## Syntaxe
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">var gettingWarnings = browser.management.getPermissionWarningsByManifest(
+```js
+var gettingWarnings = browser.management.getPermissionWarningsByManifest(
manifestString // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>manifestString</code></dt>
- <dd><code>string</code>. Chaîne contenant le fichier manifest. Cela doit être un manifest valide : par exemple, il doit contenir toutes les clés obligatoires du manifest..</dd>
-</dl>
+- `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..
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera rempli avec un ensemble de chaînes, chacune contenant le texte un avertisseur de permission.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.management.getPermissionWarningsByManifest")}}</p>
+{{Compat("webextensions.api.management.getPermissionWarningsByManifest")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Enregistrez les avertissements de permissions dans le fichier manifest donné :</p>
+Enregistrez les avertissements de permissions dans le fichier manifest donné :
-<pre class="brush: js">var manifest = {
+```js
+var manifest = {
"manifest_version": 2,
"name": "test",
"version": "1.0",
- "permissions": ["management", "&lt;all_urls&gt;"]
+ "permissions": ["management", "<all_urls>"]
}
var manifestString = JSON.stringify(manifest);
@@ -67,19 +63,18 @@ function gotError(error) {
}
var gettingWarnings = browser.management.getPermissionWarningsByManifest(manifestString);
-gettingWarnings.then(gotWarnings, gotError);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+gettingWarnings.then(gotWarnings, gotError);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -106,5 +101,4 @@ gettingWarnings.then(gotWarnings, gotError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Récupère un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}} contenant les informations de l'extension appelée.</p>
+Récupère un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}} contenant les informations de l'extension appelée.
-<p>Cette API <em>ne requière pas</em> l' <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">API de permission</a> "management".</p>
+Cette API _ne requière pas_ l' [API de permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management".
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingSelf = browser.management.getSelf()
-</pre>
+```js
+var gettingSelf = browser.management.getSelf()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun.</p>
+Aucun.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}, contenant les informations sur l'extension.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.management.getSelf")}}</p>
+{{Compat("webextensions.api.management.getSelf")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Enregistrez le nom de l'extension :</p>
+Enregistrez le nom de l'extension :
-<pre class="brush: js">function gotSelf(info) {
+```js
+function gotSelf(info) {
console.log("Add-on name: " + info.name);
}
var gettingSelf = browser.management.getSelf();
-gettingSelf.then(gotSelf);</pre>
+gettingSelf.then(gotSelf);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -84,5 +85,4 @@ gettingSelf.then(gotSelf);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
-
-<p>Obtenez les éléments sur les modules complémentaires installés.</p>
-
-<p>Avec l'API de <code>gestion</code> vous pouvez :</p>
-
-<ul>
- <li>Obtenir des informations sur les modules complémentaires installés</li>
- <li>Activer / Désactiver les modules complémentaires</li>
- <li>Désinstaller les modules complémentaires</li>
- <li>Découvrez quels sont les alertes des permissions envoyés particulièrement par les modules complémentaires ou les manifest</li>
- <li>Obtenir les notifications sur l'ajout des modules complémentaires, désinstallé, activé ou désactivé.</li>
-</ul>
-
-<p>La plupart de ces opérations requièrent les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions d'APIs</a> de gestion. Les opérations qui ne fournissent pas d'accès à d'autres modules complémentaires ne nécessitent pas de permissions.</p>
-
-<h2 id="Types">Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("management.ExtensionInfo")}}</dt>
- <dd>Un objet contenant des informations sur un module complémentaire installé.</dd>
-</dl>
-
-<h2 id="Fonctions">Fonctions</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("management.getAll()")}}</dt>
- <dd>Renvoie des informations sur tous les modules complémentaires installés</dd>
- <dt>{{WebExtAPIRef("management.get()")}}</dt>
- <dd>Renvoie des informations sur un module complémentaire particulier, compte tenu de son ID.</dd>
- <dt>{{WebExtAPIRef("management.getSelf()")}}</dt>
- <dd>Renvoie des informations sur l'appel du module complémentaire.</dd>
- <dt>{{WebExtAPIRef("management.install()")}}</dt>
- <dd>Installe un thème particulier, étant donné son URL à l'adresse  <a href="https://addons.mozilla.org">addons.mozilla.org</a>.</dd>
- <dt>{{WebExtAPIRef("management.uninstall()")}}</dt>
- <dd>Désinstalle un module complémenaire particulier, compte tenu de son ID.</dd>
- <dt>{{WebExtAPIRef("management.uninstallSelf()")}}</dt>
- <dd>Désinstalle l'appel d'un module complémentaire.</dd>
- <dt>{{WebExtAPIRef("management.getPermissionWarningsById()")}}</dt>
- <dd>Obtenez l'ensemble des alertes des permissions particulièrement pour un module complémentaire, compte tenu de son ID.</dd>
- <dt>{{WebExtAPIRef("management.getPermissionWarningsByManifest()")}}</dt>
- <dd>Obtenez l'ensemble des alertes de permission qui seraient affichés pour la chaîne de manifest donnée.</dd>
- <dt>{{WebExtAPIRef("management.setEnabled()")}}</dt>
- <dd>Activer / désactiver un module complémentaire, compte tenu de son ID.</dd>
-</dl>
-
-<h2 id="Evénements">Evénements</h2>
-<dl>
- <dt>{{WebExtAPIRef("management.onInstalled")}}</dt>
- <dd>Action quand un module complémentaire est installé.</dd>
- <dt>{{WebExtAPIRef("management.onUninstalled")}}</dt>
- <dd>Action quand un module complémentaire est désinstallé.</dd>
- <dt>{{WebExtAPIRef("management.onEnabled")}}</dt>
- <dd>Action quand un module complémentaire est activé.</dd>
- <dt>{{WebExtAPIRef("management.onDisabled")}}</dt>
- <dd>Action quand un module complémenaire est désactivé.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.management")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2012 The Chromium Authors. All rights reserved.
+{{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](/fr/Add-ons/WebExtensions/manifest.json/permissions) 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](https://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`](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.
+
+<div class="hidden"><pre>// Copyright 2012 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -109,5 +100,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/management
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}Installe et active une extension de thème à partir de l'URL donnée.
-<div>Installe et active une extension de thème à partir de l'URL donnée.</div>
+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.
-<div></div>
+C'est une fonction asynchrone qui renvoie une [Promise](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<p>Cette API nécessite la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission de l'API</a> "management" et ne fonctionnera qu'avec des thèmes signés.</p>
+## Syntaxe
-<p>C'est une fonction asynchrone qui renvoie une <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a>.</p>
+```js
+let {id} = await browser.management.install({url});
+```
-<h2 id="Syntaxe">Syntaxe</h2>
+### Paramètres
-<pre class="brush: js">let {id} = await browser.management.install({url});
-</pre>
+- 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.
-<h3 id="Paramètres">Paramètres</h3>
+### Valeur retournée
-<dl>
- <dt>options</dt>
- <dd>Un objet qui inclut l'URL du fichier XPI du thème à <a href="https://addons.mozilla.org">addons.mozilla.org</a> et un hachage facultatif du fichier XPI, en utilisant sha256 ou plus.</dd>
-</dl>
+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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+## Compatibilité du navigateur
-<p>Une <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a> qui sera remplie avec un objet, contenant l'<code>ExtensionID</code> défini pour le thème dans manifest.json.</p>
+{{Compat("webextensions.api.management.install")}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Exemples
-<p>{{Compat("webextensions.api.management.install")}}</p>
+Parcourez une liste de thèmes :
-<h2 id="Exemples">Exemples</h2>
-
-<p>Parcourez une liste de thèmes :</p>
-
-<pre class="brush: js">"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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
let id = themes.indexOf(current);
install(themes[(id + 1) % themes.length]);
});
@@ -75,9 +71,10 @@ browser.browserAction.onClicked.addListener(() =&gt; {
for (let url of themes) {
browser.menus.create({
title: url,
- onclick: () =&gt; install(url),
+ onclick: () => install(url),
contexts: ["browser_action"],
});
-}</pre>
+}
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Action quand l'extension est désactivée.</p>
+Action quand l'extension est désactivée.
-<p>L'API requière l'<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">API de permission</a> "management".</p>
+L'API requière l'[API de permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management".
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.management.onDisabled.addListener(listener)
+```js
+browser.management.onDisabled.addListener(listener)
browser.management.onDisabled.removeListener(listener)
browser.management.onDisabled.hasListener(listener)
-</pre>
+```
-<p>Les événement ont trois fonctions :</p>
+Les événement ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoutez un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>L'argument de l'auditeur est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si l'auditeur est enregistré à l'événement. Renvoie <code>true</code> s'il est à l'écoute, sinon <code>false</code> .</dd>
-</dl>
+- `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` .
-<h2 id="addListener_syntaxe">addListener syntaxe</h2>
+## addListener syntaxe
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>function</code></dt>
- <dd>
- <p>Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :</p>
+- `function`
- <dl>
- <dt><code>info</code></dt>
- <dd><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/management/ExtensionInfo">ExtensionInfo</a></code>: informations de l'extension qui a été désactivé</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `info`
+ - : [`ExtensionInfo`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/management/ExtensionInfo): informations de l'extension qui a été désactivé
-<p>{{Compat("webextensions.api.management.onDisabled")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.management.onDisabled")}}
-<p>Enregistrez les noms des extensions lorsqu'ils sont désactivés.</p>
+## Exemples
-<pre class="brush: js">browser.management.onDisabled.addListener((info) =&gt; {
-  console.log(info.name + " was disabled");
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+Enregistrez les noms des extensions lorsqu'ils sont désactivés.
-<div class="note"><p><strong>Note :</strong></p>
+```js
+browser.management.onDisabled.addListener((info) => {
+  console.log(info.name + " was disabled");
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -100,5 +94,4 @@ browser.management.onDisabled.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'auditeur de l'événement appelé lorsque l'événement <code>enabled</code> est déclenché, indiquant qu'un add-on est maintenant activé.</p>
+L'auditeur de l'événement appelé lorsque l'événement `enabled` est déclenché, indiquant qu'un add-on est maintenant activé.
-<p>L'API requière l'<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">API de permission </a>"management"</p>
+L'API requière l'[API de permission ](/fr/Add-ons/WebExtensions/manifest.json/permissions)"management"
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.management.onEnabled.addListener(listener)
+```js
+browser.management.onEnabled.addListener(listener)
browser.management.onEnabled.removeListener(listener)
browser.management.onEnabled.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoutez un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>L'argument de l'auditeur est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si l'auditeur est enregistré à l'événement. Renvoie <code>true</code> s'il est à l'écoute, sinon <code>false</code> .</dd>
-</dl>
+- `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` .
-<h2 id="addListener_syntaxe">addListener syntaxe</h2>
+## addListener syntaxe
-<h3 id="Parameters">Parameters</h3>
+### Parameters
-<dl>
- <dt><code>function</code></dt>
- <dd>
- <p>Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :</p>
+- `function`
- <dl>
- <dt><code>info</code></dt>
- <dd><code><a href="/fr/Add-ons/WebExtensions/API/management/ExtensionInfo">ExtensionInfo</a></code>: informations de l'extension qui a été désinstallé.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `info`
+ - : [`ExtensionInfo`](/fr/Add-ons/WebExtensions/API/management/ExtensionInfo): informations de l'extension qui a été désinstallé.
-<p>{{Compat("webextensions.api.management.onEnabled")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.management.onEnabled")}}
-<p>Enregistrez les noms des extensions lorsqu'ils sont activés :</p>
+## Exemples
-<pre class="brush: js">browser.management.onEnabled.addListener((info) =&gt; {
-  console.log(info.name + " was enabled");
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+Enregistrez les noms des extensions lorsqu'ils sont activés :
-<div class="note"><p><strong>Note :</strong></p>
+```js
+browser.management.onEnabled.addListener((info) => {
+  console.log(info.name + " was enabled");
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -100,5 +94,4 @@ browser.management.onEnabled.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Action quand une extension est installée.</p>
+Action quand une extension est installée.
-<p>Cette API requière l'<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">API de permission </a>"management".</p>
+Cette API requière l'[API de permission ](/fr/Add-ons/WebExtensions/manifest.json/permissions)"management".
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.management.onInstalled.addListener(listener)
+```js
+browser.management.onInstalled.addListener(listener)
browser.management.onInstalled.removeListener(listener)
browser.management.onInstalled.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajout un auditeur à l'événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouvter l'événement. L'argument de l'auditeur est un auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un auditeur est enregistré pour cet événement. Renvoie <code>vrai</code> si elle est à l'écoute, sinon <code>faux</code> .</dd>
-</dl>
+- `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` .
-<h2 id="addListener_syntaxe">addListener syntaxe</h2>
+## addListener syntaxe
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>function</code></dt>
- <dd>
- <p>fonction de rappel qui sera appelée quand l'événement se produira. La fonction passera l'argument suivant :</p>
+- `function`
- <dl>
- <dt><code>info</code></dt>
- <dd><code><a href="/fr/Add-ons/WebExtensions/API/management/ExtensionInfo">ExtensionInfo</a></code>: informations sur l'extension qui a été installée.</dd>
- </dl>
- </dd>
-</dl>
+ - : fonction de rappel qui sera appelée quand l'événement se produira. La fonction passera l'argument suivant :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `info`
+ - : [`ExtensionInfo`](/fr/Add-ons/WebExtensions/API/management/ExtensionInfo): informations sur l'extension qui a été installée.
-<p>{{Compat("webextensions.api.management.onInstalled")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.management.onInstalled")}}
-<p>Enregistrez les noms des extensions lorsqu'ils sont installés :</p>
+## Exemples
-<pre class="brush: js">browser.management.onInstalled.addListener((info) =&gt; {
+Enregistrez les noms des extensions lorsqu'ils sont installés :
+
+```js
+browser.management.onInstalled.addListener((info) => {
  console.log(info.name + " was installed");
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
-</div>
+});
+```
+
+{{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.
+>
+> <div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+> //
+> // Redistribution and use in source and binary forms, with or without
+> // modification, are permitted provided that the following conditions are
+> // met:
+> //
+> // * Redistributions of source code must retain the above copyright
+> // notice, this list of conditions and the following disclaimer.
+> // * Redistributions in binary form must reproduce the above
+> // copyright notice, this list of conditions and the following disclaimer
+> // in the documentation and/or other materials provided with the
+> // distribution.
+> // * Neither the name of Google Inc. nor the names of its
+> // contributors may be used to endorse or promote products derived from
+> // this software without specific prior written permission.
+> //
+> // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+> // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+> // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+> // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+> // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+> // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+> // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+> // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+> // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+> // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+> // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+> </pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Action quand une extension est désinstallée.</p>
+Action quand une extension est désinstallée.
-<p>L'API requière l'<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">API de permission </a>"management".</p>
+L'API requière l'[API de permission ](/fr/Add-ons/WebExtensions/manifest.json/permissions)"management".
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.management.onUninstalled.addListener(listener)
+```js
+browser.management.onUninstalled.addListener(listener)
browser.management.onUninstalled.removeListener(listener)
browser.management.onUninstalled.hasListener(listener)
-</pre>
+```
-<p>Les événement ont trois fonctions :</p>
+Les événement ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoutez un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>L'argument de l'auditeur est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si l'auditeur est enregistré à l'événement. Renvoie <code>true</code> s'il est à l'écoute, sinon <code>false</code> .</dd>
-</dl>
+- `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` .
-<h2 id="addListener_syntaxe">addListener syntaxe</h2>
+## addListener syntaxe
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>function</code></dt>
- <dd>
- <p>Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :</p>
+- `function`
- <dl>
- <dt><code>info</code></dt>
- <dd><code><a href="/fr/Add-ons/WebExtensions/API/management/ExtensionInfo">ExtensionInfo</a></code>: informations de l'extension qui a été désinstallé.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `info`
+ - : [`ExtensionInfo`](/fr/Add-ons/WebExtensions/API/management/ExtensionInfo): informations de l'extension qui a été désinstallé.
-<p>{{Compat("webextensions.api.management.onUninstalled")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.management.onUninstalled")}}
-<p>Enregistrez les noms des extensions lorsqu'ils sont désinstallés :</p>
+## Exemples
-<pre class="brush: js">browser.management.onUninstalled.addListener((info) =&gt; {
-  console.log(info.name + " was uninstalled");
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+Enregistrez les noms des extensions lorsqu'ils sont désinstallés :
-<div class="note"><p><strong>Note :</strong></p>
+```js
+browser.management.onUninstalled.addListener((info) => {
+  console.log(info.name + " was uninstalled");
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -100,5 +94,4 @@ browser.management.onUninstalled.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Active ou désactive l'extension ajoutée.</p>
+Active ou désactive l'extension ajoutée.
-<p>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.</p>
+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.
-<p>Cette API requière l'<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">API permission</a> "management".</p>
+Cette API requière l'[API permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management".
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var settingEnabled = browser.management.setEnabled(
+```js
+var settingEnabled = browser.management.setEnabled(
id, // string
enabled // boolean
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. ID de l'extension pour activer ou désactiver.</dd>
- <dt><code>enabled</code></dt>
- <dd><code>boolean</code>. Que ce soit pour active ou désactiver l'extension.</dd>
-</dl>
+- `id`
+ - : `string`. ID de l'extension pour activer ou désactiver.
+- `enabled`
+ - : `boolean`. Que ce soit pour active ou désactiver l'extension.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promisee">Promise</a></code> qui sera remplie sans arguments lorsque l'extension a été désactivé ou activé.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promisee) qui sera remplie sans arguments lorsque l'extension a été désactivé ou activé.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.management.setEnabled")}}</p>
+{{Compat("webextensions.api.management.setEnabled")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Actviez / Désactivez l'option pour l'extension dont l'ID est "my-add-on":</p>
+Actviez / Désactivez l'option pour l'extension dont l'ID est "my-add-on":
-<pre class="brush: js">var id = "my-add-on";
+```js
+var id = "my-add-on";
function toggleEnabled(id) {
var getting = browser.management.get(id);
- getting.then((info) =&gt; {
+ getting.then((info) => {
browser.management.setEnabled(id, !info.enabled);
});
}
toggleEnabled(id);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -99,5 +97,4 @@ toggleEnabled(id);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Désinstalle une extension, compte tenu de son ID.</p>
+Désinstalle une extension, compte tenu de son ID.
-<p>Cette API requiert l'<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">API de permission</a>. "management"</p>
+Cette API requiert l'[API de permission](/fr/Add-ons/WebExtensions/manifest.json/permissions). "management"
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var uninstalling = browser.management.uninstall(
+```js
+var uninstalling = browser.management.uninstall(
id, // string
options // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. ID de l'extensions à désinstaller.</dd>
- <dt><code>options{{optional_inline}}</code></dt>
- <dd><p><code>object</code>. l'objet qui peut contenir une propriété unique, <code>showConfirmDialog</code>. Si <code>showConfirmDialog</code> est <code>true</code>, le navigateur affiche une boie de dialogue demandant à l'utilisateur de confirmer que le complément doit être désinstallé.</p>
- <ul>
- <li>Si <code>id</code> est l'ID de l'extension appelant, <code>showConfirmDialog</code> est par défaut à <code>false</code>.</li>
- <li>Si <code>id</code> est l'ID d'une extension différente, cette option est ignorée et la boite de dialogue de confirmation s'affche toujours.</li>
- </ul>
- </dd>
-</dl>
+- `id`
+ - : `string`. ID de l'extensions à désinstaller.
+- `options{{optional_inline}}`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `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é.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera rejetée avec un message d'erreur si l'utilisateur a annulé la désintallatiion.</p>
+ - 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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.management.uninstall")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>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.</p>
+{{Compat("webextensions.api.management.uninstall")}}
-<p>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.</p>
+## Exemples
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+uninstalling.then(null, onCanceled);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -101,5 +99,4 @@ uninstalling.then(null, onCanceled);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Désinstalle l'appel de l'extension.</p>
+Désinstalle l'appel de l'extension.
-<p>Cette API <em>ne requiert pas</em> la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission API</a> "management"</p>
+Cette API _ne requiert pas_ la [permission API](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management"
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var uninstallingSelf = browser.management.uninstallSelf(
+```js
+var uninstallingSelf = browser.management.uninstallSelf(
options // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>options{{optional_inline}}</code></dt>
- <dd><p><code>object</code>. L'objet qui peut comporter deux propriétés, toutes deux facultatives :</p>
- <dl>
- <dt><code>showConfirmDialog{{optional_inline}}</code></dt>
- <dd>Boolean. Si <code>showConfirmDialog</code> est <code>true</code>, le navigateur  affiche la boite  de dialogue demandant à l'utilisateur de confirmer que le complément doit être désinstallé. Par défaut à <code>false</code>.</dd>
- <dt><code>dialogMessage{{optional_inline}}</code></dt>
- <dd>String. Un message supplémentaire qui sera affiché dans la boite de dialogue de confirmation.</dd>
- </dl>
- </dd>
-</dl>
+- `options{{optional_inline}}`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. L'objet qui peut comporter deux propriétés, toutes deux facultatives :
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera rejetée avec un message d'erreur si l'utilisateur a annulé la désinstallation.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.management.uninstallSelf")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Désinsallez l'extension, en demandant à l'utilisateur de confirmer. Dans le rappel, vérifiez si l'utilisateur a annulé la désinstallation.</p>
+{{Compat("webextensions.api.management.uninstallSelf")}}
-<p>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.</p>
+## Exemples
-<pre class="brush: js">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);</pre>
+uninstalling.then(null, onCanceled);
+```
-<p>Le même, mais aussi l'ajout d'un message personnalisé à la boite de dialogue :</p>
+Le même, mais aussi l'ajout d'un message personnalisé à la boite de dialogue :
-<pre class="brush: js">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);</pre>
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+uninstalling.then(null, onCanceled);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/management"><code>chrome.management</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json"><code>management.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
- <pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -113,5 +114,4 @@ uninstalling.then(null, onCanceled);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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é.</p>
+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é.
-<p>Sa valeur est de <code>6</code> pour Firefox et Chrome.</p>
+Sa valeur est de `6` pour Firefox et Chrome.
-<p>Pour la compatibilité avec d'autres navigateurs, Firefox rend cette propriété disponible via l'espace de noms <code>contextMenus</code> ainsi que l'espace de noms des <code>menus</code>.</p>
+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`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.menus.ACTION_MENU_TOP_LEVEL_LIMIT", 10)}}</p>
+{{Compat("webextensions.api.menus.ACTION_MENU_TOP_LEVEL_LIMIT", 10)}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/contextMenus"><code>chrome.contextMenus</code></a> de chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> dans le code Chromium.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -60,5 +58,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/menus/ACTION_MENU_TOP_LEVEL_LI
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Les différents contextes dans lesquels un élément de menu peut apparaître.</p>
+Les différents contextes dans lesquels un élément de menu peut apparaître.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. L'élément est affiché lorsque le contexte donné s'applique. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. L'élément est affiché lorsque le contexte donné s'applique. Les valeurs possibles sont :
-<dl>
- <dt>all</dt>
- <dd>La spécification de "tous" équivaut à la combinaison de tous les autres contextes, à l'exception de 'bookmark', 'tab' et 'tools_menu'.</dd>
- <dt>audio</dt>
- <dd>S'applique lorsque l'utilisateur clique sur le contexte d'un élément <a href="/fr/docs/Web/HTML/Element/audio">audio</a>.</dd>
- <dt>bookmark</dt>
- <dd>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 (&lt;kbd&gt;Ctrl&lt;/kbd&gt; + &lt;kbd&gt;B&lt;/kbd&gt;) et la fenêtre Bibliothèque (&lt;kbd&gt;Ctrl&lt;/kbd&gt; + &lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;B&lt;/kbd&gt;). Ces deux derniers sont supportés à partir de Firefox 66. Nécessite la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission d'API</a> dans le manifest.</dd>
- <dt>browser_action</dt>
- <dd>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.</dd>
- <dt>editable</dt>
- <dd>S'applique lorsque l'utilisateur clique en contexte sur un élément modifiable, comme un <a href="/fr/docs/Web/HTML/Element/textarea">textarea</a>.</dd>
- <dt>frame</dt>
- <dd>S'applique lorsque l'utilisateur clique sur le contexte dans une <a href="/fr/docs/Web/HTML/Element/iframe">iframe</a> imbriqué.</dd>
- <dt>image</dt>
- <dd>S'applique lorsque l'utilisateur clique sur le contexte d'une image.</dd>
- <dt>link</dt>
- <dd>S'applique lorsque l'utilisateur clique en contexte sur un lien.</dd>
- <dt>page</dt>
- <dd>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 <em>iframe</em> imbriqué ou un lien).</dd>
- <dt>page_action</dt>
- <dd>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.</dd>
- <dt>password</dt>
- <dd>S'applique lorsque l'utilisateur clique en contexte sur un <a href="/fr/docs/Web/HTML/Element/input/password">élément d'entrée de mot de passe</a>.</dd>
- <dt>selection</dt>
- <dd>S'applique lorsqu'une partie de la page est sélectionnée.</dd>
- <dt>tab</dt>
- <dd>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission">activeTab</a> pour l'onglet cliqué, même si ce n'est pas l'onglet actuellement actif.</dd>
- <dt>tools_menu</dt>
- <dd>L'élément sera ajouté au menu des outils du navigateur. Notez que ceci n'est disponible que si vous accédez à <code>ContextType</code> via l'espace de nom des <code>menus</code>. Il n'est pas disponible si vous y accédez via l'espace de noms <code>contextMenus</code>.</dd>
- <dt>video</dt>
- <dd>S'applique lorsque l'utilisateur clique sur le contexte d'un élément <a href="/fr/docs/Web/HTML/Element/video">video</a>.</dd>
-</dl>
+- 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 (\<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](/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).
-<p>Notez que "launcher" n'est pas supporté.</p>
+Notez que "launcher" n'est pas supporté.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.menus.ContextType", 10)}}</p>
+{{Compat("webextensions.api.menus.ContextType", 10)}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/contextMenus"><code>chrome.contextMenus</code></a> de chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> dans le code Chromium.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -96,5 +92,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/menus/ContextType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Crée un nouvel élément de menu, avec un objet d'options définissant les propriétés de l'élément.</p>
+Crée un nouvel élément de menu, avec un objet d'options définissant les propriétés de l'élément.
-<p>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.</p>
+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.
-<p>Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace noms <code>contextMenus</code> ainsi que l'espace de noms des <code>menus</code>. Notez cependant qu'il n'est pas possible de créer des éléments de menu d'outils (<code>contexts: ["tools_menu"]</code>) en utilisant l'espace de noms <code>contextMenus</code>.</p>
+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`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.menus.create(
+```js
+browser.menus.create(
createProperties, // object
function() {...} // optional function
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>createProperties</code></dt>
- <dd><p><code>object</code>. Propriétés pour le nouvel élément de menu.</p>
- <dl>
- <dt><code>checked</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. L'état initial d'une case à cocher ou d'un élément radio : <code>true</code> pour selected et <code>false</code> pour non sélectionné. Un seul élément radio peut être sélectionné à la fois dans un groupe donné d'éléments radio.</dd>
- <dt><code>command</code> {{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. Chaîne décrivant une action à effectuer lorsque l'utilisateur clique sur l'élément. Les valeurs possibles sont:</p>
-
- <ul>
- <li><code>"_execute_browser_action"</code>: simule un clic sur l'action du navigateur de l'extension, en ouvrant son popup s'il en a un</li>
- <li><code>"_execute_page_action"</code>: simule un clic sur l'action de la page de l'extension, en ouvrant son popup s'il en a un</li>
- <li><code>"_execute_sidebar_action"</code>: ouvre la barre latérale de l'extension</li>
- </ul>
-
- <p>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 <code>onClicked</code>.</p>
- </dd>
- <dt><code>contexts</code> {{optional_inline}}</dt>
- <dd>
- <p><code>array</code> de <code>{{WebExtAPIRef('menus.ContextType')}}</code>. Tableau des contextes dans lesquels cet élément de menu apparaîtra. Si cette option est omise :</p>
-
- <ul>
- <li>Si l'élément parent a des contextes définis, alors cet élément héritera des contextes de ses parents</li>
- <li>sinon, l'élément reçoit un tableau de contexte de ["page"].</li>
- </ul>
- </dd>
- <dt><code>documentUrlPatterns</code> {{optional_inline}}</dt>
- <dd><code>array</code> de <code><code>string</code></code>. Vous permet de restreindre l'élément à appliquer uniquement aux documents dont l'URL correspond à l'un des <a href="/fr/Add-ons/WebExtensions/Match_patterns">motifs</a> données. Cela s'applique également aux cadres.</dd>
- <dt><code>enabled</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si cet élément de menu est activé ou désactivé. Par défaut à <code>true</code>.</dd>
- <dt><code>icons</code> {{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. 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 :</p>
-
- <pre class="brush: json">"icons": {
- "16": "path/to/geo-16.png",
- "32": "path/to/geo-32.png"
- }</pre>
-
- <p>Vous pouvez également spécifier une seule icône SVG, qui sera mise à l'échelle de manière appropriée :</p>
-
- <pre class="brush: json">"icons": {
- "16": "path/to/geo.svg"
- }</pre>
-
- <div class="note">
- <p><strong>Note :</strong> L'élément de menu de niveau supérieur utilise les <a href="/fr/Add-ons/WebExtensions/manifest.json/icons">icônes</a> spécifiées dans le manifest plutôt que ce qui est spécifié avec cette touche.</p>
- </div>
- </dd>
- <dt><code>id</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Identifiant unique à attribuer à cet élément Obligatoire pour les pages d'événement. Ne peut pas être identique à un autre ID pour cette extension.</dd>
- <dt><code>onclick</code> {{optional_inline}}</dt>
- <dd><code>function</code>. 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')}}.</dd>
- <dt><code>parentId</code> {{optional_inline}}</dt>
- <dd><code><code>integer</code></code> ou <code><code>string</code></code>. 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.</dd>
- <dt><code>targetUrlPatterns</code> {{optional_inline}}</dt>
- <dd><code>array</code> de <code><code>string</code></code>. Similaire à <code>documentUrlPatterns</code>, mais vous permet de filtrer en fonction du <code>href</code> des balises d'ancrage et de l'attribut <code>src</code> 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.</dd>
- <dt><code>title</code> {{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. Le texte à afficher dans l'article. Obligatoire sauf si le <code>type</code> est "separator".</p>
-
- <p>Vous pouvez utiliser "<code>%s</code>" 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 <code>titre</code> 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".</p>
-
- <p>Si le titre contient une esperluette "&amp;" 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 :</p>
-
- <ul>
- <li>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, "&amp;&amp;" est utilisé pour afficher une seule esperluette.</li>
- <li>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.</li>
- <li>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.</li>
- </ul>
-
- <p>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 "&amp;A et &amp;B" seront affichés comme "A et B" et "A" comme clé d'accès.</p>
- </dd>
- <dt><code>type</code> {{optional_inline}}</dt>
- <dd><code>{{WebExtAPIRef('menus.ItemType')}}</code>. Le type d'élément de menu : "normal", "checkbox", "radio", "separator". Par défault à "normal".</dd>
- <dt><code>viewType</code> {{optional_inline}}</dt>
- <dd><code>{{WebExtAPIRef('extension.ViewType')}}</code>. 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 <code>viewType</code>.</dd>
- <dt><code>visible</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si l'élément est affiché dans le menu. Par défaut, la valeur est <code>true</code>.</dd>
- </dl>
- </dd>
- <dt><code>callback</code> {{optional_inline}}</dt>
- <dd><code>function</code>. 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')}}.</dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p><code><code>integer</code></code> ou <code><code>string</code></code>. L'ID de l'article nouvellement créé.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>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</p>
-
-<pre class="brush: js">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);
}
-});</pre>
+});
+```
-<p>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission">permission activeTab</a>.</p>
+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).
-<pre class="brush: js">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
});
}
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+});
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.menus.create", 10)}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.menus.create", 10)}}
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/contextMenus"><code>chrome.contextMenus</code></a> de chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> dans le code Chromium.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -217,5 +214,4 @@ browser.menus.onClicked.addListener(function(info, tab) {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
-
-<p>Un <code>object</code> 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.</p>
-
-<dl>
- <dt><code>checked</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. The initial state of a checkbox or radio item: <code>true</code> for selected and <code>false</code> for unselected. Only one radio item can be selected at a time in a given group of radio items.</dd>
- <dt><code>command</code> {{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. String describing an action that should be taken when the user clicks the item. Possible values are:</p>
-
- <ul>
- <li><code>"_execute_browser_action"</code>: simulate a click on the extension's browser action, opening its popup if it has one</li>
- <li><code>"_execute_page_action"</code>: simulate a click on the extension's page action, opening its popup if it has one</li>
- <li><code>"_execute_sidebar_action"</code>: open the extension's sidebar</li>
- </ul>
-
- <p>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 <code>onClicked</code> fires.</p>
- </dd>
- <dt><code>contexts</code> {{optional_inline}}</dt>
- <dd>
- <p><code>array</code> of <code>{{WebExtAPIRef('menus.ContextType')}}</code>. Array of contexts in which this menu item will appear. If this option is omitted:</p>
-
- <ul>
- <li>if the item's parent has contexts set, then this item will inherit its parent's contexts</li>
- <li>otherwise, the item is given a context array of ["page"].</li>
- </ul>
- </dd>
- <dt><code>documentUrlPatterns</code> {{optional_inline}}</dt>
- <dd><code>array</code> of <code><code>string</code></code>. Lets you restrict the item to apply only to documents whose URL matches one of the given <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">match patterns</a>. This applies to frames as well.</dd>
- <dt><code>enabled</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Whether this menu item is enabled or disabled. Defaults to <code>true</code>.</dd>
- <dt><code>icons</code> {{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. 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:</p>
-
- <pre class="brush: json">"icons": {
- "16": "path/to/geo-16.png",
- "32": "path/to/geo-32.png"
- }</pre>
-
- <p>Alternatively, you can specify a single SVG icon, and it will be scaled appropriately:</p>
-
- <pre class="brush: json">"icons": {
- "16": "path/to/geo.svg"
- }</pre>
-
- <div class="note">
- <p><strong>Note :</strong> The top-level menu item uses the <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons">icons</a> specified in the manifest rather than what is specified with this key.</p>
- </div>
- </dd>
- <dt><code>id</code> {{optional_inline}}</dt>
- <dd><code>string</code>. The unique ID to assign to this item. Mandatory for event pages. Cannot be the same as another ID for this extension.</dd>
- <dt><code>onclick</code> {{optional_inline}}</dt>
- <dd><code>function</code>. 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')}}.</dd>
- <dt><code>parentId</code> {{optional_inline}}</dt>
- <dd><code><code>integer</code></code> or <code><code>string</code></code>. 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.</dd>
- <dt><code>targetUrlPatterns</code> {{optional_inline}}</dt>
- <dd><code>array</code> of <code><code>string</code></code>. Similar to <code>documentUrlPatterns</code>, but lets you filter based on the <code>href</code> of anchor tags and the <code>src</code> attribute of img/audio/video tags. This parameter supports any URL scheme, even those that are usually not allowed in a match pattern.</dd>
- <dt><code>title</code> {{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. The text to be displayed in the item. Mandatory unless <code>type</code> is "separator".</p>
-
- <p>You can use "<code>%s</code>" 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 <code>title</code> 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".</p>
-
- <p>If the title contains an ampersand "&amp;" 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:</p>
-
- <ul>
- <li>If the next character is also an ampersand: then a single ampersand will be displayed and no access key will be set. In effect, "&amp;&amp;" is used to display a single ampersand.</li>
- <li>If the next characters are the interpolation directive "%s": then the ampersand will not be displayed and no access key will be set.</li>
- <li>If the ampersand is the last character in the title: then the ampersand will not be displayed and no access key will be set.</li>
- </ul>
-
- <p>Only the first ampersand will be used to set an access key: subsequent ampersands will not be displayed but will not set keys. So "&amp;A and &amp;B" will be shown as "A and B" and set "A" as the access key.</p>
- </dd>
- <dt><code>type</code> {{optional_inline}}</dt>
- <dd><code>{{WebExtAPIRef('menus.ItemType')}}</code>. The type of menu item: "normal", "checkbox", "radio", "separator". Defaults to "normal".</dd>
- <dt><code>viewTypes</code> {{optional_inline}}</dt>
- <dd><code>{{WebExtAPIRef('extension.ViewType')}}</code>. List of view types where the menu item will be shown. Defaults to any view, including those without a <code>viewType</code>.</dd>
- <dt><code>visible</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Whether the item is shown in the menu. Defaults to <code>true</code>.</dd>
-</dl>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<p>{{Compat("webextensions.api.menus.createProperties", 10)}}</p>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>This API is based on Chromium's <a href="https://developer.chrome.com/extensions/contextMenus#type-OnClickData"><code>chrome.contextMenus</code></a> API. This documentation is derived from <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> in the Chromium code.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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](/fr/docs/Mozilla/Add-ons/WebExtensions/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:
+
+ ```json
+ "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:
+
+ ```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`. 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`](https://developer.chrome.com/extensions/contextMenus#type-OnClickData) API. This documentation is derived from [`context_menus.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json) in the Chromium code.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -124,5 +116,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/menus/createProperties
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</pre>
-</div>
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Renvoie l'élément pour un <code>targetElementId</code> donné</p>
+Renvoie l'élément pour un `targetElementId` donné
-<p>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  <code>info.targetElementId</code> donnée, à condition que l'élément existe toujours dans le document où la méthode est appelée.</p>
+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.
-<p>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 <code>targetElementId</code> expire lorsque l'utilisateur ouvre un autre menu contextuel.</p>
+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.
-<div class="blockIndicator note">
-<p><strong>Note:</strong> <code>menus.getTargetElement</code> 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).</p>
-</div>
+> **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).
-<p><br>
- Une extension nécessite la permission "menus" pour utiliser cette API</p>
+Une extension nécessite la permission "menus" pour utiliser cette API
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox">let elem = browser.menus.getTargetElement(targetElementId);
-</pre>
+ let elem = browser.menus.getTargetElement(targetElementId);
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>targetElementId</code></dt>
- <dd>La propriété de l'objet <code>{{WebExtAPIRef("menus.OnClickData")}}</code> passé au gestionnaire <code>{{WebExtAPIRef("menus.onClicked")}}</code>ou à l'événement <code>{{WebExtAPIRef("menus.onShown")}}</code>.</dd>
-</dl>
+- `targetElementId`
+ - : La propriété de l'objet `{{WebExtAPIRef("menus.OnClickData")}}` passé au gestionnaire `{{WebExtAPIRef("menus.onClicked")}}`ou à l'événement `{{WebExtAPIRef("menus.onShown")}}`.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>L'élément auquel se réfère le paramètre <code>targetElementId</code>. Si le paramètre <code>targetElementId</code> n'est pas valide, La méthode retourne <code>null</code>.</p>
+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`.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>L'exemple suivant utilise la méthode <code>getTargetElement</code> pour obtenir l'élément auquel se réfère la propriété <code>info.targetElementId</code> puis le supprime.</p>
+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.
-<pre class="brush: js">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
});
},
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
+{{Compat("webextensions.api.menus.getTargetElement")}}
+## voir aussi
-<p>{{Compat("webextensions.api.menus.getTargetElement")}}</p>
-
-<h2 id="voir_aussi">voir aussi</h2>
-
-<ul>
- <li>{{WebExtAPIRef("menus.create")}}</li>
- <li>{{WebExtAPIRef("menus.OnClickData")}}</li>
-</ul>
+- {{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Ajoutez des éléments au système de menus du navigateur.</p>
+Ajoutez des éléments au système de menus du navigateur.
-<p>Cette API est modélisée dans l'API <a href="https://developer.chrome.com/extensions/contextMenus">"contextMenus"</a> de Chrome, qui permet aux extensions Chrome d'ajouter des éléments au menu contextuel du navigateur. L'API <code>browser.menus</code> ajoute quelques fonctionnalités à l'API de Chrome.</p>
+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.
-<p>Avant Firefox 55, cette API s'appelait à l'origine <code>contextMenus</code>, et ce nom a été retenu comme alias. Vous pouvez donc utiliser <code>contextMenus</code> pour écrire du code qui fonctionne dans Firefox et dans d'autres navigateurs.</p>
+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.
-<p>Pour utiliser cette API, vous devez avoir la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> des  <code>menus.</code> vous pouvez également utiliser l'alias <code>contextMenus</code> à la place des <code>menus</code>, mais si vous le faites, vous devez accéder aux API sous le nom <code>browser.contextMenus</code> à la place.</p>
+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.
-<p>Excepté que <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/menus/getTargetElement">menus.getTargetElement()</a></code>, cette API ne peut pas être utilisée à partir de scripts de contenu.</p>
+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.
-<h2 id="Créer_des_éléments_de_menu">Créer des éléments de menu</h2>
+## Créer des éléments de menu
-<p>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é.</p>
+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é.
-<p>É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.</p>
+É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.
-<p>Vous pouvez créer quatre types différents d'élément de menu, en fonction de la valeur de la propriété <code>type</code> que vous fournissez dans les options de <code>create()</code>:</p>
+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()`:
-<ul>
- <li>"normal": un élément de menu qui affiche simplement une étiquette</li>
- <li>"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.</li>
- <li>"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é.</li>
- <li>"separateur": une ligne séparant un groupe d'éléments.</li>
-</ul>
+- "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.
-<p>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:</p>
+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:
-<p><img alt="" src="menus-1.png"></p>
+![](menus-1.png)
-<h2 id="Icônes">Icônes</h2>
+## Icônes
-<p>Si vous avez spécifié des icônes pour votre extension à l'aide de la <a href="/fr/Add-ons/WebExtensions/manifest.json/icons">clé de manifest "icons"</a>, 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 :</p>
+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 :
-<p><img alt="" src="menus-2.png"></p>
+![](menus-2.png)
-<p>Uniquement pour les éléments d'un sous-menu, vous pouvez spécifier des icônes personnalisées en passant l'option <code>icons</code> à {{WebExtAPIRef("menus.create()")}} :</p>
+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()")}} :
-<p><img alt="" src="menus-3.png"></p>
+![](menus-3.png)
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<p>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.</p>
+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.
-<p><img alt="" src="menus-4.png">Vous pouvez créer un sous-menu comme celui-ci en utilisant du code comme :</p>
+![](menus-4.png)Vous pouvez créer un sous-menu comme celui-ci en utilisant du code comme :
-<pre class="brush: js">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);</pre>
-
-<h2 id="Types">Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("menus.ContextType")}}</dt>
- <dd>Les différents contextes dans lesquels un menu peut apparaître.</dd>
- <dt>{{WebExtAPIRef("menus.ItemType")}}</dt>
- <dd>Le type d'élément de menu : "normal", "checkbox", "radio", "separator".</dd>
- <dt>{{WebExtAPIRef("menus.OnClickData")}}</dt>
- <dd>Informations envoyées lorsqu'un élément de menu est cliqué.</dd>
-</dl>
-
-<h2 id="Propriétés">Propriétés</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("menus.ACTION_MENU_TOP_LEVEL_LIMIT")}}</dt>
- <dd>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".</dd>
-</dl>
-
-<h2 id="Functions">Functions</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("menus.create()")}}</dt>
- <dd>Crée un nouvel élément de menu.</dd>
- <dt>{{WebExtApiRef("menus.getTargetElement()")}}</dt>
- <dd>Retourne l'élément pour un <code>info.targetElementId</code> donné</dd>
- <dt>{{WebExtApiRef("menus.overrideContext()")}}</dt>
- <dd>Masquer tous les éléments de menu par défaut de Firefox en faveur d'une interface utilisateur de menu contextuel personnalisé.</dd>
- <dt>{{WebExtAPIRef("menus.refresh()")}}</dt>
- <dd>Mettre à jour un menu actuellement affiché.</dd>
- <dt>{{WebExtAPIRef("menus.remove()")}}</dt>
- <dd>Supprime un élément de menu.</dd>
- <dt>{{WebExtAPIRef("menus.removeAll()")}}</dt>
- <dd>Supprime tous les éléments de menu ajoutés par cette extension.</dd>
- <dt>{{WebExtAPIRef("menus.update()")}}</dt>
- <dd>Met à jour un élément de menu précédemment créé.</dd>
-</dl>
-
-<h2 id="Evénements">Evénements</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("menus.onClicked")}}</dt>
- <dd>Lancé lorsqu'un élément de menu est cliqué.</dd>
- <dt>{{WebExtAPIRef("menus.onHidden")}}</dt>
- <dd>Lancé lorsque le navigateur cache un menu.</dd>
- <dt>{{WebExtAPIRef("menus.onShown")}}</dt>
- <dd>Lancé lorsque le navigateur affiche un menu.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{ Compat("webextensions.api.menus", 1, "true") }}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/contextMenus"><code>chrome.contextMenus</code></a> de chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> dans le code Chromium.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+}, 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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -199,5 +189,4 @@ browser.menus.create({
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type d'élément de menu.</p>
+Le type d'élément de menu.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:
-<dl>
- <dt>normal</dt>
- <dd>Un élément de menu qui affiche simplement une étiquette.</dd>
- <dt>checkbox</dt>
- <dd>
- <p>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.</p>
- </dd>
- <dt>radio</dt>
- <dd>
- <p>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é.</p>
- </dd>
- <dt>separator</dt>
- <dd>Une ligne séparant un groupe d'éléments.</dd>
-</dl>
+- 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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.menus.ItemType", 10)}}</p>
+{{Compat("webextensions.api.menus.ItemType", 10)}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/contextMenus"><code>chrome.contextMenus</code></a> de chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> dans le code Chromium.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -75,5 +67,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/menus/ItemType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Informations transmises à l'écouteur d'événement {{WebExtAPIRef("menus.onClicked")}} lorsque vous cliquez sur un élément de menu.</p>
+Informations transmises à l'écouteur d'événement {{WebExtAPIRef("menus.onClicked")}} lorsque vous cliquez sur un élément de menu.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>bookmarkId</code> {{optional_inline}}</dt>
- <dd><code>string</code>. L'ID du signet dans lequel le menu contextuel a été cliqué.***</dd>
- <dt><code>button</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. Quel bouton de la souris a été enfoncé. Les valeurs sont les mêmes que pour  <a href="/fr/docs/Web/API/MouseEvent/button"><code>MouseEvent.button</code></a>.</dd>
- <dt><code>checked</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Un <em>flag</em> indiquant si une case à cocher ou un élément radio a été vérifié après avoir été cliqué.</dd>
- <dt><code>editable</code></dt>
- <dd><code>boolean</code>. Un indicateur indiquant si l'élément est modifiable: par exemple, s'il s'agit d'un <a href="/fr/docs/Web/HTML/Element/textarea">textarea</a>.</dd>
- <dt><code>frameId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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 <code>tools_menu</code> ou <code>tab</code> context), <code>frameId</code> n'est <code>pas défini</code>.</dd>
- <dt><code>frameUrl</code> {{optional_inline}}</dt>
- <dd><code>string</code>. L'URL du cadre de l'élément sur lequel le menu contextuel a été cliqué, s'il était dans un cadre</dd>
- <dt><code>linkText</code> {{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>linkUrl </code>{{optional_inline}}</dt>
- <dd><code>string</code>. Si l'élément est un lien, l'URL vers laquelle il pointe.</dd>
- <dt><code>mediaType</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Une de "image", "video", ou "audio" si le menu contextuel a été activé sur l'un de ces types d'éléments.</dd>
- <dt><code>menuItemId</code></dt>
- <dd><code><code>integer</code></code> ou <code><code>string</code></code>. ID de l'élément de menu sur lequel vous avez cliqué.</dd>
- <dt><code>modifiers</code></dt>
- <dd><code><code>Array</code></code> de<code><code>string</code></code>. 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.</dd>
- <dt><code>pageUrl</code> {{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>parentMenuItemId</code> {{optional_inline}}</dt>
- <dd><code><code>integer</code></code> ou <code><code>string</code></code>. L'ID parent, le cas échéant, pour l'élément cliqué.</dd>
- <dt><code>selectionText </code>{{optional_inline}}</dt>
- <dd><code>string</code>. Si du texte a été sélectionné dans la page, il contient le texte sélectionné.</dd>
- <dt><code>srcUrl</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Sera présent pour les éléments avec une URL "src".</dd>
- <dt><code>targetElementId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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 <a href="/fr/docs/Web/HTML/Attributs_universels/id">id</a> de l'élément page.</dd>
- <dt><code>viewType</code> {{optional_inline}}</dt>
- <dd>{{WebExtAPIRef("extension.ViewType", "ViewType")}}. Le type de vue de l'extension.</dd>
- <dt><code>wasChecked</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Un indicateur indiquant si une case à cocher ou un élément radio a été vérifié avant d'avoir cliqué.</dd>
-</dl>
+- `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é.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.menus.OnClickData", 10)}}</p>
+{{Compat("webextensions.api.menus.OnClickData", 10)}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/contextMenus"><code>chrome.contextMenus</code></a> de chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> dans le code Chromium.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -99,5 +95,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/menus/OnClickData
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'un élément de menu est cliqué.</p>
+Lancé lorsqu'un élément de menu est cliqué.
-<p>Pour la compatibilité avec les autres navigateurs, Firefox rend cet événement disponible via l'espace de noms <code>contextMenus</code> ainsi que l'espace de noms des <code>menus</code>.</p>
+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`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.menus.onClicked.addListener(listener)
+```js
+browser.menus.onClicked.addListener(listener)
browser.menus.onClicked.removeListener(listener)
browser.menus.onClicked.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>info</code></dt>
- <dd>{{WebExtAPIRef('menus.OnClickData')}}. Informations sur l'élément cliqué et le contexte dans lequel le clic s'est produit.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>tab</code></dt>
- <dd>{{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.</dd>
- </dl>
- </dd>
-</dl>
+ - `info`
+ - : {{WebExtAPIRef('menus.OnClickData')}}. Informations sur l'élément cliqué et le contexte dans lequel le clic s'est produit.
-<h2 id="Compatibilté_du_navigateur">Compatibilté du navigateur</h2>
+ <!---->
-<p>{{Compat("webextensions.api.menus.onClicked", 10)}}</p>
+ - `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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilté du navigateur
-<p>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 :</p>
+{{Compat("webextensions.api.menus.onClicked", 10)}}
-<pre class="brush: js">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) =&gt; {
+browser.menus.onClicked.addListener((info, tab) => {
console.log("Item " + info.menuItemId + " clicked " +
"in tab " + tab.id);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+});
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/contextMenus"><code>chrome.contextMenus</code></a> de chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> dans le code Chromium.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -112,5 +106,4 @@ browser.menus.onClicked.addListener((info, tab) =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>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é.</p>
+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é.
-<p>Firefox rend cet événement disponible via l'espace de noms <code>contextMenus</code> ainsi que l'espace de nom des <code>menus</code>.</p>
+Firefox rend cet événement disponible via l'espace de noms `contextMenus` ainsi que l'espace de nom des `menus`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.menus.onHidden.addListener(listener)
+```js
+browser.menus.onHidden.addListener(listener)
browser.menus.onHidden.removeListener(listener)
browser.menus.onHidden.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code>  est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, <code>false</code> sinon.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction sera transmise sans paramètre.</p>
- </dd>
-</dl>
+- `callback`
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction sera transmise sans paramètre.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.menus.onHidden", 10)}}</p>
+{{Compat("webextensions.api.menus.onHidden", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple enregistre simplement un message chaque fois qu'un menu est masqué :</p>
+Cet exemple enregistre simplement un message chaque fois qu'un menu est masqué :
-<pre class="brush: js">function hidden() {
+```js
+function hidden() {
console.log("Menu was hidden");
}
-browser.menus.onHidden.addListener(hidden);</pre>
+browser.menus.onHidden.addListener(hidden);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque le navigateur a montré un menu.</p>
+Lancé lorsque le navigateur a montré un menu.
-<p>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 <code>onShown</code> puis appellera {{WebExtAPIRef("menus.refresh()")}} pour mettre à jour le menu lui-même.</p>
+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.
-<p>Le gestionnaire peut ajouter, supprimer ou mettre à jour des éléments de menu.</p>
+Le gestionnaire peut ajouter, supprimer ou mettre à jour des éléments de menu.
-<p>Par exemple, l'extension d'exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/menu-labelled-open">menu-labelled-open</a>  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 <code>onShown</code> et <code>refresh()</code> 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.</p>
+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.
-<p>Notez qu'une extension ne devrait pas prendre trop de temps avant d'appeler <code>refresh()</code>, sinon la mise à jour sera visible par l'utilisateur.</p>
+Notez qu'une extension ne devrait pas prendre trop de temps avant d'appeler `refresh()`, sinon la mise à jour sera visible par l'utilisateur.
-<p>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission de l'hôte</a>.</p>
+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).
-<p>Si le gestionnaire <code>onShown</code> 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 :</p>
+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 :
-<pre class="brush: js">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;
-});</pre>
+});
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">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();
-});</pre>
+});
+```
-<p>Toutefois, si vous appelez ces API de manière asynchrone, vous devez effectuer la vérification suivante :</p>
+Toutefois, si vous appelez ces API de manière asynchrone, vous devez effectuer la vérification suivante :
-<pre class="brush: js">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();
-});</pre>
+});
+```
-<p>Firefox rend cet événement disponible via l'espace de noms <code>contextMenus</code> ainsi que l'espace de nom des <code>menus</code>.</p>
+Firefox rend cet événement disponible via l'espace de noms `contextMenus` ainsi que l'espace de nom des `menus`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.menus.onShown.addListener(listener)
+```js
+browser.menus.onShown.addListener(listener)
browser.menus.onShown.removeListener(listener)
browser.menus.onShown.hasListener(listener)
-</pre>
+```
+
+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
-<p>Les événements ont trois fonctions :</p>
+### Paramètres
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si le <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `callback`
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h3 id="Paramètres">Paramètres</h3>
+ - `info`
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+ - : `Object`. Ceci est juste comme l'objet {{WebExtAPIRef('menus.OnClickData')}}, sauf qu'il contient deux propriétés supplémentaires:
- <dl>
- <dt><code>info</code></dt>
- <dd>
- <p><code>Object</code>. Ceci est juste comme l'objet {{WebExtAPIRef('menus.OnClickData')}}, sauf qu'il contient deux propriétés supplémentaires:</p>
+ - `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.
- <ul>
- <li><code>contexts</code>: un tableau de tous les {{WebExtAPIRef("menus.ContextType", "contexts")}} applicables à ce menu.</li>
- <li><code>menuIds</code>: un tableau d'ID de tous les éléments de menu appartenant à cette extension qui sont affichés dans ce menu.</li>
- </ul>
+ 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é.
- <p>En comparaison avec <code>menus.OnClickData</code>, l'objet <code>info</code> omet également les propriétés <code>menuItemId</code> et <code>modifiers</code>, car bien sûr, celles-ci ne sont pas disponibles tant qu'un élément de menu n'a pas été sélectionné.</p>
+ 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.
- <p>Les propriétés <code>contexts</code>, <code>menuIds</code>, <code>frameId</code>, et <code>editable</code> modifiables sont toujours fournis. Toutes les autres propriétés dans <code>info</code> sont uniquement fournies si l'extension a la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission d'hôte</a> pour la page.</p>
- </dd>
- </dl>
+ <!---->
- <dl>
- <dt><code>tab</code></dt>
- <dd>{{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.</dd>
- </dl>
- </dd>
-</dl>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.menus.onShown", 10)}}</p>
+{{Compat("webextensions.api.menus.onShown", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple permet d'afficher le menu contextuel sur un lien, puis met à jour l'élément de menu <code>openLabelledId</code> avec le nom d'hôte du lien :</p>
+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 :
-<pre class="brush: js">function updateMenuItem(linkHostname) {
+```js
+function updateMenuItem(linkHostname) {
browser.menus.update(openLabelledId, {
title: `Open (${linkHostname})`
});
browser.menus.refresh();
}
-browser.menus.onShown.addListener(info =&gt; {
+browser.menus.onShown.addListener(info => {
if (!info.linkUrl) {
return;
}
@@ -146,6 +144,6 @@ browser.menus.onShown.addListener(info =&gt; {
linkElement.href = info.linkUrl;
updateMenuItem(linkElement.hostname);
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>Masquer tous les éléments de menu par défaut de Firefox en faveur d'un menu contextuel personnalisé.</p>
+Masquer tous les éléments de menu par défaut de Firefox en faveur d'un menu contextuel personnalisé.
-<p>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.</p>
+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.
-<p>Pour appeler cette méthode, votre extension doit avoir la permission <code>menus.overrideContext</code>.</p>
+Pour appeler cette méthode, votre extension doit avoir la permission `menus.overrideContext`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.menus.overrideContext(
+```js
+browser.menus.overrideContext(
contextOptions // object
-)</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>contextOptions</code></dt>
- <dd><p><code>object</code>. Options sur la façon dont les menus contextuels seront remplacés.</p>
- <dl>
- <dt><code>showDefaults</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. S'il faut également inclure les éléments de menu par défaut dans le menu.</dd>
- <dt><code>context </code>{{optional_inline}}</dt>
- <dd><code>string</code>. Le ContextType à surcharger, pour autoriser les éléments de menu d'autres extensions dans le menu. Actuellement, seuls <code>'bookmark'</code> et <code>'tab'</code> sont supportés. <code>showDefaults</code> ne peut pas être utilisé avec cette option.</dd>
- <dt><code>bookmarkId </code>{{optional_inline}}</dt>
- <dd><code>string</code>. Requis lorsque le contexte est  <code>'bookmark'</code>. Nécessite la permission  'bookmark'.</dd>
- <dt><code>tabId </code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Requis lorsque le contexte est <code>'tab'</code>. Nécessite la permission 'tabs'.</dd>
- </dl>
- </dd>
-</dl>
+)
+```
+
+### 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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Actualise un menu affiché.</p>
+Actualise un menu affiché.
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>Firefox rend cette fonction disponible via l'espace de noms <code>contextMenus</code> ainsi que l'espace de noms des <code>menus</code>.</p>
+Firefox rend cette fonction disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.menus.refresh()
-</pre>
+```js
+browser.menus.refresh()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun.</p>
+Aucun.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui se réalise sans arguments.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui se réalise sans arguments.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.menus.refresh", 10)}}</p>
+{{Compat("webextensions.api.menus.refresh", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple permet d'afficher le menu contextuel sur un lien, puis met à jour l'élément de menu <code>openLabelledId</code> menu item avec le nom d'hôte du lien :</p>
+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 :
-<pre class="brush: js">function updateMenuItem(linkHostname) {
+```js
+function updateMenuItem(linkHostname) {
browser.menus.update(openLabelledId, {
title: `Open (${linkHostname})`
});
browser.menus.refresh();
}
-browser.menus.onShown.addListener(info =&gt; {
+browser.menus.onShown.addListener(info => {
if (!info.linkUrl) {
return;
}
let linkElement = document.createElement("a");
linkElement.href = info.linkUrl;
updateMenuItem(linkElement.hostname);
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime un élément de menu.</p>
+Supprime un élément de menu.
-<p>Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms <code>contextMenus</code> ainsi que l'espace de noms des <code>menus</code>.</p>
+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`.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.menus.remove(
+```js
+var removing = browser.menus.remove(
menuItemId // integer or string
)
-</pre>
+```
-<h3 id="Parameters">Parameters</h3>
+### Parameters
-<dl>
- <dt><code>menuItemId</code></dt>
- <dd><code><code>integer</code></code> or <code><code>string</code></code>. The ID of the menu item to remove.</dd>
-</dl>
+- `menuItemId`
+ - : `integer` or `string`. The ID of the menu item to remove.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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é).</p>
+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é).
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cette extension ajoute un élément de menu intitulé "Remove me!". Si vous cliquez sur l'élément, l'extension le supprime.</p>
+Cette extension ajoute un élément de menu intitulé "Remove me!". Si vous cliquez sur l'élément, l'extension le supprime.
-<pre class="brush: js">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);
}
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+});
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.menus.remove", 10)}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.menus.remove", 10)}}
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/contextMenus"><code>chrome.contextMenus</code></a> de chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> dans le code Chromium.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -103,5 +102,4 @@ browser.menus.onClicked.addListener(function(info, tab) {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime tous les éléments de menu ajoutés par l'extension.</p>
+Supprime tous les éléments de menu ajoutés par l'extension.
-<p>Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms <code>contextMenus</code> ainsi que l'espace de noms des <code>menus</code>.</p>
+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`.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.menus.removeAll()
-</pre>
+```js
+var removing = browser.menus.removeAll()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie sans argument lorsque tous les éléments ont été supprimés.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque tous les éléments ont été supprimés.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.menus.removeAll", 10)}}</p>
+{{Compat("webextensions.api.menus.removeAll", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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 <code>removeAll()</code>.</p>
+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()`.
-<pre class="brush: js">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);
}
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+});
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/contextMenus"><code>chrome.contextMenus</code></a> de chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> dans le code Chromium.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -101,5 +102,4 @@ browser.menus.onClicked.addListener(function(info, tab) {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Met à jour un élément de menu précédemment créé.</p>
+Met à jour un élément de menu précédemment créé.
-<p>Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms <code>contextMenus</code> ainsi que l'espace de noms des <code>menus</code>.</p>
+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`.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var updating = browser.menus.update(
+```js
+var updating = browser.menus.update(
id, // integer or string
updateProperties // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>id</code></dt>
- <dd><code><code>integer</code></code> ou <code><code>string</code></code>. L'ID de l'article à mettre à jour.</dd>
- <dt><code>updateProperties</code></dt>
- <dd><p><code>object</code>. Les propriétés à mettre à jour. Identique à l'objet <code>createProperties</code> passé à  {{WebExtAPIRef("menus.create()", "menus.create()")}}, sauf que l'<code>id</code> ne peut être défini. En outre, les <code>icônes</code> 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.</p>
- <dl>
- <dt><code>checked</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. L'état initial d'une case à cocher ou d'un élément radio : <code>true</code> fpour sélectionné et <code>false</code> pour non sélectionné. Un seul élément radio peut être sélectionné à la fois dans un groupe donné d'éléments radio.</dd>
- <dt><code>command</code> {{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. Chaîne décrivant une action qui doit être effectuée lorsque l'utilisateur clique sur l'élément. Les valeurs possibles sont :</p>
-
- <ul>
- <li><code>"_execute_browser_action"</code>: simuler un clic sur l'action du navigateur de l'extension, en ouvrant son popup s'il en a un</li>
- <li><code>"_execute_page_action"</code>: simuler un clic sur l'action de la page de l'extension, en ouvrant son popup si elle en a une</li>
- <li><code>"_execute_sidebar_action"</code>: ouvre la barre latérale de l'extension</li>
- </ul>
-
- <p>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 <code>onClicked</code>.</p>
- </dd>
- <dt><code>contexts</code> {{optional_inline}}</dt>
- <dd>
- <p><code>array</code> de <code>{{WebExtAPIRef('menus.ContextType')}}</code>. Tableau des contextes dans lesquels cet élément de menu apparaîtra. Si cette option est omise :</p>
-
- <ul>
- <li>si le parent de l'élément a des contextes définis, alors cet élément héritera des contextes de son parent</li>
- <li>sinon, l'élément reçoit un tableau de contexte de ["page"].</li>
- </ul>
- </dd>
- <dt><code>documentUrlPatterns</code> {{optional_inline}}</dt>
- <dd><code>array</code> de <code><code>string</code></code>. Vous permet de limiter l'élément à s'appliquer uniquement aux documents dont l'URL correspond à l'un des éléments <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">motifs</a> de données. Ceci s'applique également aux cadres.</dd>
- <dt><code>enabled</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si cet élément de menu est activé ou désactivé. La valeur par défaut est <code>true</code>.</dd>
- <dt><code>icons</code> {{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. 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 :</p>
-
- <pre class="brush: json">"icons": {
- "16": "path/to/geo-16.png",
- "32": "path/to/geo-32.png"
- }</pre>
-
- <p>Alternativement, vous pouvez spécifier une seule icône SVG, et elle sera mise à l'échelle de manière appropriée :</p>
-
- <pre class="brush: json">"icons": {
- "16": "path/to/geo.svg"
- }</pre>
-
- <div class="note">
- <p><strong>Note :</strong> The top-level menu item uses the <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons">icons</a> specified in the manifest rather than what is specified with this key.</p>
- </div>
- </dd>
- <dt><code>id</code> {{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>onclick</code> {{optional_inline}}</dt>
- <dd><code>function</code>. 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')}}.</dd>
- <dt><code>parentId</code> {{optional_inline}}</dt>
- <dd><code><code>integer</code></code> ou <code><code>string</code></code>. 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.</dd>
- <dt><code>targetUrlPatterns</code> {{optional_inline}}</dt>
- <dd><code>array</code> de <code><code>string</code></code>. Similairer à <code>documentUrlPatterns</code>, mais vous permet de filtrer en fonction de la <code>href</code> des balises d'ancre et l'attribut <code>src</code> 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.</dd>
- <dt><code>title</code> {{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. Le texte à afficher dans le poste. Obligatoire sauf si le <code>type</code> est "separateur".</p>
-
- <p>Vous pouvez utiliser "<code>%s</code>" 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 <code>title</code> 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".</p>
-
- <p>Si le titre contient une esperluette "&amp;", 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 :</p>
-
- <ul>
- <li>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, "&amp;&amp;" est utilisé pour afficher une seule esperluette.</li>
- <li>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.</li>
- <li>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.</li>
- </ul>
-
- <p>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, "&amp;A et &amp;B" seront affichés comme "A et B" et "A" comme clé d'accès</p>
- </dd>
- <dt><code>type</code> {{optional_inline}}</dt>
- <dd><code>{{WebExtAPIRef('menus.ItemType')}}</code>. Le type d'élément de menu : "normal", "checkbox", "radio", "separator". Defaults to "normal".</dd>
- <dt><code>viewTypes</code> {{optional_inline}}</dt>
- <dd><code>{{WebExtAPIRef('extension.ViewType')}}</code>. 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 <code>viewType</code>.</dd>
- <dt><code>visible</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si l'élément est affiché dans le menu. La valeur par défaut est <code>true</code>.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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é.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Cet exemple crée un élément de menu, puis met à jour son titre lorsque l'utilisateur clique dessus :</p>
-
-<pre class="brush: js">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);
}
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+});
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.menus.update", 10)}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.menus.update", 10)}}
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/contextMenus"><code>chrome.contextMenus</code></a> de chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json"><code>context_menus.json</code></a> dans le code Chromium.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -187,5 +181,4 @@ browser.menus.onClicked.addListener(function(info, tab) {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Efface une notification, compte tenu de son identifiant.</p>
+Efface une notification, compte tenu de son identifiant.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var clearing = browser.notifications.clear(
+```js
+var clearing = browser.notifications.clear(
id // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. L'ID de la notification à effacer. C'est la même chose que l'ID transmis dans le callback {{WebExtAPIRef('notifications.create()')}}.</dd>
-</dl>
+- `id`
+ - : `string`. L'ID de la notification à effacer. C'est la même chose que l'ID transmis dans le callback {{WebExtAPIRef('notifications.create()')}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un booléen : <code>true</code> la notification a été effacée, ou <code>false</code> si ce n'est pas le cas (par exemple, parce que la notification référencée par <code>id </code> n'existe pas).</p>
+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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.notifications.clear")}}</p>
+{{Compat("webextensions.api.notifications.clear")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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 :</p>
+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 :
-<pre class="brush: js">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);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Crée et affiche une notification.</p>
+Crée et affiche une notification.
-<p>Passez un {{WebExtAPIRef("notifications.NotificationOptions")}} pour définir le contenu et le comportement de la notification.</p>
+Passez un {{WebExtAPIRef("notifications.NotificationOptions")}} pour définir le contenu et le comportement de la notification.
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<div class="warning">
-<p><strong>Attention :</strong> Si vous appelez <code>notifications.create()</code> plus d'une fois de suite, Firefox peut ne pas afficher de notification pour tout.</p>
-</div>
+> **Attention :** Si vous appelez `notifications.create()` plus d'une fois de suite, Firefox peut ne pas afficher de notification pour tout.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var creating = browser.notifications.create(
+```js
+var creating = browser.notifications.create(
id, // optional string
options // NotificationOptions
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>options</code></dt>
- <dd>{{WebExtAPIRef('notifications.NotificationOptions')}}. Définit le contenu et le comportement de la notification.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.notifications.create")}}</p>
+{{Compat("webextensions.api.notifications.create")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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.</p>
+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.
-<p>Notez que vous aurez besoin de la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "alarms" pour créer des alarmes (ainsi que de la permission "notifications" pour créer des notifications).</p>
+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).
-<pre class="brush: js">var cakeNotification = "cake-notification"
+```js
+var cakeNotification = "cake-notification"
/*
@@ -82,16 +80,18 @@ browser.alarms.onAlarm.addListener(function(alarm) {
});
});
-browser.browserAction.onClicked.addListener(()=&gt; {
+browser.browserAction.onClicked.addListener(()=> {
var clearing = browser.notifications.clear(cakeNotification);
- clearing.then(() =&gt; {
+ clearing.then(() => {
console.log("cleared");
});
-});</pre>
+});
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">var cakeNotification = "cake-notification"
+```js
+var cakeNotification = "cake-notification"
/*
@@ -124,24 +124,23 @@ browser.alarms.onAlarm.addListener(function(alarm) {
});
});
-browser.browserAction.onClicked.addListener(()=&gt; {
+browser.browserAction.onClicked.addListener(()=> {
var clearing = browser.notifications.clear(cakeNotification);
- clearing.then(() =&gt; {
+ clearing.then(() => {
console.log("cleared");
});
});
-browser.notifications.onButtonClicked.addListener((id, index) =&gt; {
+browser.notifications.onButtonClicked.addListener((id, index) => {
browser.notifications.clear(id);
console.log("You chose: " + buttons[index].title);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient toutes les notifications actuellement actives créées par l'extension.</p>
+Obtient toutes les notifications actuellement actives créées par l'extension.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingAll = browser.notifications.getAll()
-</pre>
+```js
+var gettingAll = browser.notifications.getAll()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<p>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. </p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.notifications.getAll")}}</p>
+{{Compat("webextensions.api.notifications.getAll")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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 :</p>
+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 :
-<pre class="brush: js">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);</pre>
+browser.browserAction.onClicked.addListener(handleClick);
+```
-<p>Cet exemple enregistre le titre de toutes les notifications actives :</p>
+Cet exemple enregistre le titre de toutes les notifications actives :
-<pre class="brush: js">function logNotifications(all) {
+```js
+function logNotifications(all) {
for (let id in all) {
console.log(`Title: ${all[id].title}`);
}
}
-browser.notifications.getAll().then(logNotifications);</pre>
+browser.notifications.getAll().then(logNotifications);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Pour utiliser cette API, vous devez  avoir la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "notifications".</p>
+Pour utiliser cette API, vous devez  avoir la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "notifications".
-<p>La notification est identique sur tous les systèmes d'exploitation de bureau. Quelque chose comme :</p>
+La notification est identique sur tous les systèmes d'exploitation de bureau. Quelque chose comme :
-<p><img alt="" src="notification.png"></p>
+![](notification.png)
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("notifications.NotificationOptions")}}</dt>
- <dd>Définit le contenu d'une notification.</dd>
- <dt>{{WebExtAPIRef("notifications.TemplateType")}}</dt>
- <dd>Le type de notification Par exemple, cela définit si la notification peut contenir une image.</dd>
-</dl>
+- {{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.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("notifications.clear()")}}</dt>
- <dd>Effacer une notification spécifique, compte tenu de son identifiant.</dd>
- <dt>{{WebExtAPIRef("notifications.create()")}}</dt>
- <dd> Créez et affichez une nouvelle notification.</dd>
- <dt>{{WebExtAPIRef("notifications.getAll()")}}</dt>
- <dd>Recevez toutes les notifications</dd>
- <dt>{{WebExtAPIRef("notifications.update()")}}</dt>
- <dd>Mettre à jour une notification</dd>
-</dl>
+- {{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
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt>{{WebExtAPIRef("notifications.onButtonClicked")}}</dt>
- <dd>Lancé lorsque l'utilisateur a cliqué sur un bouton dans la notification.</dd>
- <dt>{{WebExtAPIRef("notifications.onClicked")}}</dt>
- <dd>Lancé lorsque l'utilisateur a cliqué sur la notification, mais pas sur un bouton.</dd>
- <dt>{{WebExtAPIRef("notifications.onClosed")}}</dt>
- <dd>Lancé lorsqu'une notification est fermée, soit par le système, soit parce que l'utilisateur l'a rejeté..</dd>
- <dt>{{WebExtAPIRef("notifications.onShown")}}</dt>
- <dd>Lancé immédiatement après l'affichage d'une notification.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.notifications")}}</p>
+{{Compat("webextensions.api.notifications")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
-
-<p>Ce type contient les données nécessaires pour :</p>
-
-<ul>
- <li>créer une notification avec {{WebExtAPIRef("notifications.create()")}},</li>
- <li>mettre à jour une notification avec {{WebExtAPIRef("notifications.update()")}}.</li>
-</ul>
-
-<h2 id="Type">Type</h2>
-
-<p>Les valeurs de ce type sont des objets qui contiennent les propriétés listées ci-dessous.</p>
-
-<p>Les trois premières propriétés - <code>type</code>, <code>title</code>, <code>message</code> - sont obligatoires pour {{WebExtAPIRef("notifications.create()")}}, mais pas avec {{WebExtAPIRef("notifications.update()")}}. Firefox ne supporte que les propriétés <code>type</code>, <code>title</code>, <code>message</code>, et <code>iconUrl</code> pour le moment, et le seul <code>type</code> disponible est <code>'basic'</code>.</p>
-
-<dl>
- <dt><code>type</code></dt>
- <dd>{{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.</dd>
- <dt><code>message</code></dt>
- <dd><code>string</code>. Le contenu de la notification</dd>
- <dt><code>title</code></dt>
- <dd><code>string</code>. Le titre de la notification</dd>
- <dt><code>iconUrl</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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 <a href="/fr/Add-ons/WebExtensions/Chrome_incompatibilities#Relative_URLs">l'URL relative</a> d'un fichier de l'extension.</dd>
- <dt><code>contextMessage</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Du texte supplémentaire à afficher.</dd>
- <dt><code>priority</code>{{optional_inline}}</dt>
- <dd><code>number</code>. La priorité de cette notification. Ça peut être 0, 1, or 2. La valeur par défaut est 0.</dd>
- <dt><code>eventTime</code>{{optional_inline}}</dt>
- <dd><code>number</code>. Un timestamp en millisecondes pour cette notification <a href="https://fr.wikipedia.org/wiki/Temps_Unix">depuis le timestamp 0</a>.</dd>
- <dt><code>buttons</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> de <code>button</code>. 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 :</p>
- <dl>
- <dt><code>title</code></dt>
- <dd><code>string</code>. Le texte du bouton.</dd>
- <dt><code>iconUrl</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Une URL pointant vers l'icône de ce bouton.</dd>
- </dl>
- </dd>
- <dt><code>imageUrl</code></dt>
- <dd>
- <p><code>string</code>. 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 <a href="/fr/Add-ons/WebExtensions/Chrome_incompatibilities#Relative_URLs">l'URL relative</a> d'un fichier de l'extension.</p>
-
- <p><em>Cette propriété est utilisable seuleument si le <code>type</code> de la notification est <code>'image'</code>. Dans ce cas, cette propriété sera obligatoire si l'objet <code>NotificationOptions</code> est utilisé avec {{WebExtAPIRef("notifications.create()")}}, mais optionel avec </em><em>{{WebExtAPIRef("notifications.update()")}}.</em></p>
- </dd>
- <dt><code>items</code></dt>
- <dd><p><code>array</code> of <code>item</code>. 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 :</p>
- <dl>
- <dt><code>title</code></dt>
- <dd><code>string</code>. Le titre de cet élément.</dd>
- <dt><code>message</code></dt>
- <dd><code>string</code>. Le message à afficher pour cet élément.</dd>
- </dl>
- <p><em>Cette propriété est utilisable seuleument si le <code>type</code> de la notification est <code>'list'</code>. Dans ce cas, cette propriété sera obligatoire si l'objet <code>NotificationOptions</code> est utilisé avec {{WebExtAPIRef("notifications.create()")}}, mais optionel avec </em><em>{{WebExtAPIRef("notifications.update()")}}.</em></p></dd>
- <dt><code>progress</code></dt>
- <dd><code>integer</code>. Une valeur entre 0 et 100, qui représente l'avancée actuelle d'un indicateur de progression. <em>Cette propriété est utilisable seuleument si le <code>type</code> de la notification est <code>'progress'</code>. Dans ce cas, cette propriété sera obligatoire si l'objet <code>NotificationOptions</code> est utilisé avec {{WebExtAPIRef("notifications.create()")}}, mais optionel avec </em><em>{{WebExtAPIRef("notifications.update()")}}.</em></dd>
-</dl>
-
-<p>Notez que les propriétés <code>appIconMaskUrl</code> et <code>isClickable</code> ne sont pas supportées.</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.notifications.NotificationOptions")}}</p>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque l'utilisateur clique sur l'un des boutons de la notification.</p>
+Lancé lorsque l'utilisateur clique sur l'un des boutons de la notification.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.notifications.onButtonClicked.addListener(listener)
+```js
+browser.notifications.onButtonClicked.addListener(listener)
browser.notifications.onButtonClicked.removeListener(listener)
browser.notifications.onButtonClicked.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Parameters">Parameters</h3>
+### Parameters
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>notificationId</code></dt>
- <dd><code>string</code>. ID de la notification sur laquelle le bouton a été cliqué.</dd>
- <dt><code>buttonIndex</code></dt>
- <dd><code>integer</code>. L'index <a href="https://en.wikipedia.org/wiki/Zero-based_numbering">zero-based</a> du bouton sur lequel vous avez cliqué.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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é.
-<p>{{Compat("webextensions.api.notifications.onButtonClicked")}}</p>
+## Compatibilité du navigateur
-<p>{{WebExtExamples}}</p>
+{{Compat("webextensions.api.notifications.onButtonClicked")}}
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque l'utilisateur clique sur une notification, mais pas sur l'un des boutons de la notification (pour cela, voir {{WebExtAPIRef("notifications.onButtonClicked")}}).</p>
+Lancé lorsque l'utilisateur clique sur une notification, mais pas sur l'un des boutons de la notification (pour cela, voir {{WebExtAPIRef("notifications.onButtonClicked")}}).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.notifications.onClicked.addListener(listener)
+```js
+browser.notifications.onClicked.addListener(listener)
browser.notifications.onClicked.removeListener(listener)
browser.notifications.onClicked.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="syntaxe_addListener">syntaxe addListener</h2>
+## syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>notificationId</code></dt>
- <dd><code>string</code>. ID de la notification sur laquelle l'utilisateur a cliqué.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `notificationId`
+ - : `string`. ID de la notification sur laquelle l'utilisateur a cliqué.
-<p>{{Compat("webextensions.api.notifications.onClicked")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.notifications.onClicked")}}
-<p>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.</p>
+## Exemples
-<pre class="brush: js">browser.notifications.onClicked.addListener(function(notificationId) {
- console.log('Notification ' + notificationId + ' was clicked by the user');
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+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.
-<div class="note"><p><strong>Note :</strong></p>
+```js
+browser.notifications.onClicked.addListener(function(notificationId) {
+ console.log('Notification ' + notificationId + ' was clicked by the user');
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'une notification est fermée, soit par le système, soit par l'utilisateur.</p>
+Lancé lorsqu'une notification est fermée, soit par le système, soit par l'utilisateur.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.notifications.onClosed.addListener(listener)
+```js
+browser.notifications.onClosed.addListener(listener)
browser.notifications.onClosed.removeListener(listener)
browser.notifications.onClosed.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> st l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> st enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Parameters">Parameters</h3>
+### Parameters
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>notificationId</code></dt>
- <dd><code>string</code>. ID de la notification fermée.</dd>
- <dt><code>byUser</code></dt>
- <dd><code>boolean</code>. <code>true</code> si la notification a été fermée par l'utilisateur, ou <code>false</code>si elle a été fermée par le système. Cet argument n'est pas supporté dans Firefox.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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.
-<p>{{Compat("webextensions.api.notifications.onClosed")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.notifications.onClosed")}}
-<p>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.</p>
+## Exemples
-<pre class="brush: js">browser.notifications.onClosed.addListener(function(notificationId) {
-  console.log('Notification ' + notificationId + ' has closed.');
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+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.
-<div class="note"><p><strong>Note :</strong></p>
+```js
+browser.notifications.onClosed.addListener(function(notificationId) {
+  console.log('Notification ' + notificationId + ' has closed.');
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé immédiatement après l'affichage d'une notification.</p>
+Lancé immédiatement après l'affichage d'une notification.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.notifications.onShown.addListener(listener)
+```js
+browser.notifications.onShown.addListener(listener)
browser.notifications.onShown.removeListener(listener)
browser.notifications.onShown.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code>s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="syntaxe_addListener">syntaxe addListener</h2>
+## syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>notificationId</code></dt>
- <dd><code>string</code>. ID de la notification qui a été affichée.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `notificationId`
+ - : `string`. ID de la notification qui a été affichée.
-<p>{{Compat("webextensions.api.notifications.onShown")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.notifications.onShown")}}
-<p>Ajoutez un écouteur à l'événement {{WebExtAPIRef("notifications.onShown")}} et consignez ses détails :</p>
+## Exemples
-<pre class="brush: js">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) =&gt; {
+ browser.notifications.getAll().then((all) => {
console.log(all[itemId]);
})
}
-browser.notifications.onShown.addListener(logShown);</pre>
-
-<p>{{WebExtExamples}}</p>
+browser.notifications.onShown.addListener(logShown);
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Ceci est une chaîne et représente le type de notification à créer. Il existe quatre types de notification : "basic", "image", "list", "progress".</p>
+Ceci est une chaîne et représente le type de notification à créer. Il existe quatre types de notification : "basic", "image", "list", "progress".
-<p>Ceci est passé dans {{WebExtAPIRef("notifications.create()")}} et {{WebExtAPIRef("notifications.update()")}} comme propriété de <code>type</code> {{WebExtAPIRef("notifications.NotificationOptions", "NotificationOptions")}}.</p>
+Ceci est passé dans {{WebExtAPIRef("notifications.create()")}} et {{WebExtAPIRef("notifications.update()")}} comme propriété de `type` {{WebExtAPIRef("notifications.NotificationOptions", "NotificationOptions")}}.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<ul>
- <li><code>"basic"</code>: la notification comprend :
+- `"basic"`: la notification comprend :
- <ul>
- <li>un titre (<code><a href="/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#title">NotificationOptions.title</a></code>)</li>
- <li>un message (<code><a href="/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#message">NotificationOptions.message</a></code>)</li>
- <li>une icône (<code><a href="/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#iconUrl">NotificationOptions.iconUrl</a></code>){{optional_inline}}</li>
- <li>un message supplémentaire (<code><a href="/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#contextMessage">NotificationOptions.contextMessage</a></code>){{optional_inline}}</li>
- <li>jusqu'à deux boutons (<code><a href="/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#buttons">NotificationOptions.buttons</a></code>){{optional_inline}}</li>
- </ul>
- </li>
- <li><code>"image"</code>: tout dans <code>"basic"</code> et aussi :
- <ul>
- <li>Une image (<code><a href="/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#imageUrl">NotificationOptions.imageUrl</a></code>)</li>
- </ul>
- </li>
- <li><code>"list"</code>: tout dans <code>"basic"</code> et aussi :
- <ul>
- <li>Une liste d'éléments (<code><a href="/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#items">NotificationOptions.items</a></code>)</li>
- </ul>
- </li>
- <li><code>"progress"</code>: tout en <code>"basic"</code> et aussi :
- <ul>
- <li>Un indicator de progression (<code><a href="/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#progress">NotificationOptions.progress</a></code>)</li>
- </ul>
- </li>
-</ul>
+ - 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}}
-<p>Actuellement Firefox ne supporte que "basic" ici.</p>
+- `"image"`: tout dans `"basic"` et aussi :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - Une image ([`NotificationOptions.imageUrl`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#imageUrl))
-<p>{{Compat("webextensions.api.notifications.TemplateType")}}</p>
+- `"list"`: tout dans `"basic"` et aussi :
-<p>{{WebExtExamples}}</p>
+ - Une liste d'éléments ([`NotificationOptions.items`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#items))
-<div class="note"><p><strong>Note :</strong></p>
+- `"progress"`: tout en `"basic"` et aussi :
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
+ - Un indicator de progression ([`NotificationOptions.progress`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#progress))
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Met à jour une notification, compte tenu de son identifiant</p>
+Met à jour une notification, compte tenu de son identifiant
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var updating = browser.notifications.update(
+```js
+var updating = browser.notifications.update(
id, // string
options // NotificationOptions
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>id</code></dt>
- <dd><code>string</code>. L'ID de la notification à mettre à jour. C'est la même chose que l'ID transmis dans le callback {{WebExtAPIRef('notifications.create()')}}.</dd>
- <dt><code>options</code></dt>
- <dd>{{WebExtAPIRef('notifications.NotificationOptions')}}. Définit le nouveau contenu et le nouveau comportement de la notification.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un booléen : <code>true</code> si la notification a été mise à jour, ou <code>false</code> si ce n'est pas le cas (par exemple, parce que la notification référencée par <code>id</code> n'existe pas).</p>
+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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.notifications.update")}}</p>
+{{Compat("webextensions.api.notifications.update")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple utilise <code>update()</code> 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.</p>
+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.
-<p>Notez que vous aurez besoin de la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "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 <code>progress</code>.</p>
+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`.
-<pre class="brush: js">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 &gt; 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) =&gt; {
- if (all.length &gt; 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}
);
});
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/notifications"><code>chrome.notifications</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Permet aux extensions d'implémenter un comportement personnalisé lorsque l'utilisateur tape dans la barre d'adresse du navigateur.</p>
+Permet aux extensions d'implémenter un comportement personnalisé lorsque l'utilisateur tape dans la barre d'adresse du navigateur.
-<p>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.</p>
+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.
-<p>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:...</p>
+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:...
-<ol>
- <li>Tout d'abord, l'extension doit inclure une clé "<a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/omnibox">omnibox</a>" dans le fichier <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a> qui définit un mot-clé.</li>
- <li>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")}}.</li>
- <li>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.</li>
- <li>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.</li>
- <li>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.</li>
- <li>Si l'utilisateur supprime la liste déroulante, l'extension recevra un événement {{WebExtAPIRef("omnibox.onInputCancelled")}}.</li>
-</ol>
+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")}}.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("omnibox.SuggestResult")}}</dt>
- <dd>Objet représentant une suggestion à ajouter à la liste déroulante de la barre.</dd>
-</dl>
+- {{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.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("omnibox.setDefaultSuggestion()")}}</dt>
- <dd>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.</dd>
-</dl>
+- {{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.
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt>{{WebExtAPIRef("omnibox.onInputStarted")}}</dt>
- <dd>Lancé lorsque l'utilisateur met la barre d'adresse en surbrillance et tape le mot clé omnibox de votre extension, suivi d'un espace.</dd>
- <dt>{{WebExtAPIRef("omnibox.onInputChanged")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("omnibox.onInputEntered")}}</dt>
- <dd>Lancé lorsque l'utilisateur accepte l'une des suggestions de votre extension.</dd>
- <dt>{{WebExtAPIRef("omnibox.onInputCancelled")}}</dt>
- <dd>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.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.omnibox")}}</p>
+{{Compat("webextensions.api.omnibox")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/omnibox"><code>chrome.omnibox</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque l'utilisateur a annulé son interaction avec votre poste (par exemple, en cliquant en dehors de la barre d'adresse).</p>
+Lancé lorsque l'utilisateur a annulé son interaction avec votre poste (par exemple, en cliquant en dehors de la barre d'adresse).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.omnibox.onInputCancelled.addListener(listener)
+```js
+browser.omnibox.onInputCancelled.addListener(listener)
browser.omnibox.onInputCancelled.removeListener(listener)
browser.omnibox.onInputCancelled.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<p>La fonction d'écouteur n'a pas de paramètres.</p>
+La fonction d'écouteur n'a pas de paramètres.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.omnibox.onInputCancelled")}}</p>
+{{Compat("webextensions.api.omnibox.onInputCancelled")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">browser.omnibox.onInputCancelled.addListener(() =&gt; {
+```js
+browser.omnibox.onInputCancelled.addListener(() => {
console.log("The user cancelled the session.");
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/omnibox"><code>chrome.omnibox</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>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 :</p>
+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 :
-<ul>
- <li>l'entrée actuelle de l'utilisateur (n'incluant pas le mot-clé lui-même ou l'espace après)</li>
- <li>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..</li>
-</ul>
+- 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..
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.omnibox.onInputChanged.addListener(listener)
+```js
+browser.omnibox.onInputChanged.addListener(listener)
browser.omnibox.onInputChanged.removeListener(listener)
browser.omnibox.onInputChanged.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code>s'il écoute, sinon  <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="syntaxe_addListener">syntaxe addListener</h2>
+## syntaxe addListener
-<p>The listener function will be passed two parameters: a string <code>text</code>, and a callback function <code>suggest</code>.</p>
+The listener function will be passed two parameters: a string `text`, and a callback function `suggest`.
-<h3 id="Parameters">Parameters</h3>
+### Parameters
-<dl>
- <dt><code>text</code></dt>
- <dd>
- <p><code>String</code>. 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.</p>
- </dd>
- <dt><code>suggest</code></dt>
- <dd>
- <p><code>Function</code>. 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.</p>
- </dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.omnibox.onInputStarted")}}</p>
+{{Compat("webextensions.api.omnibox.onInputStarted")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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 <code>description SuggestResult</code> est le nom complet de la propriété et le <code>contenu</code> est la page MDN de cette propriété.</p>
+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é.
-<p>L'exemple écoute également {{WebExtAPIRef("omnibox.onInputEntered")}}, et ouvre la page MDN correspondant à la sélection, conformément à l'argument   {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}.</p>
+L'exemple écoute également {{WebExtAPIRef("omnibox.onInputEntered")}}, et ouvre la page MDN correspondant à la sélection, conformément à l'argument   {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}.
-<pre class="brush: js">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) =&gt; {
+browser.omnibox.onInputChanged.addListener((input, suggest) => {
suggest(getMatchingProperties(input));
});
-browser.omnibox.onInputEntered.addListener((url, disposition) =&gt; {
+browser.omnibox.onInputEntered.addListener((url, disposition) => {
switch (disposition) {
case "currentTab":
browser.tabs.update({url});
@@ -138,14 +130,12 @@ browser.omnibox.onInputEntered.addListener((url, disposition) =&gt; {
break;
}
});
+```
-</pre>
+{{WebExtExamples}}
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/omnibox"><code>chrome.omnibox</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>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:</p>
+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:
-<ul>
- <li>la sélection de l'utilisateur</li>
- <li>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.</li>
-</ul>
+- 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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.omnibox.onInputEntered.addListener(listener)
+```js
+browser.omnibox.onInputEntered.addListener(listener)
browser.omnibox.onInputEntered.removeListener(listener)
browser.omnibox.onInputEntered.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<p>La fonction d'écouteur recevra deux paramètres: une chaine de <code>text</code>, et un  {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}.</p>
+La fonction d'écouteur recevra deux paramètres: une chaine de `text`, et un  {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}.
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>text</code></dt>
- <dd>
- <p><code>String</code>. C'est la valeur de la propriété <code>content</code> de l'objet {{WebExtAPIRef("omnibox.SuggestResult")}} que l'utilisateur a sélectionné.</p>
- </dd>
- <dt><code>disposition</code></dt>
- <dd>
- <p>{{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.</p>
- </dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.omnibox.onInputEntered")}}</p>
+{{Compat("webextensions.api.omnibox.onInputEntered")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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 <code>description SuggestResult</code> est le nom complet de la propriété et le <code>contenu</code> est la page MDN de cette propriété.</p>
+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é.
-<p>L'exemple écoute également {{WebExtAPIRef("omnibox.onInputEntered")}}, et ouvre la page MDN correspondant à la sélection, conformément à l'argument   {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}.</p>
+L'exemple écoute également {{WebExtAPIRef("omnibox.onInputEntered")}}, et ouvre la page MDN correspondant à la sélection, conformément à l'argument   {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}.
-<pre class="brush: js">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) =&gt; {
+browser.omnibox.onInputChanged.addListener((input, suggest) => {
suggest(getMatchingProperties(input));
});
-browser.omnibox.onInputEntered.addListener((url, disposition) =&gt; {
+browser.omnibox.onInputEntered.addListener((url, disposition) => {
switch (disposition) {
case "currentTab":
browser.tabs.update({url});
@@ -138,14 +130,12 @@ browser.omnibox.onInputEntered.addListener((url, disposition) =&gt; {
break;
}
});
+```
-</pre>
+{{WebExtExamples}}
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/omnibox"><code>chrome.omnibox</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <strong><code>omnibox.OnInputEnteredDisposition</code></strong> 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.</p>
+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.
-<p>Il est passé dans l'écouteur {{WebExtAPIRef("omnibox.onInputEntered")}} avec la sélection elle-même.</p>
+Il est passé dans l'écouteur {{WebExtAPIRef("omnibox.onInputEntered")}} avec la sélection elle-même.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Ils peuvent prendre l'une des valeurs suivantes :</p>
+Les valeurs de ce type sont des chaînes. Ils peuvent prendre l'une des valeurs suivantes :
-<dl>
- <dt>"currentTab"</dt>
- <dd>Ouvrez la sélection dans l'onglet actuel.</dd>
- <dt>"newForegroundTab"</dt>
- <dd>Ouvrez la sélection dans un nouvel onglet et placez ce nouvel onglet au premier plan.</dd>
- <dt>"newBackgroundTab"</dt>
- <dd>Ouvrez la sélection dans un nouvel onglet d'arrière-plan, en conservant l'onglet en cours au premier plan.</dd>
-</dl>
+- "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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.omnibox.OnInputEnteredDisposition")}}</p>
+{{Compat("webextensions.api.omnibox.OnInputEnteredDisposition")}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/omnibox"><code>chrome.omnibox</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Cela sera envoyé avant tout événement {{WebExtAPIRef("omnibox.onInputChanged")}} events.</p>
+Cela sera envoyé avant tout événement {{WebExtAPIRef("omnibox.onInputChanged")}} events.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.omnibox.onInputStarted.addListener(listener)
+```js
+browser.omnibox.onInputStarted.addListener(listener)
browser.omnibox.onInputStarted.removeListener(listener)
browser.omnibox.onInputStarted.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée sans arguments.</p>
- </dd>
-</dl>
+- `callback`
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée sans arguments.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.omnibox.onInputStarted")}}</p>
+{{Compat("webextensions.api.omnibox.onInputStarted")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">browser.omnibox.onInputStarted.addListener(() =&gt; {
+```js
+browser.omnibox.onInputStarted.addListener(() => {
  console.log("User has started interacting with me.")
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/omnibox"><code>chrome.omnibox</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.omnibox.setDefaultSuggestion(
+```js
+browser.omnibox.setDefaultSuggestion(
suggestion // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>suggestion</code></dt>
- <dd><code>object</code>. Un objet contenant une <code>description</code> 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>None.</p>
+None.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.omnibox.setDefaultSuggestion")}}</p>
+{{Compat("webextensions.api.omnibox.setDefaultSuggestion")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">browser.omnibox.setDefaultSuggestion({
+```js
+browser.omnibox.setDefaultSuggestion({
description: "Type the name of a CSS property"
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/omnibox"><code>chrome.omnibox</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <strong><code>omnibox.SuggestResult</code></strong> définit une suggestion unique que l'extension peut ajouter à la liste déroulante de la barre d'adresse.</p>
+Le type **`omnibox.SuggestResult`** définit une suggestion unique que l'extension peut ajouter à la liste déroulante de la barre d'adresse.
-<p>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 <code>omnibox.SuggestResult</code> dans ce rappel.</p>
+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.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils ont les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils ont les propriétés suivantes :
-<dl>
- <dt><code>content</code></dt>
- <dd>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.</dd>
- <dt><code>description</code></dt>
- <dd>C'est la chaîne qui est affichée dans la liste déroulante de la barre d'adresse.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.omnibox.SuggestResult")}}</p>
+{{Compat("webextensions.api.omnibox.SuggestResult")}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/omnibox"><code>chrome.omnibox</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient l'URL d'un document HTML en tant que popup pour cette action de page.</p>
+Obtient l'URL d'un document HTML en tant que popup pour cette action de page.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingPopup = browser.pageAction.getPopup(
+```js
+var gettingPopup = browser.pageAction.getPopup(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dont vous souhaitez obtenir la fenêtre contextuelle.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera accompli avec une chaîne contenant l'URL du popup.</p>
+ - `tabId`
+ - : `integer`. ID de l'onglet dont vous souhaitez obtenir la fenêtre contextuelle.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.pageAction.getPopup")}}</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accompli avec une chaîne contenant l'URL du popup.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Ajoutez un élément de menu contextuel qui enregistre l'URL contextuelle de l'onglet en cours. Notez que vous aurez besoin de la  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>contextMenus</code> dans votre <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest</a> pour créer des éléments de menu contextuel.</p>
+{{Compat("webextensions.api.pageAction.getPopup")}}
-<pre class="brush: js">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);
}
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/pageAction"><code>chrome.pageAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json"><code>page_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -103,5 +101,4 @@ browser.contextMenus.onClicked.addListener(function(info, tab) {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient le titre de la page action.</p>
+Obtient le titre de la page action.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingTitle = browser.pageAction.getTitle(
+```js
+var gettingTitle = browser.pageAction.getTitle(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet contenant l'action page dont vous voulez obtenir le titre.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera accomplie  avec une chaîne contenant le titre de l'action de la page.</p>
+ - `tabId`
+ - : `integer`. L'ID de l'onglet contenant l'action page dont vous voulez obtenir le titre.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.pageAction.getTitle")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Cet exemple enregistre le titre de l'action de la page lorsque l'utilisateur clique sur son icône :</p>
+{{Compat("webextensions.api.pageAction.getTitle")}}
-<pre class="brush: js">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) =&gt; {
+browser.pageAction.onClicked.addListener((tab) => {
var gettingTitle = browser.pageAction.getTitle({
tabId: tab.id
});
gettingTitle.then(gotTitle);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/pageAction"><code>chrome.pageAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json"><code>page_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -98,5 +96,4 @@ browser.pageAction.onClicked.addListener((tab) =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Masque l'action de page pour un onglet donné.</p>
+Masque l'action de page pour un onglet donné.
-<p><code>hide()</code> 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 à <a href="/Add-ons/WebExtensions/manifest.json/page_action"><code>show_matches</code></a>.</p>
+`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).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.pageAction.hide(
+```js
+browser.pageAction.hide(
tabId // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet pour lequel vous souhaitez masquer l'action de la page.</dd>
-</dl>
+- `tabId`
+ - : `integer`. L'ID de l'onglet pour lequel vous souhaitez masquer l'action de la page.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.pageAction.hide")}}</p>
+{{Compat("webextensions.api.pageAction.hide")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Masquez l'action de la page pour l'onglet en cours lorsque l'utilisateur clique dessus :</p>
+Masquez l'action de la page pour l'onglet en cours lorsque l'utilisateur clique dessus :
-<pre class="brush: js">browser.pageAction.onClicked.addListener((tab) =&gt; {
+```js
+browser.pageAction.onClicked.addListener((tab) => {
browser.pageAction.hide(tab.id);
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/pageAction"><code>chrome.pageAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json"><code>page_action.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -82,5 +81,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/hide
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Données en pixel pour une image.</p>
+Données en pixel pour une image.
-<h2 id="Type">Type</h2>
+## Type
-<p>Un objet <code><a href="/fr/docs/Web/API/ImageData">ImageData</a></code> , par exemple à partir d'un élément {{htmlelement("canvas")}}.</p>
+Un objet [`ImageData`](/fr/docs/Web/API/ImageData) , par exemple à partir d'un élément {{htmlelement("canvas")}}.
-<h2 id="Browser_compatibility">Browser compatibility</h2>
+## Browser compatibility
-<p>{{Compat("webextensions.api.pageAction.ImageDataType")}}</p>
+{{Compat("webextensions.api.pageAction.ImageDataType")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/pageAction"><code>chrome.pageAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json"><code>page_action.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -62,5 +60,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/ImageDataType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Une <a href="/fr/Add-ons/WebExtensions/Page_actions">action de page</a> est une icône cliquable dans la barre d'adresse du navigateur.</p>
+Une [action de page](/fr/Add-ons/WebExtensions/Page_actions) est une icône cliquable dans la barre d'adresse du navigateur.
-<p><img alt="" src="page-action.png"></p>
+![](page-action.png)
-<p>Vous pouvez écouter les clics sur l'icône, ou spécifié une <a href="/fr/Add-ons/WebExtensions/Popups">fenêtre contextuelle </a>qui s'ouvre  lorsque l'icone est cliquée.</p>
+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.
-<p>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.</p>
+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.
-<p>Vous pouvez définir la plupart des propriétés d'une action de page de manière déclarative à l'aide de la  <a href="/fr/Add-ons/WebExtensions/manifest.json/page_action">clef page_action</a> dans votre <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a>, mais également les redéfinir par programmation en utilisant cette API.</p>
+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.
-<p>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.</p>
+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.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("pageAction.ImageDataType")}}</dt>
- <dd>Données en pixel pour une image.</dd>
-</dl>
+- {{WebExtAPIRef("pageAction.ImageDataType")}}
+ - : Données en pixel pour une image.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("pageAction.show()")}}</dt>
- <dd>Affiche l'action de la page pour un onglet donné.</dd>
- <dt>{{WebExtAPIRef("pageAction.hide()")}}</dt>
- <dd>Caches l'action de la page pour un onglet donné.</dd>
- <dt>{{WebExtAPIRef("pageAction.isShown()")}}</dt>
- <dd>Vérifie si l'action de la page est affichée ou non.</dd>
- <dt>{{WebExtAPIRef("pageAction.setTitle()")}}</dt>
- <dd>Définit le titre de l'action de la page. Ceci est affiché dans une info-bulle sur l'action de la page.</dd>
- <dt>{{WebExtAPIRef("pageAction.getTitle()")}}</dt>
- <dd>Obtient le titre de l'action de la page</dd>
- <dt>{{WebExtAPIRef("pageAction.setIcon()")}}</dt>
- <dd>Définit l'icône de l'action de la page.</dd>
- <dt>{{WebExtAPIRef("pageAction.setPopup()")}}</dt>
- <dd>Définit l'URL de la fenêtre contextuelle de l'action de la page.</dd>
- <dt>{{WebExtAPIRef("pageAction.getPopup()")}}</dt>
- <dd>Obtient l'URL de la fenêtre d'action de la page.</dd>
- <dt>{{WebExtAPIRef("pageAction.openPopup()")}}</dt>
- <dd>Ouvre la fenêtre contextuelle de l'action de la page.</dd>
-</dl>
+- {{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.
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt>{{WebExtAPIRef("pageAction.onClicked")}}</dt>
- <dd>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.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
+{{Compat("webextensions.api.pageAction")}}
+{{WebExtExamples("h2")}}
-<p>{{Compat("webextensions.api.pageAction")}}</p>
+> **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.
-
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/pageAction"><code>chrome.pageAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json"><code>page_action.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -108,5 +96,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Renvoie <code>true</code> si l'action de la page est affichée pour l'onglet donné..</p>
+Renvoie `true` si l'action de la page est affichée pour l'onglet donné..
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">let gettingIsShown = browser.pageAction.isShown(
+```js
+let gettingIsShown = browser.pageAction.isShown(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Un objet contenant le <code>tabId</code> à vérifier.</p>
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet à vérifier.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
+ - : `object`. Un objet contenant le `tabId` à vérifier.
+ - `tabId`
+ - : `integer`. ID de l'onglet à vérifier.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec <code>true</code> si l'action de page de l'extension est affichée pour l'onglet donné, et <code>false</code> dans le cas contraire.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.pageAction.isShown")}}</p>
+{{Compat("webextensions.api.pageAction.isShown")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Vérifiez l'état de l'onglet actuellement actif :</p>
+Vérifiez l'état de l'onglet actuellement actif :
-<pre class="brush: js">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);
-}</pre>
+}
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>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')}}.</p>
+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')}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.pageAction.onClicked.addListener(listener)
+```js
+browser.pageAction.onClicked.addListener(listener)
browser.pageAction.onClicked.removeListener(listener)
browser.pageAction.onClicked.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez l'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>listener</code> est enregistré pour cet événement. Retourne <code>true</code> s'il écoute, <code>false</code> sinon.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Une fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>tab</code></dt>
- <dd>Un objet {{WebExtAPIRef('tabs.Tab')}} représentant l'onglet dont l'action de la page a été cliquée.</dd>
- </dl>
- </dd>
-</dl>
+ - : Une fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `tab`
+ - : Un objet {{WebExtAPIRef('tabs.Tab')}} représentant l'onglet dont l'action de la page a été cliquée.
-<p>{{Compat("webextensions.api.pageAction.onClicked")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.pageAction.onClicked")}}
-<p>Lorsque l'utilisateur clique sur l'action de la page, masquez-là et naviguez dans l'onglet actif pour "<a href="http://chilloutandwatchsomecatgifs.com/">http://chilloutandwatchsomecatgifs.com/</a>" :</p>
+## Exemples
-<pre class="brush: js">var CATGIFS = "http://chilloutandwatchsomecatgifs.com/";
+Lorsque l'utilisateur clique sur l'action de la page, masquez-là et naviguez dans l'onglet actif pour "<http://chilloutandwatchsomecatgifs.com/>" :
-browser.pageAction.onClicked.addListener((tab) =&gt; {
+```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 () {
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/pageAction"><code>chrome.pageAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json"><code>page_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -108,5 +102,4 @@ browser.pageAction.onClicked.addListener(function () {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}Ouvrez le menu contextuel de l'action de la page.
-<div>Ouvrez le menu contextuel de l'action de la page.</div>
+Vous pouvez uniquement appeler cette fonction à partir du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions).
-<div></div>
+## Syntaxe
-<div>
-<p>Vous pouvez uniquement appeler cette fonction à partir du gestionnaire pour une <a href="/fr/Add-ons/WebExtensions/User_actions">action utilisateur</a>.</p>
-</div>
+```js
+browser.pageAction.openPopup()
+```
-<h2 id="Syntaxe">Syntaxe</h2>
+### Paramètres
-<pre class="brush: js">browser.pageAction.openPopup()
-</pre>
+None.
-<h3 id="Paramètres">Paramètres</h3>
+### Valeur retourné
-<p>None.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue sans arguments.
-<h3 id="Valeur_retourné">Valeur retourné</h3>
+## Compatibilité du navigateur
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue sans arguments.</p>
+{{Compat("webextensions.api.pageAction.openPopup", 10)}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Exemples
-<p>{{Compat("webextensions.api.pageAction.openPopup", 10)}}</p>
+Ouvrez la fenêtre contextuelle lorsque l'utilisateur sélectionne un élément de menu contextuel :
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ouvrez la fenêtre contextuelle lorsque l'utilisateur sélectionne un élément de menu contextuel :</p>
-
-<pre class="brush: js">browser.menus.create({
+```js
+browser.menus.create({
id: "open-popup",
title: "open popup",
contexts: ["all"]
});
-browser.menus.onClicked.addListener(() =&gt; {
+browser.menus.onClicked.addListener(() => {
browser.pageAction.openPopup();
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.pageAction.setPopup(
+```js
+browser.pageAction.setPopup(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet pour lequel vous souhaitez définir la fenêtre contextuelle.</dd>
- <dt><code>popup</code></dt>
- <dd><code>string</code>. 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.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `object`.
-<p>{{Compat("webextensions.api.pageAction.setPopup")}}</p>
+ - `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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Ecoutez les événements {{WebExtAPIRef("tabs.onUpdated")}} et basculez le popup si le statut de chargement change :</p>
+{{Compat("webextensions.api.pageAction.setPopup")}}
-<pre class="brush: js">browser.tabs.onUpdated.addListener((tabId, changeInfo, tabInfo) =&gt; {
+## 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
});
}
}
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/pageAction"><code>chrome.pageAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json"><code>page_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -100,5 +98,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/setPopup
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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</p>
+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
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.pageAction.setTitle(
+```js
+browser.pageAction.setTitle(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet dont vous voulez définir le titre.</dd>
- <dt><code>title</code></dt>
- <dd><code>string</code>. Le texte de l'info-bulle.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `object`.
-<p>{{Compat("webextensions.api.pageAction.setTitle")}}</p>
+ - `tabId`
+ - : `integer`. L'ID de l'onglet dont vous voulez définir le titre.
+ - `title`
+ - : `string`. Le texte de l'info-bulle.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>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 :</p>
+{{Compat("webextensions.api.pageAction.setTitle")}}
-<pre class="brush: js">browser.tabs.onUpdated.addListener((tabId, changeInfo, tabInfo) =&gt; {
+## 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
});
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/pageAction"><code>chrome.pageAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json"><code>page_action.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -92,5 +89,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/setTitle
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p><code>show()</code> remplace la correspondance de motifs, de sorte que l'action page sera affichée dans l'onglet spécifié même si <a href="/Add-ons/WebExtensions/manifest.json/page_action"><code>show_matches</code></a> e correspond pas à l'URL ou si <a href="/Add-ons/WebExtensions/manifest.json/page_action"><code>hide_matches</code></a> ne correspond pas.</p>
+`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.
-<p>Notez que l'appel à <code>show()</code> n'a aucun effet sur un onglet sans contenu chargé.</p>
+Notez que l'appel à `show()` n'a aucun effet sur un onglet sans contenu chargé.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.pageAction.show(
+```js
+browser.pageAction.show(
tabId // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet pour lequel vous souhaitez afficher l'action de la page.</dd>
-</dl>
+- `tabId`
+ - : `integer`. L'ID de l'onglet pour lequel vous souhaitez afficher l'action de la page.
-<h3 id="Valeur_renvoyée">Valeur renvoyée</h3>
+### Valeur renvoyée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec <code>undefined</code>.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec `undefined`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.pageAction.show")}}</p>
+{{Compat("webextensions.api.pageAction.show")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>contextMenus</code>  dans votre <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest</a> pour créer des éléments de menu contextuel.</p>
+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.
-<pre class="brush: js">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);
}
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/pageAction"><code>chrome.pageAction</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json"><code>page_action.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -96,5 +94,4 @@ browser.contextMenus.onClicked.addListener(function(info, tab) {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Vérifiez si l'extension a les permissions listées dans l'objet  {{WebExtAPIRef("permissions.Permissions")}}.</p>
+Vérifiez si l'extension a les permissions listées dans l'objet  {{WebExtAPIRef("permissions.Permissions")}}.
-<p>L'argument <code>Permissions</code> peut contenir une propriété origine, qui est un tableau de <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions hôtes</a>, ou une propriété  <code>permissions</code> , qui est un tableau de <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permissions API</a>, ou les deux.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promesse</a></code>. 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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">pattern-match</a> the permissions listed in <code>origins</code>, then they are considered to match.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getContains = browser.permissions.contains(
+```js
+var getContains = browser.permissions.contains(
permissions // Permissions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>permissions</code></dt>
- <dd>Un objet {{WebExtAPIRef("permissions.Permissions")}} .</dd>
-</dl>
+- `permissions`
+ - : Un objet {{WebExtAPIRef("permissions.Permissions")}} .
-<h3 id="Valeur_renvoyée">Valeur renvoyée</h3>
+### Valeur renvoyée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promesse</a></code> qui sera remplie avec  <code>true</code> si l'extension possède déjà toutes les permissions listées dans l'argument des <code>permissions</code> , ou <code>false</code> dans le cas contraire.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.permissions.contains")}}</p>
+{{Compat("webextensions.api.permissions.contains")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">// 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) =&gt; {
+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) =&gt; {
+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) =&gt; {
+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) =&gt; {
+browser.permissions.contains(testPermissions4).then((result) => {
console.log(result); // false, "https://example.org/"
}); // does not match
+```
-</pre>
+{{WebExtExamples}}
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/permissions"><code>chrome.permissions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Récupère un objet {{WebExtAPIRef("permissions.Permissions")}} contenant toutes les permissions actuellement acccordées à l'extension.</p>
+Récupère un objet {{WebExtAPIRef("permissions.Permissions")}} contenant toutes les permissions actuellement acccordées à l'extension.
-<p>Il s'agit d'une fonction asynchrone qui retourne une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui retourne une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingAll = browser.permissions.getAll()
-</pre>
+```js
+var gettingAll = browser.permissions.getAll()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_renvoyée">Valeur renvoyée</h3>
+### Valeur renvoyée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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  <code><a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code> , et toutes les permissions répertoriées dans  <code><a href="/fr/Add-ons/WebExtensions/manifest.json/optional_permissions">optional_permissions</a></code> que l'extension a été accordée en appelant  {{WebExtAPIRef("permissions.request()")}}.</p>
+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()")}}.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.permissions.getAll")}}</p>
+{{Compat("webextensions.api.permissions.getAll")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">// Extension permissions are:
+```js
+// Extension permissions are:
// "webRequest", "tabs", "*://*.mozilla.org/*"
-browser.permissions.getAll().then((result) =&gt; {
+browser.permissions.getAll().then((result) => {
console.log(result.permissions); // [ "webRequest", "tabs" ]
console.log(result.origins) // [ "*://*.mozilla.org/*" ]
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/permissions"><code>chrome.permissions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}Permet aux extensions de demander des permissions supplémentaires lors de l'exécution, après leur installation.
-<div>Permet aux extensions de demander des permissions supplémentaires lors de l'exécution, après leur installation.</div>
+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:
-<div> </div>
+- 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.
-<p>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 <code><a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code>. Les principaux avantages de demander des permissions au moment de l'installation sont les suivants:</p>
+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.
-<ul>
- <li>L'utilisateur est seulement demandé une fois, donc il est moins perturbateur pour eux et une décision plus simple</li>
- <li>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.</li>
-</ul>
+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 :
-<p>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.</p>
+- 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 "\<all_urls>" au moment de l'installation.
-<p>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é <code><a href="/fr/Add-ons/WebExtensions/manifest.json/optional_permissions">optional_permissions</a></code> du manifest.json. Notez que certaines permissions ne sont pas autorisées dans <code>optional_permissions</code>. Les principaux avantages de ceci sont :</p>
+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)
-<ul>
- <li>L'extension peut s'exécuter avec un plus petit nombre de permissions, sauf lorsqu'elle en a réellement besoin</li>
- <li>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.</li>
- <li>
- <p>L'extension peut avoir besoin des <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions hôtes</a>, 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 "&lt;all_urls&gt;" au moment de l'installation.</p>
- </li>
-</ul>
+## Types
-<div>Pour utiliser l'API de permissions, déterminez les permissions que votre extension peut demander lors de l'exécution, et indiquez-les dans <code><a href="/fr/Add-ons/WebExtensions/manifest.json/optional_permissions">optional_permissions</a></code>. Après cela, vous pouvez demander toutes les permissions incluses dans  <code>optional_permissions</code>. Les demandes peuvent uniquement être effectuées dans le gestionnaire pour une action de l'utilisateur (par exemple, un gestionnaire de clics).</div>
+- {{WebExtAPIRef("permissions.Permissions")}}
+ - : Représente un ensemble de permissions.
-<div> </div>
+## Méthodes
-<div>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 <a href="/Add-ons/WebExtensions/demander_les_bonnes_permissions#Demander_les_permissions_%C3%A0_%C3%A9x%C3%A9cuter">Demande de permissions à exécuter</a></div>
+- {{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.
-<h2 id="Types">Types</h2>
+## Event handlers
-<dl>
- <dt>{{WebExtAPIRef("permissions.Permissions")}}</dt>
- <dd>Représente un ensemble de permissions.</dd>
-</dl>
+- {{WebExtAPIRef("permissions.onAdded")}}
+ - : Activé lorsqu'une nouvelle permission est accordée.
+- {{WebExtAPIRef("permissions.onRemoved")}}
+ - : Déclenché lorsque une permission est supprimée.
-<h2 id="Méthodes">Méthodes</h2>
+## Compatibilité du navigateur
-<dl>
- <dt>{{WebExtAPIRef("permissions.contains()")}}</dt>
- <dd>Découvrez si l'extensions a le jeu de permissions donné.</dd>
- <dt>{{WebExtAPIRef("permissions.getAll()")}}</dt>
- <dd>Obtenez toutes les permissions que cette extension a actuellement.</dd>
- <dt>{{WebExtAPIRef("permissions.remove()")}}</dt>
- <dd>Renoncer à un ensemble de permissions.</dd>
- <dt>{{WebExtAPIRef("permissions.request()")}}</dt>
- <dd>Demander un ensemble de permissions.</dd>
-</dl>
+{{Compat("webextensions.api.permissions")}}
-<h2 id="Event_handlers">Event handlers</h2>
+{{WebExtExamples("h2")}}
-<dl>
- <dt>{{WebExtAPIRef("permissions.onAdded")}}</dt>
- <dd>Activé lorsqu'une nouvelle permission est accordée.</dd>
- <dt>{{WebExtAPIRef("permissions.onRemoved")}}</dt>
- <dd>Déclenché lorsque une permission est supprimée.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.permissions")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/permissions"><code>chrome.permissions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Activé lorsque l'extension a accordé de nouvelles permissions.</p>
+Activé lorsque l'extension a accordé de nouvelles permissions.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.permissions.onAdded.addListener(listener)
+```js
+browser.permissions.onAdded.addListener(listener)
browser.permissions.onAdded.removeListener(listener)
browser.permissions.onAdded.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute une écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifier si le <code>listener</code> est enregistré pour cet événement. Retourne <code>true</code> s'il écoute, sinon  <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produira. La fonction passera les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>permissions</code></dt>
- <dd>Objet {{WebExtAPIRef("permissions.Permissions")}} contenant les permissions qui ont été accordées.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produira. La fonction passera les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `permissions`
+ - : Objet {{WebExtAPIRef("permissions.Permissions")}} contenant les permissions qui ont été accordées.
-<div>{{Compat("webextensions.api.permissions.onAdded")}}</div>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.permissions.onAdded")}}
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/permissions"><code>chrome.permissions</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Activé lorsque certaines permissions sont supprimés de l'extension.</p>
+Activé lorsque certaines permissions sont supprimés de l'extension.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.permissions.onRemoved.addListener(listener)
+```js
+browser.permissions.onRemoved.addListener(listener)
browser.permissions.onRemoved.removeListener(listener)
browser.permissions.onRemoved.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur a supprimée.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré dans l'événement. Retourne <code>true</code> s'il écoute, sinon  <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui ne sera appelée lorsque cet événement se produira. La fonction sera passée avec les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>permissions</code></dt>
- <dd>L'objet {{WebExtAPIRef("permissions.Permissions")}} contenant les permissions qui ont été supprimées.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui ne sera appelée lorsque cet événement se produira. La fonction sera passée avec les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `permissions`
+ - : L'objet {{WebExtAPIRef("permissions.Permissions")}} contenant les permissions qui ont été supprimées.
-<p>{{Compat("webextensions.api.permissions.onRemoved")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.permissions.onRemoved")}}
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/permissions"><code>chrome.permissions</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet <code>Permissions</code> représente une collection de permissions.</p>
+Un objet `Permissions` représente une collection de permissions.
-<h2 id="Type">Type</h2>
+## Type
-<p>Un {{jsxref("object")}} avec les propriétés suivantes :</p>
+Un {{jsxref("object")}} avec les propriétés suivantes :
-<dl>
- <dt><code>origins</code>{{optional_inline}}</dt>
- <dd>Un tableau de <a href="/fr/Add-ons/WebExtensions/Match_patterns">modèles de correspondance</a>, représentant les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions de l'hôte</a>.</dd>
- <dt><code>permissions</code>{{optional_inline}}</dt>
- <dd>Un tableau de permissions nommées, y compris les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permissions d'API </a> et les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Clipboard_access">permissions du presse-papiers</a>.</dd>
-</dl>
+- `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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.permissions.Permissions")}}</p>
+{{Compat("webextensions.api.permissions.Permissions")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/permissions"><code>chrome.permissions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Demander d'abandonner les permissions listées dans l'objet {{WebExtAPIRef("permissions.Permissions")}}.</p>
+Demander d'abandonner les permissions listées dans l'objet {{WebExtAPIRef("permissions.Permissions")}}.
-<p>L'argument <code>Permissions</code> peut contenir soit une propriété  <code>origins</code> ,qui est un tableau de <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôte</a> , ou une propriété <code>permissions</code>, qui est un tableau de <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permissions d'API</a>, ou les deux. Les permissions  doivent provenir de l'ensemble des permissions définies dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/optional_permissions">optional_permissions</a></code> du manifest.json.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promesse</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promesse`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.permissions.remove(
+```js
+var removing = browser.permissions.remove(
permissions // Permissions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>permissions</code></dt>
- <dd>Un objet {{WebExtAPIRef("permissions.Permissions")}}.</dd>
-</dl>
+- `permissions`
+ - : Un objet {{WebExtAPIRef("permissions.Permissions")}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promesse</a></code> qui sera remplie avec <code>true</code> si les permissions répertoriées dans l'argument <code>permissions</code> ont été supprimées, ou <code>false</code> dans le cas contraire.</p>
+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.
-<h2 id="Browser_compatibility">Browser compatibility</h2>
+## Browser compatibility
-<p>{{Compat("webextensions.api.permissions.remove")}}</p>
+{{Compat("webextensions.api.permissions.remove")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code ajoute un gestionnaire de clic qui supprime une permission donnée.</p>
+Ce code ajoute un gestionnaire de clic qui supprime une permission donnée.
-<pre class="brush: js">const permissionToRemove = {
+```js
+const permissionToRemove = {
permissions: ["history"]
}
function remove() {
console.log("removing");
- browser.permissions.remove(permissionToRemove).then(result =&gt; {
+ browser.permissions.remove(permissionToRemove).then(result => {
console.log(result);
});
}
-document.querySelector("#remove").addEventListener("click", remove);</pre>
+document.querySelector("#remove").addEventListener("click", remove);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/permissions"><code>chrome.permissions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Demandez l'ensemble des permissions répertoriées dans l'objet {{WebExtAPIRef("permissions.Permissions")}}.</p>
+Demandez l'ensemble des permissions répertoriées dans l'objet {{WebExtAPIRef("permissions.Permissions")}}.
-<p>L'argument <code>Permissions</code> peut contenir soit une propriété  <code>origins</code> , qui est un tableau de <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôte</a>, soit une propriété <code>permissions</code> , qui est un tableau de <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permissions d'API</a>, ou les deux. Les permissions doivent provenir de l'ensemble des permissions définies dans la clé  <code><a href="/fr/Add-ons/WebExtensions/manifest.json/optional_permissions">optional_permissions</a></code> du manifest.json. La propriété <code>origins</code> qui correspondent à un sous-ensemble des hôtes correspondant à une  permission facultative : par exemple, si optional_permissions inclut "*://mozilla.org/", alors  <code>permissions.origins</code> peut inclure  "https://developer.mozilla.org/".</p>
+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/".
-<p>La demande ne peut être faite qu'à l'intérieur du gestionnaire pour une <a href="/fr/Add-ons/WebExtensions/User_actions">action utilisateur</a>.</p>
+La demande ne peut être faite qu'à l'intérieur du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions).
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var requesting = browser.permissions.request(
+```js
+var requesting = browser.permissions.request(
permissions // Permissions object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>permissions</code></dt>
- <dd>Un objet {{WebExtAPIRef("permissions.Permissions")}}</dd>
-</dl>
+- `permissions`
+ - : Un objet {{WebExtAPIRef("permissions.Permissions")}}
-<h3 id="Return_value">Return value</h3>
+### Return value
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec <code>true</code> si l'extension a reçu toutes les permissions répertoriées dans l'argument des <code>permissions</code> , ou <code>false</code> dans le cas contraire.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.permissions.request")}}</p>
+{{Compat("webextensions.api.permissions.request")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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.</p>
+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.
-<pre class="brush: js">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) =&gt; {
+ .then((currentPermissions) => {
console.log(`Current permissions:`, currentPermissions);
});
}
-document.querySelector("#request").addEventListener("click", requestPermissions);</pre>
+document.querySelector("#request").addEventListener("click", requestPermissions);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Actuellement un <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1411873">bug avec la demande d'origines</a> et la <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1382953">demande des permissions sur la page about:addons</a>.</p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/permissions"><code>chrome.permissions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Vous ne pouvez appeler cela que pour un module installé dans Firefox</p>
+Vous ne pouvez appeler cela que pour un module installé dans Firefox
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getting = browser.pkcs11.getModuleSlots(
+```js
+var getting = browser.pkcs11.getModuleSlots(
name // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. Nom du module. Cela doit correspondre à la propriété <code>name</code> dans le <a href="/fr/Add-ons/WebExtensions/Native_manifests#PKCS_11_manifests">manifest PKCS #11</a> pour le module.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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 :</p>
+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 :
-<ul>
- <li><code>name</code>: le nom de l'emplacement</li>
- <li><code>token</code>: si un jeton est présent dans cet emplacement, un objet <code>Token</code>. Si aucun le jeton n'est présent dans l'emplacement, la propriété est <code>null</code>.</li>
-</ul>
+- `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`.
-<p><code>Token</code> Les objets ont les propriétés suivantes :</p>
+`Token` Les objets ont les propriétés suivantes :
-<dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. Nom du jeton.</dd>
- <dt><code>manufacturer</code></dt>
- <dd><code>string</code>. Nom du jeton fabriqué.</dd>
- <dt><code>HWVersion</code></dt>
- <dd><code>string</code>. 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".</dd>
- <dt><code>FWVersion</code></dt>
- <dd><code>string</code>. Version du micrologiciel, en tant que numéro de version PKCS #11 (deux 32-bit séparés par un point, comme "1.0".</dd>
- <dt><code>serial</code></dt>
- <dd><code>string</code>. Numéro de série, dont le format est défini par la spécification de jeton.</dd>
- <dt><code>isLoggedIn</code></dt>
- <dd><code>boolean</code>: <code>true</code> si le jeton est déjà connecté, <code>false</code> sinon.</dd>
-</dl>
+- `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.
-<p>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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.pkcs11.getModuleSlots")}}</p>
+{{Compat("webextensions.api.pkcs11.getModuleSlots")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Installe un module, puis dresse la liste de ses emplacements et liste des jetons qu'ils contiennent :</p>
+Installe un module, puis dresse la liste de ses emplacements et liste des jetons qu'ils contiennent :
-<pre class="brush: js">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);</pre>
+.then(onGotSlots);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
-
-<p>L'API <code>pkcs11</code> permet à une extension d'énumérer les modules de sécurité <a href="https://en.wikipedia.org/wiki/PKCS_11">PKCS #11</a>, et de rendre accessibles au navigateur en tant que sources clés et de certificats.</p>
-
-<p>Pour utiliser cette API, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "pkcs11".</p>
-
-<h2 id="Utilisation_de_la_boîte_de_dialogue_Préférences_Firefox_pour_installer_les_modules_PKCS_11">Utilisation de la boîte de dialogue Préférences Firefox pour installer les modules PKCS #11</h2>
-
-<p>Effectuez les étapes suivantes :</p>
-
-<ol>
- <li>
- <p>Sauvegardez le module PKCS #11 dans un emplacement permanent sur votre ordinateur local</p>
- </li>
- <li>
- <p>Sélectonnez <strong>Outils &gt; Options</strong> ou sélectionnez le <strong>menu Firefox</strong> puis <strong>Options</strong></p>
- </li>
- <li>
- <p>Une fois la page Options ouverte, sélectionnez <strong>Vie privée &amp; Sécurité</strong></p>
- </li>
- <li>
- <p>Faites défiler vers le bas de la page et sous <strong>Certificats</strong> ou tapez sur <strong>Dispositifs de sécurité...<br>
- <img alt="" src="device_manager.png"></strong></p>
- </li>
- <li>
- <p>Cliquez ou appuyez sur le bouton <strong>Charger</strong><br>
- <img alt="" src="load_device_driver.png"></p>
- </li>
- <li>
- <p>Entrez un nom pour le module de sécurité, tel que "<em>Ma Base de données Client</em>"</p>
-
- <div class="warning">
- <p><strong>Attention :</strong> il y a actuellement un bogue dans Firefox où les caractères internationaux peuvent causer des problèmes.</p>
- </div>
- </li>
- <li>
- <p>Choisir <strong>Parcourir...</strong> pour trouver l'emplacement du module PKCS #11 sur votre ordinateur local, puis cliquez ou appuyez sur <strong>OK</strong> pour confirmer.</p>
- </li>
-</ol>
-
-<ol>
-</ol>
-
-<h2 id="Provisionnement_des_modules_PKCS_11">Provisionnement des modules PKCS #11</h2>
-
-<div class="blockIndicator note">
-<p><strong>Note:</strong> A partir de Firefox 58, les extensions peuvent utiliser l'API <a href="/fr/Add-ons/WebExtensions/API/pkcs11">pkcs11</a> pour énumérer les modules PKCS #11 et les rendre accessibles au navigateur comme sources de clés et certificats.</p>
-</div>
-
-<p>Il y a 2 pré-requis pour pouvoir utiliser cette API:</p>
-
-<ul>
- <li>un ou plusieurs modules PKCS # 11 doivent être installés sur l'ordinateur de l'utilisateur</li>
- <li>pour chaque module PKCS # 11 installé, il doit y avoir un fichier <a href="/fr/Add-ons/WebExtensions/manifests_native">manifest natif</a>  qui permet au navigateur de localiser le module.</li>
-</ul>
-
-<p>Très probablement, l'utilisateur ou l'administrateur du périphérique installerait le module <code>PKCS #11</code>, et son installateur installerait le fichier de manifeste natif en même temps.</p>
-
-<p>Cependant, le module et le manifeste ne peuvent pas être installés dans le cadre du processus d'installation de l'extension.</p>
-
-<p>Pour plus de détails sur le contenu et l'emplacement du fichier de manifeste, voir <a href="/fr/Add-ons/WebExtensions/Native_manifests">Manifest natifs</a>.</p>
-
-<h2 id="Fonctions">Fonctions</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("pkcs11.getModuleSlots()")}}</dt>
- <dd>Pour chaque emplacement dans un module, obtenez son nom et s'il contient un jeton.</dd>
- <dt>{{WebExtAPIRef("pkcs11.installModule()")}}</dt>
- <dd>Installe le module PKCS # 11 nommé</dd>
- <dt>{{WebExtAPIRef("pkcs11.isModuleInstalled()")}}</dt>
- <dd>Vérifie si le module PKCS # 11 nommé est installé.</dd>
- <dt>{{WebExtAPIRef("pkcs11.uninstallModule()")}}</dt>
- <dd>Désinstalle le module PKCS # 11 nommé.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.pkcs11", 1, 1)}} {{WebExtExamples("h2")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Installe le module PKCS # 11 nommé, le rendant disponible pour Firefox</p>
+Installe le module PKCS # 11 nommé, le rendant disponible pour Firefox
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var installing = browser.pkcs11.installModule(
+```js
+var installing = browser.pkcs11.installModule(
name, // string
flags // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. Nom du module à installer. Cela doit correspondre à la propriété <code>name</code> property dans le <a href="/fr/Add-ons/WebExtensions/Native_manifests#PKCS_11_manifests">manifest PKCS #11</a> pour le module.</dd>
- <dt><code>flags</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Drapeaux à transmettre au module.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera accompli sans arguments une fois le module installé.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accompli sans arguments une fois le module installé.
-<p>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.</p>
+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.
-<h2 id="Browser_compatibility">Browser compatibility</h2>
+## Browser compatibility
-<p>{{Compat("webextensions.api.pkcs11.installModule", 10)}}</p>
+{{Compat("webextensions.api.pkcs11.installModule", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Installe un module, puis dresse la liste de ses emplacements et liste les jetons qu'ils contiennent :</p>
+Installe un module, puis dresse la liste de ses emplacements et liste les jetons qu'ils contiennent :
-<pre class="brush: js">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);</pre>
+.then(onGotSlots);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Vérifie si le module PKCS #11 nommé est actuellement installé dans Firefox.</p>
+Vérifie si le module PKCS #11 nommé est actuellement installé dans Firefox.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var checking = browser.pkcs11.isModuleInstalled(
+```js
+var checking = browser.pkcs11.isModuleInstalled(
name // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. Nom du module à vérifier.</dd>
-</dl>
+- `name`
+ - : `string`. Nom du module à vérifier.
-<h3 id="valeur_retournée">valeur retournée</h3>
+### valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec <code>true</code> si le module est installé, <code>false</code> sinon.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec `true` si le module est installé, `false` sinon.
-<p>Si une erreur se produit dans le module, la promise sera rejetée avec un message d'erreur.</p>
+Si une erreur se produit dans le module, la promise sera rejetée avec un message d'erreur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.pkcs11.isModuleInstalled", 10)}}</p>
+{{Compat("webextensions.api.pkcs11.isModuleInstalled", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Vérifie sir le module nommée "pkcs11_module" est installé :</p>
+Vérifie sir le module nommée "pkcs11_module" est installé :
-<pre class="brush: js">function logIsInstalled(isInstalled) {
+```js
+function logIsInstalled(isInstalled) {
console.log(`Module is installed: ${isInstalled}`);
}
-browser.pkcs11.isModuleInstalled("pkcs11_module").then(logIsInstalled);</pre>
+browser.pkcs11.isModuleInstalled("pkcs11_module").then(logIsInstalled);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Désinstalle le module PKCS #11 nommé de Firefox.</p>
+Désinstalle le module PKCS #11 nommé de Firefox.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var uninstalling = browser.pkcs11.uninstallModule(
+```js
+var uninstalling = browser.pkcs11.uninstallModule(
name // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. Nom du module à désinstaller. Cela doit correspondre à la propriété <code>name</code> dans le <a href="/fr/Add-ons/WebExtensions/Native_manifests#PKCS_11_manifests">manifest PKCS #11</a> pour le module.</dd>
-</dl>
+- `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.
-<h3 id="Return_value">Return value</h3>
+### Return value
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera accompli sans arguments une fois le module désinstallée.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accompli sans arguments une fois le module désinstallée.
-<p>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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.pkcs11.uninstallModule", 10)}}</p>
+{{Compat("webextensions.api.pkcs11.uninstallModule", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Désinstalle le module nommé "pkcs11_module" :</p>
+Désinstalle le module nommé "pkcs11_module" :
-<pre class="brush: js">browser.pkcs11.uninstallModule("pkcs11_module");</pre>
+```js
+browser.pkcs11.uninstallModule("pkcs11_module");
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Accédez et modifiez les différents paramètres du navigateur liés à la vie privée.</p>
+Accédez et modifiez les différents paramètres du navigateur liés à la vie privée.
-<p>Pour utiliser l'API de confidentialité, vous devez avoir <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">l'autorisation de l'API</a> "privacy".</p>
+Pour utiliser l'API de confidentialité, vous devez avoir [l'autorisation de l'API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "privacy".
-<h2 id="Propriétés">Propriétés</h2>
+## Propriétés
-<dl>
- <dt>{{WebExtAPIRef("privacy.network")}}</dt>
- <dd>Accès et modification des paramètres de confidentialité relatifs au réseau.</dd>
- <dt>{{WebExtAPIRef("privacy.services")}}</dt>
- <dd>Accès et modification des paramètres de confidentialité relatifs aux services fournis par le navigateur ou les tiers.</dd>
- <dt>{{WebExtAPIRef("privacy.websites")}}</dt>
- <dd>Accès et modification des paramètres de confidentialité relatifs aux comportements des sites Web.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.privacy", 10, 1)}}</p>
+{{Compat("webextensions.api.privacy", 10, 1)}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.privacy`](https://developer.chrome.com/extensions/privacy).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/privacy"><code>chrome.privacy</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -66,5 +62,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/privacy
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}
-<p>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")}}.</p>
+{{AddonSidebar}}
-<p>Les valeurs par défaut de ces propriétés peuvent varier selon les navigateurs.</p>
+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")}}.
-<h2 id="Propriétés">Propriétés</h2>
+Les valeurs par défaut de ces propriétés peuvent varier selon les navigateurs.
-<dl>
- <dt><code>networkPredictionEnabled</code></dt>
- <dd>Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est un booléen. Si il est défini à <code>true</code>, 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, <code>&lt;link rel='prefetch' ...&gt;</code>), et en ouvrant de manière préemptive les connexions TCP et SSL aux serveurs.</dd>
- <dt><code>peerConnectionEnabled</code></dt>
- <dd>Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est un booléen. Si il est défini à <code>false</code>, l'interface<code><a href="/fr/docs/Web/API/RTCPeerConnection">RTCPeerConnection</a></code> est désactivée. Notez que  <code><a href="/fr/docs/Web/API/MediaDevices/getUserMedia">getUserMedia()</a></code> n'est pas affectée par ce paramètre.</dd>
- <dt><code>webRTCIPHandlingPolicy</code></dt>
- <dd>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 :<br>
- <code>"default"<br>
- "default_public_and_private_interfaces"<br>
- "default_public_interface_only"<br>
- "disable_non_proxied_udp"</code></dd>
-</dl>
+## Propriétés
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- `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'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"`
-<p>{{Compat("webextensions.api.privacy.network")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.privacy.network")}}
-<p>Définissez la propriété <code>webRTCIPHandlingPolicy</code> :</p>
+## Exemples
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
var getting = browser.privacy.network.webRTCIPHandlingPolicy.get({});
- getting.then((got) =&gt; {
+ 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(() =&gt; {
});
});
+```
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/privacy"><code>chrome.privacy</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/privacy.json"><code>privacy.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -105,6 +99,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}
-<p>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")}}.</p>
+{{AddonSidebar}}
-<h2 id="Propriétés">Propriétés</h2>
+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")}}.
-<dl>
- <dt><code>passwordSavingEnabled</code></dt>
- <dd>Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est un booléen. Si il est défini à <code>true</code>, 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 : <code>true</code>.</dd>
-</dl>
+## Propriétés
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- `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`.
-<p>{{Compat("webextensions.api.privacy.services", 10)}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.privacy.services", 10)}}
-<p>Désactivation, si possible, du gestionnaire de mot de passe.</p>
+## Exemples
-<pre class="brush: js">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) =&gt; {
+ 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");
}
- });</pre>
-
-<p>{{WebExtExamples}}</p>
+ });
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/privacy"><code>chrome.privacy</code></a>.</p>
-</div>
-</div>
+> **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
---
-<div>{{AddonSidebar}}
-<p>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")}}.</p>
-
-<p>Les valeurs par défaut  de ces propriétés ont tendance à varier selon les navigateurs.</p>
-
-<h2 id="Propriétés">Propriétés</h2>
-
-<dl>
- <dt><code>cookieConfig</code></dt>
- <dd>
- <p>Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un objet.</p>
-
- <p>L'objet a deux propriétés :</p>
-
- <ul>
- <li><code>behavior</code>: une chaîne qui peut prendre l'une des valeurs suivantes:
-
- <ul>
- <li>"allow_all": accepte tous les cookies</li>
- <li>"reject_all": rejeter tous les cookies</li>
- <li>"reject_third_party": rejeter tous les cookies tiers</li>
- <li>"allow_visited" : accepte un cookie tiers uniquement si le domaine de premier niveau du cookie contient déjà au moins un cookie.</li>
- <li>"reject_trackers": rejeter les cookies de suivi</li>
- </ul>
- </li>
- <li><code>nonPersistentCookies</code>: un booléen. Si la valeur est true, tous les cookies seront traités comme des cookies de session.</li>
- </ul>
- </dd>
- <dt><code>firstPartyIsolate</code></dt>
- <dd>
- <p>Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen.</p>
-
- <p>SI <code>true</code>, la préférence <code>firstPartyIsolate</code> 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).</p>
-
- <p>Par défaut à <code>false</code>.</p>
- </dd>
- <dt><code>hyperlinkAuditingEnabled</code></dt>
- <dd>Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen. Si <code>true</code>, le navigateur envoie des pings d'audit lorsqu'un site web utilise l'attribut <code>ping</code> pour les demander.</dd>
- <dt><code>protectedContentEnabled</code></dt>
- <dd>Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen. Disponible uniquement sur Windows. Si<code>true</code>, le navigateur fournit un ID unique aux plugins afin d'exécuter le contenu protégé.</dd>
- <dt><code>referrersEnabled</code></dt>
- <dd>Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur  sous-jacente est un booléen. Si activé, le navigateur envoie les en-têtes de <a href="/fr/docs/Web/HTTP/Headers/Referer">référence</a> avec vos demandes.</dd>
- <dt><code>resistFingerprinting</code></dt>
- <dd>
- <p>Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen.</p>
-
- <p>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.</p>
-
- <p>Si <code>true</code>, la préférence <code>resistFingerprinting</code> 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.</p>
-
- <p>Par défaut à <code>false</code>.</p>
- </dd>
- <dt><code>thirdPartyCookiesAllowed</code></dt>
- <dd>Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen. Si <code>false</code>, le navigateur bloque les <a href="/fr/docs/Web/HTTP/Cookies#Third-party_cookies">cookies tiers</a>.</dd>
- <dt><code>trackingProtectionMode</code></dt>
- <dd>
- <p>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 :</p>
-
- <ul>
- <li><code>"always"</code>: La protection de suivi est activée.</li>
- <li><code>"never"</code>: La protection de suivi est désactivée.</li>
- <li><code>"private_browsing"</code>: La protection de suivi est activée uniquement dans les fenêtres de navigation privée.</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.privacy.websites")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Définissez la propriété <code>hyperlinkAuditingEnabled</code> .</p>
-
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
var getting = browser.privacy.websites.hyperlinkAuditingEnabled.get({});
- getting.then((got) =&gt; {
+ 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(() =&gt; {
}
});
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/privacy"><code>chrome.privacy</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/privacy.json"><code>privacy.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -149,6 +141,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<div class="warning">
-<p><strong>Attention :</strong></p>
- <p>Vous ne devez pas utiliser la fonction {{WebExtAPIRef("proxy.register()")}} ou la fonction {{WebExtAPIRef("proxy.unregister()")}} pour enregistrer et supprimer le fichier <a href="/fr/Add-ons/WebExtensions/API/proxy/register#PAC_file_specification">Proxy Auto-Configuration (PAC)</a>. Cette API était dépréciée dans Firefox 68 et sera supprimée de Firefox 71.</p>
-</div>
+> **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.
-<p>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.</p>
+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.
-<p>L'avantage de l'approche <code>proxy.onRequest</code> 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 <code><a href="/fr/Add-ons/WebExtensions/API/storage">stockage</a></code> et au réseau de votre extension APIs comme <code><a href="/fr/Add-ons/WebExtensions/API/dns">dns</a></code>).</p>
+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)).
-<p>En dehors de cette API, les extensions peuvent également utiliser la propriété  <code><a href="/fr/Add-ons/WebExtensions/API/browserSettings/proxyConfig">browserSettings.proxyConfig</a></code> pour configurer les paramètres proxy globaux.</p>
+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.
-<p>Google Chrome fournit <a href="https://developer.chrome.com/extensions/proxy">une API d'extension également appelée "proxy"</a> 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 <code>proxy</code> Chrome, cette API est uniquement disponible via l'espace de noms du <code>navigateur</code>.</p>
+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`.
-<p>Pour utiliser cette API, vous devez disposer de la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "proxy". De plus, lorsque vous voulez intercepter des requêtes, vous avez également besoin de la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission de l'hôte</a> pour les URL des requêtes interceptées</p>
+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
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("proxy.ProxyInfo")}}</dt>
- <dd>Décrit un proxy.</dd>
- <dt>{{WebExtAPIRef("proxy.RequestDetails")}}</dt>
- <dd>
- <p>Contient des informations sur une requête Web que le navigateur est sur le point de faire.</p>
- </dd>
-</dl>
+- {{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.
-<h2 id="Properties">Properties</h2>
+## Properties
-<dl>
- <dt>{{WebExtAPIRef("proxy.settings")}}</dt>
- <dd>Obtenir et définir les paramètres de proxy.</dd>
-</dl>
+- {{WebExtAPIRef("proxy.settings")}}
+ - : Obtenir et définir les paramètres de proxy.
-<h2 id="Functions">Functions</h2>
+## Functions
-<dl>
- <dt>{{WebExtAPIRef("proxy.register()")}}</dt>
- <dd>Enregistre le script proxy donné.</dd>
- <dt>{{WebExtAPIRef("proxy.unregister()")}}</dt>
- <dd>Annule l'inscription du script proxy.</dd>
-</dl>
+- {{WebExtAPIRef("proxy.register()")}}
+ - : Enregistre le script proxy donné.
+- {{WebExtAPIRef("proxy.unregister()")}}
+ - : Annule l'inscription du script proxy.
-<h2 id="Events">Events</h2>
+## Events
-<dl>
- <dt>{{WebExtAPIRef("proxy.onError")}}</dt>
- <dd>Lancé lorsque le système rencontre une erreur lors de l'exécution du script PAC ou de l'écouteur <code>onRequest</code>.</dd>
- <dt>{{WebExtAPIRef("proxy.onRequest")}}</dt>
- <dd>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.</dd>
-</dl>
+- {{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.
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.proxy")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé en cas d'erreur lors de l'évaluation du fichier PAC ou l'écouteur <code>onRequest</code>.</p>
+Lancé en cas d'erreur lors de l'évaluation du fichier PAC ou l'écouteur `onRequest`.
-<p>L'erreur peut être déclenchée en lançant ou renvoyant une valeur invalide dans le gestionnaire d'événements proxy.onRequest.</p>
+L'erreur peut être déclenchée en lançant ou renvoyant une valeur invalide dans le gestionnaire d'événements proxy.onRequest.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.proxy.onError.addListener(listener)
+```js
+browser.proxy.onError.addListener(listener)
browser.proxy.onError.removeListener(listener)
browser.proxy.onError.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si l'<code>écouteur</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>newState</code></dt>
- <dd><code>Object</code>. Un objet <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Error">Error</a> représentant l'erreur.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<p>{{WebExtExamples}}</p>
+ - `newState`
+ - : `Object`. Un objet [Error](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Error) représentant l'erreur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.proxy.onError")}}</p>
+## 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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Cet événement est étroitement modélisé sur les événements définis dans l'API  <code><a href="/fr/Add-ons/WebExtensions/API/webRequest">webRequest</a></code> Comme ces événements, sa fonction <code>addListener()</code> prend trois arguments :</p>
+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 :
-<ul>
- <li>l'écouteur qui sera appelé lorsque l'événement est déclenché.</li>
- <li>Un objet <code><a href="/fr/Add-ons/WebExtensions/API/webRequest/RequestFilter">RequestFilter</a></code> contrôlant quelles requêtes provoquent le déclenchement de l'événement.</li>
- <li>un tableau de chaînes pour contrôler d'autres aspects du comportement de l'événement.</li>
-</ul>
+- 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.
-<p>L'événement est déclenché avant l'un des événements <code>webRequest</code> pour la même demande.</p>
+L'événement est déclenché avant l'un des événements `webRequest` pour la même demande.
-<p>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).</p>
+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).
-<p>Pour utiliser <code>proxy.onRequest</code>, une extension doit avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission API</a> "proxy" , ainsi que la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission d'hôte</a> pour les URL des requêtes qu'elle intercepte - ela signifie essentiellement que les modèles de correspondance de l'argument <code>filter</code> doivent être un sous-ensemble de l'extension autorisations de l'hôte.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener, filter, extraInfoSpec)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>listener</code></dt>
- <dd>
- <p>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.</p>
+- `listener`
- <p>L'écouteur peut renvoyer l'un des éléments suivants:</p>
+ - : 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.
- <ul>
- <li>un objet {{WebExtAPIRef("proxy.ProxyInfo")}}</li>
- <li>un tableau d'objets <code>proxy.ProxyInfo</code></li>
- <li>Une <code>Promise</code> qui se résout en un objet <code>ProxyInfo</code></li>
- <li>Une <code>Promise</code> qui résout en un tableau d'objets <code>ProxyInfo</code>.</li>
- </ul>
+ L'écouteur peut renvoyer l'un des éléments suivants:
- <p>Si l'écouteur renvoie un tableau, ou une Promesse qui se résout en un tableau, alors tous les objets<code>ProxyInfo</code> après le premier représentent les basculements: si le proxy à la position N dans le tableau n'est pas accessible quand son <code>ProxyInfo.failoverTimeout</code> alors le navigateur essayez le proxy à la position N+1.</p>
+ - 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`.
- <p>S'il y a une erreur spécifiant les objets <code>proxy.ProxyInfo</code> objects, alors {{WebExtAPIRef("proxy.onError")}} sera appelé.</p>
- </dd>
- <dt><code>filter</code></dt>
- <dd>{{WebExtAPIRef('webRequest.RequestFilter')}}. Un ensemble de filtres qui limite les événements qui seront envoyés à cet écouteur.</dd>
- <dt><code>extraInfoSpec</code> {{optional_inline}}</dt>
- <dd><code>array</code> de <code>string</code>. Options supplémentaires pour l'événement. Vous pouvez passer une seule valeur, <code>"requestHeaders"</code>, pour inclure les en-têtes de demande dans l'objet de <code>details</code> transmis à l'écouteur.</dd>
-</dl>
+ 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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ S'il y a une erreur spécifiant les objets `proxy.ProxyInfo` objects, alors {{WebExtAPIRef("proxy.onError")}} sera appelé.
-<p>{{Compat("webextensions.api.proxy.onRequest", 10)}}</p>
+- `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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Ce code intercepte les requêtes à <code>&lt;all_urls&gt;</code>, et les envoie par procuration si elles ne sont pas destinées à un cadre de premier niveau.</p>
+{{Compat("webextensions.api.proxy.onRequest", 10)}}
-<pre class="brush: js">function shouldProxyRequest(requestInfo) {
+## Exemples
+
+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.
+
+```js
+function shouldProxyRequest(requestInfo) {
return requestInfo.parentFrameId != -1;
}
@@ -100,6 +94,7 @@ function handleProxyRequest(requestInfo) {
return {type: "direct"};
}
-browser.proxy.onRequest.addListener(handleProxyRequest, {urls: ["&lt;all_urls&gt;"]});</pre>
+browser.proxy.onRequest.addListener(handleProxyRequest, {urls: ["<all_urls>"]});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
-
-<p>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.</p>
-
-<h2 id="Type">Type</h2>
-
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
-
-<dl>
- <dt><code>type</code></dt>
- <dd>
- <p><code>string</code>. 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 :</p>
-
- <ul>
- <li><code>"direct"</code>: 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.</li>
- <li><code>"http"</code>: HTTP proxy (ou SSL CONNECT pour HTTPS)</li>
- <li><code>"https"</code>: HTTP proxying via TLS connection au proxy</li>
- <li><code>"socks"</code>: proxy SOCKS v5</li>
- <li><code>"socks4"</code>: proxy SOCKS v4</li>
- </ul>
- </dd>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le nom d'hôte du serveur proxy. Obligatoire sauf si le <code>type</code> est <code>"direct"</code>.</dd>
- <dt><code>port</code></dt>
- <dd><code>string</code>. e numéro de port du serveur proxy. Obligatoire sauf si le <code>type</code> est  <code>"direct"</code>.</dd>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur pour le service proxy. Ceci est utilisable avec "socks".  Pour les autorisations de proxy HTTP, utilisez <a href="/fr/Add-ons/WebExtensions/API/webRequest/onAuthRequired"><code>webRequest.onAuthRequired</code></a>.</dd>
- <dt><code>password</code></dt>
- <dd><code>string</code>. Mot de passe pour le service proxy. Ceci est utilisable avec "socks". FPour les autorisations de proxy HTTP, utilisez <a href="/fr/Add-ons/WebExtensions/API/webRequest/onAuthRequired"><code>webRequest.onAuthRequired</code></a>.</dd>
- <dt><code>proxyDNS</code></dt>
- <dd><code>boolean</code>. Si vrai, le serveur proxy est utilisé pour résoudre certaines requêtes DNS (uniquement utilisable avec <code>"socks4"</code> et <code>"socks"</code>).  Par défaut à <code>false</code>.</dd>
- <dt><code>failoverTimeout</code></dt>
- <dd><code>number</code>:  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 <code>proxy.onRequest</code> sera utilisé.</dd>
-</dl>
-
-<dl>
- <dt><code>proxyAuthorizationHeader</code></dt>
- <dd><code>string.</code> 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).<br>
- <br>
- Par exemple, si vous voulez envoyer "nom d'utilisateur" et "mot de passe" pour l'authentification "basique", vous pouvez définir la propriété <code>proxyAuthorizationHeader</code> à <code>Basic dXNlcm5hbWU6cGFzc3dvcmQ=</code></dd>
- <dt><code>connectionIsolationKey </code> {{optional_inline}}</dt>
- <dd><code>string.</code> Une clé optionnelle utilisée pour l'isolation supplémentaire de cette connexion proxy.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.proxy.ProxyInfo")}}</p>
-
-<p>{{WebExtExamples}}</p>
+{{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
---
-<p>{{AddonSidebar()}} {{deprecated_header}}</p>
+{{AddonSidebar()}} {{deprecated_header}}
-<p>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 :</p>
+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 :
-<p><img alt="" src="proxy_register_warning.png"></p>
+![](proxy_register_warning.png)
-<p>Enregistre un <a href="/fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_%28PAC%29_file">fichier PAC (Proxy Auto-Configuration)</a>. Le fichier est exécuté immédiatement, et sa fonction <code>FindProxyForURL()</code> sera appelée pour toutes les demandes HTTP, HTTPS ou FTP.</p>
+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.
-<p>Si les fichiers PAC sont enregistrés par plusieurs extensions, les demandes seront initialement transmises à celle qui a été enregistrée en premier.</p>
+Si les fichiers PAC sont enregistrés par plusieurs extensions, les demandes seront initialement transmises à celle qui a été enregistrée en premier.
-<ul>
- <li>Si la fonction <code>FindProxyForURL()</code> dans le premier PAC renvoie "DIRECT" pour une demande, alors la demande sera transmise inchangée à la fonction  <code>FindProxyForURL()</code> dans le prochain PAC.</li>
- <li>Si la fonction <code>FindProxyForURL()</code> 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 <code>FindProxyForURL()</code> dans le prochain PAC.</li>
-</ul>
+- 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.
-<p>Chaque extension ne peut enregistrer qu'un seul fichier PAC : si vous appelez  <code>register()</code> deux fois, le second fichier PACremplacera le premier.</p>
+Chaque extension ne peut enregistrer qu'un seul fichier PAC : si vous appelez  `register()` deux fois, le second fichier PACremplacera le premier.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Communiquez_avec_les_fichiers_PAC">Communiquez avec les fichiers PAC</h2>
+## Communiquez avec les fichiers PAC
-<p>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 <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage">runtime.sendMessage()</a></code> et <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage">runtime.onMessage</a></code>.</p>
+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).
-<p>Pour envoyer un message au fichier PAC, vous devez définir l'option <code>toProxyScript</code> :</p>
+Pour envoyer un message au fichier PAC, vous devez définir l'option `toProxyScript` :
-<pre class="brush: js">// background.js
+```js
+// background.js
// Log any messages from the proxy.
-browser.runtime.onMessage.addListener((message, sender) =&gt; {
+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});</pre>
+browser.runtime.sendMessage(messageToProxy, {toProxyScript: true});
+```
-<pre class="brush: js">// pac.js
+```js
+// pac.js
-browser.runtime.onMessage.addListener((message) =&gt; {
+browser.runtime.onMessage.addListener((message) => {
if (message.enabled) {
browser.runtime.sendMessage("I'm enabled!");
}
-});</pre>
+});
+```
-<h2 id="Spécification_de_fichier_PAC">Spécification de fichier PAC</h2>
+## Spécification de fichier PAC
-<p>La syntaxe de base du fichier PAC est décrite dans la <a href="/fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file">documentation PAC</a>, 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.</p>
+La syntaxe de base du fichier PAC est décrite dans la [documentation PAC](</fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file>), 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.
-<h3 id="Valeur_retournée_FindProxyForURL">Valeur retournée FindProxyForURL()</h3>
+### Valeur retournée FindProxyForURL()
-<p>La norme <code>FindProxyForURL()</code> <a href="/fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_%28PAC%29_file#Return_value_format">renvoie une chaîne</a>. Dans Firefox 55 et 56, le fichier PAC utilisé avec l'API proxy renvoie également une chaîne. Dans Firefox 55 <em>seulement</em>, vous devez passer un argument à la valeur de retour "DIRECT", même s'il n'a pas besoin d'argument.</p>
+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.
-<p>À partir de Firefox 57, <code>FindProxyForURL()</code> peut toujours renvoyer une chaîne, mais peut également (et de préférence) renvoyer un tableau d'objets  {{WebExtAPIRef("proxy.ProxyInfo")}}.</p>
+À 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")}}.
-<p>Si le tableau contient plus d'un objet, alors tous les objets <code>ProxyInfo</code> après le premier représentent les basculements : si le proxy à la position N dans le tableau n'est pas accessible quand son <code>ProxyInfo.failoverTimeout</code> expire, alors le navigateur essaiera le proxy à la position N + 1.</p>
+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.
-<p>Par exemple :</p>
+Par exemple :
-<pre class="brush: js">const proxySpecification = [
+```js
+const proxySpecification = [
{
type: "socks",
host: "foo.com",
@@ -90,28 +93,30 @@ browser.runtime.onMessage.addListener((message) =&gt; {
host: "bar.com",
port: 1060,
}
-];</pre>
+];
+```
-<p>Le premier proxy dans le tableau sera essayé en premier. S'il ne répond pas dans <code>failoverTimeout</code> secondes, le prochain sera essayé, jusqu'à ce que la fin du tableau est atteint.</p>
+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.
-<h3 id="Environnement_du_fichier_PAC">Environnement du fichier PAC</h3>
+### Environnement du fichier PAC
-<p>Les fonctions globales d'assistance généralement disponibles pour les fichiers PAC  (<code><a href="/fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file#isPlainHostName()_2">isPlainHostName()</a></code>, <code><a href="/fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file#dnsDomainIs()">dnsDomainIs()</a></code>, etc) ne sont pas disponibles.</p>
+Les fonctions globales d'assistance généralement disponibles pour les fichiers PAC  ([`isPlainHostName()`](</fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file#isPlainHostName()_2>), [`dnsDomainIs()`](</fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file#dnsDomainIs()>), etc) ne sont pas disponibles.
-<p>Le code qui s'exécute dans le fichier PAC n'a pas accès à :</p>
+Le code qui s'exécute dans le fichier PAC n'a pas accès à :
-<ul>
- <li>outes les fonctions DOM (par exemple, <a href="/fr/docs/Web/API/Window">window</a> ou l'une de ses propriétés)</li>
- <li>les API WebExtension sauf <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage">runtime.sendMessage()</a></code> et <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage">runtime.onMessage</a></code></li>
- <li>l' <a href="/fr/docs/Web/API/Console">API console</a> - pour consigner les messages d'un PAC, envoyez un message au script d'arrière-plan :</li>
-</ul>
+- 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 :
-<pre class="brush: js">// pac.js
+```js
+// pac.js
// send the log message to the background script
-browser.runtime.sendMessage(`Proxy-blocker: blocked ${url}`);</pre>
+browser.runtime.sendMessage(`Proxy-blocker: blocked ${url}`);
+```
-<pre class="brush: js">// 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);</pre>
+browser.runtime.onMessage.addListener(handleMessage);
+```
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var registering = browser.proxy.register(
+```js
+var registering = browser.proxy.register(
url // string
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
+```
-<dl>
- <dt><code>url</code></dt>
- <dd><code>String</code>. URL pointant vers le fichier PAC à charger. Les fichiers PAC doivent être groupés avec l'extension, et l'<code>url</code> doit être relative au fichier <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a> de l'extension.</dd>
-</dl>
+### Paramètres
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+- `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.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie sans argument lorsque le fichier PAC a été enregistré ou rejetée en cas d'erreur.</p>
+### Valeur retournée
-<h2 id="Exemples">Exemples</h2>
+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.
-<pre class="brush: js">const proxyScriptURL = "proxy/proxy-script.js";
+## Exemples
-browser.proxy.register(proxyScriptURL);</pre>
+```js
+const proxyScriptURL = "proxy/proxy-script.js";
-<p>{{WebExtExamples}}</p>
+browser.proxy.register(proxyScriptURL);
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.proxy.register")}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.proxy.register")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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")}}.</p>
+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")}}.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>cookieStoreId</code></dt>
- <dd><code>string</code>. L'ID de magasin de cookies du contexte actuel.</dd>
- <dt><code>documentUrl</code></dt>
- <dd><code>string</code>. URL de la page dans laquelle la ressource demandée sera chargée.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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é (<code>type</code> est <code>main_frame</code> ou <code>sub_frame</code>), <code>frameId</code> indique l'ID de cette trame, pas l'ID de la trame externe. Les ID de cadre sont uniques dans un onglet.</dd>
- <dt><code>fromCache</code></dt>
- <dd><code>boolean</code>. Indique si cette réponse sera récupérée du cache disque.</dd>
- <dt><code>incognito</code></dt>
- <dd><code>boolean</code> <code>true</code> pour les demandes de navigation privées</dd>
- <dt><code>ip</code></dt>
- <dd>L'adresse IP du serveur à laquelle la demande sera envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.</dd>
- <dt><code>method</code></dt>
- <dd><code>string</code>. Méthode HTTP standard: par exemple, "GET" ou "POST".</dd>
- <dt><code>originUrl</code></dt>
- <dd><code>string</code>. 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'<a href="/fr/docs/Web/HTML/Element/a#attr-target">attribut cible d'un lien</a>, ou d'un document CSS inclut une image utilisant la  <a href="/fr/docs/Web/CSS/url#The_url()_functional_notation"><code>notation fonctionnelle url()</code></a>, alors ce sera l'URL du document original ou du  document CSS, respectivement.</dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. ID de l'image qui contient l'image qui a envoyé la demande. Défini sur -1 si aucun cadre parent n'existe.</dd>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>requestHeaders</code>{{optional_inline}}</dt>
- <dd>{{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  <code>"requestHeaders"</code> a été passée dans <code>addListener()</code>.</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle cet événement s'est déclenché, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>type</code></dt>
- <dd>{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandé : par exemple, "image", "script", "stylesheet".</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. Cible de la demande.</dd>
-</dl>
+- `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()`](</fr/docs/Web/CSS/url#The_url()_functional_notation>), 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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.proxy.RequestDetails")}}</p>
+{{Compat("webextensions.api.proxy.RequestDetails")}}
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour modifier les paramètres de proxy du navigateur.</p>
+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour modifier les paramètres de proxy du navigateur.
-<div class="note">
-<p><strong>Note :</strong> 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 à <code>proxy.settings.set()</code> lanceront une exception.</p>
-</div>
+> **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.
-<p>La valeur sous-jacente est un objet avec les propriétés énumérées ci-dessous.</p>
+La valeur sous-jacente est un objet avec les propriétés énumérées ci-dessous.
-<p>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.</p>
+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.
-<dl>
- <dt><code>autoConfigUrl</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Une URL à utiliser pour configurer le proxy.</dd>
- <dt><code>autoLogin</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Ne pas demander l'authentification si le mot de passe est enregistré. Par défaut à <code>false</code>.</dd>
- <dt><code>ftp</code>{{optional_inline}}</dt>
- <dd><code>string</code>. L'adresse du proxy FTP. Peut inclure un port.</dd>
- <dt><code>http</code>{{optional_inline}}</dt>
- <dd><code>string</code>. L'adresse du proxy HTTP. Peut inclure un port.</dd>
- <dt><code>httpProxyAll</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Utilisez le serveur proxy HTTP pour tous les protocoles. Par défaut à <code>false</code>.</dd>
- <dt><code>passthrough</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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".</dd>
- <dt><code>proxyDNS</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. DNS proxy lors de l'utilisation de SOCKS5. Par défaut à <code>false</code>.</dd>
- <dt><code>proxyType</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Le type de proxy à utiliser. Cela peut prendre l'une des valeurs suivantes : "none", "autoDetect", "system", "manual", "autoConfig". Par défaut à "system".</dd>
- <dt><code>socks</code>{{optional_inline}}</dt>
- <dd><code>string</code>. L'adresse du proxy SOCKS. Peut inclure un port.</dd>
- <dt><code>socksVersion</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. La version du proxy SOCKS. Peut être 4 ou 5. Par défaut à 5.</dd>
- <dt><code>ssl</code>{{optional_inline}}</dt>
- <dd><code>string</code>. L'adresse du proxy SSL. Peut inclure un port.</dd>
-</dl>
+- `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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">let proxySettings = {
+```js
+let proxySettings = {
proxyType: "manual",
http: "http://proxy.org:8080",
socksVersion: 4,
passthrough: ".example.org"
};
-browser.proxy.settings.set({value: proxySettings});</pre>
+browser.proxy.settings.set({value: proxySettings});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.proxy.settings", 10)}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}{{deprecated_header}}
-<div>{{deprecated_header}}</div>
+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:
-<p>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:</p>
+![](proxy_unregister_warning.png)
-<p><img alt="" src="proxy_unregister_warning.png"></p>
+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()")}}.
-<p>Annule l'inscription d'un <a href="/fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_%28PAC%29_file">fichier Proxy Auto-Configuration (PAC)</a>. Cela a été enregistré par un appel précédent à {{WebExtAPIRef("proxy.register()")}}.</p>
+C'est une fonction asynchrome qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<p>C'est une fonction asynchrome qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+## Syntaxe
-<h2 id="Syntaxe">Syntaxe</h2>
+```js
+var unregistering = browser.proxy.unregister()
+```
-<pre class="brush: js">var unregistering = browser.proxy.unregister()
-</pre>
+### Paramètres
-<h3 id="Paramètres">Paramètres</h3>
+None.
-<p>None.</p>
+### Valeur retournée
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie  sans arguments lorsque le fichier PAC a été désinscrit.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie  sans arguments lorsque le fichier PAC a été désinscrit.</p>
+## Exemples
-<h2 id="Exemples">Exemples</h2>
+```js
+browser.proxy.unregister();
+```
-<pre class="brush: js">browser.proxy.unregister();</pre>
+{{WebExtExamples}}
-<p>{{WebExtExamples}}</p>
+## Compatibilité du navigateur
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{Compat("webextensions.api.proxy.unregister")}}
-<p>{{Compat("webextensions.api.proxy.unregister")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div></div>
+Créer une connexion pour plusieurs cas d'utilisation pout votre extension.
-<p>Créer une connexion pour plusieurs cas d'utilisation pout votre extension.</p>
+Vous pouvez utiliser cette facilité dans les situations suivantes:
-<p>Vous pouvez utiliser cette facilité dans les situations suivantes:</p>
+- 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.
-<ul>
- <li>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)</li>
- <li>Dans un script d'arrière plan (ou script priviligié équivalent), pour établir une connexion avec une extension différente.</li>
-</ul>
+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()')}}.
-<p>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()')}}.</p>
+## Syntaxe
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">var port = browser.runtime.connect(
+```js
+var port = browser.runtime.connect(
extensionId, // optional string
connectInfo // optional object
)
-</pre>
+```
+
+### 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}}
-<h3 id="Paramètres">Paramètres</h3>
+ - : `object`. Détails de la connexion:
-<dl>
- <dt><code>extensionId</code>{{optional_inline}}</dt>
- <dd><code>string</code>. L'ID de l'extension à laquelle se connecter. Si la cible à défini un ID dans la clé <a href="/fr/Add-ons/WebExtensions/manifest.json/applications">applications</a> du fichier manifest.json, alors <code>extensionId</code> doit avoir cette valeur. Autrement, il doit avoir l'ID qui a été généré pour la cible.</dd>
- <dt><code>connectInfo</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>. Détails de la connexion:</p>
- <dl>
- <dt><code>name</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Sera passé dans {{WebExtAPIRef("runtime.onConnect")}} pour les processus qui écoutent un évènement de type connexion.</dd>
- <dt><code>includeTlsChannelId</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. indique si l'ID du canal TLS sera transmis à  {{WebExtAPIRef("runtime.onConnectExternal")}} pour le processus qui écoutent l'événement de connexion.</dd>
- </dl>
- </dd>
-</dl>
+ - `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>{{WebExtAPIRef('runtime.Port')}}. Port à travers lequel les messages peuvent être envoyés et reçus. L'événement <code>onDisconnect</code> du port est déclenché si l'extension n'existe pas.</p>
+{{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.connect")}}</p>
+{{Compat("webextensions.api.runtime.connect")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le script de contenu :</p>
+Le script de contenu :
-<ul>
- <li>se connecte au script d'arrière-plan et stocke le port dans une variable appelée <code>myPort</code>.</li>
- <li>Ecoute les messages sur <code>myPort</code> et les enregistre</li>
- <li>Envoie des messages au script d'arrière pla, en utilisant <code>myPort</code>, lorsque l'utilisateur clique sur le document.</li>
-</ul>
+- 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.
-<pre class="brush: js">// 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!"});
-});</pre>
+});
+```
+
+Les scripts d'arrière plan correspondant :
-<p>Les scripts d'arrière plan correspondant :</p>
+- Ecoute les tentatives de connexion du script de contenu.
+- Quand il reçoit une tentative de connexion :
-<ul>
- <li>Ecoute les tentatives de connexion du script de contenu.</li>
- <li>Quand il reçoit une tentative de connexion :
- <ul>
- <li>Stocke le port dans une variable nommé <code>portFromCS</code>.</li>
- <li>envoie un message au script de contenu en utiliant le port.</li>
- <li>Commence à écouter les messages reçus sur le port, et les enregistre.</li>
- </ul>
- </li>
- <li>Envoie des messages au script de contenu, à l'aide de <code>portFromCS</code>, lorsque l'utilisateur clique sur l'action du navigateur de l'extension.</li>
-</ul>
+ - 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.
-<pre class="brush: js">// 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!"});
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -154,5 +145,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{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é.
-<div>Connecte l'extension à une appplication native sur l'ordinateur de l'utilisateur.</div>
+Pour plus d'informations, voir [messagerie native](/fr/Add-ons/WebExtensions/Native_messaging).
-<div></div>
+## Syntaxe
-<div>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.</div>
-
-<div></div>
-
-<div>L'appelant peut utiliser le <code>Port</code> pour échanger des messages avec l'application native utilisant <code>Port.postMessage()</code> et <code>port.onMessage</code>.</div>
-
-<div></div>
-
-<div>L'application native s'exécute jusqu'à ce qu'elle se termine, ou l'appelant appelle <code>Port.disconnect()</code>, ou la page qui a créé le <code>Port</code> est détruite. Une fois le <code>Port</code> 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é.</div>
-
-<div></div>
-
-<p>Pour plus d'informations, voir <a href="/fr/Add-ons/WebExtensions/Native_messaging">messagerie native</a>.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">var port = browser.runtime.connectNative(
+```js
+var port = browser.runtime.connectNative(
application // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>application</code></dt>
- <dd><code>string</code>. Le nom de l'application native à laquelle se connecter. Cela doit correspondre à la propriété "name" dans le <a href="/fr/Add-ons/WebExtensions/Native_messaging#App_manifest">fichier manifest de l'application native</a>.</dd>
-</dl>
+- `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).
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Un objet {{WebExtAPIRef('runtime.Port')}}. Le port que l'appelant peut utiliser pour échanger des messages avec l'application native.</p>
+Un objet {{WebExtAPIRef('runtime.Port')}}. Le port que l'appelant peut utiliser pour échanger des messages avec l'application native.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.connectNative")}}</p>
+{{Compat("webextensions.api.runtime.connectNative")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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 :</p>
+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 :
-<pre class="brush: js">/*
+```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) =&gt; {
+port.onMessage.addListener((response) => {
console.log("Received: " + response);
});
/*
On a click on the browser action, send the app a message.
*/
-browser.browserAction.onClicked.addListener(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
console.log("Sending: ping");
port.postMessage("ping");
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -116,5 +99,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Récupère l'objet <code><a href="/fr/docs/Web/API/Window">Window</a></code> pour la page d'arrière-plan qui s'exécute dans l'extension en cours.</p>
+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.
-<p>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  <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Options_pages">pages d'options</a>, ou les scripts s'exécutant dans les fenêtres d'<a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2">action du navigateur</a> ou d'<a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Page_actions">action page</a>, mais n'inclut pas les <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Content_scripts">scripts de contenu</a>.</p>
+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).
-<p>Notez que les variables déclarées à l'aide de <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/const">const</a></code> ou <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/let">let</a></code> n'apparaissaient pas dans l'objet window retourné par cette fonction.</p>
+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.
-<p><strong>Notez également que cette méthode ne peut pas être utilisée dans une fenêtre privée dans Firefox</strong>—Elle renvoie toujours <code>null</code>. Pour plus d'informations voir le <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1329304">bug lié à bugzilla</a>.</p>
+**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).
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingPage = browser.runtime.getBackgroundPage()
-</pre>
+```js
+var gettingPage = browser.runtime.getBackgroundPage()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec l'objet <a href="/fr/docs/User%3Amaybe/webidl_mdn/Window">Window</a> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.getBackgroundPage")}}</p>
+{{Compat("webextensions.api.runtime.getBackgroundPage")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supposons un <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">script d'arrière-plan</a> définisse une fonction <code>foo()</code>:</p>
+Supposons un [script d'arrière-plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts) définisse une fonction `foo()`:
-<pre class="brush: js">// background.js
+```js
+// background.js
function foo() {
console.log("I'm defined in background.js");
-}</pre>
+}
+```
-<p>Un script exécuté dans un <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2">popup</a> peut appeler cette fonction directement comme ceci :</p>
+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 :
-<pre class="brush: js">// 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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
-</div>
+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.
+>
+> <div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+> //
+> // Redistribution and use in source and binary forms, with or without
+> // modification, are permitted provided that the following conditions are
+> // met:
+> //
+> // * Redistributions of source code must retain the above copyright
+> // notice, this list of conditions and the following disclaimer.
+> // * Redistributions in binary form must reproduce the above
+> // copyright notice, this list of conditions and the following disclaimer
+> // in the documentation and/or other materials provided with the
+> // distribution.
+> // * Neither the name of Google Inc. nor the names of its
+> // contributors may be used to endorse or promote products derived from
+> // this software without specific prior written permission.
+> //
+> // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+> // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+> // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+> // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+> // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+> // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+> // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+> // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+> // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+> // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+> // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+> </pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Renvoie les informations sur le navigateur dans lequel l'extension est installée.</p>
+Renvoie les informations sur le navigateur dans lequel l'extension est installée.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une {{JSxRef("Promise")}}.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une {{JSxRef("Promise")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingInfo = browser.runtime.getBrowserInfo()
-</pre>
+```js
+var gettingInfo = browser.runtime.getBrowserInfo()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="valeur_retournée">valeur retournée</h3>
+### valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet qui a les propriétés suivantes :</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet qui a les propriétés suivantes :
-<ul>
- <li><strong><code>name</code></strong>: Valeur de chaîne représentant le nom du navigateur, par exemple "Firefox".</li>
- <li><strong><code>vendor</code></strong>: Valeur de chaîne représentant le fournisseur du navigateur, par exemple "Mozilla".</li>
- <li><strong><code>version</code></strong>: Chaîne représentant la version du navigateur, par exemple "51.0" or "51.0a2".</li>
- <li><strong><code>buildID</code></strong>: Chaine représentant la version spécifique du navigateur, par exemple "20161018004015".</li>
-</ul>
+- **`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".
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
+{{Compat("webextensions.api.runtime.getBrowserInfo")}}
+## Exemples
-<p>{{Compat("webextensions.api.runtime.getBrowserInfo")}}</p>
+Obtenir et enregistrer le nom du navigateur :
-<h2 id="Exemples">Exemples</h2>
-
-<p>Obtenir et enregistrer le nom du navigateur :</p>
-
-<pre class="brush: js">function gotBrowserInfo(info) {
+```js
+function gotBrowserInfo(info) {
console.log(info.name);
}
var gettingInfo = browser.runtime.getBrowserInfo();
-gettingInfo.then(gotBrowserInfo);</pre>
-
-<p>{{WebExtExamples}}</p>
+gettingInfo.then(gotBrowserInfo);
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}Obtenez le fichier [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json) complet, sérialisé à un objet JSON.
-<div>Obtenez le fichier <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a> complet, sérialisé à un objet JSON.</div>
+## Syntaxe
-<div></div>
+```js
+browser.runtime.getManifest()
+```
-<h2 id="Syntaxe">Syntaxe</h2>
+### Paramètres
-<pre class="brush: js">browser.runtime.getManifest()
-</pre>
+None.
-<h3 id="Paramètres">Paramètres</h3>
+### Valeur retournée
-<p>None.</p>
+Un `object` JSON représentant le manifest.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+## Compatibilité du navigateur
-<p>Un <code>object</code> JSON représentant le manifest.</p>
+{{Compat("webextensions.api.runtime.getManifest")}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Exemples
-<p>{{Compat("webextensions.api.runtime.getManifest")}}</p>
+Récupère le manifest et consignez la propriété "name" :
-<h2 id="Exemples">Exemples</h2>
+```js
+var manifest = browser.runtime.getManifest();
+console.log(manifest.name);
+```
-<p>Récupère le manifest et consignez la propriété "name" :</p>
+{{WebExtExamples}}
-<pre class="brush: js">var manifest = browser.runtime.getManifest();
-console.log(manifest.name);</pre>
+> **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.
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -80,5 +77,4 @@ console.log(manifest.name);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Renvoie un objet <code>DirectoryEntry</code> représentant le répertoire du package.</p>
+Renvoie un objet `DirectoryEntry` représentant le répertoire du package.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingEntry = browser.runtime.getPackageDirectoryEntry()
-</pre>
+```js
+var gettingEntry = browser.runtime.getPackageDirectoryEntry()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet <code>DirectoryEntry</code> représentant le répertoire du package.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet `DirectoryEntry` représentant le répertoire du package.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.getPackageDirectoryEntry")}}</p>
+{{Compat("webextensions.api.runtime.getPackageDirectoryEntry")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function gotDirectoryEntry(directoryEntry) {
+```js
+function gotDirectoryEntry(directoryEntry) {
console.log(directoryEntry);
}
var gettingEntry = browser.runtime.getPackageDirectoryEntry();
-gettingEntry.then(gotDirectoryEntry);</pre>
+gettingEntry.then(gotDirectoryEntry);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -82,5 +83,4 @@ gettingEntry.then(gotDirectoryEntry);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Renvoies des informations sur la plate-forme actuelle. Ceci ne peut être appelé que dans le contexte du script d'arrière-plan.</p>
+Renvoies des informations sur la plate-forme actuelle. Ceci ne peut être appelé que dans le contexte du script d'arrière-plan.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getting = browser.runtime.getPlatformInfo()
-</pre>
+```js
+var getting = browser.runtime.getPlatformInfo()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_rentournée">Valeur rentournée</h3>
+### Valeur rentournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec une valeur {{WebExtAPIRef('runtime.PlatformInfo')}} représentant la plate-forme actuelle.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.getPlatformInfo")}}</p>
+{{Compat("webextensions.api.runtime.getPlatformInfo")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtenez et consignez le système d'exploitation de la plateforme :</p>
+Obtenez et consignez le système d'exploitation de la plateforme :
-<pre class="brush: js">function gotPlatformInfo(info) {
+```js
+function gotPlatformInfo(info) {
console.log(info.os);
}
var gettingInfo = browser.runtime.getPlatformInfo();
-gettingInfo.then(gotPlatformInfo);</pre>
+gettingInfo.then(gotPlatformInfo);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -84,5 +85,4 @@ gettingInfo.then(gotPlatformInfo);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{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.
-<div>Etant donné un chemin relatif de <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a> à une ressource empaquetée avec l'extension, renvoyez une URL complète.</div>
+## Syntaxe
-<div></div>
-
-<div>Cette fonction ne vérifie pas que la ressource existe réellement à cette URL.</div>
-
-<div></div>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">browser.runtime.getURL(
+```js
+browser.runtime.getURL(
path // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>path</code></dt>
- <dd><code>string</code>. Un chemin relatif de <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a> à une ressource empaquetée avec l'extension.</dd>
-</dl>
+- `path`
+ - : `string`. Un chemin relatif de [manifest.json](/fr/Add-ons/WebExtensions/manifest.json) à une ressource empaquetée avec l'extension.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p><code>string</code>. L'URL complète de la ressource.</p>
+`string`. L'URL complète de la ressource.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.getURL")}}</p>
+{{Compat("webextensions.api.runtime.getURL")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Etant donné un fichier empaqueté avec l'extension "beasts/frog.html", obtenez l'URL complète comme ceci :</p>
+Etant donné un fichier empaqueté avec l'extension "beasts/frog.html", obtenez l'URL complète comme ceci :
-<pre class="brush: js">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</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+// moz-extension://2c127fa4-62c7-7e4f-90e5-472b45eecfdc/beasts/frog.html
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -91,5 +82,4 @@ console.log(fullURL);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'ID de l'extension</p>
+L'ID de l'extension
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var myAddonId = browser.runtime.id;</pre>
+```js
+var myAddonId = browser.runtime.id;
+```
-<h3 id="Value">Value</h3>
+### Value
-<p>Une <code>chaîne</code> représentant l'ID du module complémentaire. Si l'extension a spécifié un ID dans la clé manifest.json de ses <a href="/fr/Add-ons/WebExtensions/manifest.json/applications">applications</a>, <code>runtime.id</code> contiendra la valeur. SInon <code>runtime.id</code> contiendra l'ID généré pour l'extension.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.id")}}</p>
+{{Compat("webextensions.api.runtime.id")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -64,5 +64,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/id
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
-
-<p>Ce module fournit des informations sur votre extension et l'environnement dans lequel elle fonctionne.</p>
-
-<p>Il fournit également des API de messagerie vous permettant de:</p>
-
-<ul>
- <li>Communiquer entre les différentes parties de votre extension.</li>
- <li>Communiquer avec d'autres extensions.</li>
- <li>Communiquer avec les applications natives.</li>
-</ul>
-
-<h2 id="Types">Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("runtime.Port")}}</dt>
- <dd>Représente une extrémité d'une connexion entre deux contextes spécifiques, qui peut être utilisée pour échanger des messages.</dd>
- <dt>{{WebExtAPIRef("runtime.MessageSender")}}</dt>
- <dd>
- <p>Contient des informations sur l'expéditeur d'un message ou d'une demande de connexion.</p>
- </dd>
- <dt>{{WebExtAPIRef("runtime.PlatformOs")}}</dt>
- <dd>Identifie le système d'exploitation du navigateur.</dd>
- <dt>{{WebExtAPIRef("runtime.PlatformArch")}}</dt>
- <dd>Identifie l'architecture du processeur du navigateur.</dd>
- <dt>{{WebExtAPIRef("runtime.PlatformInfo")}}</dt>
- <dd>Contient des informations sur la plate-forme utilisée par le navigateur.</dd>
- <dt>{{WebExtAPIRef("runtime.RequestUpdateCheckStatus")}}</dt>
- <dd>Résultat d'un appel à {{WebExtAPIRef("runtime.requestUpdateCheck()")}}.</dd>
- <dt>{{WebExtAPIRef("runtime.OnInstalledReason")}}</dt>
- <dd>La raison pour laquelle l'événement {{WebExtAPIRef("runtime.onInstalled")}} est en cours d'envoi.</dd>
- <dt>{{WebExtAPIRef("runtime.OnRestartRequiredReason")}}</dt>
- <dd>La raison pour laquelle l'événement {{WebExtAPIRef("runtime.onRestartRequired")}} est en cours d'expédition.</dd>
-</dl>
-
-<h2 id="Propriétés">Propriétés</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("runtime.lastError")}}</dt>
- <dd>Cette valeur est définie lorsqu'une fonction asynchrone a une condition d'erreur qu'elle doit signaler à son appelant</dd>
- <dt>{{WebExtAPIRef("runtime.id")}}</dt>
- <dd>L'ID de l'extension</dd>
-</dl>
-
-<h2 id="Fonctions">Fonctions</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("runtime.getBackgroundPage()")}}</dt>
- <dd>Récupère l'objet <a href="/fr/docs/Web/API/Window">Window</a> pour la page d'arrière-plan qui s'exécute dans l'extension en cours.</dd>
- <dt>{{WebExtAPIRef("runtime.openOptionsPage()")}}</dt>
- <dd>
- <p>Ouvre une <a href="/fr/Add-ons/WebExtensions/user_interface/Options_pages">page d'options</a> de votre extension.</p>
- </dd>
- <dt>{{WebExtAPIRef("runtime.getManifest()")}}</dt>
- <dd>Obtient le fichier <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a> complet,  sérialisé en tant qu'objet.</dd>
- <dt>{{WebExtAPIRef("runtime.getURL()")}}</dt>
- <dd>Etant donné un chemin relatif de <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a> à une ressource empaquetée avec l'extension, renvoie une URL entièrement qualifiée.</dd>
- <dt>{{WebExtAPIRef("runtime.setUninstallURL()")}}</dt>
- <dd>Définit une URL à visiter lorsque l'extension est désinstallée.</dd>
- <dt>{{WebExtAPIRef("runtime.reload()")}}</dt>
- <dd>Recharge l'extension.</dd>
- <dt>{{WebExtAPIRef("runtime.requestUpdateCheck()")}}</dt>
- <dd>Vérifie les mises à jour de cette extension.</dd>
- <dt>{{WebExtAPIRef("runtime.connect()")}}</dt>
- <dd>Établit une connexion d'un script de contenu au processus d'extension principal ou d'une extension à une extension différente.</dd>
- <dt>{{WebExtAPIRef("runtime.connectNative()")}}</dt>
- <dd>
- <div>Connecte l'extension à une application native sur l'ordinateur de l'utilisateur.</div>
- </dd>
- <dt>{{WebExtAPIRef("runtime.sendMessage()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("runtime.sendNativeMessage()")}}</dt>
- <dd>Envoie un seul message d'une extension à une application native.</dd>
- <dt>{{WebExtAPIRef("runtime.getPlatformInfo()")}}</dt>
- <dd>Renvoie des informations sur la plate-forme actuelle.</dd>
- <dt>{{WebExtAPIRef("runtime.getBrowserInfo()")}}</dt>
- <dd>Renvoie des informations sur le navigateur dans lequel cette extension est installée.</dd>
- <dt>{{WebExtAPIRef("runtime.getPackageDirectoryEntry()")}}</dt>
- <dd>Renvoie un DirectoryEntry pour le répertoire du package.</dd>
-</dl>
-
-<h2 id="Evénements">Evénements</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("runtime.onStartup")}}</dt>
- <dd>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é.</dd>
- <dt>{{WebExtAPIRef("runtime.onInstalled")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("runtime.onSuspend")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("runtime.onSuspendCanceled")}}</dt>
- <dd>Envoyé après {{WebExtAPIRef("runtime.onSuspend")}} pour indiquer que l'extension ne sera pas déchargée après tout.</dd>
- <dt>{{WebExtAPIRef("runtime.onUpdateAvailable")}}</dt>
- <dd>Lancé lorsqu'une mise à jour est disponible, mais n'est pas installé immédiatement car l'extension est en cours d'exécution.</dd>
- <dt>{{WebExtAPIRef("runtime.onBrowserUpdateAvailable")}} {{deprecated_inline}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("runtime.onConnect")}}</dt>
- <dd>Lancé lorsqu'une connexion est établie avec un processus d'extension ou un script de contenu.</dd>
- <dt>{{WebExtAPIRef("runtime.onConnectExternal")}}</dt>
- <dd>Lancé lorsqu'une connexion est établie avec une autre extension.</dd>
- <dt>{{WebExtAPIRef("runtime.onMessage")}}</dt>
- <dd>Lancé lorsqu'un message est envoyé par un processus d'extension ou un script de contenu.</dd>
- <dt>{{WebExtAPIRef("runtime.onMessageExternal")}}</dt>
- <dd>Lancé lorsqu'un message est envoyé depuis un autre poste. Ne peut pas être utilisé dans un script de contenu.</dd>
- <dt>{{WebExtAPIRef("runtime.onRestartRequired")}}</dt>
- <dd>Lancé lorsque le périphérique doit être redémarré.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<div>
-
-
-<p>{{Compat("webextensions.api.runtime")}}</p>
-
-<div>{{WebExtExamples("h2")}}</div>
-
-<div></div>
-</div>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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](/fr/docs/Web/API/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](/fr/Add-ons/WebExtensions/user_interface/Options_pages) de votre extension.
+- {{WebExtAPIRef("runtime.getManifest()")}}
+ - : Obtient le fichier [manifest.json](/fr/Add-ons/WebExtensions/manifest.json) complet,  sérialisé en tant qu'objet.
+- {{WebExtAPIRef("runtime.getURL()")}}
+ - : Etant donné un chemin relatif de [manifest.json](/fr/Add-ons/WebExtensions/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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -167,5 +143,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{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 :
-<div>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.</div>
+```js
+var gettingCookies = browser.cookies.getAll();
+gettingCookies.then(onGot, onError);
+```
-<div></div>
+La propriété `runtime.lastError` est définie lorsqu'une fonction asynchrone a une condition  d'erreur qu'elle doit signaler à son appelant.
-<div>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 :</div>
+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.
-<div></div>
+## Syntaxe
-<pre class="brush: js">var gettingCookies = browser.cookies.getAll();
-gettingCookies.then(onGot, onError);</pre>
+```js
+var myError = browser.runtime.lastError; // null or Error object
+```
-<p>La propriété <code>runtime.lastError</code> est définie lorsqu'une fonction asynchrone a une condition  d'erreur qu'elle doit signaler à son appelant.</p>
+### Valeur
-<div>Si vous applez une fonction asynchrone qui veut définir <code>lastError</code>, vous devez vérifier l'erreur lorsque vous gérez le résultat de la fonction. Si  <code>lastError</code> a été défini et que vous ne cochez pas dans la fonction de rappel, une erreur sera générée.</div>
+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`.
-<div></div>
+## Examples
-<h2 id="Syntaxe">Syntaxe</h2>
+Définir un cookie, utiliser pour enregistrer le nouveau cookie ou signaler une erreur :
-<pre class="brush: js">var myError = browser.runtime.lastError; // null or Error object</pre>
-
-<h3 id="Valeur">Valeur</h3>
-
-<p>Un objet <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Error">Error</a> représentant une erreur. La propriété <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Error/message"><code>message</code></a> est un <code>string</code> avec une description lisible par l'utilisateur de l'erreur. Si  <code>lastError</code> n'a pas été défini, la valeur est <code>null</code>.</p>
-
-<h2 id="Examples">Examples</h2>
-
-<p>Définir un cookie, utiliser pour enregistrer le nouveau cookie ou signaler une erreur :</p>
-
-<pre class="brush: js">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);</pre>
browser.cookies.set(
{url: "https://developer.mozilla.org/"},
logCookie
-);</pre>
+);
+```
-<p>La même chose, mais en utilisant une promesse de gérer le résultat de <code>setCookie()</code>:</p>
+La même chose, mais en utilisant une promesse de gérer le résultat de `setCookie()`:
-<pre class="brush: js">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);</pre>
-
-<div class="note">
-<p><strong>Note :</strong> <code>runtime.lastError</code> est un alias pour  {{WebExtAPIRef("extension.lastError")}}: Ils sont ensemble, et la vérification de l'un fonctionnera.</p>
-</div>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+setCookie.then(logCookie, logError);
+```
-<p>{{Compat("webextensions.api.runtime.lastError")}}</p>
+> **Note :** `runtime.lastError` est un alias pour  {{WebExtAPIRef("extension.lastError")}}: Ils sont ensemble, et la vérification de l'un fonctionnera.
-<p>{{WebExtExamples}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.runtime.lastError")}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -118,5 +112,4 @@ setCookie.then(logCookie, logError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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()")}}.</p>
+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()")}}.
-<p>C'est aussi une propriété de {{WebExtAPIRef("runtime.Port")}}, mais seulement dans l'instance de <code>Port</code> passée dans les écouteurs {{WebExtAPIRef("runtime.onConnect()")}} ou {{WebExtAPIRef("runtime.onConnectExternal()")}}.</p>
+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()")}}.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>tab</code>{{optional_inline}}</dt>
- <dd>{{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).</dd>
- <dt><code>frameId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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'<code>onglet</code> est défini.</dd>
- <dt><code>id</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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 <a href="/fr/Add-ons/WebExtensions/manifest.json/applications">applications</a> dans manifest.json, then <code>id</code>  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'<a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">UUID</a> qui apparaît dans l'URL de l'extension).</dd>
- <dt><code>url</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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  <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">page d'arrière-plan</a>, une <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Options_pages">page d'options</a>, ou une <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2">action de navigateur</a> ou une <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Page_actions">action contextuelle</a>), l'URL sera au format <code>"moz-extension://&lt;extension-internal-id&gt;/path/to/page.html"</code>. 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 <code>"moz-extension://&lt;extension-internal-id&gt;/_generated_background_page.html"</code>. 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'<code>url</code> sera l'URL de la page web. Si le script s'exécute dans un iframe, <code>url</code> sera l'URL de l'iframe.</dd>
- <dt><code>tlsChannelId</code>{{optional_inline}}</dt>
- <dd><code>string</code>. L'ID de canal TLS de la page ou du cadre qui a ouvert la connexion, si demandé par l'extension, et si disponible.</dd>
-</dl>
+- `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://<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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.MessageSender")}}</p>
+{{Compat("webextensions.api.runtime.MessageSender")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -77,5 +73,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/MessageSender
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar}}{{Deprecated_header}}</p>
+{{AddonSidebar}}{{Deprecated_header}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.runtime.onBrowserUpdateAvailable.addListener(listener)
+```js
+browser.runtime.onBrowserUpdateAvailable.addListener(listener)
browser.runtime.onBrowserUpdateAvailable.removeListener(listener)
browser.runtime.onBrowserUpdateAvailable.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrestez d'écouter un événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>écouteur</code> est enregistré pour cet événement. Retourne <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>function</code></dt>
- <dd>
- <p>Une fonction de rappel qui sera appelée lorsque cet événement se produira.</p>
- </dd>
-</dl>
+- `function`
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.onBrowserUpdateAvailable")}}</p>
+{{Compat("webextensions.api.runtime.onBrowserUpdateAvailable")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ecoutez cet événement :</p>
+Ecoutez cet événement :
-<pre class="brush: js">function handleBrowserUpdateAvailable() {
+```js
+function handleBrowserUpdateAvailable() {
// handle event
}
-browser.runtime.onBrowserUpdateAvailable.addListener(handleBrowserUpdateAvailable);</pre>
+browser.runtime.onBrowserUpdateAvailable.addListener(handleBrowserUpdateAvailable);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -97,5 +92,4 @@ browser.runtime.onBrowserUpdateAvailable.addListener(handleBrowserUpdateAvailabl
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé quand une connexion est établie avec un processus d'extension ou un script de contenu.</p>
+Lancé quand une connexion est établie avec un processus d'extension ou un script de contenu.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.runtime.onConnect.addListener(listener)
+```js
+browser.runtime.onConnect.addListener(listener)
browser.runtime.onConnect.removeListener(listener)
browser.runtime.onConnect.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de l'<code>écouteur</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>écouteur</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>fonction</code></dt>
- <dd>
- <p>Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants:</p>
+- `fonction`
- <dl>
- <dt><code>port</code></dt>
- <dd>Un objet {{WebExtAPIRef('runtime.Port')}} connectant le script courant à l'autre contexte auquel il se connecte.</dd>
- </dl>
- </dd>
-</dl>
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants:
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `port`
+ - : Un objet {{WebExtAPIRef('runtime.Port')}} connectant le script courant à l'autre contexte auquel il se connecte.
-<p>{{Compat("webextensions.api.runtime.onConnect")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.runtime.onConnect")}}
-<p>Ce script de contenu :</p>
+## Exemples
-<ul>
- <li>Se connecte au script d'arrière-plan et stocke le <code>Port</code> dans une variable <code>myPort</code></li>
- <li>Ecoute les messages sur <code>myPort</code>, et les enregistre</li>
- <li>Envoie des messages au script d'arrière-plan, en utilisant <code>myPort</code>, lorsque l'utilisateur clique sur le document</li>
-</ul>
+Ce script de contenu :
-<pre class="brush: js">// 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!"});
-});</pre>
+});
+```
+
+Le script d'arrière-plan correspondant :
+
+- Ecoute les tentatives de connexion de script de contenu
+- Quand il reçoit une tentative de connexion :
-<p>Le script d'arrière-plan correspondant :</p>
+ - 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
-<ul>
- <li>Ecoute les tentatives de connexion de script de contenu</li>
- <li>Quand il reçoit une tentative de connexion :
- <ul>
- <li>Stocke le port dans une variable nommée <code>portFromCS</code></li>
- <li>Envoie un message au script de contenu en utilisant le port</li>
- <li>Commence à écouter les messages reçus sur le port et les enregistre</li>
- </ul>
- </li>
- <li>Envoie des messages au script de contenu, en utilisant <code>portFromCS</code>, quand l'utilisateur clique sur l'action du navigateur de l'extension</li>
-</ul>
+- Envoie des messages au script de contenu, en utilisant `portFromCS`, quand l'utilisateur clique sur l'action du navigateur de l'extension
-<pre class="brush: js">// 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!"});
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -149,5 +140,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'une extension reçoit une demande de connexion d'une extension différente.</p>
+Lancé lorsqu'une extension reçoit une demande de connexion d'une extension différente.
-<p>Pour envoyer un message qui sera reçu par le programme d'écoute <code>onConnectExternal</code>, utilisez {{WebExtAPIRef("runtime.connect()")}}, en transmettant l'ID du destinataire dans le paramètre <code>extensionId</code>.</p>
+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`.
-<p>L'écouteur reçoit un objet {{WebExtAPIRef('runtime.Port')}} qu'il peut ensuite utiliser pour envoyer et recevoir des messages. L'objet <code>Port</code> contient également une propriété<code>sender</code>, qui est un objet {{WebExtAPIRef("runtime.MessageSender")}},  et que le destinataire peut utiliser pour vérifier l'ID de l'expéditeur.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.runtime.onConnectExternal.addListener(listener)
+```js
+browser.runtime.onConnectExternal.addListener(listener)
browser.runtime.onConnectExternal.removeListener(listener)
browser.runtime.onConnectExternal.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un  <code>listener</code> est enregistré pour cet événement. Retourne <code>true</code> s'il écoute,  <code>false</code> sinon.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>fonction</code></dt>
- <dd>
- <p>Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :</p>
+- `fonction`
- <dl>
- <dt><code>port</code></dt>
- <dd>Un objet {{WebExtAPIRef('runtime.Port')}} connectant le script en cours à l'autre extension à laquelle il se connecte.</dd>
- </dl>
- </dd>
-</dl>
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `port`
+ - : Un objet {{WebExtAPIRef('runtime.Port')}} connectant le script en cours à l'autre extension à laquelle il se connecte.
-<p>{{Compat("webextensions.api.runtime.onConnectExternal")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.runtime.onConnectExternal")}}
-<p>Dans cet exemple, l'extension Hansel se connecte à l'extension Gretel :</p>
+## Exemples
-<pre class="brush: js">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) =&gt; {
+myPort.onMessage.addListener((message) => {
console.log(`From Gretel: ${message.content}`);
});
-browser.browserAction.onClicked.addListener(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
myPort.postMessage({content: "Hello from Hansel"});
-});</pre>
+});
+```
-<p>Gretel écoute la connexion  et vérifie que l'expéditeur est vraiment Hansel:</p>
+Gretel écoute la connexion  et vérifie que l'expéditeur est vraiment Hansel:
-<pre class="brush: js">var portFromHansel;
+```js
+var portFromHansel;
-browser.runtime.onConnectExternal.addListener((port) =&gt; {
+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) =&gt; {
+ portFromHansel.onMessage.addListener((message) => {
console.log(`From Hansel: ${message.content}`);
});
}
});
-browser.browserAction.onClicked.addListener(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
portFromHansel.postMessage({content: "Message from Gretel"});
});
+```
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -134,5 +128,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Notez que <code>runtime.onInstalled</code> n'est pas la même chose  {{WebExtAPIRef("management.onInstalled")}}. L'événement  <code>runtime.onInstalled</code> est déclenché uniquement pour votre extension. L'événement <code>browser.management.onInstalled</code> est déclenché pour toutes les extensions.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.runtime.onInstalled.addListener(listener)
+```js
+browser.runtime.onInstalled.addListener(listener)
browser.runtime.onInstalled.removeListener(listener)
browser.runtime.onInstalled.hasListener(listener)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajouterun écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écoutercet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>écouteur</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, <code>false</code> sinon.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>function</code></dt>
- <dd>
- <p>La fonction de rappel appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><p>Un objet avec les propriétés suivantes :</p>
- <dl>
- <dt><code>id</code>{{optional_inline}}</dt>
- <dd><code>string</code>. L'ID de l'extension  de module partagé importé mise à jour. Ceci n'est présent que si la valeur de <code>raison</code> est  <code>shared_module_update</code>.</dd>
- <dt><code>previousVersion</code>{{optional_inline}}</dt>
- <dd><code>string</code>. La version précédente de l'extension vient d'être mise à jour. Ceci n'est pas présent si la valeur de <code>raison</code> est <code>mise à jour</code>.</dd>
- <dt><code>reason</code></dt>
- <dd>Une valeur {{WebExtAPIRef('runtime.OnInstalledReason')}}, indiquant la raison pour laquelle cet événement est distribué.</dd>
- <dt><code>temporary</code></dt>
- <dd><code>boolean</code>. Vrai si le module complémentaire a été installé temporairement. Par exemple, en utilisant la page "about:debugging" dans Firefox ou en utilisant  <a href="/fr/Add-ons/WebExtensions/Getting_started_with_web-ext">web-ext run</a>. Sinon faux.</dd>
- </dl>
- </dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.runtime.onInstalled", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Lorsque l'extensin est installé, connectez-vous à la raison de l'installon et ouvrez <a href="https://www.reddit.com/r/CatGifs/">https://www.reddit.com/r/CatGifs/</a>:</p>
-
-<pre class="brush: js">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 <https://www.reddit.com/r/CatGifs/>:
+
+```js
+function handleInstalled(details) {
console.log(details.reason);
browser.tabs.create({
url: "http://chilloutandwatchsomecatgifs.com/"
});
}
-browser.runtime.onInstalled.addListener(handleInstalled);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.runtime.onInstalled.addListener(handleInstalled);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -118,5 +111,4 @@ browser.runtime.onInstalled.addListener(handleInstalled);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Les valeurs pour laquelle l'événement {{WebExtAPIRef("runtime.onInstalled")}} est en cours d'envoi.</p>
+Les valeurs pour laquelle l'événement {{WebExtAPIRef("runtime.onInstalled")}} est en cours d'envoi.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt><code>"install"</code></dt>
- <dd>L'extension a été installée.</dd>
- <dt><code>"update"</code></dt>
- <dd>L'extension a été mise à jour vers une nouvelle version.</dd>
- <dt><code>"browser_update"</code></dt>
- <dd>Le navigateur a été mise à jour vers une nouvelle version.</dd>
- <dt><code>"shared_module_update"</code></dt>
- <dd>Une autre extension, qui contient un module utilisé par cette extension, a été mise à jour.</dd>
-</dl>
+- `"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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.OnInstalledReason")}}</p>
+{{Compat("webextensions.api.runtime.OnInstalledReason")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -73,5 +69,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/OnInstalledReason
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Utilisez cet événement pour écouter les messages d’une autre partie de votre extension.</p>
+Utilisez cet événement pour écouter les messages d’une autre partie de votre extension.
-<p>Voici quelques exemples de cas d'utilisation :</p>
+Voici quelques exemples de cas d'utilisation :
-<ul>
- <li><strong>dans un <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#content_scripts">script de contenu</a></strong>, pour écouter les messages d’un <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#background_scripts">script d’arrière-plan</a> ;</li>
- <li><strong>dans un script d’arrière-plan</strong>, pour écouter les messages d’un script de contenu ;</li>
- <li><strong>dans une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#options_pages">page d’options</a> ou un script de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/User_interface_components#popups">popup</a></strong>, pour écouter les messages d’un script d’arrière-plan ;</li>
- <li><strong>dans un script d’arrière-plan</strong>, pour écouter les messages d’une page d’options ou d’un script de popup.</li>
-</ul>
+- **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.
-<p>Pour envoyer un message reçu par l'écouteur <code>onMessage</code>, utilisez {{WebExtAPIRef("runtime.sendMessage()")}} ou (pour envoyer un message à un script de contenu) {{WebExtAPIRef("tabs.sendMessage()")}}.</p>
+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()")}}.
-<div class="note">
-<p><strong>Note :</strong> Évitez de créer plusieurs écouteurs <code>onMessage</code> pour le même type de message, car l'ordre de déclenchement des différents écouteurs ne sera pas garanti.</p>
+> **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).
-<p>Lorsque vous voulez garantir la livraison d'un message à une terminaison spécifique, utilisez l'<a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#les_messages_en_flux_continu">approche basée sur la connexion pour échanger des messages</a>.</p>
-</div>
+En plus du message, l’écouteur reçoit en paramètres :
-<p>En plus du message, l’écouteur reçoit en paramètres :</p>
+- 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.
-<ul>
- <li>Un objet <code>sender</code> donnant les détails sur l’expéditeur du message ;</li>
- <li>Une fonction <code>sendResponse()</code> qui peut être utilisée pour renvoyer une réponse à l'expéditeur.</li>
-</ul>
+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).
-<p>Vous pouvez envoyer une réponse synchrone au message en appelant la fonction <code>sendResponse()</code> dans votre écouteur. <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage#sending_a_synchronous_response">Voir un exemple</a>.</p>
+Pour envoyer une réponse asynchrone, il existe deux options :
-<p>Pour envoyer une réponse asynchrone, il existe deux options :</p>
+- 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).
-<ul>
- <li>Renvoyer <code>true</code> à partir de l’écouteur d’événement. Cela permet de conserver la fonction <code>sendResponse()</code> après le retour de l’écouteur pour éventuellement l'appeler plus tard. <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage#sending_an_asynchronous_response_using_sendresponse">Voir un exemple</a>.</li>
- <li>Renvoyer une <code>Promise</code> depuis l’écouteur d’événement, et la résoudre lorsque vous avez la réponse (ou la rejeter en cas d’erreur). <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage#sending_an_asynchronous_response_using_a_promise">Voir un exemple</a>.</li>
-</ul>
+> **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.
-<div class="warning">
-<p><strong>Attention :</strong> Retourner une promesse (<a href="fr/docs/Web/JavaScript/Reference/Global_Objects/Promise"><code>Promise</code></a>) est désormais la méthode à privilégier car <code>sendResponse()</code> <a href="https://github.com/mozilla/webextension-polyfill/issues/16#issuecomment-296693219">sera retirée de la spécification W3C</a>.</p>
+> **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).
-<p>La bibliothèque populaire <a href="https://github.com/mozilla/webextension-polyfill">webextension-polyfill</a> a déjà supprimé cette fonction de son implémentation.</p>
-</div>
+## Syntaxe
-<div class="note">
-<p><strong>Note :</strong> Vous pouvez également utiliser une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#connection-based_messaging">approche basée sur la connexion pour échanger des messages</a>.</p>
-</div>
+```js
+browser.runtime.onMessage.addListener(listener)
+browser.runtime.onMessage.removeListener(listener)
+browser.runtime.onMessage.hasListener(listener)
+```
-<h2 id="Syntaxe">Syntaxe</h2>
+Les événements ont trois fonctions :
-<pre class="brush:js">browser.runtime.onMessage.addListener(<var>listener</var>)
-browser.runtime.onMessage.removeListener(<var>listener</var>)
-browser.runtime.onMessage.hasListener(<var>listener</var>)
-</pre>
+- `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.
-<p>Les événements ont trois fonctions :</p>
+## Syntaxe de addListener
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Cesse d’écouter cet événement. L’argument <code>listener</code> est l’écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>listener</code> est enregistré pour cet événement. Retourne <code>true</code> s’il écoute, <code>false</code> sinon.</dd>
-</dl>
+### Paramètres
-<h2 id="Syntaxe_de_addListener">Syntaxe de addListener</h2>
+- _`listener`_
-<h3 id="Paramètres">Paramètres</h3>
+ - : Une fonction d’écoute qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :
-<dl>
- <dt><em><code>listener</code></em></dt>
- <dd>
- <p>Une fonction d’écoute qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :</p>
+ - _`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)).
- <dl>
- <dt><em><code>message</code></em></dt>
- <dd>Un objet qui est le message lui-même. C’est un objet sérialisable (voir <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities#data_cloning_algorithm">l'algorithme de clonage de données</a>).</dd>
- </dl>
+ <!---->
- <dl>
- <dt><em><code>sender</code></em></dt>
- <dd>Un objet {{WebExtAPIRef("runtime.MessageSender")}} représentant l’expéditeur du message.</dd>
- </dl>
+ - _`sender`_
+ - : Un objet {{WebExtAPIRef("runtime.MessageSender")}} représentant l’expéditeur du message.
- <dl>
- <dt><code>s<em>endResponse</em></code></dt>
- <dd>
- <p>Une fonction à appeler, au plus une fois, pour envoyer une réponse au <code><var>message</var></code>. La fonction prend un seul argument, qui peut être n'importe quel objet sérialisable (voir <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities#data_cloning_algorithm">l'algorithme de clonage de données</a>). Cet argument est renvoyé à l'expéditeur du message.</p>
+ <!---->
- <p>Si vous avez plus d'un écouteur <code>onMessage()</code> dans le même document, alors un seul peut envoyer une réponse.</p>
+ - `sendResponse`
- <p>Pour envoyer une réponse de manière synchrone, appelez <code>sendResponse()</code> avant le retour de la fonction d'écoute.</p>
+ - : 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.
- <p>Pour envoyer une réponse de manière asynchrone :</p>
+ Si vous avez plus d'un écouteur `onMessage()` dans le même document, alors un seul peut envoyer une réponse.
- <ul>
- <li>soit on gardera une référence à l'argument <code>sendResponse()</code> et on retournera <code>true</code> depuis la fonction listenener. <code>sendResponse()</code> pourra être appelée après le retour de la fonction d'écoute.</li>
- <li>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.</li>
- </ul>
- </dd>
- </dl>
+ Pour envoyer une réponse de manière synchrone, appelez `sendResponse()` avant le retour de la fonction d'écoute.
- <p>La fonction <code><var>listener</var></code> peut renvoyer un booléen ou une {{jsxref("Promise")}}.</p>
+ Pour envoyer une réponse de manière asynchrone :
- <div class="note">
- <p><strong>Note :</strong> N'appelez pas <code>addListener()</code> en utilisant une fonction <code>async</code> :</p>
+ - 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.
- <pre class="brush: js example-bad">// ne faites pas ça
-browser.runtime.onMessage.addListener(
- async (data, sender) =&gt; {
- if (data.type === 'handle_me') { return 'done'; }
- }
-);
-</pre>
-
- <p>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.</p>
+ La fonction `listener` peut renvoyer un booléen ou une {{jsxref("Promise")}}.
- <p>Si vous souhaitez adopter une approche asynchrone, utilisez plutôt une <code>Promise</code>, comme ceci :</p>
-
- <pre class="brush: js example-good">browser.runtime.onMessage.addListener(
- (data, sender) =&gt; {
- if (data.type === 'handle_me') {
- return Promise.resolve('done');
- }
- }
-);
-</pre>
- </div>
- </dd>
-</dl>
+ > **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');
+ > }
+ > }
+ > );
+ > ```
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.api.runtime.onMessage")}}</p>
+{{Compat("webextensions.api.runtime.onMessage")}}
-<h2 id="Examples">Exemples</h2>
+## Exemples
-<h3 id="Simple_example">Exemple simple</h3>
+### Exemple simple
-<p>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 :</p>
+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 :
-<pre class="brush: js">// 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});
-}</pre>
+}
+```
-<p>Le script d’arrière-plan écoute ces messages et affiche une notification à l’aide de l’API <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/notifications">notifications</a></code>.</p>
+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).
-<pre class="brush: js">// 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
});
-}</pre>
+}
+```
-<h3 id="Sending_a_synchronous_response">Envoyer une réponse synchrone</h3>
+### Envoyer une réponse synchrone
-<p>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 :</p>
+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 :
-<pre class="brush: js">// 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);</pre>
+window.addEventListener("click", sendMessage);
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">// 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);</pre>
+browser.runtime.onMessage.addListener(handleMessage);
+```
-<p>Et voici une autre version, qui utilise {{jsxref("Promise.resolve()")}} :</p>
+Et voici une autre version, qui utilise {{jsxref("Promise.resolve()")}} :
-<pre class="brush: js">// 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);</pre>
+browser.runtime.onMessage.addListener(handleMessage);
+```
-<h3 id="Sending_an_asynchronous_response_using_sendResponse">Envoi d’une réponse asynchrone à l’aide de sendResponse</h3>
+### Envoi d’une réponse asynchrone à l’aide de sendResponse
-<p>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 <code>return true;</code> dans l’écouteur : cela indique au navigateur que vous avez l’intention d’utiliser l’argument <code>sendResponse()</code> après le retour de l’écouteur.</p>
+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.
-<pre class="brush: js">// 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(() =&gt; {
+ setTimeout(() => {
sendResponse({response: "réponse asynchrone du script d’arrière-plan"});
}, 1000);
return true;
}
-browser.runtime.onMessage.addListener(handleMessage);</pre>
+browser.runtime.onMessage.addListener(handleMessage);
+```
-<h3 id="Sending_an_asynchronous_response_using_a_Promise">Envoi d’une réponse asynchrone à l’aide d’une promesse</h3>
+### Envoi d’une réponse asynchrone à l’aide d’une promesse
-<p>Ce script de contenu reçoit le premier lien <code>&lt;a&gt;</code> 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")}} : <code>true</code> si l’emplacement est dans les marque-pages, <code>false</code> sinon.</p>
+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.
-<pre class="brush: js">// 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);</pre>
+}).then(handleResponse);
+```
-<p>Voici le script d’arrière-plan. Il utilise <code>{{WebExtAPIRef("bookmarks.search()")}}</code> pour voir si le lien est dans les marque-pages, ce qui renvoie une {{jsxref("Promise", "promesse")}} :</p>
+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")}} :
-<pre class="brush: js">// 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 &gt; 0;
+ return results.length > 0;
});
}
-browser.runtime.onMessage.addListener(isBookmarked);</pre>
+browser.runtime.onMessage.addListener(isBookmarked);
+```
-<p>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 <code><a href="/fr/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout">Window.setTimeout()</a></code> :</p>
+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) :
-<pre class="brush: js">// background-script.js
+```js
+// background-script.js
function handleMessage(request, sender, sendResponse) {
- return new Promise(resolve =&gt; {
- setTimeout(() =&gt; {
+ return new Promise(resolve => {
+ setTimeout(() => {
resolve({response: "réponse asynchrone du script d’arrière-plan"});
}, 1000);
});
}
-browser.runtime.onMessage.addListener(handleMessage);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.runtime.onMessage.addListener(handleMessage);
+```
-<p>Cette API est basée sur l’API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -322,5 +317,4 @@ browser.runtime.onMessage.addListener(handleMessage);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}Utilisez cet événement pour écouter les messages d'une autre extension.
-<div>
-<div>Utilisez cet événement pour écouter les messages d'une autre extension.</div>
+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`.
-<div></div>
+Avec le message lui-même, l'écouteur est transmis :
-<p>Pour envoyer un message qui sera reçu par le module d'écoute <code>onMessageExternal</code>, utilisez {{WebExtAPIRef("runtime.sendMessage()")}}, en transmettant l'ID du destinataire dans le paramètre <code>extensionId</code>.</p>
+- 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.
-<p>Avec le message lui-même, l'écouteur est transmis :</p>
+Cette API ne peut pas être utilisée dans un script de contenu.
-<ul>
- <li>un objet <code>sender</code> donnant des détails sur l'expéditeur du message</li>
- <li>une fonction <code>sendResponse</code> qu'elle peut utiliser pour renvoyer une réponse à l'expéditeur.</li>
-</ul>
-</div>
+## Syntax
-<p>Cette API ne peut pas être utilisée dans un script de contenu.</p>
-
-<h2 id="Syntax">Syntax</h2>
-
-<pre class="brush: js">browser.runtime.onMessageExternal.addListener()
+```js
+browser.runtime.onMessageExternal.addListener()
browser.runtime.onMessageExternal.removeListener(listener)
browser.runtime.onMessageExternal.hasListener(listener)
-</pre>
+```
+
+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.
-<p>Les événements ont trois fonctions:</p>
+## Syntaxe addListener
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, <code>false</code> sinon.</dd>
-</dl>
+### Paramètres
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+- `function`
-<h3 id="Paramètres">Paramètres</h3>
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :
-<dl>
- <dt><code>function</code></dt>
- <dd>
- <p>Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :</p>
+ - `message`
+ - : `object`. Le message lui-même. C'est un objet JSON-ifiable.
- <dl>
- <dt><code>message</code></dt>
- <dd><code>object</code>. Le message lui-même. C'est un objet JSON-ifiable.</dd>
- </dl>
+ <!---->
- <dl>
- <dt><code>sender</code></dt>
- <dd>Un objet {{WebExtAPIRef('runtime.MessageSender')}} représentant l'expéditeur du message.</dd>
- </dl>
+ - `sender`
+ - : Un objet {{WebExtAPIRef('runtime.MessageSender')}} représentant l'expéditeur du message.
- <dl>
- <dt><code>sendResponse</code></dt>
- <dd>
- <p>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.</p>
+ <!---->
- <p>Si vous avez plus d'un écouteur <code>onMessageExternal</code> dans le même document, un seul peut envoyer une réponse.</p>
+ - `sendResponse`
- <p>To send a response synchronously, call <code>sendResponse</code> before the listener function returns. To send a response asynchronously:</p>
+ - : 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.
- <ul>
- <li>Soit garder une référence à l'argumen <code>sendResponse</code> et retourne <code>true</code> à partir de la fonction d'écouteur. Vous pourrez ensuite appeler <code>sendResponse</code> après le retour de la fonction d'écouteur..</li>
- <li>ou retourne une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> de la fonction d'écouteur et résoudre la promesse lorsque la réponse est prête.</li>
- </ul>
- </dd>
- </dl>
- </dd>
-</dl>
+ Si vous avez plus d'un écouteur `onMessageExternal` dans le même document, un seul peut envoyer une réponse.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ To send a response synchronously, call `sendResponse` before the listener function returns. To send a response asynchronously:
-<p>{{Compat("webextensions.api.runtime.onMessageExternal")}}</p>
+ - 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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Dans cet exemple, l'extension "blue@mozilla.org" envoie un message  à l'extension "red@mozilla.org":</p>
+{{Compat("webextensions.api.runtime.onMessageExternal")}}
-<pre class="brush: js">// 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"
- );</pre>
+ );
+```
-<pre class="brush: js">// 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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.runtime.onMessageExternal.addListener(handleMessage);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -151,5 +136,4 @@ browser.runtime.onMessageExternal.addListener(handleMessage);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.runtime.onRestartRequired.addListener(listener)
+```js
+browser.runtime.onRestartRequired.addListener(listener)
browser.runtime.onRestartRequired.removeListener(listener)
browser.runtime.onRestartRequired.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajouter un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, <code>false</code> sinon.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>fonction </code></dt>
- <dd>
- <p>Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :</p>
+- `fonction`
- <dl>
- <dt><code>raison</code></dt>
- <dd>Une valeur {{WebExtAPIRef('runtime.OnRestartRequiredReason')}} — La raison pour laquelle l'événemtn est envoyé.</dd>
- </dl>
- </dd>
-</dl>
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `raison`
+ - : Une valeur {{WebExtAPIRef('runtime.OnRestartRequiredReason')}} — La raison pour laquelle l'événemtn est envoyé.
-<p>{{Compat("webextensions.api.runtime.onRestartRequired")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.runtime.onRestartRequired")}}
-<p>{{WebExtExamples}}</p>
+## Exemples
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+> **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.
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -94,5 +86,4 @@ browser.runtime.onRestartRequired.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La raison pour laquelle l'événement  {{WebExtAPIRef("runtime.onRestartRequired", "onRestartRequired")}} est en cours d'exécution.</p>
+La raison pour laquelle l'événement  {{WebExtAPIRef("runtime.onRestartRequired", "onRestartRequired")}} est en cours d'exécution.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<ul>
- <li><code>"app_update"</code>: L'application en cours de mise à jour vers une version plus récente.</li>
- <li><code>"os_update"</code>: Le navigateur / Système d'exploitation est mise à jour vers une nouvelle verion plus récente.</li>
- <li><code>"periodic"</code>: Le système a fonctionné pendant plus logntemps que la durée de disponibilité autorisée dans la stratégie d'entreprise.</li>
-</ul>
+- `"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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.OnRestartRequiredReason")}}</p>
+{{Compat("webextensions.api.runtime.OnRestartRequiredReason")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -68,5 +64,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/OnRestartRequiredReaso
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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'.</p>
+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'.
-<h2 id="syntax">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.runtime.onStartup.addListener(listener)
+```js
+browser.runtime.onStartup.addListener(listener)
browser.runtime.onStartup.removeListener(listener)
browser.runtime.onStartup.hasListener(listener)
-</pre>
+```
-<h3 id="event_functions">Fonctions des événements</h3>
+### Fonctions des événements
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à écouteur.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrête d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>écouteur</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h3 id="parameters">Parameters</h3>
+### Parameters
-<dl>
- <dt><code>callback</code></dt>
- <dd>Une fonction qui sera appelée lorsque cet événement se produit.</dd>
-</dl>
+- `callback`
+ - : Une fonction qui sera appelée lorsque cet événement se produit.
-<h2 id="examples">Exemples</h2>
+## Exemples
-<p>Ouvre <a href="http://chilloutandwatchsomecatgifs.com/">http://chilloutandwatchsomecatgifs.com/</a> quand le navigateur démarre :</p>
+Ouvre <http://chilloutandwatchsomecatgifs.com/> quand le navigateur démarre :
-<pre class="brush: js">function handleStartup() {
+```js
+function handleStartup() {
browser.tabs.create({
url: "http://chilloutandwatchsomecatgifs.com/"
});
}
-browser.runtime.onStartup.addListener(handleStartup);</pre>
+browser.runtime.onStartup.addListener(handleStartup);
+```
-<div class="note">
- <p><strong>Note :</strong></p>
- <p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
- <p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -90,9 +88,8 @@ browser.runtime.onStartup.addListener(handleStartup);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
-<h2 id="browser_compatibility">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.onStartup")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<div class="note">
-<p><strong>Note :</strong> 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.</p>
-</div>
+> **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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.runtime.onSuspend.addListener(listener)
+```js
+browser.runtime.onSuspend.addListener(listener)
browser.runtime.onSuspend.removeListener(listener)
browser.runtime.onSuspend.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>écouteur</code> est enregistré pour cet événement. Retourne <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction dui sera appelée lorsque cet événement se produit</p>
- </dd>
-</dl>
+- `callback`
+ - : Fonction dui sera appelée lorsque cet événement se produit
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.onSuspend")}}</p>
+{{Compat("webextensions.api.runtime.onSuspend")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ecoutez les événements suspendus :</p>
+Ecoutez les événements suspendus :
-<pre class="brush: js">function handleSuspend() {
+```js
+function handleSuspend() {
console.log("Suspending event page");
// handle cleanup
}
-browser.runtime.onSuspend.addListener(handleSuspend);</pre>
+browser.runtime.onSuspend.addListener(handleSuspend);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -102,5 +95,4 @@ browser.runtime.onSuspend.addListener(handleSuspend);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Envoyé après {{WebExtAPIRef("runtime.onSuspend")}} pour indiquer que l'application  ne sera pas déchargée après tout.</p>
+Envoyé après {{WebExtAPIRef("runtime.onSuspend")}} pour indiquer que l'application  ne sera pas déchargée après tout.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.runtime.onSuspendCanceled.addListener(listener)
+```js
+browser.runtime.onSuspendCanceled.addListener(listener)
browser.runtime.onSuspendCanceled.removeListener(listener)
browser.runtime.onSuspendCanceled.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajouter un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est un écouteur à suppriimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un <code>écouteur</code> est enregistré pour cet événement. Retourne <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit.</p>
- </dd>
-</dl>
+- `callback`
+ - : Fonction qui sera appelée lorsque cet événement se produit.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.onSuspendCanceled")}}</p>
+{{Compat("webextensions.api.runtime.onSuspendCanceled")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ecoutez les événements <code>SuspendCanceled</code> :</p>
+Ecoutez les événements `SuspendCanceled` :
-<pre class="brush: js">function handleSuspendCanceled() {
+```js
+function handleSuspendCanceled() {
console.log("Suspend canceled");
}
-browser.runtime.onSuspendCanceled.addListener(handleSuspendCanceled);</pre>
+browser.runtime.onSuspendCanceled.addListener(handleSuspendCanceled);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -97,5 +92,4 @@ browser.runtime.onSuspendCanceled.addListener(handleSuspendCanceled);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>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 :</p>
+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 :
-<ul>
- <li>Le navigateur est redémarré</li>
- <li>L'extension est désactivée et réactivée</li>
- <li>L'extension se recharge explicitement en appelant {{WebExtAPIRef('runtime.reload()')}}.</li>
-</ul>
+- 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()')}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.runtime.onUpdateAvailable.addListener()
+```js
+browser.runtime.onUpdateAvailable.addListener()
browser.runtime.onUpdateAvailable.removeListener(listener)
browser.runtime.onUpdateAvailable.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajouter un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument<code>listener</code> est un écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie que l'<code>écouteur</code> est enregistré pour cet événement. Retourne <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée quand cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>details</code></dt>
- <dd><code>object</code>. Contient une seule propriété, une chaîne nommée <code>version</code>, qui représente le numéro de version de la mise à jour.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée quand cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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.
-<p>{{Compat("webextensions.api.runtime.onUpdateAvailable")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.runtime.onUpdateAvailable")}}
-<p>Ecoutez les événements <code>UpdateAvailable</code>:</p>
+## Exemples
-<pre class="brush: js">function handleUpdateAvailable(details) {
+Ecoutez les événements `UpdateAvailable`:
+
+```js
+function handleUpdateAvailable(details) {
console.log(details.version);
}
-browser.runtime.onUpdateAvailable.addListener(handleUpdateAvailable);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.runtime.onUpdateAvailable.addListener(handleUpdateAvailable);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -110,5 +102,4 @@ browser.runtime.onUpdateAvailable.addListener(handleUpdateAvailable);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}Si votre extension a défini une [page d'options](/fr/Add-ons/WebExtensions/user_interface/Options_pages), cette méthode l'ouvre.
-<div>Si votre extension a défini une <a href="/fr/Add-ons/WebExtensions/user_interface/Options_pages">page d'options</a>, cette méthode l'ouvre.</div>
+C'est une fonction asynchrone  qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<div></div>
+## Syntaxe
-<p>C'est une fonction asynchrone  qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+```js
+var openingPage = browser.runtime.openOptionsPage()
+```
-<h2 id="Syntaxe">Syntaxe</h2>
+### Paramètres
-<pre class="brush: js">var openingPage = browser.runtime.openOptionsPage()
-</pre>
+None.
-<h3 id="Paramètres">Paramètres</h3>
+### valeur retournée
-<p>None.</p>
+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é.
-<h3 id="valeur_retournée">valeur retournée</h3>
+## Compatibilité du navigateur
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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é.</p>
+{{Compat("webextensions.api.runtime.openOptionsPage")}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Exemples
-<p>{{Compat("webextensions.api.runtime.openOptionsPage")}}</p>
+Ouvrez une page d'options lorsque l'utilisateur clique sur l'icône d'une action du navigateur :
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ouvrez une page d'options lorsque l'utilisateur clique sur l'icône d'une action du navigateur :</p>
-
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+opening.then(onOpened, onError);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -80,5 +77,4 @@ opening.then(onOpened, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'architecture du processeur de la machine.</p>
+L'architecture du processeur de la machine.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possible sont  :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possible sont  :
-<dl>
- <dt><code>"arm"</code></dt>
- <dd>La plateforme est basée sur l'architecture des bras.</dd>
- <dt><code>"x86-32"</code></dt>
- <dd>La plateforme est basé sur l'architecture x86 32-bits.</dd>
- <dt><code>"x86-64"</code></dt>
- <dd>La plateforme est basé sur l'architecture x86 64-bits.</dd>
-</dl>
+- `"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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.PlatformArch")}}</p>
+{{Compat("webextensions.api.runtime.PlatformArch")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -71,5 +67,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/PlatformArch
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet contenant des informations sur la plate-forme actuelle.</p>
+Un objet contenant des informations sur la plate-forme actuelle.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets qui contiennent les propriétés suivantes:</p>
+Les valeurs de ce type sont des objets qui contiennent les propriétés suivantes:
-<dl>
- <dt><code>os</code></dt>
- <dd>{{WebExtAPIRef('runtime.PlatformOs')}}. Le système d'exploitation de la plateforme.</dd>
- <dt><code>arch</code></dt>
- <dd>{{WebExtAPIRef('runtime.PlatformArch')}}. L'architecture du processeur de la plateforme.</dd>
- <dt><code>nacl_arch</code></dt>
- <dd>{{WebExtAPIRef('runtime.PlatformNaclArch')}}. L'architecture du client natif Cela peut être différent de <code>arch</code> sur certaines plates-formes.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.PlatformInfo")}}</p>
+{{Compat("webextensions.api.runtime.PlatformInfo")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -71,5 +67,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/PlatformInfo
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>L'architecture du client natif. Cela peut-etre différent de arch sur certaines plate-formes.</p>
+L'architecture du client natif. Cela peut-etre différent de arch sur certaines plate-formes.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de type sont des chaînes. Les valeurs possible sont : <code>"arm"</code>, <code>"x86-32"</code>, <code>"x86-64"</code>.</p>
+Les valeurs de type sont des chaînes. Les valeurs possible sont : `"arm"`, `"x86-32"`, `"x86-64"`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.PlatformNaclArch")}}</p>
+{{Compat("webextensions.api.runtime.PlatformNaclArch")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -62,5 +60,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/PlatformNaclArch
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le système d'exploitation sur lequel le navigateur fonctionne.</p>
+Le système d'exploitation sur lequel le navigateur fonctionne.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:
-<dl>
- <dt><code>"mac"</code></dt>
- <dd>Le système d'exploitation est sous Mac OS X.</dd>
- <dt><code>"win"</code></dt>
- <dd>Le système d'exploitation est sous Windows.</dd>
- <dt><code>"android"</code></dt>
- <dd>Le système d'exploitation est sous Android.</dd>
- <dt><code>"cros"</code></dt>
- <dd>Le système d'exploitation est sous Chrome OS.</dd>
- <dt><code>"linux"</code></dt>
- <dd>Le système d'exploitation est sous Linux.</dd>
- <dt><code>"openbsd"</code></dt>
- <dd>Le système d'exploitation est sous Open/FreeBSD.</dd>
-</dl>
+- `"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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.PlatformOs")}}</p>
+{{Compat("webextensions.api.runtime.PlatformOs")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -77,5 +73,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/PlatformOs
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
-
-<p>Un objet <code>Port</code> represente une extrémité d'une connexion entre deux contextes spécifiques, qui peut-être utilisée pour échanger des messages.</p>
-
-<p>Un côté initie la connexion à l'aide d'une API <code>connect()</code>. Cela retourne un objet <code>Port</code>. L'autre camp écoute les tentatives de connexion à l'aide d'un écouteur <code>onConnect</code>. Ceci est passé un objet <code>Port</code> correspondant.</p>
-
-<p>Une fois que les deux côtés ont des objets <code>Port,</code> ils peuvent échanger des messages JSON en utilisant <code>Port.postMessage()</code> et <code>Port.onMessage</code>. Quand ils sont terminés, chaque extrémité peut se déconnecter en utilisant <code>Port.disconnect()</code>, ce qui générera un événement <code>Port.onDisconnect</code> à l'autre extrémité, permettant à l'autre extrémité de faire le nettoyage requis.</p>
-
-<p>Vous pouvez utiliser ce modèle pour communiquer entre:</p>
-
-<ul>
- <li>différentes parties de votre extension (par exemple, entre les <a href="/fr/Add-ons/WebExtensions/Content_scripts">scripts de contenus</a> et les <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">scripts d'arrière-plan</a>)</li>
- <li>entre votre extension et une <a href="/fr/Add-ons/WebExtensions/Native_messaging">application native s'exéutant sur l'ordinateur de l'utilisateur</a>.</li>
- <li>entre votre extension et une extension différente</li>
-</ul>
-
-<p>Vous devez utiliser différentes API de connexion pour différents types de connexions, comme indiqué dans le tableau ci-dessous.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">type de connection</th>
- <th scope="col">Lancer une tentative de connexion</th>
- <th scope="col">Gérer la tentative de connexion</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>Script d'arrière-plan au script de contenu</td>
- <td>{{WebExtAPIRef("tabs.connect()")}}</td>
- <td>{{WebExtAPIRef("runtime.onConnect")}}</td>
- </tr>
- <tr>
- <td>Script de contenu au script d'arrière-plan</td>
- <td>{{WebExtAPIRef("runtime.connect()")}}</td>
- <td>{{WebExtAPIRef("runtime.onConnect")}}</td>
- </tr>
- <tr>
- <td>Extension à l'application native</td>
- <td>{{WebExtAPIRef("runtime.connectNative()")}}</td>
- <td>N'est pas applicable (voir <a href="/fr/Add-ons/WebExtensions/Native_messaging">Native messaging</a>).</td>
- </tr>
- <tr>
- <td>Extension à l'extension</td>
- <td>{{WebExtAPIRef("runtime.connect()")}}</td>
- <td>{{WebExtAPIRef("runtime.onConnectExternal")}}</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Type">Type</h2>
-
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
-
-<dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>disconnect</code></dt>
- <dd><code>function</code>. Déconnecte un port. Chaque extrémité peut appeler cela quand ils ont fini avec le port. Cela provoquera le déclenchement de <code>onDisconnect</code> à 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.</dd>
- <dt><code>error</code></dt>
- <dd><code>object</code>. Si le port a été déconnecté en raison d'une erreur, il sera défini sur un objet avec un <code>message</code>, de propriété de chaîne, vous donnant plus d'informations sur l'erreur. Voir <code>onDisconnect</code>.</dd>
- <dt><code>onDisconnect</code></dt>
- <dd>
- <p><code>object</code>. Cela contient les fonctions <code>addListener()</code> et <code>removeListener()</code> 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é <code>Port.disconnect()</code>. Cet événement ne sera déclenché qu'une fois pour chaque port. La fonction d'écouteur recevra l'objet <code>Port</code>. Si le port a été déconnecté en raison d'une erreur, l'argument <code>Port</code> contiendra une propriété  <code>error</code> donnant plus d'informations sur l'erreur :</p>
-
- <pre class="brush: js">port.onDisconnect.addListener((p) =&gt; {
- if (p.error) {
- console.log(`Disconnected due to an error: ${p.error.message}`);
- }
-});</pre>
-
- <p>Notez que dans Google Chrome <code>port.error</code> n'est pas supporté: utilisez plutôt  {{WebExtAPIRef("runtime.lastError")}} pour obtenir le message d'erreur.</p>
- </dd>
- <dt><code>onMessage</code></dt>
- <dd><code>object</code>. Cela contient les fonctions <code>addListener()</code> et <code>removeListener()</code> 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é.</dd>
- <dt><code>postMessage</code></dt>
- <dd><code>function</code>. 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 <code>onMessage</code> du port, ou à l'application native si ce port est connecté à une application native.</dd>
- <dt><code>sender</code>{{optional_inline}}</dt>
- <dd>{{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 <code>onConnect</code>/<code>onConnectExternal</code>.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.runtime.Port")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Connecting_from_content_scripts">Connecting from content scripts</h3>
-
-<p>This content script:</p>
-
-<ul>
- <li>connects to the background script and stores the <code>Port</code> in a variable called <code>myPort</code>.</li>
- <li>listens for messages on <code>myPort</code> and logs them.</li>
- <li>sends messages to the background script, using <code>myPort</code>, when the user clicks the document.</li>
-</ul>
-
-<pre class="brush: js">// 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!"});
-});</pre>
+});
+```
+
+The corresponding background script:
+
+- listens for connection attempts from the content script.
+- when it receives a connection attempt:
-<p>The corresponding background script:</p>
+ - 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.
-<ul>
- <li>listens for connection attempts from the content script.</li>
- <li>when it receives a connection attempt:
- <ul>
- <li>stores the port in a variable named <code>portFromCS</code>.</li>
- <li>sends the content script a message using the port.</li>
- <li>starts listening to messages received on the port, and logs them.</li>
- </ul>
- </li>
- <li>sends messages to the content script, using <code>portFromCS</code>, when the user clicks the extension's browser action.</li>
-</ul>
+- sends messages to the content script, using `portFromCS`, when the user clicks the extension's browser action.
-<pre class="brush: js">// 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!"});
-});</pre>
-
-<h4 id="Script_à_contenu_multiple">Script à contenu multiple</h4>
+});
+```
-<p>Si plusieurs scripts de contenu communiquent en même temps, vous voudrez peut-être stocker chaque connexion dans un tableau.</p>
+#### Script à contenu multiple
-<ul>
-</ul>
+Si plusieurs scripts de contenu communiquent en même temps, vous voudrez peut-être stocker chaque connexion dans un tableau.
-<pre class="brush: js">// 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 =&gt; {
+ ports.forEach(p => {
p.postMessage({greeting: "they clicked the button!"})
})
-});</pre>
+});
+```
-<h3 id="Connecting_to_native_applications">Connecting to native applications</h3>
+### Connecting to native applications
-<p>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:</p>
+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:
-<pre class="brush: js">/*
+```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) =&gt; {
+port.onMessage.addListener((response) => {
console.log("Received: " + response);
});
/*
On a click on the browser action, send the app a message.
*/
-browser.browserAction.onClicked.addListener(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
console.log("Sending: ping");
port.postMessage("ping");
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -242,5 +213,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Recharge une extension.</p>
+Recharge une extension.
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.runtime.reload()
-</pre>
+```js
+browser.runtime.reload()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun.</p>
+Aucun.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.reload")}}</p>
+{{Compat("webextensions.api.runtime.reload")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Rechargez l'extension lorsque l'utilisateur clique sur l'icône d'une action du navigateur :</p>
+Rechargez l'extension lorsque l'utilisateur clique sur l'icône d'une action du navigateur :
-<pre class="brush: js">browser.browserAction.onClicked.addListener((tab) =&gt; {
+```js
+browser.browserAction.onClicked.addListener((tab) => {
browser.runtime.reload();
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -77,5 +78,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/reload
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Vérifie de voir si un mise à jour de l'extension est disponible.</p>
+Vérifie de voir si un mise à jour de l'extension est disponible.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var requestingCheck = browser.runtime.requestUpdateCheck()
-</pre>
+```js
+var requestingCheck = browser.runtime.requestUpdateCheck()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec deux arguments :</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec deux arguments :
-<dl>
- <dt><code>status</code></dt>
- <dd>Une valeur {{WebExtAPIRef('runtime.RequestUpdateCheckStatus')}}  — Le résultat de la vérification de mise à jour.</dd>
- <dt><code>details</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>. Si le <code>status</code> est <code>update_available</code>, cela contient plus d'informations sur la mise à jour. C'est un objet contenant une simple propriété :</p>
- <dl>
- <dt><code>version</code></dt>
- <dd><code>string</code>. La version de la mise à jour.</dd>
- </dl>
- </dd>
-</dl>
+- `status`
+ - : Une valeur {{WebExtAPIRef('runtime.RequestUpdateCheckStatus')}}  — Le résultat de la vérification de mise à jour.
+- `details`{{optional_inline}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `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é :
-<p>{{Compat("webextensions.api.runtime.requestUpdateCheck")}}</p>
+ - `version`
+ - : `string`. La version de la mise à jour.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Demander une mise à jour, etenregistrer la nouvelle version si elle est disponible :</p>
+{{Compat("webextensions.api.runtime.requestUpdateCheck")}}
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+requestingCheck.then(onRequested, onError);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -103,5 +101,4 @@ requestingCheck.then(onRequested, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Résultat d'un appel à {{WebExtAPIRef("runtime.requestUpdateCheck()")}}.</p>
+Résultat d'un appel à {{WebExtAPIRef("runtime.requestUpdateCheck()")}}.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt><code>"throttled"</code></dt>
- <dd>La mise à jour est limitée.</dd>
- <dt><code>"no_update"</code></dt>
- <dd>Aucune mise à jour n'est disponible.</dd>
- <dt><code>"update_available"</code></dt>
- <dd>Une mise à jour de l'extension est disponible.</dd>
-</dl>
+- `"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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.RequestUpdateCheckStatus")}}</p>
+{{Compat("webextensions.api.runtime.RequestUpdateCheckStatus")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -71,5 +67,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/RequestUpdateCheckStat
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Envoie un simple message aux écouteurs d'événement dans votre extension ou une extension différente.</p>
+Envoie un simple message aux écouteurs d'événement dans votre extension ou une extension différente.
-<p>Si vous envoyez à votre extension, omettez l'argument <code>extensionId</code>. L'événement {{WebExtAPIRef('runtime.onMessage')}} sera déclenché dans chaque page de votre extension, à l'exception du cadre appelé <code>runtime.sendMessage</code>.</p>
+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`.
-<p>Si vous envoyez une extension différente, ajouter l'argument <code>extensionId</code> à l'ID de l'autre extension. {{WebExtAPIRef('runtime.onMessageExternal')}} sera déclenché dans l'autre extension.</p>
+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.
-<p>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')}}.</p>
+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')}}.
-<ul>
-</ul>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+> **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).
-<div class="note">
-<p><strong>Note :</strong> Vous pouvez également utiliser une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#Communication_avec_les_scripts_darrière-plan">approche basée sur la connexion pour échanger des messages</a>.</p>
-</div>
+## Syntaxe
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">var sending = browser.runtime.sendMessage(
+```js
+var sending = browser.runtime.sendMessage(
extensionId, // optional string
message, // any
options // optional object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>extensionId</code>{{optional_inline}}</dt>
- <dd><p><code>string</code>. 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' <a href="/fr/Add-ons/WebExtensions/manifest.json/applications">applications</a> dans  manifest.json, <code>extensionId</code> doit avoir une valeur. Sinon, il devrait avoir l'ID qui a été généré pour le destinataire prévu.</p>
- <p>Si <code>extensionId</code> est omis, le message sera envoyé à votre propre extension.</p></dd>
- <dt><code>message</code></dt>
- <dd><code>any</code>. Un objet qui peut être structuré clone sérialisé.</dd>
- <dt><code>options</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>includeTlsChannelId</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Indique si l'ID de canal TLS sera transmis à {{WebExtAPIRef('runtime.onMessageExternal')}} pour les processus qui écoutent l'événement de connexion.</dd>
- <dt><code>toProxyScript{{optional_inline}}</code></dt>
- <dd><code>boolean</code>. Doit être True si le message est destiné à un fichier PAC chargé à l'aide de l'API {{WebExtAPIRef("proxy")}}.</dd>
- </dl>
- </dd>
-</dl>
-
-<p>En fonction des arguments qui lui sont donnés, cette API est parfois ambiguë. Les règles suivantes sont utilisées :</p>
-
-<ul>
- <li><strong>Si un argument est donné</strong>, c'est le message à envoyer, et le message sera envoyé en interne.</li>
- <li><strong>Si deux arguments sont donnés :</strong>
- <ul>
- <li>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 :
- <ol>
- <li>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)</li>
- <li>null</li>
- <li>indéfini</li>
- </ol>
- </li>
- <li>Sinon, les arguments sont interprétés comme <code>(extensionId, message)</code>. Le message sera envoyé à l'extension identifiée par <code>extensionId</code>.</li>
- </ul>
- </li>
- <li><strong>Si trois arguments sont donnés</strong>, les arguments sont interprétés comme <code>(extensionId, message, options)</code>. Le message sera envoyé à l'extension identifiée par <code>extensionId</code>.</li>
-</ul>
-
-<p>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 <code>extensionId</code>, avec le message comme deuxième argument. Cel signifiait que si vous appelez <code>sendMessage()</code> avec des arguments comme <code>("my-message", {})</code>, 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.</p>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
-
-<h2 id="Compatibilité_du_navitageur">Compatibilité du navitageur</h2>
-
-<p>{{Compat("webextensions.api.runtime.sendMessage")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>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 <code>{greeting: "Greeting from the content script"}</code>, et l'expéditeur s'attend également à recevoir une réponse, qui est gérée dans la fonction <code>handleResponse</code> :</p>
-
-<pre class="brush: js">// 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);</pre>
+window.addEventListener("click", notifyBackgroundPage);
+```
-<p>Le script d'arrière-plan correspondant ressemble à ceci :</p>
+Le script d'arrière-plan correspondant ressemble à ceci :
-<pre class="brush: js">// 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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.runtime.onMessage.addListener(handleMessage);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -161,5 +155,4 @@ browser.runtime.onMessage.addListener(handleMessage);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Envoie un seul message d'une extension à une application native.</p>
+Envoie un seul message d'une extension à une application native.
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. The first message sent by the native application is treated as a response to the <code>sendNativeMessage()</code> 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.</p>
+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.
-<p>Une nouvelle instance de l'application est lancée pour appel à  <code>runtime.sendNativeMessage()</code>. 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é.</p>
+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é.
-<p>Pour plus d'informations, voir <a href="/fr/Add-ons/WebExtensions/Native_messaging">Native messaging</a>.</p>
+Pour plus d'informations, voir [Native messaging](/fr/Add-ons/WebExtensions/Native_messaging).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var sending = browser.runtime.sendNativeMessage(
+```js
+var sending = browser.runtime.sendNativeMessage(
application, // string
message // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>application</code></dt>
- <dd><code>string</code>. Le nom de l'application native. Cela doit correspondre à la propriété "name" dans le <a href="/fr/Add-ons/WebExtensions/Native_messaging#App_manifest">fichier manifest de l'application native</a>.</dd>
- <dt><code>message</code></dt>
- <dd><code>object</code>. Un objet JSON qui sera envoyé à l'application native.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.sendNativeMessage")}}</p>
+{{Compat("webextensions.api.runtime.sendNativeMessage")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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 :</p>
+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 :
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
console.log("Sending: ping");
var sending = browser.runtime.sendNativeMessage("ping_pong", "ping");
sending.then(onResponse, onError);
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -108,5 +107,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var settingUrl = browser.runtime.setUninstallURL(
+```js
+var settingUrl = browser.runtime.setUninstallURL(
url // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL à ouvrir après la désinstallation de l'extension. Cette URL doit avoir un schéma <code>http</code> ou <code>https</code>.  Définissez-le sur une chaîne vide pour ne pas ouvrir un nouvel onglet lors de la désinstallation.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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é.</p>
+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é.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.runtime.setUninstallURL")}}</p>
+{{Compat("webextensions.api.runtime.setUninstallURL")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">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);</pre>
+settingUrl.then(onSetURL, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/runtime#event-onConnect"><code>chrome.runtime</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json"><code>runtime.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -91,5 +90,4 @@ settingUrl.then(onSetURL, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient un tableau de tous les moteurs de recherche installés.</p>
+Obtient un tableau de tous les moteurs de recherche installés.
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingEngines = browser.search.get()
-</pre>
+```js
+var gettingEngines = browser.search.get()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun.</p>
+Aucun.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un <a href="Web/JavaScript/Reference/Global_Objects/array">tableau</a> d'objets  de moteur de recherche. Chaque objet de moteur de recherche peut contenir les propriétés suivantes :</p>
+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 :
-<dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. Le nom du moteur de recherche.</dd>
- <dt><code>isDefault</code></dt>
- <dd>
- <p><code>boolean</code>. <code>true</code> 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é.</p>
- </dd>
- <dt><code>alias</code>{{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. 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é".</p>
- </dd>
- <dt><code>favIconUrl</code>{{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. L'icône du moteur de recherche, comme une donnée : URL.</p>
- </dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.search.search", 10)}}</p>
+{{Compat("webextensions.api.search.search", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtenir tous les moteurs de recherche installés :</p>
+Obtenir tous les moteurs de recherche installés :
-<pre class="brush: js">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);</pre>
+browser.search.get().then(retrieved);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Récupère les moteurs de recherche et lance une recherche avec un moteur de recherche spécifique</p>
+Récupère les moteurs de recherche et lance une recherche avec un moteur de recherche spécifique
-<p>Pour utiliser cette API, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "search".</p>
+Pour utiliser cette API, vous devez avoir la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "search".
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("search.get()")}}</dt>
- <dd>Récupérer tous les moteurs de recherche</dd>
- <dt>{{WebExtAPIRef("search.search()")}}</dt>
- <dd>Recherche à l'aide du moteur de recherche spécifié.</dd>
-</dl>
+- {{WebExtAPIRef("search.get()")}}
+ - : Récupérer tous les moteurs de recherche
+- {{WebExtAPIRef("search.search()")}}
+ - : Recherche à l'aide du moteur de recherche spécifié.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.search", 1, 1)}} {{WebExtExamples("h2")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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é.</p>
+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é.
-<p>Les résultats seront affichés dans un nouvel onglet, ou si l'argument tabId est donné, dans l'onglet identifié par ceci.</p>
+Les résultats seront affichés dans un nouvel onglet, ou si l'argument tabId est donné, dans l'onglet identifié par ceci.
-<p>Pour utiliser cette fonction dans votre extension, vous devez demander la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission manifest</a> "search".</p>
+Pour utiliser cette fonction dans votre extension, vous devez demander la [permission manifest](/fr/Add-ons/WebExtensions/manifest.json/permissions) "search".
-<p>Pour obtenir les moteurs de recherche installés, utilisez  {{WebExtAPIRef("search.get()")}}.</p>
+Pour obtenir les moteurs de recherche installés, utilisez  {{WebExtAPIRef("search.get()")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.search.search(
+```js
+browser.search.search(
searchProperties // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>searchProperties</code></dt>
- <dd>
- <p><code>object</code>. Un objet avec les propriétés suivantes :</p>
+- `searchProperties`
- <dl>
- <dt><code>query</code></dt>
- <dd><code>string</code>. La requête de recherche.</dd>
- <dt><code>engine</code>{{optional_inline}}</dt>
- <dd>
- <p><code>string</code>. 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é.</p>
- </dd>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd>
- <p><code>integer</code>.  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.</p>
- </dd>
- </dl>
- </dd>
-</dl>
+ - : `object`. Un objet avec les propriétés suivantes :
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - `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.
-<p>Aucune</p>
+### Valeur retournée
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+Aucune
-<p>{{Compat("webextensions.api.search.search", 10)}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.search.search", 10)}}
-<p>Recherche à l'aide du moteur de recherche par défaut. Les résultats seront affichés dans un nouvel onglet :</p>
+## Exemples
-<pre class="brush: js">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);
-</pre>
+```
-<p>Recherche à l'aide de Wikipedia. Les résultats seront affichés dans un nouvel onglet :</p>
+Recherche à l'aide de Wikipedia. Les résultats seront affichés dans un nouvel onglet :
-<pre class="brush: js">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);
-</pre>
+```
-<p>Recherche à l'aide de Wikipedia. Les résultats seront affichés dans un nouvel onglet</p>
+Recherche à l'aide de Wikipedia. Les résultats seront affichés dans un nouvel onglet
-<pre class="brush: js">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);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'objet <code>Filter</code> permet de restreindre le nombre d'objets {{WebExtAPIRef("sessions.Session", "Session")}} retournés par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.</p>
+L'objet `Filter` permet de restreindre le nombre d'objets {{WebExtAPIRef("sessions.Session", "Session")}} retournés par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les proriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les proriétés suivantes :
-<dl>
- <dt><code>maxResults</code>{{optional_inline}}</dt>
- <dd><code>number</code>. Le nombre maximal de résultats à retourner.</dd>
-</dl>
+- `maxResults`{{optional_inline}}
+ - : `number`. Le nombre maximal de résultats à retourner.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.Filter")}}</p>
+{{Compat("webextensions.api.sessions.Filter")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +65,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/Filter
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{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.
-<div>Supprime un onglet fermé de la liste des onglets récemment fermés du navigateur.</div>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<div></div>
+## Syntaxe
-<div>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.</div>
-
-<div></div>
-
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">var forgettingTab = browser.sessions.forgetClosedTab(
+```js
+var forgettingTab = browser.sessions.forgetClosedTab(
windowId, // integer
sessionId // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>Integer</code>. L'ID de la fenêtre qui héberge l'onglet que vous voulez oublier.</dd>
- <dt><code>sessionId</code></dt>
- <dd><code>String</code>. L'identifiant de la session que vous voulez oublier.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. Cela sera accompli sans arguments lorsque la session a été supprimée.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Cela sera accompli sans arguments lorsque la session a été supprimée.
-<p>Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.</p>
+Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.forgetClosedTab")}}</p>
+{{Compat("webextensions.api.sessions.forgetClosedTab")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code oublie la dernière session fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :</p>
+Ce code oublie la dernière session fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :
-<pre class="brush: js">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);</pre>
+.then(forgetMostRecent, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{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.
-<div>Supprime une fenêtre fermée de la liste des fenêtres récemment fermées du navigateur.</div>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<div></div>
+## Syntaxe
-<div>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.</div>
-
-<div></div>
-
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">var forgettingWindow = browser.sessions.forgetClosedWindow(
+```js
+var forgettingWindow = browser.sessions.forgetClosedWindow(
sessionId // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>sessionId</code></dt>
- <dd><code>String</code>. L'identifiant de la session que vous voulez oublier.</dd>
-</dl>
+- `sessionId`
+ - : `String`. L'identifiant de la session que vous voulez oublier.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. Cela sera accompli sans arguments lorsque la session a été supprimée.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Cela sera accompli sans arguments lorsque la session a été supprimée.
-<p>Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.</p>
+Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.forgetClosedWindow")}}</p>
+{{Compat("webextensions.api.sessions.forgetClosedWindow")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code oublie la dernière session fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :</p>
+Ce code oublie la dernière session fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :
-<pre class="brush: js">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);</pre>
+.then(forgetMostRecent, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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).</p>
+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).
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingSessions = browser.sessions.getRecentlyClosed(
+```js
+var gettingSessions = browser.sessions.getRecentlyClosed(
filter // optional object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>filter</code>{{optional_inline}}</dt>
- <dd><code>object</code>. Un objet {{WebExtAPIRef("sessions.Filter")}} qui limite l'ensemble des sessions renvoyées.</dd>
-</dl>
+- `filter`{{optional_inline}}
+ - : `object`. Un objet {{WebExtAPIRef("sessions.Filter")}} qui limite l'ensemble des sessions renvoyées.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+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.
-<p>Si une erreur survient, la promesse sera rejetée avec un message d'erreur.</p>
+Si une erreur survient, la promesse sera rejetée avec un message d'erreur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.getRecentlyClosed")}}</p>
+{{Compat("webextensions.api.sessions.getRecentlyClosed")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le code restaure la session la plus récemment fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :</p>
+Le code restaure la session la plus récemment fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :
-<pre class="brush: js">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);
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -109,5 +107,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Récupère une valeur précédemment stockée par un appel à  {{WebExtAPIRef("sessions.setTabValue")}}.</p>
+Récupère une valeur précédemment stockée par un appel à  {{WebExtAPIRef("sessions.setTabValue")}}.
-<p>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 <code>getTabValue()</code> sera différent de l'ID que vous avez passé dans <code>setTabValue()</code>, même s'ils font tous deux référence au même onglet.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var retrieving = browser.sessions.getTabValue(
+```js
+var retrieving = browser.sessions.getTabValue(
tabId, // integer
key // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dont vous essayez de récupérer les données.</dd>
- <dt><code>key</code></dt>
- <dd><code>string</code>. Clé identifiant la valeur particulière à récupérer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setTabValue")}}.</dd>
-</dl>
+- `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")}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera résolue avec la valeur si elle existe, ou <code>undefined</code>.  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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.getTabValue", 10)}}</p>
+{{Compat("webextensions.api.sessions.getTabValue", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Consignez la valeur de "my-key" pour tous les nouveaux onglets créés (cela inclura tous les onglets qui ont été restaurés) :</p>
+Consignez la valeur de "my-key" pour tous les nouveaux onglets créés (cela inclura tous les onglets qui ont été restaurés) :
-<pre class="brush: js">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) =&gt; {
+browser.tabs.onCreated.addListener((tab) => {
browser.sessions.getTabValue(tab.id, "my-key").then(onGetResolved, onGetRejected);
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Récupère une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setWindowValue")}}.</p>
+Récupère une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setWindowValue")}}.
-<p>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 <code>getWindowValue()</code> sera différent de l'ID que vous avez passé dans <code>setWindowValue()</code>, même s'ils se réfèrent tous les deux à la même fenêtre.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var retrieving = browser.sessions.getWindowValue(
+```js
+var retrieving = browser.sessions.getWindowValue(
windowId, // integer
key // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. ID de la fenêtre dont vous essayez de récupérer les données.</dd>
- <dt><code>key</code></dt>
- <dd><code>string</code>. Clé identifiant la valeur particulière à récupérer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setWindowValue")}}.</dd>
-</dl>
+- `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")}}.
-<h3 id="Valeure_retournée">Valeure retournée</h3>
+### Valeure retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera résolue avec la valeur si elle existe, ou <code>undefined</code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.getWindowValue", 10)}}</p>
+{{Compat("webextensions.api.sessions.getWindowValue", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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) :</p>
+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) :
-<pre class="brush: js">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) =&gt; {
+browser.windows.onCreated.addListener((window) => {
browser.sessions.getWindowValue(window.id, "my-key").then(onGetResolved, onGetRejected);
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
-
-<p>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.</p>
-
-<p>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")}}.</p>
-
-<p>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.</p>
-
-<p>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.</p>
-
-<p>Pour utiliser l'API des sessions, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission API</a> de "sessions".</p>
-
-<h2 id="Types">Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("sessions.Filter")}}</dt>
- <dd>Permet de restreindre le nombre de {{WebExtAPIRef("sessions.Session", "Session")}} objets retournés par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.</dd>
- <dt>{{WebExtAPIRef("sessions.Session")}}</dt>
- <dd>
- <p>Représente un onglet ou une fenêtre que l'utilisateur a fermé dans la session de navigation actuelle.</p>
- </dd>
-</dl>
-
-<h2 id="Propriétés">Propriétés</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}}</dt>
- <dd>Le nombre maximum de sessions qui seront retournées par un appel à <a href="/fr/Add-ons/WebExtensions/API/sessions/getRecentlyClosed"><code>sessions.getRecentlyClosed()</code></a>.</dd>
-</dl>
-
-<h2 id="Fonctions">Fonctions</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("sessions.forgetClosedTab()")}}</dt>
- <dd>Supprime un onglet fermé de la liste des onglets récemment fermés du navigateur.</dd>
- <dt>{{WebExtAPIRef("sessions.forgetClosedWindow()")}}</dt>
- <dd>Supprime une fenêtre  fermée  de la liste des fenêtres  récemment fermées du navigateur.</dd>
- <dt>{{WebExtAPIRef("sessions.getRecentlyClosed()")}}</dt>
- <dd>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).</dd>
- <dt>{{WebExtAPIRef("sessions.restore()")}}</dt>
- <dd>
- <p>Restaure un onglet ou une fenêtre fermée.</p>
- </dd>
- <dt>{{WebExtAPIRef("sessions.setTabValue()")}}</dt>
- <dd>
- <p>Stocke une paire clé/valeur associée à un onglet donné.</p>
- </dd>
- <dt>{{WebExtAPIRef("sessions.getTabValue()")}}</dt>
- <dd>
- <p>Récupérer une valeur précédemment enregistrée pour un onglet donné, compte tenu de sa clé.</p>
- </dd>
- <dt>{{WebExtAPIRef("sessions.removeTabValue()")}}</dt>
- <dd>
- <p>Supprimer une paire clé/valeur d'un onglet donné.</p>
- </dd>
- <dt>{{WebExtAPIRef("sessions.setWindowValue()")}}</dt>
- <dd>
- <p>Stocke une paire clé/valeur associée à une fenêtre donnée.</p>
- </dd>
- <dt>{{WebExtAPIRef("sessions.getWindowValue()")}}</dt>
- <dd>
- <p>Récupérer une valeur précédemment enregistrée pour une fenêtre donnée, compte tenu de sa clé.</p>
- </dd>
- <dt>{{WebExtAPIRef("sessions.removeWindowValue()")}}</dt>
- <dd>
- <p>Supprime une paire clé/valeur d'une fenêtre données.</p>
- </dd>
-</dl>
-
-<h2 id="Evénements">Evénements</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("sessions.onChanged")}}</dt>
- <dd>
- <p>Mise en place lorsqu'un onglet ou une fenêtre est fermée.</p>
- </dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.sessions")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) 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()`](/fr/Add-ons/WebExtensions/API/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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -130,5 +102,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/sessions
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.MAX_SESSION_RESULTS")}}</p>
+{{Compat("webextensions.api.sessions.MAX_SESSION_RESULTS")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -56,5 +54,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/MAX_SESSION_RESULTS
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Mise en place lorsque une liste d'onglets fermes ou de fenêtre changes.</p>
+Mise en place lorsque une liste d'onglets fermes ou de fenêtre changes.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.sessions.onChanged.addListener(listener)
+```js
+browser.sessions.onChanged.addListener(listener)
browser.sessions.onChanged.removeListener(listener)
browser.sessions.onChanged.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un auditeur à un événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de l'auditeur est un auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie Vrai s'il écoute. Sinon Faux.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lors de l'événement. Il ne passe aucun paramètre.</p>
- </dd>
-</dl>
+- `callback`
+ - : Fonction qui sera appelée lors de l'événement. Il ne passe aucun paramètre.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.onChanged")}}</p>
+{{Compat("webextensions.api.sessions.onChanged")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cette extension écoute <code>onChanged</code>, puis restaure  immédiatement la dernière session fermée, ce qui rend impossible de fermer les fenêtres ou les onglets :</p>
+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 :
-<pre class="brush: js">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);</pre>
+browser.sessions.onChanged.addListener(restoreMostRecent);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -117,5 +112,4 @@ browser.sessions.onChanged.addListener(restoreMostRecent);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setTabValue")}}.</p>
+Supprime une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setTabValue")}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.sessions.removeTabValue(
+```js
+var removing = browser.sessions.removeTabValue(
tabId, // integer
key // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dont vous essayez de supprimer les données.</dd>
- <dt><code>key</code></dt>
- <dd><code>string</code>. Clé identifiant la valeur particulière à supprimer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setTabValue")}}.</dd>
-</dl>
+- `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")}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.removeTabValue", 10)}}</p>
+{{Compat("webextensions.api.sessions.removeTabValue", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code ajoute deux éléments de menu contextuel: l'un stocke une valeur associée à l'onglet en cours, l'autre le supprime :</p>
+Ce code ajoute deux éléments de menu contextuel: l'un stocke une valeur associée à l'onglet en cours, l'autre le supprime :
-<pre class="brush: js">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) =&gt; {
+browser.menus.onClicked.addListener((info) => {
if (info.menuItemId === "add-my-item") {
setOnActiveTab();
} else {
removeFromActiveTab();
}
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setWindowValue")}}.</p>
+Supprime une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setWindowValue")}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.sessions.removeWindowValue(
+```js
+var removing = browser.sessions.removeWindowValue(
windowId, // integer
key // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. ID de la fenêtre dont vous essayez de supprimer les données.</dd>
- <dt><code>key</code></dt>
- <dd><code>string</code>. lé identifiant la valeur particulière à supprimer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setWindowValue")}}.</dd>
-</dl>
+- `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")}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.removeWindowValue", 10)}}</p>
+{{Compat("webextensions.api.sessions.removeWindowValue", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code ajoute deux éléments de menu contextuel: l'un stocke une valeur associée à la fenêtre courante, l'autre la supprime :</p>
+Ce code ajoute deux éléments de menu contextuel: l'un stocke une valeur associée à la fenêtre courante, l'autre la supprime :
-<pre class="brush: js">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) =&gt; {
+browser.menus.onClicked.addListener((info) => {
if (info.menuItemId === "add-my-item") {
setOnActiveWindow();
} else {
removeFromActiveWindow();
}
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone que retourne une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone que retourne une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var restoringSession = browser.sessions.restore(
+```js
+var restoringSession = browser.sessions.restore(
sessionId // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>sessionId</code></dt>
- <dd><code>string</code>. Une chaîne contenant l'ID de session pour la fenêtre ou l'onglet à restaurer. Cela se trouve dans la propriété <code>sessionId</code> de l'objet   {{WebExtAPIRef("tabs.Tab", "Tab")}} ou {{WebExtAPIRef("windows.Window", "Window")}} dans  {{WebExtAPIRef("sessions.Session", "Session")}} retourné de {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.</dd>
-</dl>
+- `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()")}}.
-<h3 id="Valeur_renvoyée">Valeur renvoyée</h3>
+### Valeur renvoyée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. Cela sera rempli avec un objet  {{WebExtAPIRef("sessions.Session", "Session")}} représentant la session qui a été restaurée.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.restore")}}</p>
+{{Compat("webextensions.api.sessions.restore")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cela restaure la session fermée la plus récente, qu'il s'agisse d'une fenêtre ou d'un onglet :</p>
+Cela restaure la session fermée la plus récente, qu'il s'agisse d'une fenêtre ou d'un onglet :
-<pre class="brush: js">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);
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -106,5 +104,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'objet de <code>Session</code> représente un onglet ou une fenêtre que l'utilisateur a fermé dans la session de navigation actuelle.</p>
+L'objet de `Session` représente un onglet ou une fenêtre que l'utilisateur a fermé dans la session de navigation actuelle.
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>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 :</p>
+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 :
-<ul>
- <li>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.</li>
- <li>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.</li>
-</ul>
+- 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.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>lastModified</code></dt>
- <dd><code>number</code>. L'heure où l'onglet ou la fenêtre a été fermé, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>tab</code>{{optional_inline}}</dt>
- <dd><code>object</code>. Si l'objet représente un onglet fermé, cette propriété est présente et sera un objet {{WebExtAPIRef("tabs.Tab")}}. Cela contiendra <code>url</code>, <code>titre</code>, et <code>favIconUrl</code> uniquement si l'extension possède la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "tabs".</dd>
- <dt><code>window</code>{{optional_inline}}</dt>
- <dd><code>object</code>. Si l'objet représente une fenêtre fermée, cette propriété est présente et sera un objet {{WebExtAPIRef("windows.Window")}}.</dd>
-</dl>
+- `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")}}.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.Session")}}</p>
+{{Compat("webextensions.api.sessions.Session")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -80,5 +74,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/Session
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Stocke une paire clé / valeur à associer à un onglet donné. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getTabValue")}}.</p>
+Stocke une paire clé / valeur à associer à un onglet donné. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getTabValue")}}.
-<p>Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions.</p>
+Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var storing = browser.sessions.setTabValue(
+```js
+var storing = browser.sessions.setTabValue(
tabId, // integer
key, // string
value // string or object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet avec lequel vous souhaitez associer les données.</dd>
- <dt><code>key</code></dt>
- <dd><code>string</code>. Clé que vous pouvez utiliser ultérieurement pour récupérer cette valeur de données particulière.</dd>
- <dt><code>value</code></dt>
- <dd><code>string</code> ou <code>object</code>. S'il s'agit d'un objet, il est <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify">stringified</a>, donc les méthodes d'objet, par exemple, seront omises. Si une fonction est donnée ici, elle sera stockée sous la forme <code>null</code>.</dd>
-</dl>
+- `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`.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.setTabValue", 10)}}</p>
+{{Compat("webextensions.api.sessions.setTabValue", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "menus" pour exécuter cet exemple :</p>
+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 :
-<pre class="brush: js">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);</pre>
+browser.menus.onClicked.addListener(setOnActiveTab);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Stocke une paire clé / valeur à associer à une fenêtre donnée. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getWindowValue")}}.</p>
+Stocke une paire clé / valeur à associer à une fenêtre donnée. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getWindowValue")}}.
-<p>Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions..</p>
+Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions..
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var storing = browser.sessions.setWindowValue(
+```js
+var storing = browser.sessions.setWindowValue(
windowId, // integer
key, // string
value // string or object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. ID de la fenêtre avec laquelle vous souhaitez associer les données.</dd>
- <dt><code>key</code></dt>
- <dd><code>string</code>. Clé que vous pouvez utiliser ultérieurement pour récupérer cette valeur de données particulière.</dd>
- <dt><code>value</code></dt>
- <dd><code>string</code> ou <code>object</code>. S'il s'agit d'un objet, il est <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify">stringified</a>, donc les méthodes d'objet, par exemple, seront omises. Si une fonction est donnée ici, elle sera stockée sous la valeur <code>null</code>.</dd>
-</dl>
+- `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`.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sessions.setWindowValue", 10)}}</p>
+{{Compat("webextensions.api.sessions.setWindowValue", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "menus" pour exécuter cet exemple :</p>
+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 :
-<pre class="brush: js">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);</pre>
+browser.menus.onClicked.addListener(setOnActiveWindow);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Ferme la barre latérale dans la fenêtre active, s'il s'agit de la barre latérale de l'extension.</p>
+Ferme la barre latérale dans la fenêtre active, s'il s'agit de la barre latérale de l'extension.
-<p>Vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une <a href="/fr/Add-ons/WebExtensions/User_actions">action utilisateur</a>.</p>
+Vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions).
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.sidebarAction.close()
-</pre>
+```js
+browser.sidebarAction.close()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue sans arguments.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue sans arguments.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sidebarAction.close", 10)}}</p>
+{{Compat("webextensions.api.sidebarAction.close", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Fermez la barre latérale lorsque l'utilisateur sélectionne un élément de menu contextuel :</p>
+Fermez la barre latérale lorsque l'utilisateur sélectionne un élément de menu contextuel :
-<pre class="brush: js">browser.menus.create({
+```js
+browser.menus.create({
id: "close-sidebar",
title: "close sidebar",
contexts: ["all"]
});
-browser.menus.onClicked.addListener(() =&gt; {
+browser.menus.onClicked.addListener(() => {
browser.sidebarAction.close();
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient une URL vers le document HTML qui définit le contenu de la barre latérale.</p>
+Obtient une URL vers le document HTML qui définit le contenu de la barre latérale.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingPanel = browser.sidebarAction.getPanel(
+```js
+var gettingPanel = browser.sidebarAction.getPanel(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Un objet avec les propriétés suivantes :</p>
- <dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>.  Obtenir le panneau pour la barre latérale spécifique à l'onglet donné.</dd>
- <dt><code>windowId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. Obtenir le panneau pour la barre latérale spécifique à la fenêtre donnée.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code>  sont tous deux fournis, la fonction échoue et la promesse qu'elle renvoie est rejetée.</li>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous les deux omis, le panneau global est renvoyé.</li>
-</ul>
+ - : `object`. Un objet avec les propriétés suivantes :
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - `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.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec une chaîne contenant l'URL du document du panel. Ce sera une URL entièrement qualifiée, telle que :</p>
+<!---->
-<pre>moz-extension://d1d8a2eb-fe60-f646-af30-a866c5b39942/sidebar.html</pre>
+- 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é.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.sidebarAction.getPanel",2)}}</p>
+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 :
-<h2 id="Exemples">Exemples</h2>
+ moz-extension://d1d8a2eb-fe60-f646-af30-a866c5b39942/sidebar.html
-<p>Obtenez l'URL du panneau :</p>
+## Compatibilité du navigateur
-<pre class="brush: js">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); </pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+gettingPanel.then(onGot);
+```
-<p>Cette API est basée sur l'API Opera <a href="https://dev.opera.com/extensions/sidebar-action-api/"><code>chrome.sidebarAction</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -102,5 +100,4 @@ gettingPanel.then(onGot); </pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient le titre de la barre latérale.</p>
+Obtient le titre de la barre latérale.
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingTitle = browser.sidebarAction.getTitle(
+```js
+var gettingTitle = browser.sidebarAction.getTitle(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Un objet avec les propriétés suivantes :</p>
- <dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Obtenir le titre de la barre latérale spécifique à l'onglet donné.</dd>
- <dt><code>windowId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. Obtenir le titre de la barre latérale spécifique à la fenêtre donnée.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous deux fournis, la fonction échoue et la promesse qu'elle renvoie est rejetée.</li>
- <li>SI <code>windowId</code> et <code>tabId</code> sont tous les deux omis, le titre global est renvoyé.</li>
-</ul>
+ - : `object`. Un objet avec les propriétés suivantes :
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - `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.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec une chaîne contenant le titre de la barre latérale.</p>
+<!---->
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- 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é.
-<p>{{Compat("webextensions.api.sidebarAction.getTitle",2)}}</p>
+### Valeur retournée
-<h2 id="Exemples">Exemples</h2>
+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.
-<p>Ce code bascule le titre entre "this" et "that" chaque fois que l'utilisateur clique sur l'action du navigateur</p>
+## Compatibilité du navigateur
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
var gettingTitle = browser.sidebarAction.getTitle({});
gettingTitle.then(toggleTitle);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Opera <a href="https://dev.opera.com/extensions/sidebar-action-api/"><code>chrome.sidebarAction</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -109,5 +106,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Données de pixel pour une image. Doit être un objet <code><a href="/fr/docs/Web/API/ImageData">ImageData</a></code> (par exemple, à partir d'un élément {{htmlelement("canvas")}}).</p>
+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")}}).
-<h2 id="Type">Type</h2>
+## Type
-<p>Un objet <code><a href="/fr/docs/Web/API/ImageData">ImageData</a></code>.</p>
+Un objet [`ImageData`](/fr/docs/Web/API/ImageData).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sidebarAction.ImageDataType")}}</p>
+{{Compat("webextensions.api.sidebarAction.ImageDataType")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Opera <a href="https://dev.opera.com/extensions/sidebar-action-api/"><code>chrome.sidebarAction</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -61,5 +59,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/ImageDataType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Obtient et définit les propriétés de la barre latérale d'une extension.</p>
+Obtient et définit les propriétés de la barre latérale d'une extension.
-<p>Une <a href="/fr/Add-ons/WebExtensions/Sidebars">barre latérale</a> 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é <code><a href="/fr/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a></code> manifest.json, une extension peut définir sa propre barre latérale.<br>
- En utilisant l'API <code>sidebarAction</code> décrite ici, une extension peut obtenir et définir les propriétés de la barre latérale.</p>
+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.
-<p>L'API <code>sidebarAction</code> est étroitement modélisée sur l'API  {{WebExtAPIRef("browserAction")}}.</p>
+L'API `sidebarAction` est étroitement modélisée sur l'API  {{WebExtAPIRef("browserAction")}}.
-<p>L'API sidebarAction est basée sur l'<a href="https://dev.opera.com/extensions/sidebar-action-api/">API sidebarAction</a> d'Opéra. Toutefois, notez que les éléments suivants ne sont pas encore pris en charge : <code>setBadgeText()</code>, <code>getBadgeText()</code>, <code>setBadgeBackgroundColor()</code>, <code>getBadgeBackgroundColor()</code>, <code>onFocus</code>, <code>onBlur</code>.</p>
+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`.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("sidebarAction.ImageDataType")}}</dt>
- <dd>Données de pixel pour une image. Doit être un objet <code><a href="/fr/docs/Web/API/ImageData">ImageData</a></code> (par exemple, à partir d'un élément {{htmlelement("canvas")}}).</dd>
-</dl>
+- {{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")}}).
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("sidebarAction.close()")}}</dt>
- <dd>Ferme la barre latérale</dd>
- <dt>{{WebExtAPIRef("sidebarAction.getPanel()")}}</dt>
- <dd>Obtient le panneau de la barre latérale.</dd>
- <dt>{{WebExtAPIRef("sidebarAction.getTitle()")}}</dt>
- <dd>Obtient le titre de la barre latérale.</dd>
- <dt>{{WebExtAPIRef("sidebarAction.isOpen()")}}</dt>
- <dd>Vérifie si la barre latérale est ouverte ou non.</dd>
- <dt>{{WebExtAPIRef("sidebarAction.open()")}}</dt>
- <dd>Ouvre la barre latérale.</dd>
- <dt>{{WebExtAPIRef("sidebarAction.setIcon()")}}</dt>
- <dd>Définit l'icône de la barre latérale.</dd>
- <dt>{{WebExtAPIRef("sidebarAction.setPanel()")}}</dt>
- <dd>Définit le panneau de la barre latérale.</dd>
- <dt>{{WebExtAPIRef("sidebarAction.setTitle()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("sidebarAction.toggle()")}}</dt>
- <dd>Permet de basculer la visibilité de la barre latérale.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sidebarAction")}}</p>
+{{Compat("webextensions.api.sidebarAction")}}
-<h2 id="Exemple_extensions">Exemple extensions</h2>
+## Exemple extensions
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/annotate-page">annotate-page</a></li>
-</ul>
+- [annotate-page](https://github.com/mdn/webextensions-examples/tree/master/annotate-page)
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Opera <a href="https://dev.opera.com/extensions/sidebar-action-api/"><code>chrome.sidebarAction</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -97,5 +89,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Renvoie <code>true</code> si la barre latérale de l'extension est ouverte dans une fenêtre donnée.</p>
+Renvoie `true` si la barre latérale de l'extension est ouverte dans une fenêtre donnée.
-<p>Cette fonction accepte un <code>windowId</code> en paramètre :</p>
+Cette fonction accepte un `windowId` en paramètre :
-<ul>
- <li>Si vous fournissez <code>windowId</code>, la fonction vérifie la fenêtre du navigateur.</li>
- <li>Si vous omettez <code>windowId</code>, la fonction vérifie la fenêtre du navigateur la plus haute.</li>
-</ul>
+- 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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">let gettingIsOpen = browser.sidebarAction.isOpen(
+```js
+let gettingIsOpen = browser.sidebarAction.isOpen(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Un objet contenant éventuellement le <code>windowId</code> à vérifier.</p>
- <dl>
- <dt><code>windowId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec <code>true</code> si la barre latérale de l'extension est ouverte dans la fenêtre donnée, ou <code>false</code> dans le cas contraire.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sidebarAction.isOpen",2)}}</p>
+{{Compat("webextensions.api.sidebarAction.isOpen",2)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Vérifiez la fenêtre la plus haute :</p>
+Vérifiez la fenêtre la plus haute :
-<pre class="brush: js">browser.sidebarAction.isOpen({}).then(result =&gt; {
+```js
+browser.sidebarAction.isOpen({}).then(result => {
console.log(result);
-});</pre>
+});
+```
-<p>  Vérifiez toutes les fenêtres ouvertes :</p>
+Vérifiez toutes les fenêtres ouvertes :
-<pre class="brush: js">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 =&gt; {
+browser.windows.getAll().then(all => {
for (let {id} of all) {
checkWindow(id);
}
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}Ouvrez la barre latérale dans la fenêtre active.
-<div>Ouvrez la barre latérale dans la fenêtre active.</div>
+Vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions).
-<div></div>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<div>
-<p>Vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une <a href="/fr/Add-ons/WebExtensions/User_actions">action utilisateur</a>.</p>
+## Syntaxe
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
-</div>
+```js
+browser.sidebarAction.open()
+```
-<h2 id="Syntaxe">Syntaxe</h2>
+### Paramètres
-<pre class="brush: js">browser.sidebarAction.open()
-</pre>
+Aucun
-<h3 id="Paramètres">Paramètres</h3>
+### Valeur retournée
-<p>Aucun</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue sans arguments..
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+## Compatibilité du navigateur
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue sans arguments..</p>
+{{Compat("webextensions.api.sidebarAction.open", 10)}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Exemples
-<p>{{Compat("webextensions.api.sidebarAction.open", 10)}}</p>
+Ouvrez la barre latérale lorsque l'utilisateur sélectionne un élément de menu contextuel :
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ouvrez la barre latérale lorsque l'utilisateur sélectionne un élément de menu contextuel :</p>
-
-<pre class="brush: js">browser.menus.create({
+```js
+browser.menus.create({
id: "open-sidebar",
title: "open sidebar",
contexts: ["all"]
});
-browser.menus.onClicked.addListener(() =&gt; {
+browser.menus.onClicked.addListener(() => {
browser.sidebarAction.open();
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Définit l'icône de la barre latérale.</p>
+Définit l'icône de la barre latérale.
-<p>Vous pouvez spécifier une icône unique comme chemin d'accès à un fichier image ou un objet {{WebExtAPIRef('sidebarAction.ImageDataType')}}.</p>
+Vous pouvez spécifier une icône unique comme chemin d'accès à un fichier image ou un objet {{WebExtAPIRef('sidebarAction.ImageDataType')}}.
-<p>Vous pouvez spécifier plusieurs icônes de différentes tailles en fournissant un dictionnaire contenant plusieurs chemins ou objets <code>ImageData</code>. 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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Types_d'icônes">Types d'icônes</h2>
+## Types d'icônes
-<p>Votre extension doit spécifier une icône pour la barre latérale dans la clé de manifest <a href="/fr/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a>. C'est ce qu'on appelle <em>"manifest icon"</em>.</p>
+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"_.
-<p>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 <em>"default icon"</em>.</p>
+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"_.
-<p>Si vous définissez une nouvelle icône en utilisant <code>setIcon()</code>, et incluez l'option <code>tabId</code> , l'icône est définie uniquement pour l'onglet donné. C'est ce qu'on appelle <em>"tab-specific icon"</em>.</p>
+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"_.
-<p>Si vous définissez une nouvelle icône en utilisant <code>setIcon()</code>, et incluez l'option <code>windowId</code>, alors l'icône n'est définie que pour la fenêtre donnée. Cette icône est appelée <em>"icône spécifique à la fenêtre"</em>, et apparaîtra dans tous les onglets de cette fenêtre qui n'ont pas de jeu d'icônes spécifiques aux onglets.</p>
+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.
-<p>Si vous définissez une nouvelle icône en utilisant <code>setIcon()</code>, et omettez l'option <code>tabId</code> and <code>windowId</code>, cela définit <em>"icône globale"</em>. 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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var settingIcon = browser.sidebarAction.setIcon(
+```js
+var settingIcon = browser.sidebarAction.setIcon(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Un Objet contenant des propriétés <code>imageData</code> ou <code>path</code>, et éventuellement une propriété <code>tabId</code>.</p>
- <dl>
- <dt><code>imageData</code>{{optional_inline}}</dt>
- <dd>
- <p><code>{{WebExtAPIRef('sidebarAction.ImageDataType')}}</code> ou <code>object</code>. C'est un objet <code>ImageData</code> unique ou un objet dictionnaire.</p>
+- `details`
- <p>Utilisez un objet dictionnaire pour spécifier plusieurs objets <code>ImageData</code> 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 <code>imageData</code> est un dictionnaire, la valeur de chaque propriété est un objet <code>ImageData</code>, et son nom est sa taille, comme ceci :</p>
+ - : `object`. Un Objet contenant des propriétés `imageData` ou `path`, et éventuellement une propriété `tabId`.
- <pre class="brush: json">{
- 16: image16,
- 32: image32
-}</pre>
+ - `imageData`{{optional_inline}}
- <p>Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes">Choisir les tailles d'icônes</a> pour plus d'informations à ce sujet.</p>
- </dd>
- <dt><code>path</code>{{optional_inline}}</dt>
- <dd>
- <p><code>string</code> ou <code>object</code>. C'est soit un chemin relatif vers un fichier d'icône, soit un objet dictionnaire. </p>
+ - : `{{WebExtAPIRef('sidebarAction.ImageDataType')}}` ou `object`. C'est un objet `ImageData` unique ou un objet dictionnaire.
- <p>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 <code>path</code> est un dictionnaire, la valeur de chaque propriété est un chemin relatif, et son nom est sa taille, comme ceci :</p>
+ 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 :
- <pre class="brush: json">{
- 16: "path/to/image16.jpg",
- 32: "path/to/image32.jpg"
-}</pre>
+ ```json
+ {
+ 16: image16,
+ 32: image32
+ }
+ ```
- <p>Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes">Choosir les tailles d'icônes</a> pour plus d'informations à ce sujet.</p>
+ 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.
- <p>si <code>path</code> est une chaîne vide, le navigateur utilisera l'icône par défaut.</p>
+ - `path`{{optional_inline}}
- <p>si <code>path</code> n'est pas vide mais ne pointe pas vers un fichier d'icône, l'icône est masquée.</p>
+ - : `string` ou `object`. C'est soit un chemin relatif vers un fichier d'icône, soit un objet dictionnaire.
- <p>si <code>path</code> est <code>null</code>, et <code>tabId</code>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.</p>
+ 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 :
- <p>si <code>path</code> est <code>null</code>, et <code>tabId</code> a été omis, et qu'il y avait un jeu d'icônes global, il sera réinitialisé à l'icône de manifest.</p>
- </dd>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Définit l'icône uniquement pour l'onglet donné.</dd>
- <dt><code>windowId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. Définit l'icône uniquement pour la fenêtre donnée.</dd>
- </dl>
- </dd>
-</dl>
+ ```json
+ {
+ 16: "path/to/image16.jpg",
+ 32: "path/to/image32.jpg"
+ }
+ ```
-<ul>
- <li>Si <code>windowId</code>et <code>tabId</code> sont tous deux spécifiés, la fonction échoue et l'icône n'est pas définie.</li>
- <li>SI <code>windowId</code> et <code>tabId</code> sont tous deux omis, l'icône est définie globalement.</li>
-</ul>
+ 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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ si `path` est une chaîne vide, le navigateur utilisera l'icône par défaut.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie sans argument une fois l'icône définie.</p>
+ si `path` n'est pas vide mais ne pointe pas vers un fichier d'icône, l'icône est masquée.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ 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.
-<p>{{Compat("webextensions.api.sidebarAction.setIcon",2)}}</p>
+ 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.
-<h2 id="Exemples">Exemples</h2>
+ - `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.
-<p>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 :</p>
+<!---->
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
+browser.browserAction.onClicked.addListener(toggle);
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Opera <a href="https://dev.opera.com/extensions/sidebar-action-api/"><code>chrome.sidebarAction</code></a>.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Types_de_panneau">Types de panneau</h2>
+## Types de panneau
-<p>Les barres latérales ont toujours un <em>"panneau manifest"</em>, qui est le panneau défini dans la clé de manifest <code><a href="/fr/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a></code>.</p>
+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).
-<p>Si vous définissez un nouveau panneau à l'aide de <code>setPanel()</code>, et incluez l'option <code>tabId</code> le panneau est défini uniquement pour l'onglet donné. Ce panneau est appelé  <em>"tab-specific panel"</em>.</p>
+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"_.
-<p>Si vous définissez un nouveau panneau en utilisant <code>setPanel()</code>, et incluez l'option <code>windowId</code>, alors le panneau n'est défini que pour la fenêtre donnée.  Ce panneau est appelé <em>"panneau spécifique à la fenêtre"</em>, et apparaîtra dans tous les onglets de cette fenêtre qui n'ont pas d'ensemble de panneaux spécifiques aux onglets.</p>
+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.
-<p>Si vous définissez un nouveau panneau en utilisant <code>setPanel()</code>, et omettez les options <code>tabId</code> et <code>windowId</code>, alors ceci définit le <em>"panneau global"</em>. 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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.sidebarAction.setPanel(
+```js
+browser.sidebarAction.setPanel(
details // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Un objet avec les propriétés suivantes :</p>
- <dl>
- <dt><code>panel</code></dt>
- <dd><p><code>string</code> ou <code>null</code>. Le panneau à charger dans la barre latérale, spécifié comme une URL pointant vers un document HTML, ou <code>null</code>, ou une chaîne vide.</p>
- <p>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 <code>https://example.org/</code>). Il doit s'agir d'une URL valide.</p>
- <p>Si <code>panel</code> est <code>null</code> ou <code>""</code>,alors un panneau précédemment défini sera supprimé, de sorte que :</p>
- <ul>
- <li>Si <code>tabId</code> 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.</li>
- <li>Si <code>windowId</code> 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.</li>
- <li>Sinon, le panneau global sera réinitialisé au panneau manifest.</li>
- </ul>
- </dd>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Définit le panneau uniquement pour l'onglet donné.</dd>
- <dt><code>windowId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. Définit le panneau uniquement pour la fenêtre donnée.</dd>
- </dl>
- </dd>
-</dl>
-
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous les deux spécifiés, la fonction échoue et le panneau n'est pas défini.</li>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous les deux omis, le panneau global est défini.</li>
-</ul>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ce code bascule le document de la barre latérale lorsque l'utilisateur clique sur une action du navigateur :</p>
-
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
browser.sidebarAction.getPanel({}).then(toggle);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+```
-<p>{{Compat("webextensions.api.sidebarAction.setPanel",2)}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Opera <a href="https://dev.opera.com/extensions/sidebar-action-api/"><code>chrome.sidebarAction</code></a>.</p>
+{{Compat("webextensions.api.sidebarAction.setPanel",2)}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -123,5 +122,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 &gt; Barre latérale". Il est également affiché en haut de la barre latérale lorsque la barre latérale est ouverte.</p>
+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.
-<h2 id="Types_de_titres">Types de titres</h2>
+## Types de titres
-<p>Votre extension doit spécifier un titre pour la barre latérale dans la clé de manifest  <a href="/fr/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a>. C'est ce qu'on appelle le <em>"titre du manifest"</em>. Si vous ne spécifiez pas le titre du manifest, il sera par défaut le nom de l'extension</p>
+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
-<p>Si vous définissez un nouveau titre à l'aide de <code>setTitle()</code>, et incluez l'option <code>tabId</code> le titre est défini uniquement pour l'onglet donné. Ce titre est appelé <em>"titre spécifique à l'onglet"</em>.</p>
+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.
-<p>Si vous définissez un nouveau titre à l'aide de <code>setTitle()</code>,  et incluez l'option <code>windowId</code>, alors le titre est défini uniquement pour la fenêtre donnée. Ce titre est appelé <em>"titre spécifique à la fenêtre"</em>, et apparaîtra dans tous les onglets de cette fenêtre qui n'ont pas de titre spécifique à un onglet.</p>
+## Syntaxe
-<p>Si vous définissez un nouveau titre à l'aide de <code>setTitle()</code>, et omettre les options <code>tabId</code> et <code>windowId</code>, alors ceci définit le <em>"titre global"</em>. 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.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">browser.sidebarAction.setTitle(
+```js
+browser.sidebarAction.setTitle(
details // object
)
-</pre>
+```
+
+### Paramètres
+
+- `details`
+
+ - : `object`. Un objet avec les propriétés suivantes .
-<h3 id="Paramètres">Paramètres</h3>
+ - `title`
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Un objet avec les propriétés suivantes .</p>
- <dl>
- <dt><code>title</code></dt>
- <dd><p><code>string</code> ou <code>null</code>. Le nouveau titre de la barre latérale.</p>
- <p>si le <code>titre</code>  est une chaîne vide, le titre utilisé sera le nom de l'extension, mais {{WebExtAPIRef("sidebarAction.getTitle")}} fournira toujours la chaîne vide.</p>
+ - : `string` ou `null`. Le nouveau titre de la barre latérale.
- <p>Si le <code>titre</code> est <code>null</code>, alors un titre précédemment défini sera supprimé, de sorte que :</p>
+ 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.
- <ul>
- <li>Si <code>tabId</code> 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.</li>
- <li>Si <code>windowId</code> 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.</li>
- <li>Sinon, le titre global sera réinitialisé au titre du manifest.</li>
- </ul>
- </dd>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Définit le titre uniquement pour l'onglet donné.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Définit le titre uniquement pour la fenêtre donnée.</dd>
- </dl>
- </dd>
-</dl>
+ Si le `titre` est `null`, alors un titre précédemment défini sera supprimé, de sorte que :
-<ul>
- <li>Si <code>windowId</code> et <code>tabId</code> sont tous deux fournis, la fonction échoue et le titre n'est pas défini.</li>
- <li>SI <code>windowId</code> et <code>tabId</code> sont tous les deux omis, le titre global est définit.</li>
-</ul>
+ - 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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `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.
-<p>{{Compat("webextensions.api.sidebarAction.setTitle",2)}}</p>
+<!---->
-<h2 id="Exemples">Exemples</h2>
+- 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.
-<p>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 :</p>
+## Compatibilité du navigateur
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
+browser.browserAction.onClicked.addListener(setTitleForTab);
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Opera <a href="https://dev.opera.com/extensions/sidebar-action-api/"><code>chrome.sidebarAction</code></a>.</p>
-</div>
+> **Note :**
+>
+> Cette API est basée sur l'API Opera [`chrome.sidebarAction`](https://dev.opera.com/extensions/sidebar-action-api/).
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -117,5 +113,4 @@ browser.browserAction.onClicked.addListener(setTitleForTab);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Permet de basculer la visibilité de la barre latérale dans la fenêtre active, si la barre latérale appartient à l'extension.</p>
+Permet de basculer la visibilité de la barre latérale dans la fenêtre active, si la barre latérale appartient à l'extension.
-<p>Vous ne pouvez appeler cette fonction que depuis l'intérieur du gestionnaire pour une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/User_actions">action utilisateur</a>.</p>
+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).
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.sidebarAction.toggle()
-</pre>
+```js
+browser.sidebarAction.toggle()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucune.</p>
+Aucune.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue sans discussion.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue sans discussion.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.sidebarAction.toggle", 10)}}</p>
+{{Compat("webextensions.api.sidebarAction.toggle", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Bascule la barre latérale lorsque l'utilisateur sélectionne un élément dans le menu contextuel :</p>
+Bascule la barre latérale lorsque l'utilisateur sélectionne un élément dans le menu contextuel :
-<pre class="brush: js">browser.menus.create({
+```js
+browser.menus.create({
id: "toggle-sidebar",
title: "Toggle sidebar",
contexts: ["all"]
});
-browser.menus.onClicked.addListener(() =&gt; {
+browser.menus.onClicked.addListener(() => {
browser.sidebarAction.toggle();
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Le mécanisme de stockage est basé sur l'<a href="/fr/docs/Web/API/Web_Storage_API">API Web Storage</a>, à quelques différences près. Elles incluent entre autres :</p>
+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 :
-<ul>
- <li>Le mécanisme est asynchrone.</li>
- <li>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).</li>
- <li>Les valeurs stockées peuvent être de tout type compatible avec JSON et pas uniquement <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></code>. Ce qui inclut entre autres <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a></code> et <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code>, 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é.</li>
- <li>Plusieurs paires clef/valeur peuvent être récupérées par un même appel à l'API.</li>
-</ul>
+- 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.
-<p>Pour utiliser cette API vous devez inclure la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> « storage » dans votre fichier <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a>.</p>
+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).
-<p>Chaque extension a sa propre zone de stockage, qui peut être divisée entre plusieurs types de stockage.</p>
+Chaque extension a sa propre zone de stockage, qui peut être divisée entre plusieurs types de stockage.
-<p>Bien que cette API soit semblable à {{domxref("Window.localStorage")}} il est conseillé de ne pas utiliser <code>Window.localStorage</code> 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 <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/local">storage.local</a></code> seront correctement conservées dans ces scénarios.</p>
+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.
-<div class="note">
- <p><strong>Note :</strong> La zone de stockage n'est pas chiffrée et ne doit pas être utilisée pour stocker des informations confidentielles sur les utilisateurs.</p>
-</div>
+> **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.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("storage.StorageArea")}}</dt>
- <dd>Un objet représentant la zone de stockage.</dd>
- <dt>{{WebExtAPIRef("storage.StorageChange")}}</dt>
- <dd>Un objet représentant une modification d'une zone de stockage.</dd>
-</dl>
+- {{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.
-<h2 id="Propriétés">Propriétés</h2>
+## Propriétés
-<p><code>storage</code> a trois propriétés, qui représentent les différents types de zones de stockage disponibles.</p>
+`storage` a trois propriétés, qui représentent les différents types de zones de stockage disponibles.
-<dl>
- <dt>{{WebExtAPIRef("storage.sync")}}</dt>
- <dd>Représente la zone de stockage <code>sync</code>. Les items dans <code>sync</code> sont synchronisés par le navigateur, et disponibles pour toutes les instances de ce navigateur auxquelles l'utilisateur est connecté, pour tous les appareils.</dd>
- <dt>{{WebExtAPIRef("storage.local")}}</dt>
- <dd>Représente la zone de stockage <code>local</code>. Les items dans <code>local</code> sont limités à l'appareil sur lequel l'extension a été installée.</dd>
- <dt>{{WebExtAPIRef("storage.managed")}}</dt>
- <dd>Représente la zone de stockage <code>managed</code>. Les items dans <code>managed</code> 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.</dd>
-</dl>
+- {{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.
-<h2 id="Événements">Événements</h2>
+## Événements
-<dl>
- <dt>{{WebExtAPIRef("storage.onChanged")}}</dt>
- <dd>Activé quand un ou plusieurs items d'une zone de stockage sont modifiés.</dd>
-</dl>
+- {{WebExtAPIRef("storage.onChanged")}}
+ - : Activé quand un ou plusieurs items d'une zone de stockage sont modifiés.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.storage")}}</p>
+{{Compat("webextensions.api.storage")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -105,5 +93,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/storage
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Représente la zone de stockage <code>local</code>. Les éléments stockés <code>localement</code> sont locaux sur la machine sur laquelle l'extension a été installée.</p>
+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.
-<p>Le navigateur peut limiter la quantité de données qu'une extension peut stocker dans la zone de stockage locale :</p>
+Le navigateur peut limiter la quantité de données qu'une extension peut stocker dans la zone de stockage locale :
-<ul>
- <li>Chrome limite l'extension à 5 Mo de données à l'aide de cette API à moins qu'elle ne dispose de <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Unlimited_storage">permission "unlimitedStorage"</a>.</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>Lorsque l'extension est désinstallée, son stockage local associé est effacé.</p>
+Lorsque l'extension est désinstallée, son stockage local associé est effacé.
-<p>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 <code>true</code>: "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.</p>
+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.
-<p>Bien que cette API soit similaire à {{domxref("Window.localStorage")}} il est recommandé de ne pas utiliser <code>Window.localStorage</code> 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.</p>
+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.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<p>L'objet <code>local</code> local implémente les méthodes définies sur le type  {{WebExtAPIRef("storage.StorageArea")}} :</p>
+L'objet `local` local implémente les méthodes définies sur le type  {{WebExtAPIRef("storage.StorageArea")}} :
-<dl>
- <dt>{{WebExtAPIRef("storage.StorageArea.get()")}}</dt>
- <dd>Récupère un ou plusieurs éléments de la zone de stockage.</dd>
- <dt>{{WebExtAPIRef("storage.StorageArea.getBytesInUse()")}}</dt>
- <dd>Obtient la quantité d'espace de stockage (en octets) utilisée pour stocker un ou plusieurs éléments dans la zone de stockage.</dd>
- <dt>{{WebExtAPIRef("storage.StorageArea.set()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("storage.StorageArea.remove()")}}</dt>
- <dd>Supprime un ou plusieurs éléments de la zone de stockage..</dd>
- <dt>{{WebExtAPIRef("storage.StorageArea.clear()")}}</dt>
- <dd>Supprime tous les éléments de la zone de stockage.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.storage.local")}}</p>
+{{Compat("webextensions.api.storage.local")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -88,5 +82,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/storage/local
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet {{WebExtAPIRef("storage.StorageArea")}} qui représente la zone de stockage gérée. Les éléments de stockage <code>géré</code> 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.</p>
+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.
-<h2 id="Provisionnement_du_stockage_géré">Provisionnement du stockage géré</h2>
+## Provisionnement du stockage géré
-<p>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 <code>.json</code>. ((Voir Stockage Chrome géré ci-dessous.)</p>
+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.)
-<h3 id="manifestes_natives">manifestes natives</h3>
+### manifestes natives
-<p>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 <a href="/fr/Add-ons/WebExtensions/Native_manifests">manifests natifs</a>.</p>
+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).
-<p>Voici un exemple de manifest :</p>
+Voici un exemple de manifest :
-<pre class="brush: json">{
+```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!"
}
-}</pre>
+}
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">var storageItem = browser.storage.managed.get('color');
-storageItem.then((res) =&gt; {
+```js
+var storageItem = browser.storage.managed.get('color');
+storageItem.then((res) => {
console.log(`Managed colur is: ${res.color}`);
-});</pre>
+});
+```
-<h3 id="Gestion_de_stockage_dans_Chrome">Gestion de stockage dans Chrome</h3>
+### Gestion de stockage dans Chrome
-<p>Firefox et Chrome supportent tous deux l'utilisation d'un manifeste pour les zones de stockage.</p>
+Firefox et Chrome supportent tous deux l'utilisation d'un manifeste pour les zones de stockage.
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<h4 id="manifest.json">manifest.json</h4>
+#### manifest.json
-<pre class="brush: js">{
+```js
+{
"name": "chrome-storage-managed-examples@mozilla.org",
"storage": {
"managed_schema": "schema.json"
},
}
-</pre>
+```
-<p>Le fichier json ressemblerait à ceci :</p>
+Le fichier json ressemblerait à ceci :
-<pre class="brush: json">{
+```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) =&gt; {
}
}
}
-}</pre>
-
-<p>Pour plus d'informations, voir l'article de Chrome pour les zones de stockage <a href="https://developer.chrome.com/extensions/manifest/storage">Manifeste pour les zones de stockage</a>.</p>
+}
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+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).
-<p>{{Compat("webextensions.api.storage.managed")}}</p>
+## Compatibilité du navigateur
-<p>{{WebExtExamples}}</p>
+{{Compat("webextensions.api.storage.managed")}}
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -130,5 +135,4 @@ storageItem.then((res) =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'un ou plusieurs éléments changent.</p>
+Lancé lorsqu'un ou plusieurs éléments changent.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.storage.onChanged.addListener(callback)
+```js
+browser.storage.onChanged.addListener(callback)
browser.storage.onChanged.removeListener(listener)
browser.storage.onChanged.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions:</p>
+Les événements ont trois fonctions:
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code>s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>changes</code></dt>
- <dd><code>object</code>. 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.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>areaName</code></dt>
- <dd><code>string</code>. Le nom de la zone de stockage (<code>"sync"</code>, <code>"local"</code> or <code>"managed"</code>) auquel les modifications ont été apportées.</dd>
- </dl>
- </dd>
-</dl>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ <!---->
-<p>{{Compat("webextensions.api.storage.onChanged")}}</p>
+ - `areaName`
+ - : `string`. Le nom de la zone de stockage (`"sync"`, `"local"` or `"managed"`) auquel les modifications ont été apportées.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<pre class="brush: js">/*
+{{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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -121,5 +114,4 @@ browser.storage.onChanged.addListener(logStorageChange);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime tous les éléments de la zone de stockage.</p>
+Supprime tous les éléments de la zone de stockage.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var clearing = browser.storage.&lt;storageType&gt;.clear()
-</pre>
+```js
+var clearing = browser.storage.<storageType>.clear()
+```
-<p><code>&lt;storageType&gt; </code>sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} or {{WebExtAPIRef("storage.local")}}.</p>
+`<storageType> `sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} or {{WebExtAPIRef("storage.local")}}.
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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..</p>
+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..
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.storage.StorageArea.clear")}}</p>
+{{Compat("webextensions.api.storage.StorageArea.clear")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">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);</pre>
+clearStorage.then(onCleared, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Récupère un ou plusieurs éléments de la zone de stockage.</p>
+Récupère un ou plusieurs éléments de la zone de stockage.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox">let gettingItem = browser.storage.&lt;storageType&gt;.get(
- keys // null, string, object or array of strings
-)
-</pre>
+ let gettingItem = browser.storage.<storageType>.get(
+ keys // null, string, object or array of strings
+ )
-<p><code>&lt;storageType&gt;</code> sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync", "sync")}}, {{WebExtAPIRef("storage.local", "local")}}, ou {{WebExtAPIRef("storage.managed", "managed")}}.</p>
+`<storageType>` sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync", "sync")}}, {{WebExtAPIRef("storage.local", "local")}}, ou {{WebExtAPIRef("storage.managed", "managed")}}.
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>keys</code></dt>
- <dd>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 <code>null</code>,  ou une valeur indéfinie, le contenu entier du stockage sera récupéré.</dd>
-</dl>
+- `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é.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet de <code>resultat</code> contenant tous les objets dans les <code>clefs</code> 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  <code>non définies</code> seront retournées.</p>
+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.
-<div class="warning">
-<p><strong>Attention :</strong> Lorsqu'elle est utilisée dans un script de contenu dans les versions de Firefox antérieures à 52, la promesse retournée par <code>browser.storage.local.get()</code> est remplie avec un tableau contenant un objet. L'objet dans le tableau contient les <code>clefs</code> 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<br>
- (scripts d'arrière-plan, popups, pages d'options, etc.). Lorsque cette API est utilisée en tant que <code>chrome.storage.local.get()</code>, elle transmet correctement un objet à la fonction de rappel.</p>
-</div>
+> **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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.storage.StorageArea.get")}}</p>
+{{Compat("webextensions.api.storage.StorageArea.get")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supposons que le stockage contienne deux éléments :</p>
+Supposons que le stockage contienne deux éléments :
-<pre class="brush: js">// 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"}
-});</pre>
+});
+```
-<p>Définissez les gestionnaires de réussite et d'échec pour la promesse:</p>
+Définissez les gestionnaires de réussite et d'échec pour la promesse:
-<pre class="brush: js">function onGot(item) {
+```js
+function onGot(item) {
console.log(item);
}
function onError(error) {
console.log(`Error: ${error}`);
-}</pre>
+}
+```
-<p>Sans arguments <code>clefs</code>, tout récupérez :</p>
+Sans arguments `clefs`, tout récupérez :
-<pre class="brush: js">let gettingItem = browser.storage.local.get();
+```js
+let gettingItem = browser.storage.local.get();
gettingItem.then(onGot, onError);
-// -&gt; Object { kitten: Object, monster: Object }</pre>
+// -> Object { kitten: Object, monster: Object }
+```
-<p>Avec un argument de clefs vide, ne retourne rien:</p>
+Avec un argument de clefs vide, ne retourne rien:
-<pre class="brush: js">// with an empty array, retrieve nothing
+```js
+// with an empty array, retrieve nothing
let gettingItem = browser.storage.local.get([]);
gettingItem.then(onGot, onError);
-// -&gt; Object { }</pre>
+// -> Object { }
+```
-<p>Avec le nom d'un objet, récupérez la correspondance :</p>
+Avec le nom d'un objet, récupérez la correspondance :
-<pre class="brush: js">let gettingItem = browser.storage.local.get("kitten");
+```js
+let gettingItem = browser.storage.local.get("kitten");
gettingItem.then(onGot, onError);
-// -&gt; Object { kitten: Object }</pre>
+// -> Object { kitten: Object }
+```
-<p>Avec un tableau de noms d'objets, récupérez toutes les correspondances :</p>
+Avec un tableau de noms d'objets, récupérez toutes les correspondances :
-<pre class="brush: js">let gettingItem = browser.storage.local.get(["kitten", "monster", "grapefruit"]);
+```js
+let gettingItem = browser.storage.local.get(["kitten", "monster", "grapefruit"]);
gettingItem.then(onGot, onError);
-// -&gt; Object { kitten: Object, monster: Object } </pre>
+// -> Object { kitten: Object, monster: Object }
+```
-<p>Avec un objet avec des noms d'objets en tant que clefs et la valeur par défaut en tant que valeur :</p>
+Avec un objet avec des noms d'objets en tant que clefs et la valeur par défaut en tant que valeur :
-<pre class="brush: js">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);
}
});
-// -&gt; Object { kitten: Object, monster: Object, grapefruit: Object }
-</pre>
-
-<p>{{WebExtExamples}}</p>
+// -> Object { kitten: Object, monster: Object, grapefruit: Object }
+```
-<h3 id="Chrome_exemples">Chrome exemples</h3>
+{{WebExtExamples}}
-<pre class="brush: js">chrome.storage.local.get("kitten", function(items){
- console.log(items.kitten); // -&gt; {name:"Mog", eats:"mice"}
-});</pre>
+### Chrome exemples
-<p class="brush: js">Ou avec une fonction de flèche</p>
-
-<pre class="brush: js">chrome.storage.local.get("kitten", items=&gt;{
- console.log(items.kitten); // -&gt; {name:"Mog", eats:"mice"}
-});</pre>
+```js
+chrome.storage.local.get("kitten", function(items){
+ console.log(items.kitten); // -> {name:"Mog", eats:"mice"}
+});
+```
-<div class="note"><p><strong>Note :</strong></p>
+Ou avec une fonction de flèche
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
+```js
+chrome.storage.local.get("kitten", items=>{
+ console.log(items.kitten); // -> {name:"Mog", eats:"mice"}
+});
+```
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient la quantité d'espace de stockage, en octets, utilisé un ou plusieurs éléments stockés dans la zone de stockage.</p>
+Obtient la quantité d'espace de stockage, en octets, utilisé un ou plusieurs éléments stockés dans la zone de stockage.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingSpace = browser.storage.&lt;storageType&gt;.getBytesInUse(
+```js
+var gettingSpace = browser.storage.<storageType>.getBytesInUse(
keys // null, string, or array of strings
)
-</pre>
+```
-<p><code>&lt;storageType&gt;</code> sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}.</p>
+`<storageType>` sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}.
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>keys</code></dt>
- <dd>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 à <code>null</code> ou <code>indéfini</code> ici, la fonction retournera l'espace utilisé par l'ensemble de la zone de stockage.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un entier, <code>bytesUsed</code>, représentant l'espace de stockage utilisé par les objets spécifiés dans les <code>clefs</code>. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.storage.StorageArea.getBytesInUse")}}</p>
+{{Compat("webextensions.api.storage.StorageArea.getBytesInUse")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>StorageArea est un objet représentant une zone de stockage.</p>
+StorageArea est un objet représentant une zone de stockage.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets.</p>
+Les valeurs de ce type sont des objets.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<dl>
- <dt>{{WebExtAPIRef("storage.StorageArea.get()")}}</dt>
- <dd>Récupère un ou plusieurs éléments de la zone de stockage..</dd>
- <dt>{{WebExtAPIRef("storage.StorageArea.getBytesInUse()")}}</dt>
- <dd>Obtient la quantité d'espace de stockage (en octets) utilisée pour stocker un ou plusieurs éléments dans la zone de stockage.</dd>
- <dt>{{WebExtAPIRef("storage.StorageArea.set()")}}</dt>
- <dd>Stocke un ou plusieurs éléments dans la zone de stockage. Si un élément existe déjà, sa valeur sera mise à jour.</dd>
- <dt>{{WebExtAPIRef("storage.StorageArea.remove()")}}</dt>
- <dd>Supprime un ou plusieurs éléments de la zone de stockage.</dd>
- <dt>{{WebExtAPIRef("storage.StorageArea.clear()")}}</dt>
- <dd>Supprime tous les éléments de la zone de stockage.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.storage.StorageArea")}}</p>
+{{Compat("webextensions.api.storage.StorageArea")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -77,5 +73,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime un ou plusieurs éléments de la zone de stockage.</p>
+Supprime un ou plusieurs éléments de la zone de stockage.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">let removingItem = browser.storage.&lt;storageType&gt;.remove(
+```js
+let removingItem = browser.storage.<storageType>.remove(
keys // string, or array of strings
)
-</pre>
+```
-<p><code>&lt;storageType&gt;</code> sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}.</p>
+`<storageType>` sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}.
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>keys</code></dt>
- <dd>Une chaîne ou un tableau de chaînes représentant la ou les clés de l'élément à supprimer.</dd>
-</dl>
+- `keys`
+ - : Une chaîne ou un tableau de chaînes représentant la ou les clés de l'élément à supprimer.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.storage.StorageArea.remove")}}</p>
+{{Compat("webextensions.api.storage.StorageArea.remove")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprimer un seul élément:</p>
+Supprimer un seul élément:
-<pre class="brush: js">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);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Stocke un ou plusieurs éléments dans la zone de stockage ou met à jour les éléments existants..</p>
+Stocke un ou plusieurs éléments dans la zone de stockage ou met à jour les éléments existants..
-<p>Lorsque vous stockez ou mettez à jour une valeur à l'aide de cette API, l'événement  {{WebExtAPIRef("storage.onChanged")}} se déclenche.</p>
+Lorsque vous stockez ou mettez à jour une valeur à l'aide de cette API, l'événement  {{WebExtAPIRef("storage.onChanged")}} se déclenche.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">let settingItem = browser.storage.&lt;storageType&gt;.set(
+```js
+let settingItem = browser.storage.<storageType>.set(
keys // object
)
-</pre>
+```
-<p><code>&lt;storageType&gt;</code> sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}.</p>
+`<storageType>` sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}.
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>keys</code></dt>
- <dd>
- <p>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.</p>
+- `keys`
- <p>Les valeurs peuvent être des <a href="/fr/docs/Glossary/Primitive">types primitifs</a> tels que des nombres, des booléens et des chaînes) ou des types de <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Array">tableau</a></code>.</p>
+ - : 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.
- <p>Il n'est généralement pas possible de stocker d'autres types, tels que <code>Function</code>, <code>Date</code>, <code>RegExp</code>, <code>Set</code>, <code>Map</code>, <code>ArrayBuffer</code> et etc. Certains de ces types non pris en charge seront restaurés en tant qu'objet vide, et d'autres entraîneront <code>set()</code> à lancer une erreur. Le comportement exact ici est spécifique au navigateur.</p>
- </dd>
-</dl>
+ 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).
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ 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.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+### Valeur retournée
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+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.
-<p>{{Compat("webextensions.api.storage.StorageArea.set")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.storage.StorageArea.set")}}
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}`StorageChange` est un objet représentant une modification d'une zone de stockage.
-<div><code>StorageChange</code> est un objet représentant une modification d'une zone de stockage.</div>
+## Type
-<h2 id="Type">Type</h2>
+Les objets `StorageChange` contiennent les propriétés suivantes :
-<p>Les objets <code>StorageChange</code> contiennent les propriétés suivantes :</p>
+- `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.
-<dl>
- <dt><code>oldValue</code>{{optional_inline}}</dt>
- <dd>L'ancienne valeur de l'article, s'il y avait une ancienne valeur. Cela peut être n'importe quel type de données.</dd>
- <dt><code>newValue</code>{{optional_inline}}</dt>
- <dd>La nouvelle valeur de l'article, s'il y a une nouvelle valeur. Cela peut être n'importe quel type de données.</dd>
-</dl>
+## Compatibilité du navigateur
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{Compat("webextensions.api.storage.StorageChange")}}
-<p>{{Compat("webextensions.api.storage.StorageChange")}}</p>
+{{WebExtExamples}}
-<p>{{WebExtExamples}}</p>
+> **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.
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +63,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageChange
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Représente la zone de stockage <code>sync</code> (pour la synchronisation). Les éléments stockés dans le stockage <code>sync</code> 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.</p>
+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.
-<p>Pour Firefox, il faut au préalable avoir coché « Modules complémentaires » dans les options « Réglages de Sync » dans « <code>about:preferences</code>.</p>
+Pour Firefox, il faut au préalable avoir coché « Modules complémentaires » dans les options « Réglages de Sync » dans « `about:preferences`.
-<p>Notez que l'implémentation de <code>storage.sync</code> dans Firefox repose sur l'ID de l'extension. Si vous utilisez <code>storage.sync</code>, vous devez définir un ID pour votre extension à l'aide de la clé de manifeste <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings">browser_specific_settings</a></code>.</p>
+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).
-<p>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.</p>
+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.
-<h2 id="quotas_de_stockage_pour_les_données_synchronisées">Quotas de stockage pour les données synchronisées</h2>
+## Quotas de stockage pour les données synchronisées
-<p>Le navigateur impose des limites sur la quantité de données que chaque extension peut stocker dans le stockage sync :</p>
+Le navigateur impose des limites sur la quantité de données que chaque extension peut stocker dans le stockage sync :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Nom</th>
- <th scope="col">Description</th>
- <th scope="col">Valeur en octets</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>Taille de stockage maximale</td>
- <td>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é.</td>
- <td>102400</td>
- </tr>
- <tr>
- <td>Taille maximale d'un élément</td>
- <td>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é.</td>
- <td>8192</td>
- </tr>
- <tr>
- <td>Nombre maximal d'éléments</td>
- <td>Le nombre maximal d'éléments que chaque extension peut stocker dans l'espace de stockage sync.</td>
- <td>
- <p>512</p>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Description</th>
+ <th scope="col">Valeur en octets</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Taille de stockage maximale</td>
+ <td>
+ 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é.
+ </td>
+ <td>102400</td>
+ </tr>
+ <tr>
+ <td>Taille maximale d'un élément</td>
+ <td>
+ 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é.
+ </td>
+ <td>8192</td>
+ </tr>
+ <tr>
+ <td>Nombre maximal d'éléments</td>
+ <td>
+ Le nombre maximal d'éléments que chaque extension peut stocker dans
+ l'espace de stockage sync.
+ </td>
+ <td><p>512</p></td>
+ </tr>
+ </tbody>
</table>
-<p>Si une extension tente de stocker des éléments qui dépassent ces limites, l'appel à <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set">storage.sync.set()</a></code> sera rejeté avec une erreur. Une extension peut utiliser <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/getBytesInUse">storage.sync.getBytesInUse()</a></code> afin de connaître le quota d'espace déjà utilisé.</p>
+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é.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<p>L'objet <code>sync</code> implémente les méthodes définies sur le type {{WebExtAPIRef("storage.StorageArea")}} :</p>
+L'objet `sync` implémente les méthodes définies sur le type {{WebExtAPIRef("storage.StorageArea")}} :
-<dl>
- <dt><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/get"><code>storage.StorageArea.get()</code></a></dt>
- <dd>Récupère un ou plusieurs éléments de la zone de stockage.</dd>
- <dt><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/getBytesInUse"><code>storage.StorageArea.getBytesInUse()</code></a></dt>
- <dd>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.</dd>
- <dt><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set"><code>storage.StorageArea.set()</code></a></dt>
- <dd>Stocke un ou plusieurs éléments dans la zone de stockage. Si l'élément existe déjà, sa valeur est mise à jour.</dd>
- <dt><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/remove"><code>storage.StorageArea.remove()</code></a></dt>
- <dd>Supprime un ou plusieurs éléments de la zone de stockage.</dd>
- <dt><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/clear"><code>storage.StorageArea.clear()</code></a></dt>
- <dd>Supprime tous les éléments de la zone de stockage.</dd>
- </dl>
+- [`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.
-<h2 id="compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat}}</p>
+{{Compat}}
-<p><strong>Remerciements :</strong></p>
+**Remerciements :**
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> dans le code de Chromium.</p>
+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.
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -105,5 +110,4 @@ browser-compat: webextensions.api.storage.sync
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Crée un URI de données codant une image de la zone visible de l'onglet donné. Vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>&lt;all_urls&gt;</code> pour utiliser cette méthode.</p>
+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) `<all_urls>` pour utiliser cette méthode.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var capturing = browser.tabs.captureTab(
+```js
+var capturing = browser.tabs.captureTab(
tabId, // optional integer
options // optional extensionTypes.ImageDetails
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. ID de l'onglet à capturer. Par défaut à l'onglet actif dans la fenêtre en cours.</dd>
- <dt><code>options</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('extensionTypes.ImageDetails')}}.</dd>
-</dl>
+- `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')}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Capturez une image de l'onglet actif dans la fenêtre actuelle, avec les paramètres par défaut :</p>
+Capturez une image de l'onglet actif dans la fenêtre actuelle, avec les paramètres par défaut :
-<pre class="brush: js">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);
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.captureTab")}}</p>
+{{Compat("webextensions.api.tabs.captureTab")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -96,5 +94,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>&lt;all_urls&gt;</code> pour utiliser cette méthode. (Alternativement, Chrome permet l'utilisation de cette méthode avec la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>activeTab</code> et un geste utilisateur qualifiant).</p>
+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) `<all_urls>` 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).
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var capturing = browser.tabs.captureVisibleTab(
+```js
+var capturing = browser.tabs.captureVisibleTab(
windowId, // optional integer
options // optional extensionTypes.ImageDetails
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. La fenêtre cible Par défaut à la fenêtre actuelle.</dd>
- <dt><code>options</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('extensionTypes.ImageDetails')}}.</dd>
-</dl>
+- `windowId`{{optional_inline}}
+ - : `integer`. La fenêtre cible Par défaut à la fenêtre actuelle.
+- `options`{{optional_inline}}
+ - : {{WebExtAPIRef('extensionTypes.ImageDetails')}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Capturez une image de l'onglet actif dans la fenêtre actuelle, avec les paramètres par défaut :</p>
+Capturez une image de l'onglet actif dans la fenêtre actuelle, avec les paramètres par défaut :
-<pre class="brush: js">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);
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.captureVisibleTab")}}</p>
+{{Compat("webextensions.api.tabs.captureVisibleTab")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -99,5 +97,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">scripts de contenu</a> appartenant à cette extension et s'exécutant dans l'onglet spécifié. Cette fonction renvoie un objet {{WebExtAPIRef("runtime.Port")}}.</p>
+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")}}.
-<p>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 <code>Port</code> pour échanger des messages.</p>
+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.
-<p>Pour plus de détails, voir <a href="/fr/Add-ons/WebExtensions/Content_scripts#Connection-based_messaging">connection-based messaging</a>.</p>
+Pour plus de détails, voir [connection-based messaging](/fr/Add-ons/WebExtensions/Content_scripts#Connection-based_messaging).
-<h2 id="Syntax">Syntax</h2>
+## Syntax
-<pre class="brush: js">browser.tabs.connect(
+```js
+browser.tabs.connect(
tabId, // integer
connectInfo // optional object
)
-</pre>
+```
-<h3 id="Parameters">Parameters</h3>
+### Parameters
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID of the tab whose content scripts we want to connect to.</dd>
- <dt><code>connectInfo</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>name</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Will be passed into {{WebExtAPIRef("runtime.onConnect")}} event listeners in content scripts belonging to this extension and running in the specified tab.</dd>
- <dt><code>frameId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Open a port to a specific frame identified by <code>frameId</code> instead of all frames in the tab.</dd>
- </dl>
- </dd>
-</dl>
+- `tabId`
+ - : `integer`. ID of the tab whose content scripts we want to connect to.
+- `connectInfo`{{optional_inline}}
-<h3 id="Return_value">Return value</h3>
+ - : `object`.
-<p>{{WebExtAPIRef('runtime.Port')}}. A port that can be used to communicate with the content scripts running in the specified tab.</p>
+ - `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.
-<h2 id="Examples">Examples</h2>
+### Return value
-<p>In this example a background script listens for a click on a <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2">browser action</a>, then connects to the currently active tab, then sends a message using the <code>Port</code> that's returned from <code>connect()</code>:</p>
+{{WebExtAPIRef('runtime.Port')}}. A port that can be used to communicate with the content scripts running in the specified tab.
-<pre class="brush: js">function connectToTab(tabs) {
- if (tabs.length &gt; 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);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+```
-<p>{{Compat("webextensions.api.tabs.connect")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.connect")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -116,5 +113,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Crée un nouvel onglet</p>
+Crée un nouvel onglet
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var creating = browser.tabs.create(
+```js
+var creating = browser.tabs.create(
createProperties // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>createProperties</code></dt>
- <dd><p><code>object</code>.Propriétés pour donner le nouvel onglet. Pour en savoir plus sur ces propriétés, consultez la documentation {{WebExtAPIRef("tabs.Tab")}}.</p>
- <dl>
- <dt><code>active</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si l'onglet doit devenir l'onglet actif dans la fenêtre. Si elle est <code>false</code>, elle n'a aucun effet. N'affecte pas si la fenêtre est mise au point (voir {{WebExtAPIRef('windows.update')}}). Par défaut à  <code>true</code>.</dd>
- <dt><code>cookieStoreId</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Utilisez-le pour créer un onglet dont l'ID de cookie estCette option n'est disponible que si l'extension a  la  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"cookies".</code></dd>
- <dt><code>index</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>openerTabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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éé.</dd>
- <dt><code>openInReaderMode</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. si <code>true</code>, ouvrez cet onglet en <a href="/fr/Add-ons/WebExtensions/API/tabs/toggleReaderMode">mode lecture</a>. Par défaut à  <code>false</code>.</dd>
- <dt><code>pinned</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si l'onglet doit être épinglé. Par défaut à <code>false</code>.</dd>
- <dt><code>selected</code>{{optional_inline}}</dt>
- <dd><p><code>boolean</code>. Si l'onglet doit devenir l'onglet sélectionné dans la fenêtre. Par défaut à <code>true</code>.</p>
- <div class="warning"><p><strong>Attention :</strong> Cette propriété est obsolète et n'est pas prise en charge dans Firefox. Utilisez  <code>actif</code> à la place.</p></div>
- </dd>
- <dt><code>url</code>{{optional_inline}}</dt>
- <dd><p><code>string</code>. 'URL permettant de naviguer dans l'onglet initialement. Par défaut à la page Nouvel onglet.</p>
- <p>Les URL complètes doivent inclure un schéma (i.e. 'http://www.google.com', par 'www.google.com').</p>
- <p>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 :</p>
- <ul>
- <li>chrome: URLs</li>
- <li>javascript: URLs</li>
- <li>data: URLs</li>
- <li>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)</li>
- <li>privileged about: URLs (par exemple, <code>about:config</code>, <code>about:addons</code>, <code>about:debugging</code>). Les URL non privilégiées (e.g., <code>about:blank</code>) sont autorisés.</li>
- <li>La page Nouvel onglet (<code>about:newtab</code>) peut être ouverte si aucune valeur n'est fournie pour l'URL.</li>
- </ul>
-
- <p>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.</p>
- </dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. La fenêtre pour créer le nouvel onglet. Par défaut à la fenêtre actuelle.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>A <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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 <code>url</code> used a privileged scheme) the promise will be rejected with an error message.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ouvre "https://example.org" dans un nouvel onglet :</p>
-
-<pre class="brush: js">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);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+});
+```
-<p>{{Compat("webextensions.api.tabs.create", 10)}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.create", 10)}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -133,5 +135,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Détecte la langue principale du contenu dans un onglet, en utilisant le <a href="https://github.com/CLD2Owners/cld2">détecteur de langue compact</a> (CLD).</p>
+Détecte la langue principale du contenu dans un onglet, en utilisant le [détecteur de langue compact](https://github.com/CLD2Owners/cld2) (CLD).
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var detecting = browser.tabs.detectLanguage(
+```js
+var detecting = browser.tabs.detectLanguage(
tabId, // optional integer
callback // optional function
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId </code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Par défaut à l'onglet actif de la fenêtre en cours.</dd>
- <dt><code>callback </code>{{optional_inline}}</dt>
- <dd><code>function</code>. Actuellement, si un <code>tabId</code> 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é <code>en</code> ou <code>fr</code>.</dd>
-</dl>
+- `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`.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>qui sera remplie avec une chaîne représentant un code de langue ISO tel que <code>en</code> ou <code>fr</code>. Pour une liste complète des langues prises en charge par cette méthode, see <a href="https://src.chromium.org/viewvc/chrome/trunk/src/third_party/cld/languages/internal/languages.cc#l23">kLanguageInfoTable</a>. Pour une langue inconnue, <code>"und"</code> sera retourné (mais voir <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1288263">bug 1288263</a>). Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Détecter et enregistrer la langue de l'onglet actif lorsque l'utilisateur clique sur une action du navigateur :</p>
+Détecter et enregistrer la langue de l'onglet actif lorsque l'utilisateur clique sur une action du navigateur :
-<pre class="brush: js">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);
-});</pre>
+});
+```
-<p>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "tabs") :</p>
+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") :
-<pre class="brush: js">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);
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## 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.
-<p>{{Compat("webextensions.api.tabs.detectLanguage")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -123,5 +122,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Rejette un ou plusieurs onglets.</p>
+Rejette un ou plusieurs onglets.
-<p>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é.</p>
+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é.
-<p>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.</p>
+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.
-<p>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 <code><a href="/fr/docs/Web/Events/beforeunload">beforeunload</a></code> qui afficherait une invite.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var discarding = browser.tabs.discard(
+```js
+var discarding = browser.tabs.discard(
tabIds // integer or integer array
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabIds</code></dt>
- <dd><code><code>integer</code></code> or <code><code>array</code></code> of <code><code><code>integer</code></code></code>. Les ID de l'onglet ou des onglets à ignorer.</dd>
-</dl>
+- `tabIds`
+ - : `integer` or `array` of `integer`. Les ID de l'onglet ou des onglets à ignorer.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Supprimer un seul onglet :</p>
+Supprimer un seul onglet :
-<pre class="brush: js">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);</pre>
+discarding.then(onDiscarded, onError);
+```
-<p>Ignorer plusieurs onglets :</p>
+Ignorer plusieurs onglets :
-<pre class="brush: js">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);</pre>
+discarding.then(onDiscarded, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.discard", 10)}}</p>
+{{Compat("webextensions.api.tabs.discard", 10)}}
-<div class="note"><p><strong>Note :</strong></p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript).
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -109,5 +110,4 @@ discarding.then(onDiscarded, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Duplique un onglet dont l'identifiant est donné.</p>
+Duplique un onglet dont l'identifiant est donné.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">promesse (<code>Promise</code>)</a>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [promesse (`Promise`)](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise).
-<h2 id="syntax">Syntaxe</h2>
+## Syntaxe
-<pre class="brush:js">
+```js
let duplicating = browser.tabs.duplicate(
tabId, // entier
duplicateProperties // objet optionnel
);
-</pre>
+```
-<h3 id="parameters">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'identifiant de l'onglet à dupliquer.</dd>
- <dt><code>duplicateProperties</code> Optionnel</dt>
- <dd><p><code>object</code>. Un objet décrivant la façon dont l'onglet est dupliqué. Il contient les propriétés suivantes :</p>
- <dl>
- <dt><code><var>index</var></code> Optionnel</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code><var>active</var></code> Optionnel</dt>
- <dd>
- <p><code>boolean</code>. Si l'onglet devient l'onglet actif dans la fenêtre. Cela ne change pas l'état du focus pour la fenêtre. <code>true</code> par défaut.</p>
- </dd>
- </dl>
- </dd>
-</dl>
+- `tabId`
+ - : `integer`. L'identifiant de l'onglet à dupliquer.
+- `duplicateProperties` Optionnel
-<h3 id="return_value">Valeur de retour</h3>
+ - : `object`. Un objet décrivant la façon dont l'onglet est dupliqué. Il contient les propriétés suivantes :
-<p>Une <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">promesse (<code>Promise</code>)</a> dont la valeur de résolution sera un objet <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/Tab"><code>tabs.Tab</code></a> contenant des détails sur l'onglet dupliqué. L'objet <code>Tab</code> contiendra les propriétés <code>url</code>, <code>title</code> et <code>favIconUrl</code> uniquement si l'extension dispose de la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions"> permission <code>"tabs"</code></a> ou lorsque <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#host_permissions">l'hôte correspond à un hôte ciblé dans les permissions</a>. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.</p>
+ - `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.
-<div class="note">
-<p><strong>Note :</strong> À partir de Firefox 68, la promesse renvoyée par <code>browser.tabs.duplicate()</code> 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é.</p>
-</div>
+### Valeur de retour
-<h2 id="Exemples">Exemples</h2>
+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.
-<p>Duplique le premier onglet, puis affiche l'identifiant de l'onglet nouvellement créé :</p>
+> **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é.
-<pre class="brush: js">
+## 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 &gt; 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);</pre>
-
-<h3 id="example_extensions">Exemple d'extensions</h3>
-
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs">tabs-tabs-tabs</a></li>
-</ul>
+querying.then(duplicateFirstTab, onError);
+```
-<h2 id="browser_compatibility">Compatibilité des navigateurs</h2>
+### Exemple d'extensions
-<p>{{Compat}}</p>
+- [tabs-tabs-tabs](https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs)
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité des navigateurs
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -116,5 +106,4 @@ querying.then(duplicateFirstTab, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Injecte du code JavaScript dans une page.</p>
+Injecte du code JavaScript dans une page.
-<p>Vous pouvez injecter du code dans des pages dont l'URL peut être exprimée à l'aide d'un <a href="/fr/Add-ons/WebExtensions/Match_patterns">modèle de correspondance </a>: 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 <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission d'hôte</a>, ou via la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission">permission activeTab</a>.</p>
+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).
-<p>Vous pouvez également injecter du code dans des pages empaquetées avec votre propre extension :</p>
+Vous pouvez également injecter du code dans des pages empaquetées avec votre propre extension :
-<pre class="brush: js">browser.tabs.create({url: "/my-page.html"}).then(() =&gt; {
+```js
+browser.tabs.create({url: "/my-page.html"}).then(() => {
browser.tabs.executeScript({
code: `console.log('location:', window.location.href);`
});
-});</pre>
+});
+```
-<p>Vous n'avez pas besoin de permissions spéciales pour le faire.</p>
+Vous n'avez pas besoin de permissions spéciales pour le faire.
-<p>Vous <em>ne pouvez pas</em> 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.</p>
+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.
-<p>Les scripts que vous injectez s’appellent des scripts de contenu. <a href="/fr/Add-ons/WebExtensions/Content_scripts">En savoir plus sur les scripts de contenu</a>.</p>
+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).
-<p>Il s’agit d’une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s’agit d’une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var executing = browser.tabs.executeScript(
+```js
+var executing = browser.tabs.executeScript(
tabId, // optional integer
details // object
)
-</pre>
+```
+
+### Paramètres
-<h3 id="Paramètres">Paramètres</h3>
+- `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`
-<dl>
- <dt><code>tabId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. L’ID de l’onglet dans lequel exécuter le script. Par défaut, l’onglet actif de la fenêtre en cours.</dd>
- <dt><code>details</code></dt>
- <dd><p>Un objet décrivant le script à exécuter. Il contient les propriétés suivantes :</p>
- <dl>
- <dt><code>allFrames</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si <code>true</code>, le code sera injecté dans toutes les cadres de la page courante. Si <code>true</code> et <code>frameId</code> est défini, alors il y aura une erreur, frameId et allFrames sont mutuellement exclusifs. Si c'est <code>false</code>, le code n'est injecté que dans le cadre supérieur. La valeur par défaut est <code>false</code>.</dd>
- <dt><code>code </code>{{optional_inline}}</dt>
- <dd><code>string</code>. Code à injecter, sous la forme d’une chaine de texte. <strong>Attention :</strong> 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é.</dd>
- <dt><code>file</code> {{optional_inline}}</dt>
- <dd><code>string</code>. 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 : <code>"/path/to/script.js"</code>.</dd>
- <dt><code>frameId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. Le cadre où le code doit être injecté. La valeur par défaut est <code>0</code> (le cadre de niveau supérieur).</dd>
- <dt><code>matchAboutBlank</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si <code>true</code>, le code sera injecté dans des cadres <code>about:blank</code> et <code>about:srcdoc</code> inclus depuis une page si votre extension a accès à leur document parent. Le code ne peut pas être inséré dans les cadres <code>about:</code> de niveau supérieur. Par défaut, <code>false</code>.</dd>
- <dt><code>runAt</code> {{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('extensionTypes.RunAt')}}. Le moment le plus tôt auquel le code sera injecté dans l’onglet. Par défaut, <code>document_idle</code>.</dd>
- </dl>
- </dd>
-</dl>
+ - : Un objet décrivant le script à exécuter. Il contient les propriétés suivantes :
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+ - `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`.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> résolue avec un tableau d’objets représentant le résultat du script dans chaque cadre où le script a été injecté.</p>
+### Valeur de retour
-<p>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 <code>console.log()</code>) si vous exécutiez le script dans la <a href="/fr/docs/Outils/Console_Web">Console Web</a>. Par exemple, considérez un script comme celui-ci :</p>
+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é.
-<pre class="brush: js">var foo='my result';foo;</pre>
+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 :
-<p>Ici, le tableau des résultats contiendra la chaîne <code>"my result"</code> en tant qu’élément. Les valeurs de résultat doivent être <a href="/fr/docs/Web/API/Web_Workers_API/algorithme_clonage_structure">clonables tructurées</a>. La dernière déclaration peut également être une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>, mais cette fonctionnalité n'est pas supportée par la bibliothèque <a href="https://github.com/mozilla/webextension-polyfill#tabsexecutescript">webextension-polyfill</a>.<br>
- Si une erreur se produit, la promesse sera rejetée avec un message d’erreur.</p>
+```js
+var foo='my result';foo;
+```
-<h2 id="Exemples">Exemples</h2>
+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.
-<p>Cet exemple exécute un extrait de code d’une ligne dans l’onglet actuellement actif :</p>
+## Exemples
-<pre class="brush: js">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);</pre>
+executing.then(onExecuted, onError);
+```
-<p>L’exemple suivant exécute un script à partir d’un fichier empaqueté avec l’extension appelé <code>content-script.js</code>. 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 :</p>
+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 :
-<pre class="brush: js">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);</pre>
+executing.then(onExecuted, onError);
+```
-<p>L’exemple suivant exécute un script à partir d’un fichier empaqueté avec l’extension appelé <code>content-script.js</code>. Le script est exécuté dans l’onglet ayant l’ID 2 :</p>
+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 :
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
+executing.then(onExecuted, onError);
+```
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.tabs.executeScript")}}</p>
+## Compatibilité des navigateurs
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.tabs.executeScript")}}
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -169,5 +175,4 @@ executing.then(onExecuted, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Étant donné un ID d'onglet, obtenez les détails de l'onglet en tant qu'objet {{WebExtAPIRef("tabs.Tab")}}.</p>
+Étant donné un ID d'onglet, obtenez les détails de l'onglet en tant qu'objet {{WebExtAPIRef("tabs.Tab")}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getting = browser.tabs.get(
+```js
+var getting = browser.tabs.get(
tabId // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet à obtenir.</dd>
-</dl>
+- `tabId`
+ - : `integer`. ID de l'onglet à obtenir.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtenir des informations sur un onglet lorsqu'il est activé :</p>
+Obtenir des informations sur un onglet lorsqu'il est activé :
-<pre class="brush: js">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);</pre>
+browser.tabs.onActivated.addListener(logListener);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.get")}}</p>
+{{Compat("webextensions.api.tabs.get")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -91,5 +90,4 @@ browser.tabs.onActivated.addListener(logListener);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}
-<div>
-<p><strong>Deprecated</strong><br>
- Cette méthode est dépréciée. Utilisez {{WebExtAPIRef("tabs.query", "tabs.query({currentWindow: true})")}} à la place.</p>
-</div>
-</div>
+{{AddonSidebar}}
-<p>Obtient des détails sur tous les onglets de la fenêtre spécifiée.</p>
+**Deprecated**
+Cette méthode est dépréciée. Utilisez {{WebExtAPIRef("tabs.query", "tabs.query({currentWindow: true})")}} à la place.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>.</p>
+Obtient des détails sur tous les onglets de la fenêtre spécifiée.
-<h2 id="Syntaxe">Syntaxe</h2>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise).
-<pre class="brush: js">var getting = browser.tabs.getAllInWindow(
+## Syntaxe
+
+```js
+var getting = browser.tabs.getAllInWindow(
windowId // optional integer
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>windowId</code>{{Optional_Inline}}</dt>
- <dd><code>integer</code>. Par défaut à la fenêtre actuelle.</dd>
-</dl>
+```
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Paramètres
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code> qui sera remplie avec un <code>tableau</code> d'ojets <code>{{WebExtAPIRef('tabs.Tab')}}</code> 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.</p>
+- `windowId`{{Optional_Inline}}
+ - : `integer`. Par défaut à la fenêtre actuelle.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.tabs.getAllInWindow")}}</p>
+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.
-<p>{{WebExtExamples}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.tabs.getAllInWindow")}}
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -84,5 +79,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/getAllInWindow
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtenez un {{WebExtAPIRef("tabs.Tab")}} contenant des informations sur l'onglet dans lequel ce script s'exécute.</p>
+Obtenez un {{WebExtAPIRef("tabs.Tab")}} contenant des informations sur l'onglet dans lequel ce script s'exécute.
-<p>Vous pouvez appeler cette fonction dans des contextes comportant un onglet de navigateur, par exemple une <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Options_pages">pages d'options</a>. Si vous l'appelez à partir d'un script d'arrière-plan ou d'une fenêtre contextuelle, elle renverra undefined.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingCurrent = browser.tabs.getCurrent()
-</pre>
+```js
+var gettingCurrent = browser.tabs.getCurrent()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtenir les informations sur l'onglet en cours :</p>
+Obtenir les informations sur l'onglet en cours :
-<pre class="brush: js">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);</pre>
+gettingCurrent.then(onGot, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.getCurrent")}}</p>
+{{Compat("webextensions.api.tabs.getCurrent")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -90,5 +91,4 @@ gettingCurrent.then(onGot, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div class="warning">
-<p><strong>Attention :</strong> Cette méthode est dépréciée. utilisez {{WebExtAPIRef("tabs.query", "tabs.query({active: true})")}} à la place.</p>
-</div>
+> **Attention :** Cette méthode est dépréciée. utilisez {{WebExtAPIRef("tabs.query", "tabs.query({active: true})")}} à la place.
-<p>Obtient l'onglet sélectionné dans la fenêtre spécifiée</p>
+Obtient l'onglet sélectionné dans la fenêtre spécifiée
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingSelected = browser.tabs.getSelected(
+```js
+var gettingSelected = browser.tabs.getSelected(
windowId // optional integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Par défaut à la fenêtre actuelle.</dd>
-</dl>
+- `windowId`{{optional_inline}}
+ - : `integer`. Par défaut à la fenêtre actuelle.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet <a href="/fr/Add-ons/WebExtensions/API/tabs/Tab"><code>tabs.Tab</code></a> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.getSelected")}}</p>
+{{Compat("webextensions.api.tabs.getSelected")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -83,5 +78,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/getSelected
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient le facteur de zoom actuel pour l'onglet spécifié.</p>
+Obtient le facteur de zoom actuel pour l'onglet spécifié.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingZoom = browser.tabs.getZoom(
+```js
+var gettingZoom = browser.tabs.getZoom(
tabId // optional integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de l'onglet pour obtenir le facteur de zoom actuel. Par défaut à l'onglet actif de la fenêtre en cours.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtenez le facteur de zoom  pour l'onglet actuel :</p>
+Obtenez le facteur de zoom  pour l'onglet actuel :
-<pre class="brush: js">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);</pre>
+gettingZoom.then(onGot, onError);
+```
-<p>Obtenez le facteur zoom pour l'onglet dont l'ID est 2:</p>
+Obtenez le facteur zoom pour l'onglet dont l'ID est 2:
-<pre class="brush: js">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);</pre>
+gettingZoom.then(onGot, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.getZoom")}}</p>
+{{Compat("webextensions.api.tabs.getZoom")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -106,5 +107,4 @@ gettingZoom.then(onGot, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient les paramètres de zoom actuels pour un onglet spécifié.</p>
+Obtient les paramètres de zoom actuels pour un onglet spécifié.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingZoomSettings = browser.tabs.getZoomSettings(
+```js
+var gettingZoomSettings = browser.tabs.getZoomSettings(
tabId // optional integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtenez les paramètres de zoom pour l'onglet en cours :</p>
+Obtenez les paramètres de zoom pour l'onglet en cours :
-<pre class="brush: js">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);</pre>
+gettingZoomSettings.then(onGot, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.getZoomSettings")}}</p>
+{{Compat("webextensions.api.tabs.getZoomSettings")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -93,5 +92,4 @@ gettingZoomSettings.then(onGot, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Naviguer à la page précédente dans l'historique de l'onglet, si disponible.</p>
+Naviguer à la page précédente dans l'historique de l'onglet, si disponible.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var withgoingBack = browser.tabs.goBack(
+```js
+var withgoingBack = browser.tabs.goBack(
tabId, // optional integer
callback // optional function
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de l'onglet à naviguer. Par défaut, l'onglet actif de la fenêtre en cours.</dd>
- <dt><code>callback</code>{{optional_inline}}</dt>
- <dd><code>function</code>. Lorsque la navigation sur la page se termine, cette fonction est appelée sans paramètres.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est tenue lorsque la navigation sur la page se termine.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est tenue lorsque la navigation sur la page se termine.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
+{{Compat("webextensions.api.tabs.goBack")}}
+## Exemples
-<p>{{Compat("webextensions.api.tabs.goBack")}}</p>
+Retournez à la page précédente dans l'onglet en cours :
-<h2 id="Exemples">Exemples</h2>
-
-<p>Retournez à la page précédente dans l'onglet en cours :</p>
-
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+goingBack.then(onGoBack, onError);
+```
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/tabs#method-getZoomSettings"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -97,5 +94,4 @@ goingBack.then(onGoBack, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Passez à la page suivante dans l'historique de l'onglet, si disponible.</p>
+Passez à la page suivante dans l'historique de l'onglet, si disponible.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var goingForward = browser.tabs.goForward(
+```js
+var goingForward = browser.tabs.goForward(
tabId, // optional integer
callback // optional function
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de l'onglet à naviguer. Par défaut, l'onglet actif de la fenêtre en cours.</dd>
- <dt><code>callback</code>{{optional_inline}}</dt>
- <dd><code>function</code>. Lorsque la navigation sur la page se termine, cette fonction est appelée sans paramètres.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est tenue lorsque la navigation sur la page se termine.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est tenue lorsque la navigation sur la page se termine.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
+{{Compat("webextensions.api.tabs.goForward")}}
+## Exemples
-<p>{{Compat("webextensions.api.tabs.goForward")}}</p>
+Passez à la page suivante dans l'onglet en cours :
-<h2 id="Exemples">Exemples</h2>
-
-<p>Passez à la page suivante dans l'onglet en cours :</p>
-
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+goingForward.then(onGoForward, onError);
+```
-<p>Cette API est basée sur l'API <a href="https://developer.chrome.com/extensions/tabs#method-getZoomSettings"><code>chrome.tabs</code></a> de Chromium.Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -97,5 +94,4 @@ goingForward.then(onGoForward, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Masque un ou plusieurs onglets.</p>
+Masque un ou plusieurs onglets.
-<p>Les onglets cachés ne sont plus visibles dans l'onglet du navigateur. Les onglets cachés ne sont pas automatiquement <a href="/fr/Add-ons/WebExtensions/API/tabs/discard">supprimés</a> :  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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<p>Tous les onglets ne peuvent pas être masqués :</p>
+Tous les onglets ne peuvent pas être masqués :
-<ul>
- <li>Les onglets épinglés ne peuvent pas être masqués.</li>
- <li>Les onglets qui partagent l'écran, le microphone ou l'appareil photo ne peuvent pas être masqués.</li>
- <li>L'onglet actif actuel ne peut pas être masqué.</li>
- <li>Les onglets en cours de fermeture ne peuvent pas être masqués.</li>
-</ul>
+- 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.
-<p>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.</p>
+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.
-<p>Pour utiliser cette API, vous devez disposer de  la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "tabHide".</p>
+Pour utiliser cette API, vous devez disposer de  la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "tabHide".
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var hiding = browser.tabs.hide(
+```js
+var hiding = browser.tabs.hide(
tabIds // integer or integer array
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabIds</code></dt>
- <dd><p><code>integer</code> or <code>array</code> of <code>integer</code>. Les ID de l'onglet ou des onglets à masquer.</p>
- <p>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 <code>[1, 3]</code>, et <code>1</code> identifie l'onglet actif, alors seulement <code>3</code> seront cachés.</p>
- <p>Cependant, si l'un des ID d'onglet n'est pas valide, l'appel échouera et aucun onglet ne sera masqué.</p>
- </dd>
-</dl>
+- `tabIds`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `integer` or `array` of `integer`. Les ID de l'onglet ou des onglets à masquer.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+ 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.
-<h2 id="Exemples">Exemples</h2>
+ Cependant, si l'un des ID d'onglet n'est pas valide, l'appel échouera et aucun onglet ne sera masqué.
-<p>Masquer un seul onglet :</p>
+### Valeur retournée
-<pre class="brush: js">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);</pre>
+browser.tabs.hide(2).then(onHidden, onError);
+```
-<p>Masquer plusieurs onglets :</p>
+Masquer plusieurs onglets :
-<pre class="brush: js">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);</pre>
+browser.tabs.hide([15, 14, 1]).then(onHidden, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.hide")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{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.
-<div>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.</div>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise).
-<div></div>
+## Syntaxe
-<div>
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>.</p>
-</div>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">var highlighting = browser.tabs.highlight(
+```js
+var highlighting = browser.tabs.highlight(
highlightInfo // object
)
-</pre>
+```
+
+### Paramètres
+
+- `highlightInfo`
+
+ - : `object`.
-<h3 id="Paramètres">Paramètres</h3>
+ - `windowId`{{optional_inline}}
+ - : `integer`. ID de la fenêtre contenant les onglets.
+ - `populate`{{optional_inline}}
-<dl>
- <dt><code>highlightInfo</code></dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. ID de la fenêtre contenant les onglets.</dd>
- <dt><code>populate</code>{{optional_inline}}</dt>
- <dd><p><code>boolean</code>. Par défaut la valeur est <code>true</code>. S'il est défini sur <code>false</code>, l'objet {{WebExtAPIRef('windows.Window')}} n'aura pas de propriété <code>tabs</code> contenant une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets ouverts dans la fenêtre.</p>
- <div class="note">
- <p><strong>Note :</strong> 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é <code>populate</code> à <code>false</code> si vous n'avez pas besoin des détails de l'onglet.</p>
- </div>
- </dd>
- <dt><code>tabs</code></dt>
- <dd><code>array</code> 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 <code>onglets</code> cesseront d'être surlignés. Le premier onglet des <code>onglets</code> devient actif.</dd>
- </dl>
- </dd>
-</dl>
+ - : `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ > **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.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>  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.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.tabs.highlight",2)}}</p>
+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.
-<p>{{WebExtExamples}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.tabs.highlight",2)}}
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -95,5 +85,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/highlight
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
-
-<p>Permet d'interagir avec le système d'onglets du navigateur.</p>
-
-<p>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()")}}.</p>
-
-<p>Vous pouvez utiliser la majeure partie de cette API sans autorisation spéciale. Toutefois :</p>
-
-<ul>
- <li>Pour accéder à <code>Tab.url</code>, <code>Tab.title</code> et <code>Tab.favIconUrl</code>, vous devez avoir la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"tabs"</code>.
-
- <ul>
- <li>Dans Firefox, cela signifie également que vous avez besoin de <code>"tabs"</code> pour {{WebExtAPIRef("tabs.query", "requête d'onglet")}} par URL.</li>
- </ul>
- </li>
- <li>
- <p>Pour utiliser {{WebExtAPIRef("tabs.executeScript()")}} ou {{WebExtAPIRef("tabs.insertCSS()")}}, vous devez avoir les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#host_permissions">permission d'hôte</a> pour l'onglet.</p>
- </li>
-</ul>
-
-<p>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#activetab_permission">permission <code>"activeTab"</code></a>.</p>
-
-<p>De nombreuses opérations d'onglet utilisent un identifiant (<code>id</code>) d'onglet. Les <code>id</code> 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()")}}.</p>
-
-<h2 id="Types">Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("tabs.MutedInfoReason")}}</dt>
- <dd>Spécifie la raison pour laquelle un onglet a été rendu silencieux ou à nouveau sonore.</dd>
- <dt>{{WebExtAPIRef("tabs.MutedInfo")}}</dt>
- <dd>Cet objet contient un booléen indiquant si l'onglet est silencieux et la raison de la dernière modification de l'état.</dd>
- <dt>{{WebExtAPIRef("tabs.PageSettings")}}</dt>
- <dd>
- <p>Permet de contrôler le rendu d'un onglet au format PDF par la méthode {{WebExtAPIRef("tabs.saveAsPDF()")}}.</p>
- </dd>
- <dt>{{WebExtAPIRef("tabs.Tab")}}</dt>
- <dd>Ce type contient des informations sur un onglet.</dd>
- <dt>{{WebExtAPIRef("tabs.TabStatus")}}</dt>
- <dd>Indique si l'onglet a fini de charger.</dd>
- <dt>{{WebExtAPIRef("tabs.WindowType")}}</dt>
- <dd>Le type de fenêtre qui héberge cet onglet.</dd>
- <dt>{{WebExtAPIRef("tabs.ZoomSettingsMode")}}</dt>
- <dd>Définit si les modifications de zoom sont traitées par le navigateur, par l'extension ou sont désactivées.</dd>
- <dt>{{WebExtAPIRef("tabs.ZoomSettingsScope")}}</dt>
- <dd>Définit si les modifications de zoom persisteront pour l'origine de la page ou ne prendront effet que dans cet onglet.</dd>
- <dt>{{WebExtAPIRef("tabs.ZoomSettings")}}</dt>
- <dd>Définit les paramètres de zoom {{WebExtAPIRef("tabs.ZoomSettingsMode", "mode")}}, {{WebExtAPIRef("tabs.ZoomSettingsScope", "scope")}}, et le facteur de zoom par défaut.</dd>
-</dl>
-
-<h2 id="Propriétés">Propriétés</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("tabs.TAB_ID_NONE")}}</dt>
- <dd>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 <em>devtools</em>).</dd>
-</dl>
-
-<h2 id="Fonctions">Fonctions</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("tabs.captureTab()")}}</dt>
- <dd>Crée un URI de données codant une image de la zone visible de l'onglet donné.</dd>
- <dt>{{WebExtAPIRef("tabs.captureVisibleTab()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("tabs.connect()")}}</dt>
- <dd>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Popups">popups</a> ou les scripts de page d'options) et les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">scripts de contenu</a> s'exécutant dans l'onglet spécifié.</dd>
- <dt>{{WebExtAPIRef("tabs.create()")}}</dt>
- <dd>Crée un nouvel onglet.</dd>
- <dt>{{WebExtAPIRef("tabs.detectLanguage()")}}</dt>
- <dd>Détecte la langue principale du contenu dans un onglet.</dd>
- <dt>{{WebExtAPIRef("tabs.discard()")}}</dt>
- <dd>Évince un ou plusieurs onglets.</dd>
- <dt>{{WebExtAPIRef("tabs.duplicate()")}}</dt>
- <dd>Duplique un onglet.</dd>
- <dt>{{WebExtAPIRef("tabs.executeScript()")}}</dt>
- <dd>Injecte du code JavaScript dans une page.</dd>
- <dt>{{WebExtAPIRef("tabs.get()")}}</dt>
- <dd>Obtient des détails sur l'onglet spécifié.</dd>
- <dt>{{WebExtAPIRef("tabs.getAllInWindow()")}} {{deprecated_inline}}</dt>
- <dd>Obtient des détails sur tous les onglets de la fenêtre spécifiée.</dd>
- <dt>{{WebExtAPIRef("tabs.getCurrent()")}}</dt>
- <dd>Obtient des informations sur l'onglet dans lequel ce script s'exécute, en tant qu'objet {{WebExtAPIRef("tabs.Tab")}}.</dd>
- <dt>{{WebExtAPIRef("tabs.getSelected()")}} {{deprecated_inline}}</dt>
- <dd>Obtient l'onglet sélectionné dans la fenêtre spécifiée. <strong>Deprecated: utilisez plutôt <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query"><code>tabs.query({active: true})</code></a>.</strong></dd>
- <dt>{{WebExtAPIRef("tabs.getZoom()")}}</dt>
- <dd>Obtient le facteur de zoom actuel de l'onglet spécifié.</dd>
- <dt>{{WebExtAPIRef("tabs.getZoomSettings()")}}</dt>
- <dd>Obtient les paramètres de zoom actuels pour l'onglet spécifié.</dd>
- <dt>{{WebExtAPIRef("tabs.goForward()")}}</dt>
- <dd>Passez à la page suivante, si vous en avez une.</dd>
- <dt>{{WebExtAPIRef("tabs.goBack()")}}</dt>
- <dd>Retour à la page précédente, si elle est disponible.</dd>
- <dt>{{WebExtAPIRef("tabs.hide()")}} {{experimental_inline}}</dt>
- <dd>Masque un ou plusieurs onglets.</dd>
- <dt>{{WebExtAPIRef("tabs.highlight()")}}</dt>
- <dd>Met en évidence un ou plusieurs onglets.</dd>
- <dt>{{WebExtAPIRef("tabs.insertCSS()")}}</dt>
- <dd>Injecte CSS dans une page.</dd>
- <dt>{{WebExtAPIRef("tabs.move()")}}</dt>
- <dd>Déplace un ou plusieurs onglets vers une nouvelle position dans la même fenêtre ou vers une autre fenêtre.</dd>
- <dt>{{WebExtApiRef("tabs.moveInSuccession()")}}</dt>
- <dd>Modifie la relation de succession pour un groupe d'onglets.</dd>
- <dt>{{WebExtAPIRef("tabs.print()")}}</dt>
- <dd>Imprime le contenu de l'onglet actif.</dd>
- <dt>{{WebExtAPIRef("tabs.printPreview()")}}</dt>
- <dd>
- <div>Ouvre l'aperçu avant impression pour l'onglet actif.</div>
- </dd>
- <dt>{{WebExtAPIRef("tabs.query()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("tabs.reload()")}}</dt>
- <dd>Recharge un onglet, en contournant éventuellement le cache web local.</dd>
- <dt>{{WebExtAPIRef("tabs.remove()")}}</dt>
- <dd>Ferme un ou plusieurs onglets.</dd>
- <dt>{{WebExtAPIRef("tabs.removeCSS()")}}</dt>
- <dd>Supprime d'une page CSS qui a été précédemment injectée en appelant {{WebExtAPIRef("tabs.insertCSS()")}}.</dd>
- <dt>{{WebExtAPIRef("tabs.saveAsPDF()")}}</dt>
- <dd>Enregistre la page en cours au format PDF.</dd>
- <dt>{{WebExtAPIRef("tabs.sendMessage()")}}</dt>
- <dd>Envoie un message unique au(x) script(s) de contenu dans l'onglet spécifié.</dd>
- <dt>{{WebExtAPIRef("tabs.sendRequest()")}} {{deprecated_inline}}</dt>
- <dd>Envoie une requête unique au(x) script(s) de contenu dans l'onglet spécifié. <strong>Déprécié :</strong> utilisez {{WebExtAPIRef("tabs.sendMessage()")}} à la place.</dd>
- <dt>{{WebExtAPIRef("tabs.setZoom()")}}</dt>
- <dd>Effectue un zoom sur l'onglet spécifié.</dd>
- <dt>{{WebExtAPIRef("tabs.setZoomSettings()")}}</dt>
- <dd>Définit les paramètres de zoom pour l'onglet spécifié.</dd>
- <dt>{{WebExtAPIRef("tabs.show()")}} {{experimental_inline}}</dt>
- <dd>Affiche un ou plusieurs onglets qui ont été {{WebExtAPIRef("tabs.hide()", "masqués")}}.</dd>
- <dt>{{WebExtAPIRef("tabs.toggleReaderMode()")}}</dt>
- <dd>Bascule en mode lecture pour l'onglet spécifié.</dd>
- <dt>{{WebExtAPIRef("tabs.update()")}}</dt>
- <dd>Charge une nouvelle URL dans l'onglet, ou modifie d'autres propriétés de l'onglet.</dd>
-</dl>
-
-<h2 id="Évènements">Évènements</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("tabs.onActivated")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("tabs.onActiveChanged")}} {{deprecated_inline}}</dt>
- <dd>Est émis lorsque l'onglet sélectionné dans une fenêtre change. <strong>Déprécié :</strong> utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.</dd>
- <dt>{{WebExtAPIRef("tabs.onAttached")}}</dt>
- <dd>Est émis lorsqu'un onglet est attaché à une fenêtre, par exemple parce qu'il a été déplacé entre différentes fenêtres.</dd>
- <dt>{{WebExtAPIRef("tabs.onCreated")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("tabs.onDetached")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("tabs.onHighlightChanged")}} {{deprecated_inline}}</dt>
- <dd>Est émis lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent. <strong>Déprécié :</strong> utilisez {{WebExtAPIRef("tabs.onHighlighted")}} à la place.</dd>
- <dt>{{WebExtAPIRef("tabs.onHighlighted")}}</dt>
- <dd>Est émis lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent.</dd>
- <dt>{{WebExtAPIRef("tabs.onMoved")}}</dt>
- <dd>Est émis lorsqu'un onglet est déplacé dans une fenêtre.</dd>
- <dt>{{WebExtAPIRef("tabs.onRemoved")}}</dt>
- <dd>Est émis lorsqu'un onglet est fermé.</dd>
- <dt>{{WebExtAPIRef("tabs.onReplaced")}}</dt>
- <dd>Est émis lorsqu'un onglet est remplacé par un autre onglet en raison d'un <i lang="en">prerendering</i>.</dd>
- <dt>{{WebExtAPIRef("tabs.onSelectionChanged")}} {{deprecated_inline}}</dt>
- <dd>Est émis lorsque l'onglet sélectionné dans une fenêtre change. <strong>Déprécié :</strong> utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.</dd>
- <dt>{{WebExtAPIRef("tabs.onUpdated")}}</dt>
- <dd>Est émis lorsqu'un onglet est mis à jour.</dd>
- <dt>{{WebExtAPIRef("tabs.onZoomChange")}}</dt>
- <dd>Est émis lorsque le zoom dans un onglet est changé.</dd>
-</dl>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("webextensions.api.tabs")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) `"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](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#host_permissions) 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"`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#activetab_permission).
+
+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](/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Popups) ou les scripts de page d'options) et les [scripts de contenu](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) 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})`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query).**
+- {{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
+
+ <i lang="en">prerendering</i>
+
+ .
+
+- {{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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -219,5 +205,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Injecter du code CSS dans une page web.</p>
+Injecter du code CSS dans une page web.
-<p>Pour utiliser cette API vous devez avoir la permission "<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">host permission</a>" ou utiliser la permission "<a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission">activeTab permission</a>".</p>
+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)".
-<p>Vous ne pouvez injecter du CSS que dans des pages dont l'URL peut être exprimée en utilisant un <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">motif de correspondance</a>,  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.</p>
+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.
-<div class="note">
-<p><strong>Note :</strong> 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é.</p>
-</div>
+> **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é.
-<p>Le CSS inséré peut être retiré à nouveau en appelant  {{WebExtAPIRef("tabs.removeCSS()")}}.</p>
+Le CSS inséré peut être retiré à nouveau en appelant  {{WebExtAPIRef("tabs.removeCSS()")}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code> (sur Firefox seulement).</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) (sur Firefox seulement).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var inserting = browser.tabs.insertCSS(
+```js
+var inserting = browser.tabs.insertCSS(
tabId, // optional integer
details // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>tabId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de l'onglet dans lequel insérer le CSS. Par défaut à l'onglet actif de la fenêtre en cours.</dd>
- <dt><code>details</code></dt>
- <dd><p>Un objet décrivant le CSS à insérer. Il contient les propriétés suivantes :</p>
- <dl>
- <dt><code>allFrames</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si <code>true</code>, le CSS sera injecté dans toutes les images de la page en cours. Si c'est <code>false</code>, CSS est seulement injecté dans le cadre supérieur. Par défaut à <code>false</code>.</dd>
- <dt><code>code</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Code à injecter, sous la forme d'une chaîne de texte.</dd>
- <dt><code>cssOrigin</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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 <a href="/fr/docs/Web/CSS/Cascade#Cascading_order">la commande en cascade</a>. Si cette option est omise, le CSS est ajouté en tant que feuille de style auteur.</dd>
- <dt><code>file</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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 : <code>"/path/to/stylesheet.css"</code>.</dd>
- <dt><code>frameId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Le cadre où le CSS doit être injecté. La valeur par défaut est <code>0</code> (l'image de niveau supérieur).</dd>
- <dt><code>matchAboutBlank</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si<code>true</code>, 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 à <code>false</code>.</dd>
- <dt><code>runAt</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('extensionTypes.RunAt')}}. Le plus tôt que le code sera injecté dans l'onglet. Par défaut à "document_idle".</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code> 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.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Cet exemple s'insère dans l'onglet CSS actif qui provient d'une chaîne.</p>
-
-<pre class="brush: js">var css = "body { border: 20px dotted pink; }";
-
-browser.browserAction.onClicked.addListener(() =&gt; {
+```
+
+### 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(() =&gt; {
var insertingCSS = browser.tabs.insertCSS({code: css});
insertingCSS.then(null, onError);
-});</pre>
+});
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">browser.browserAction.onClicked.addListener(() =&gt; {
+```js
+browser.browserAction.onClicked.addListener(() => {
function onError(error) {
console.log(`Error: ${error}`);
@@ -94,23 +93,22 @@ browser.browserAction.onClicked.addListener(() =&gt; {
var insertingCSS = browser.tabs.insertCSS(2, {file: "content-style.css"});
insertingCSS.then(null, onError);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+});
+```
-<p>{{Compat("webextensions.api.tabs.insertCSS")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.insertCSS")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -137,5 +135,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Déplace un ou plusieurs onglets vers une nouvelle position dans la même fenêtre ou vers une autre fenêtre.</p>
+Déplace un ou plusieurs onglets vers une nouvelle position dans la même fenêtre ou vers une autre fenêtre.
-<p>Vous pouvez uniquement déplacer des onglets vers et à partir de fenêtres dont {{WebExtAPIRef('windows.WindowType', 'WindowType')}} est <code>"normal"</code>.</p>
+Vous pouvez uniquement déplacer des onglets vers et à partir de fenêtres dont {{WebExtAPIRef('windows.WindowType', 'WindowType')}} est `"normal"`.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var moving = browser.tabs.move(
+```js
+var moving = browser.tabs.move(
tabIds, // integer or integer array
moveProperties // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabIds</code></dt>
- <dd><code><code>integer</code></code> ou <code><code>array</code></code> d'<code><code>integer</code></code>. ID du {{WebExtAPIRef('tabs.Tab', 'tab')}}à déplacer, ou un tableau d'ID d'onglet.</dd>
- <dt><code>moveProperties</code></dt>
- <dd><p><code>object</code>. Un objet qui spécifie où déplacer le(s) onglet(s).</p>
- <dl>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 'ID de la fenêtre dans laquelle vous souhaitez déplacer les onglet(s). Si vous omettez cela, chaque onglet de <code>tabIds</code> sera déplacé vers l' <code>index</code> dans sa fenêtre actuelle. Si vous incluez ceci, et <code>tabIds</code> contient plus d'un onglet, alors le premier onglet de <code>tabIds</code> sera déplacé vers l'<code>index</code>, et les autres onglets le suivront dans l'ordre donné dans <code>tabIds</code>.</dd>
- <dt><code>index</code></dt>
- <dd><p><code>integer</code>. 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.</p>
- <p>Si vous passez une valeur inférieure à -1, la fonction renvoie une erreur.</p>
- <p>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).</p>
- </dd>
- </dl>
- </dd>
-</dl>
+- `tabIds`
+ - : `integer` ou `array` d'`integer`. ID du {{WebExtAPIRef('tabs.Tab', 'tab')}}à déplacer, ou un tableau d'ID d'onglet.
+- `moveProperties`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. Un objet qui spécifie où déplacer le(s) onglet(s).
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera satisfaite avec un objet <code>{{WebExtAPIRef('tabs.Tab')}}</code> ou un <code><code>tableau</code></code> d'objets <code><code>{{WebExtAPIRef('tabs.Tab')}}</code></code>, 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.</p>
+ - `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`
-<h2 id="Exemples">Exemples</h2>
+ - : `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.
-<p>Déplacer le premier onglet de la fenêtre en cours vers la dernière position de la fenêtre en cours :</p>
+ Si vous passez une valeur inférieure à -1, la fonction renvoie une erreur.
-<pre class="brush: js">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);
-});</pre>
+});
+```
-<p>Déplacer tous les onglets servis via HTTP ou HTTPS depuis * .mozilla.org jusqu'à la fin de leur fenêtre :</p>
+Déplacer tous les onglets servis via HTTP ou HTTPS depuis \* .mozilla.org jusqu'à la fin de leur fenêtre :
-<pre class="brush: js">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 =&gt; 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);
-});</pre>
+});
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">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 =&gt; 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);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+});
+```
-<p>{{Compat("webextensions.api.tabs.move")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.move")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -162,5 +166,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>Modifie la relation de succession pour un groupe d'onglets.</p>
+Modifie la relation de succession pour un groupe d'onglets.
-<p>Using the {{WebExtAPIRef('tabs')}} API, a tab can be assigned a <em>successor</em> 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 <em>predecessor</em> 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.</p>
+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.
-<p>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 <em>moving a tab</em> (B) <em>from its line of succession</em>.</p>
+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_.
-<p><code>tabs.moveInSuccession()</code> 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 <em>not</em> 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.</p>
+`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.
-<p>While the successor tab can be assigned with {{WebExtAPIRef('tabs.update()')}}, it is often desirable to use <code>tabs.moveInSuccession()</code> to change successors, even if only a single tab is having its successor assigned. The difference is that <code>browser.tabs.moveInSuccession([a], b)</code> moves tab <code>a</code> from its line of succession, so any predecessors of <code>a</code> will adopt <code>a</code>'s previous successor; whereas if <code>browser.tabs.update(a, {successorTabId: b})</code> is used instead, tab <code>a</code> may continue to be the successor of other tabs, which could be unexpected. Another advantage of <code>tabs.moveInSuccession()</code> 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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.moveInSuccession([1, 3, 5, 7, 2, 9], 4, {insert:true})</pre>
+```js
+browser.tabs.moveInSuccession([1, 3, 5, 7, 2, 9], 4, {insert:true})
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabIds</code></dt>
- <dd><code>array</code> of <code>integer</code>. Un tableau  d'<code>ID</code>s. L'ordre des éléments dans le tableau définit la relation des onglets. Tout <code>ID</code> d'onglet invalide, ou l'<code>ID</code> d'onglet correspondant à des onglets qui ne sont pas dans la même fenêtre que <code>tabId</code> (ou le premier onglet du tableau, si  <code>tabId</code> est omis), sera ignoré - ils conserveront leurs successeurs et prédécesseurs actuels.</dd>
- <dt><code>tabId</code> {{optional_inline}}</dt>
- <dd><code>integer.</code> L'<code>ID</code> de l'onglet qui succédera au dernier onglet du tableau <code>tabIds</code>. Si cet <code>ID</code> est invalide ou {{WebExtAPIRef('tabs.TAB_ID_NONE')}}, le dernier onglet n'aura pas de successeur. Par défaut {{WebExtAPIRef('tabs.TAB_ID_NONE')}}.</dd>
- <dt><code>options</code> {{optional_inline}}</dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>append</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Détermine s'il faut déplacer les onglets dans les <code>tabIds</code> avant ou après <code>tabId </code>dans la succession. Si <code>false</code>, les onglets sont déplacés avant <code>tabId</code>, si <code>true</code>, les onglets sont déplacés après <code>tabId</code>. Par défaut à <code>false</code>.</dd>
- <dt><code>insert</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Détermine s'il faut lier les prédécesseurs ou successeurs actuels (selon <code>options.append</code>) de <code>tabId</code>à 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 <code>options.append</code> est <code>false</code>, le premier onglet du tableau est défini comme successeur de tout prédécesseur actuel de  <code>tabId</code>; Si <code>options.append</code> est <code>true</code>, le successeur actuel de tabId est défini comme le successeur du dernier onglet du tableau. La valeur par défaut est <code>false</code>.</dd>
- </dl>
- </dd>
-</dl>
+- `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}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `object`.
-<p>{{Compat("webextensions.api.tabs.moveInSuccession", 10)}}</p>
+ - `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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Cet objet contient un booléen indiquant si l'onglet est muet et la raison du dernier changement d'état.</p>
+Cet objet contient un booléen indiquant si l'onglet est muet et la raison du dernier changement d'état.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>extensionId</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>muted</code></dt>
- <dd><code>boolean</code>. Si l'onglet est actuellement coupé. Équivalent à l'affichage de l'indicateur audio coupé.</dd>
- <dt><code>reason</code>{{optional_inline}}</dt>
- <dd>{{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é.</dd>
-</dl>
+- `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é.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.MutedInfo")}}</p>
+{{Compat("webextensions.api.tabs.MutedInfo")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -71,5 +67,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/MutedInfo
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Spécifie la raison pour laquelle un onglet a été désactivé ou désactivé.</p>
+Spécifie la raison pour laquelle un onglet a été désactivé ou désactivé.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt>"capture"</dt>
- <dd>La capture d'onglets a commencé, forçant un changement d'état muet.</dd>
- <dt>"extension"</dt>
- <dd>Une extension définit l'état muet. Si c'est la raison, <code>extensionId</code> dans {{WebExtAPIRef("tabs.mutedInfo")}} contiendra l'ID de l'extension responsable.</dd>
- <dt>"user"</dt>
- <dd>L'utilisateur définit l'état muet.</dd>
-</dl>
+- "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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.MutedInfoReason")}}</p>
+{{Compat("webextensions.api.tabs.MutedInfoReason")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -71,5 +67,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/MutedInfoReason
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onActivated.addListener(listener)
+```js
+browser.tabs.onActivated.addListener(listener)
browser.tabs.onActivated.removeListener(listener)
browser.tabs.onActivated.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback) </code></dt>
- <dd>Ajoute un écouteur à cet événement</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd> Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>activeInfo</code></dt>
- <dd><a href="#activeInfo"><code>object</code></a>. ID de l'onglet qui a été activé, et ID de sa fenêtre.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ - `activeInfo`
+ - : [`object`](#activeInfo). ID de l'onglet qui a été activé, et ID de sa fenêtre.
-<h3 id="activeInfo">activeInfo</h3>
+## Objets supplémentaires
-<dl>
- <dt><code>previousTabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet activé précédent, si cet onglet est encore ouvert.</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet qui est devenu actif.</dd>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. L'ID de la fenêtre de l'onglet.</dd>
-</dl>
+### activeInfo
-<h2 id="Exemples">Exemples</h2>
+- `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.
-<p>Écouter et enregistrer les événements d'activation des onglets :</p>
+## Exemples
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
+browser.tabs.onActivated.addListener(handleActivated);
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.tabs.onActivated")}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.tabs.onActivated")}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -114,5 +106,4 @@ browser.tabs.onActivated.addListener(handleActivated);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div class="warning">
-<p><strong>Attention :</strong> Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.</p>
-</div>
+> **Attention :** Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onActiveChanged.addListener(listener)
+```js
+browser.tabs.onActiveChanged.addListener(listener)
browser.tabs.onActiveChanged.removeListener(listener)
browser.tabs.onActiveChanged.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement..</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie<code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<dl>
-</dl>
+<!---->
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet qui est devenu actif.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>selectInfo</code></dt>
- <dd><a href="#selectInfo"><code>object</code></a>.</dd>
- </dl>
- </dd>
-</dl>
+ - `tabId`
+ - : `integer`. L'ID de l'onglet qui est devenu actif.
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ <!---->
-<h3 id="selectInfo">selectInfo</h3>
+ - `selectInfo`
+ - : [`object`](#selectInfo).
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. L'ID de la fenêtre contenant l'onglet sélectionné.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### selectInfo
-<p>{{Compat("webextensions.api.tabs.onActiveChanged")}}</p>
+- `windowId`
+ - : `integer`. L'ID de la fenêtre contenant l'onglet sélectionné.
-<p>
- </p><div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
- <p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.onActiveChanged")}}
- <p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
- </div>
-<p></p>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -114,5 +99,4 @@ browser.tabs.onActiveChanged.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'un onglet est attaché à une fenêtre, par exemple parce qu'il a été déplacé entre les fenêtres.</p>
+Lancé lorsqu'un onglet est attaché à une fenêtre, par exemple parce qu'il a été déplacé entre les fenêtres.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onAttached.addListener(listener)
+```js
+browser.tabs.onAttached.addListener(listener)
browser.tabs.onAttached.removeListener(listener)
browser.tabs.onAttached.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>CVérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet qui a été attaché à une nouvelle fenêtre..</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>attachInfo</code></dt>
- <dd><a href="#attachInfo"><code>object</code></a>. ID de la nouvelle fenêtre, et index de l'onglet à l'intérieur.</dd>
- </dl>
- </dd>
-</dl>
+ - `tabId`
+ - : `integer`. ID de l'onglet qui a été attaché à une nouvelle fenêtre..
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ <!---->
-<h3 id="attachInfo">attachInfo</h3>
+ - `attachInfo`
+ - : [`object`](#attachInfo). ID de la nouvelle fenêtre, et index de l'onglet à l'intérieur.
-<dl>
- <dt><code>newWindowId</code></dt>
- <dd><code>integer</code>. ID de la nouvelle fenêtre.</dd>
- <dt><code>newPosition</code></dt>
- <dd><code>integer</code>. Position de l'index que l'onglet a dans la nouvelle fenêtre.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Exemples">Exemples</h2>
+### attachInfo
-<p>Écoutez les événements attachés et consignez les informations :</p>
+- `newWindowId`
+ - : `integer`. ID de la nouvelle fenêtre.
+- `newPosition`
+ - : `integer`. Position de l'index que l'onglet a dans la nouvelle fenêtre.
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+browser.tabs.onAttached.addListener(handleAttached);
+```
-<p>{{Compat("webextensions.api.tabs.onAttached")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.onAttached")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -120,5 +112,4 @@ browser.tabs.onAttached.addListener(handleAttached);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'un onglet est créé.</p>
+Lancé lorsqu'un onglet est créé.
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onCreated.addListener(callback)
+```js
+browser.tabs.onCreated.addListener(callback)
browser.tabs.onCreated.removeListener(listener)
browser.tabs.onCreated.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si le <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>tab</code></dt>
- <dd>{{WebExtAPIRef('tabs.Tab')}}. Détails de l'onglet qui a été créé.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Examples">Examples</h2>
+ - `tab`
+ - : {{WebExtAPIRef('tabs.Tab')}}. Détails de l'onglet qui a été créé.
-<p>Consignez les ID des nouveaux onglets créés :</p>
+## Examples
-<pre class="brush: js">function handleCreated(tab) {
+Consignez les ID des nouveaux onglets créés :
+
+```js
+function handleCreated(tab) {
console.log(tab.id);
}
-browser.tabs.onCreated.addListener(handleCreated);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+browser.tabs.onCreated.addListener(handleCreated);
+```
-<p>{{Compat("webextensions.api.tabs.onCreated")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.onCreated")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -104,5 +98,4 @@ browser.tabs.onCreated.addListener(handleCreated);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'un onglet est détaché d'une fenêtre, par exemple parce qu'il est déplacé entre des fenêtres.</p>
+Lancé lorsqu'un onglet est détaché d'une fenêtre, par exemple parce qu'il est déplacé entre des fenêtres.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onDetached.addListener(listener)
+```js
+browser.tabs.onDetached.addListener(listener)
browser.tabs.onDetached.removeListener(listener)
browser.tabs.onDetached.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>l'écouteur</code> est enregistré pour cet événemen. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet qui a été détaché.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>detachInfo</code></dt>
- <dd><a href="#detachInfo"><code>object</code></a>. ID de la fenêtre précédente et index de l'onglet à l'intérieur.</dd>
- </dl>
- </dd>
-</dl>
+ - `tabId`
+ - : `integer`. ID de l'onglet qui a été détaché.
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ <!---->
-<h3 id="detachInfo">detachInfo</h3>
+ - `detachInfo`
+ - : [`object`](#detachInfo). ID de la fenêtre précédente et index de l'onglet à l'intérieur.
-<dl>
- <dt><code>oldWindowId</code></dt>
- <dd><code>integer</code>. ID de la fenêtre précédente</dd>
- <dt><code>oldPosition</code></dt>
- <dd><code>integer</code>. Position de l'index que l'onglet avait dans l'ancienne fenêtre.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Exemples">Exemples</h2>
+### detachInfo
-<p>Ecoutez les événements de détachement et consignez les informations :</p>
+- `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.
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+browser.tabs.onDetached.addListener(handleDetached);
+```
-<p>{{Compat("webextensions.api.tabs.onDetached")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.onDetached")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -120,5 +112,4 @@ browser.tabs.onDetached.addListener(handleDetached);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div class="warning">
- <p><strong>Attention :</strong> Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onHighlighted")}} à la place.</p></div>
+> **Attention :** Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onHighlighted")}} à la place.
-<p>Lancé lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent.</p>
+Lancé lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onHighlightChanged.addListener(listener)
+```js
+browser.tabs.onHighlightChanged.addListener(listener)
browser.tabs.onHighlightChanged.removeListener(listener)
browser.tabs.onHighlightChanged.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code>s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>selectInfo</code></dt>
- <dd><a href="#selectInfo"><code>object</code></a>.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ - `selectInfo`
+ - : [`object`](#selectInfo).
-<h3 id="selectInfo">selectInfo</h3>
+## Objets supplémentaires
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. La fenêtre dont les onglets ont changé.</dd>
- <dt><code>tabIds</code></dt>
- <dd><code>array</code> d'<code><code>integer</code></code>. Tous les onglets en surbrillance dans la fenêtre.</dd>
-</dl>
+### selectInfo
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- `windowId`
+ - : `integer`. La fenêtre dont les onglets ont changé.
+- `tabIds`
+ - : `array` d'`integer`. Tous les onglets en surbrillance dans la fenêtre.
-<p>{{Compat("webextensions.api.tabs.onHighlightChanged")}}</p>
+## Compatibilité du navigateur
-<p>
- </p><div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.tabs.onHighlightChanged")}}
- <p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+> **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.
- <p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
- </div>
-<p></p>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -107,5 +94,4 @@ browser.tabs.onHighlightChanged.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque l'ensemble des onglets en surbrillance dans une fenêtre change</p>
+Lancé lorsque l'ensemble des onglets en surbrillance dans une fenêtre change
-<p>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")}}.</p>
+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")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onHighlighted.addListener(listener)
+```js
+browser.tabs.onHighlighted.addListener(listener)
browser.tabs.onHighlighted.removeListener(listener)
browser.tabs.onHighlighted.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> de l'écouteur est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>highlightInfo</code></dt>
- <dd><a href="#highlightInfo"><code>object</code></a>. ID(s) des onglets en surbrillance, et ID de leur fenêtre.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ - `highlightInfo`
+ - : [`object`](#highlightInfo). ID(s) des onglets en surbrillance, et ID de leur fenêtre.
-<h3 id="highlightInfo">highlightInfo</h3>
+## Objets supplémentaires
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. ID de la fenêtre dont les onglets ont changé.</dd>
- <dt><code>tabIds</code></dt>
- <dd><code>array</code> d'<code><code>integer</code></code>. Identifiants des onglets en surbrillance dans la fenêtre</dd>
-</dl>
+### highlightInfo
-<h2 id="Exemples">Exemples</h2>
+- `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
-<p>Ecoutez les événements en surbrillance et consignez les ID des onglets mis en surbrillance</p>
+## Exemples
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
+browser.tabs.onHighlighted.addListener(handleHighlighted);
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.tabs.onHighlighted")}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.tabs.onHighlighted")}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -113,5 +105,4 @@ browser.tabs.onHighlighted.addListener(handleHighlighted);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'un onglet est déplacé dans une fenêtre</p>
+Lancé lorsqu'un onglet est déplacé dans une fenêtre
-<p>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')}}.</p>
+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')}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onMoved.addListener(listener)
+```js
+browser.tabs.onMoved.addListener(listener)
browser.tabs.onMoved.removeListener(listener)
browser.tabs.onMoved.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions:</p>
+Les événements ont trois fonctions:
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> st l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si le <code>listener</code>est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet déplacé par l'utilisateur.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>moveInfo</code></dt>
- <dd><a href="#moveInfo"><code>object</code></a>. Informations sur le déménagement.</dd>
- </dl>
- </dd>
-</dl>
+ - `tabId`
+ - : `integer`. ID de l'onglet déplacé par l'utilisateur.
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ <!---->
-<h3 id="moveInfo">moveInfo</h3>
+ - `moveInfo`
+ - : [`object`](#moveInfo). Informations sur le déménagement.
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. ID de la fenêtre de cet onglet.</dd>
- <dt><code>fromIndex</code></dt>
- <dd><code>integer</code>. Index initial de cet onglet dans la fenêtre.</dd>
- <dt><code>toIndex</code></dt>
- <dd><code>integer</code>. Index final de cet onglet dans la fenêtre</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Exemples">Exemples</h2>
+### moveInfo
-<p>Écouter et enregistrer les événements de déplacement :</p>
+- `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
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<dl>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+browser.tabs.onMoved.addListener(handleMoved);
+```
-<p>{{Compat("webextensions.api.tabs.onMoved")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.onMoved")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -127,5 +116,4 @@ browser.tabs.onMoved.addListener(handleMoved);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé quand un onglet est fermé.</p>
+Lancé quand un onglet est fermé.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onRemoved.addListener(callback)
+```js
+browser.tabs.onRemoved.addListener(callback)
browser.tabs.onRemoved.removeListener(listener)
browser.tabs.onRemoved.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet qui s'est fermé.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>removeInfo</code></dt>
- <dd><a href="#removeInfo"><code>object</code></a>. L'ID de la fenêtre de l'onglet et un booléen indiquant si la fenêtre est également fermée.</dd>
- </dl>
- </dd>
-</dl>
+ - `tabId`
+ - : `integer`. ID de l'onglet qui s'est fermé.
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ <!---->
-<h3 id="removeInfo">removeInfo</h3>
+ - `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.
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. La fenêtre dont l'onglet est fermé.</dd>
- <dt><code>isWindowClosing</code></dt>
- <dd><code>boolean</code>. <code>true</code> si l'onglet est fermé car sa fenêtre est en cours de fermeture.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Exemples">Exemples</h2>
+### removeInfo
-<p>Écoutez les événements proches et consignez les informations :</p>
+- `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.
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<dl>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+browser.tabs.onRemoved.addListener(handleRemoved);
+```
-<p>{{Compat("webextensions.api.tabs.onRemoved")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.onRemoved")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -123,5 +112,4 @@ browser.tabs.onRemoved.addListener(handleRemoved);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsqu'un onglet est remplacé par un autre en raison d'un prérendering ou d'un instantané.</p>
+Lancé lorsqu'un onglet est remplacé par un autre en raison d'un prérendering ou d'un instantané.
-<p>Cet événement peut ne pas être pertinent ou pris en charge par des navigateurs autres que Chrome.</p>
+Cet événement peut ne pas être pertinent ou pris en charge par des navigateurs autres que Chrome.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onReplaced.addListener(listener)
+```js
+browser.tabs.onReplaced.addListener(listener)
browser.tabs.onReplaced.removeListener(listener)
browser.tabs.onReplaced.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>addedTabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet de remplacement.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>removedTabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet qui a été remplacé.</dd>
- </dl>
- </dd>
-</dl>
+ - `addedTabId`
+ - : `integer`. ID de l'onglet de remplacement.
-<h2 id="Exemples">Exemples</h2>
+ <!---->
-<p>Écoutez les événements de remplacement et consignez les informations associées :</p>
+ - `removedTabId`
+ - : `integer`. ID de l'onglet qui a été remplacé.
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+```
-<p>{{Compat("webextensions.api.tabs.onReplaced")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.onReplaced")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -113,5 +104,4 @@ browser.tabs.onReplaced.addListener(handleReplaced);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div class="warning">
- <p><strong>Attention :</strong> Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.</p>
-</div>
+> **Attention :** Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.
-<p>Se déclenche lorsque l'onglet sélectionné dans une fenêtre change.</p>
+Se déclenche lorsque l'onglet sélectionné dans une fenêtre change.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onSelectionChanged.addListener(listener)
+```js
+browser.tabs.onSelectionChanged.addListener(listener)
browser.tabs.onSelectionChanged.removeListener(listener)
browser.tabs.onSelectionChanged.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions:</p>
+Les événements ont trois fonctions:
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd> Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet qui est devenu actif.</dd>
- </dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
- <dl>
- <dt><code>selectInfo</code></dt>
- <dd><a href="#selectInfo"><code>object</code></a>.</dd>
- </dl>
- </dd>
-</dl>
+ - `tabId`
+ - : `integer`. L'ID de l'onglet qui est devenu actif.
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ <!---->
-<h3 id="selectInfo">selectInfo</h3>
+ - `selectInfo`
+ - : [`object`](#selectInfo).
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. L'ID de la fenêtre dans laquelle l'onglet sélectionné a changé.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### selectInfo
-<p>{{Compat("webextensions.api.tabs.onSelectionChanged")}}</p>
+- `windowId`
+ - : `integer`. L'ID de la fenêtre dans laquelle l'onglet sélectionné a changé.
-<p>{{WebExtExamples}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.tabs.onSelectionChanged")}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -111,5 +99,4 @@ browser.tabs.onSelectionChanged.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>C'est déclenché lorsqu'un onglet est mis à jour.</p>
+C'est déclenché lorsqu'un onglet est mis à jour.
-<p>Lorsque l'utilisateur navigue vers une nouvelle URL dans un onglet, cela génère généralement plusieurs événements <code>onUpdated</code> au fur et à mesure que diverses propriétés de l'objet {{WebExtAPIRef("tabs.Tab")}} sont mises à jour. Ceci inclut l' <code>url</code>, mais aussi potentiellement le <code>title</code> et les propriétés <code>favIconUrl</code>. La propriété du  <code>status</code> passe par le <code>"loading"</code> et <code>"complete"</code>.</p>
+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"`.
-<p>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é <code>pinned</code>) et le muting ou le unmuting (qui met à jour les propriétés  <code>audible</code> et <code>mutedInfo</code>).</p>
+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`).
-<p>Vous pouvez filtrer cet événement, en le rendant uniquement valable pour les onglets dont les urls correspondent à des <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">patterns</a> 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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onUpdated.addListener(listener[, extraParameters])
+```js
+browser.tabs.onUpdated.addListener(listener[, extraParameters])
browser.tabs.onUpdated.removeListener(listener)
browser.tabs.onUpdated.hasListener(listener)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback[, extraParameters])</code></dt>
- <dd>Ajoute un écouteur à cet événement</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p>
-
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet qui a été mis à jour.</dd>
- <dt><code>changeInfo</code></dt>
- <dd><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/onUpdated$edit#changeInfo"><code>object</code></a>. ontient les propriétés des propriétés de l'onglet qui ont été modifiées. Voir <code><a href="/fr/Add-ons/WebExtensions/API/tabs/onUpdated#changeInfo">changeInfo</a></code> ci-dessous.</dd>
- <dt><code>tab</code></dt>
- <dd>{{WebExtAPIRef('tabs.Tab')}}. Le nouvel état de l'onglet.</dd>
- </dl>
- </dd>
- <dt><code>extraParameters</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. 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.</p>
-
- <dl>
- <dt><code>urls</code></dt>
- <dd><code>Array</code>. Un tableau <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">match patterns</a>. Ne déclenchez l'événement que pour les onglets dont la propriété de l'<code>url</code> courante correspond à l'un des motifs.</dd>
- <dt><code>properties</code></dt>
- <dd>
- <p><code>Array</code>. 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 :</p>
-
- <ul>
- <li>"attention"</li>
- <li>"audible"</li>
- <li>"discarded"</li>
- <li>"favIconUrl"</li>
- <li>"hidden"</li>
- <li>"isArticle"</li>
- <li>"mutedInfo"</li>
- <li>"pinned"</li>
- <li>"sharingState"</li>
- <li>"status"</li>
- <li>"title"</li>
- </ul>
- </dd>
- <dt><code>tabId</code></dt>
- <dd><code>Integer</code>. Ne déclenchez cet événement que pour l'onglet identifié par cet ID.</dd>
- <dt><code>windowId</code></dt>
- <dd><code>Integer</code>. N'activez cet événement que pour les onglets qui se trouvent actuellement dans la fenêtre identifiée par cet ID.</dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="changeInfo">changeInfo</h3>
-
-<p>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")}}.</p>
-
-<dl>
- <dt><code>attention</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Indique si l'onglet attire l'attention. Par exemple, lorsque l'onglet affiche un dialogue modal, <code>attention</code> sera <code>true</code>.</dd>
- <dt><code>audible</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Nouvel état audible de l'onglet.</dd>
- <dt><code>discarded</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. 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é.</dd>
- <dt><code>favIconUrl</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Nouvelle URL de favicon de l'onglet.</dd>
- <dt><code>mutedInfo</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('tabs.MutedInfo')}}. Le nouvel état muet de l'onglet et la raison du changement.</dd>
- <dt><code>pinned</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Nouvel état épinglé de l'onglet.</dd>
- <dt><code>status</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Le statut de l'onglet. Peut être soit <em>chargé</em> ou <em>complet</em>.</dd>
- <dt><code>title</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Le nouveau titre de l'onglet.</dd>
- <dt><code>url</code>{{optional_inline}}</dt>
- <dd><code>string</code>. L'URL de l'onglet s'il a changé.</dd>
-</dl>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Écoutez et connectez toutes les informations de changement et nouvel état:</p>
-
-<pre class="brush: js">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);</pre>
+browser.tabs.onUpdated.addListener(handleUpdated);
+```
-<p>Consigner les modifications dans les URL :</p>
+Consigner les modifications dans les URL :
-<pre class="brush: js">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);</pre>
+browser.tabs.onUpdated.addListener(handleUpdated);
+```
-<h3 id="Filtering_examples">Filtering examples</h3>
+### Filtering examples
-<p>Le journal ne change que pour les onglets dont la propriété <code>url</code> est <a href="/fr/Add-ons/WebExtensions/Match_patterns">matched</a> par "https://developer.mozilla.org/*" ou "https://twitter.com/mozdevnet":</p>
+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":
-<pre class="brush: js">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);</pre>
+browser.tabs.onUpdated.addListener(handleUpdated, filter);
+```
-<p>Le journal ne change que la propriété <code>épinglée</code> des onglets (c'est-à-dire les actions d'épinglage et de déblocage) :</p>
+Le journal ne change que la propriété `épinglée` des onglets (c'est-à-dire les actions d'épinglage et de déblocage) :
-<pre class="brush: js">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);</pre>
+browser.tabs.onUpdated.addListener(handleUpdated, filter);
+```
-<p>Combiner les deux filtres précédents : changements de journal seulement :</p>
+Combiner les deux filtres précédents : changements de journal seulement :
-<ul>
- <li>A la propriété <code>épinglée</code> des onglets</li>
- <li>Dont la propriété <code>url</code> est <a href="/fr/Add-ons/WebExtensions/Match_patterns">matched</a> par "https://developer.mozilla.org/*" ou "https://twitter.com/mozdevnet":</li>
-</ul>
+- 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":
-<pre class="brush: js">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);</pre>
+ filter);
+```
-<p>Changements dans le journal seulement :</p>
+Changements dans le journal seulement :
-<ul>
- <li>A la propriété <code>épinglée</code> des onglets</li>
- <li>Dont la propriété <code>url</code> est <a href="/fr/Add-ons/WebExtensions/Match_patterns">matched</a> par "https://developer.mozilla.org/*" ou "https://twitter.com/mozdevnet"</li>
- <li>et qui font partie de la fenêtre actuelle du navigateur au moment où l'événement de mise à jour est déclenché :</li>
-</ul>
+- 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é :
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
+ filter);
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.tabs.onUpdated", 10)}}</p>
+## Compatibilité du navigateur
-<div class="note"><p><strong>Note :</strong></p>
+{{Compat("webextensions.api.tabs.onUpdated", 10)}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -266,7 +260,6 @@ browser.tabs.onUpdated.addListener(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
-<p>{{AddonSidebar}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Envoyé lorsqu'un onglet est agrandi.</p>
+Envoyé lorsqu'un onglet est agrandi.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.onZoomChange.addListener(listener)
+```js
+browser.tabs.onZoomChange.addListener(listener)
browser.tabs.onZoomChange.removeListener(listener)
browser.tabs.onZoomChange.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> de l'écouteur est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il écoute, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>ZoomChangeInfo</code></dt>
- <dd><a href="#ZoomChangeInfo"><code>object</code></a>. Informations sur l'événement de zoom.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ - `ZoomChangeInfo`
+ - : [`object`](#ZoomChangeInfo). Informations sur l'événement de zoom.
-<h3 id="ZoomChangeInfo">ZoomChangeInfo</h3>
+## Objets supplémentaires
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet qui a été zoomé.</dd>
- <dt><code>oldZoomFactor</code></dt>
- <dd><code>number</code>. Le facteur de zoom précédent.</dd>
- <dt><code>newZoomFactor</code></dt>
- <dd><code>number</code>. Le nouveau facteur de zoom.</dd>
- <dt><code>zoomSettings</code></dt>
- <dd>{{WebExtAPIRef('tabs.ZoomSettings')}}. Paramètres de zoom pour l'onglet.</dd>
-</dl>
+### ZoomChangeInfo
-<h2 id="Exemples">Exemples</h2>
+- `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.
-<p>Ecoutez les événements de zoom et consignez les informations :</p>
+## Exemples
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<dl>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+browser.tabs.onZoomChange.addListener(handleZoomed);
+```
-<p>{{Compat("webextensions.api.tabs.onZoomChange")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.onZoomChange")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -122,5 +111,4 @@ browser.tabs.onZoomChange.addListener(handleZoomed);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Le type <strong><code>tabs.PageSettings</code></strong> est utilisé pour contrôler le rendu d'un onglet au format PDF par la méthode  {{WebExtAPIRef("tabs.saveAsPDF()")}}.</p>
+Le type **`tabs.PageSettings`** est utilisé pour contrôler le rendu d'un onglet au format PDF par la méthode  {{WebExtAPIRef("tabs.saveAsPDF()")}}.
-<p>Toutes ses propriétés sont facultatives.</p>
+Toutes ses propriétés sont facultatives.
-<p>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>
+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 :
-<ul>
- <li>"&amp;P": le numéro de page, comme "2"</li>
- <li>"&amp;PT": le numéro de page et le nombre total de pages, comme "2 su 3"</li>
- <li>"&amp;D": la date / heure actuelle</li>
- <li>"&amp;T": le titre de la page</li>
- <li>"&amp;U": l'URL de la page</li>
-</ul>
+- "\&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
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>edgeBottom </code>{{optional_inline}}</dt>
- <dd><code>number</code>. L'espacement entre le bas des pieds et le bord inférieur du papier (pouces). Par défaut : 0.</dd>
- <dt><code>edgeLeft </code>{{optional_inline}}</dt>
- <dd><code>number</code>. L'espacement entre l'en-tête / pied de page gauche et le bord gauche du papier (pouces). Par défaut : 0</dd>
- <dt><code>edgeRight </code>{{optional_inline}}</dt>
- <dd><code>number</code>. L'espacement entre l'en-tête / pied droit et le bord gauche du papier (pouces). Par défaut : 0.</dd>
- <dt><code>edgeTop </code>{{optional_inline}}</dt>
- <dd><code>number</code>. L'espacement entre le haut des en-têtes et le bord supérieur du papier (pouces). Par défaut : 0</dd>
- <dt><code>footerCenter</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Le texte du pied de page central de la page. Défaut : ''.</dd>
- <dt><code>footerLeft</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Le texte pour le pied gauche de la page. Par défaut :  '&amp;PT'.</dd>
- <dt><code>footerRight</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Le texte pour le pied droit de la page. Par défaut : '&amp;D'.</dd>
- <dt><code>headerCenter</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Le texte de l'en-tête du centre de la page. Défaut : ''.</dd>
- <dt><code>headerLeft</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Le texte de l'en-tête gauche de la page. Par défaut : '&amp;T'.</dd>
- <dt><code>headerRight</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Le texte de l'en-tête de la page. Par défaut : '&amp;U'.</dd>
- <dt><code>marginBottom </code>{{optional_inline}}</dt>
- <dd><code>number</code>. La marge entre le contenu de la page et le bord inférieur du papier (pouces). Par défaut : 0.5.</dd>
- <dt><code>marginLeft </code>{{optional_inline}}</dt>
- <dd><code>number</code>. La marge entre le contenu de la page et le bord gauche du papier (pouces). Par défaut : 0.5.</dd>
- <dt><code>marginRight </code>{{optional_inline}}</dt>
- <dd><code>number</code>. La marge entre le contenu de la page et le bord droit du papier (en pouces). Par défaut : 0.5.</dd>
- <dt><code>marginTop </code>{{optional_inline}}</dt>
- <dd><code>number</code>. La marge entre le contenu de la page et le bord supérieur du papier (pouces). Par défaut : 0.5.</dd>
- <dt><code>orientation </code> {{optional_inline}}</dt>
- <dd><code>integer</code>. Orientation de la page: 0 signifie "portrait", 1 signifie "paysage". Par défaut : 0.</dd>
- <dt><code>paperHeight </code>{{optional_inline}}</dt>
- <dd><code>number</code>. La hauteur du papier dans les unités de format papier. Par défaut : 11.0.</dd>
- <dt><code>paperSizeUnit</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. L'unité de format de papier: 0 = pouces, 1 = millimètres. Par défaut : 0.</dd>
- <dt><code>paperWidth</code> {{optional_inline}}</dt>
- <dd><code>number</code>. La largeur du papier dans les unités de format papier. Par défaut : 8.5.</dd>
- <dt><code>scaling</code> {{optional_inline}}</dt>
- <dd><code>number</code>. Facteur d'échelle du contenu de la page. 1 signifie 100% ou taille normale. Par défaut : 1.</dd>
- <dt><code>showBackgroundColors</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les couleurs d'arrière-plan de la page doivent être affichées. Par défaut : false.</dd>
- <dt><code>showBackgroundImages</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les images d'arrière-plan de la page doivent être affichées. Par défaut : false.</dd>
- <dt><code>shrinkToFit</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. 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.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.PageSettings")}}</p>
+{{Compat("webextensions.api.tabs.PageSettings")}}
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.tabs.print()
-</pre>
+```js
+browser.tabs.print()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>None.</p>
+None.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Dans cet exemple, un script d'arrière-plan écoute un clic sur une <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2">action navigateur</a>, puis tente d'imprimer l'onglet actuellement actif :</p>
+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 :
-<pre class="brush: js">browser.browserAction.onClicked.addListener(() =&gt; {
+```js
+browser.browserAction.onClicked.addListener(() => {
browser.tabs.print();
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.print")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{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) :
-<div>Ouvre l'aperçu avant impression pour l'onglet actif.</div>
+```js
+window.addEventListener("afterprint", resumeFunction, false);
+```
-<div></div>
+## Syntaxe
-<div>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</div>
+```js
+var openingPreview = browser.tabs.printPreview()
+```
-<div></div>
+### Paramètres
-<div>Une extension peut détecter lorsque l'aperçu d'impression a été fermé en écoutant l'événement <a href="/fr/docs/Web/Events/afterprint">afterprint</a> :</div>
+None.
-<div></div>
+### Valeur retournée
-<div>
-<pre class="brush: js">window.addEventListener("afterprint", resumeFunction, false);</pre>
-</div>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque la page d'aperçu est ouverte.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Exemples
-<pre class="brush: js">var openingPreview = browser.tabs.printPreview()
-</pre>
+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 :
-<h3 id="Paramètres">Paramètres</h3>
-
-<p>None.</p>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie sans argument lorsque la page d'aperçu est ouverte.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Dans cet exemple, un script d'arrière-plan écoute un clic sur une <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2">action de navigateur</a>, puis ouvre l'aperçu avant impression pour l'onglet actuellement actif :</p>
-
-<pre class="brush: js">browser.browserAction.onClicked.addListener(() =&gt; {
+```js
+browser.browserAction.onClicked.addListener(() => {
browser.tabs.printPreview()
- .then(() =&gt; {
+ .then(() => {
console.log("Entered print preview");
});
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.printPreview")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var querying = browser.tabs.query(
+```js
+var querying = browser.tabs.query(
queryInfo // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>queryInfo</code></dt>
- <dd><p><code>object</code>. La fonction <code>query()</code> 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")}}.</p>
- <dl>
- <dt><code>active</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les onglets sont actifs dans leurs fenêtres.</dd>
- <dt><code>audible</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les onglets sont audibles.</dd>
- <dt><code>autoDiscardable</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les onglets peuvent être supprimés automatiquement par le navigateur lorsque les ressources sont faibles.</dd>
- <dt><code>cookieStoreId</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Utilisez cette option pour renvoyer uniquement les onglets dont l'ID est <code>cookieStoreId</code>. Cette option n'est disponible que si l'extension à la  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"cookies"</code></dd>
- <dt><code>currentWindow</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les onglets sont dans la fenêtre actuelle.</dd>
- <dt><code>discarded</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. 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é.***</dd>
- <dt><code>hidden</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les onglets sont cachés.</dd>
- <dt><code>highlighted</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les onglets sont en surbrillance.</dd>
- <dt><code>index</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. La position des onglets dans leurs fenêtres.</dd>
- <dt><code>muted</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les onglets sont en sourdine.</dd>
- <dt><code>lastFocusedWindow</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les onglets sont dans la dernière fenêtre focalisée.</dd>
- <dt><code>openerTabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de l'onglet qui a ouvert cet onglet.</dd>
- <dt><code>pinned</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si les onglets sont épinglés.</dd>
- <dt><code>status</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('tabs.TabStatus')}}. Si les onglets ont terminé le chargement.</dd>
- <dt><code>title</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Faites correspondre les titres de page à un motif.</dd>
- <dt><code>url</code>{{optional_inline}}</dt>
- <dd><code><code>string</code></code> ou <code><code>array</code> de <code><code>string</code></code></code>. Faites correspondre les onglets avec un ou plusieurs <a href="/fr/Add-ons/WebExtensions/Match_patterns">modèle de correspondance</a>. Notez que les identificateurs de fragment ne sont pas appariés.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de la fenêtre parente, ou  {{WebExtAPIRef('windows.WINDOW_ID_CURRENT')}} pour la fenêtre en cours.</dd>
- <dt><code>windowType</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('tabs.WindowType')}}. Le type de fenêtre dans lequel les onglets y  sont.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un <code>tableau</code> d'objets <code>{{WebExtAPIRef('tabs.Tab')}}</code>, contenant des informations sur chaque onglet correspondant. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Obtenez tous les onglets : </p>
-
-<pre class="brush: js">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);</pre>
+querying.then(logTabs, onError);
+```
-<p>Obtenez tous les onglets dans la fenêtre actuelle :</p>
+Obtenez tous les onglets dans la fenêtre actuelle :
-<pre class="brush: js">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);</pre>
+querying.then(logTabs, onError);
+```
-<p>Obtenez l'onglet actif dans la fenêtre actuelle :</p>
+Obtenez l'onglet actif dans la fenêtre actuelle :
-<pre class="brush: js">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);</pre>
+querying.then(logTabs, onError);
+```
-<p>Obtenez des onglets pour toutes les URL HTTP et HTTPS sous "mozilla.org" ou l'un de ses sous-domaines :</p>
+Obtenez des onglets pour toutes les URL HTTP et HTTPS sous "mozilla.org" ou l'un de ses sous-domaines :
-<pre class="brush: js">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);</pre>
+querying.then(logTabs, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.query")}}</p>
+{{Compat("webextensions.api.tabs.query")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -183,5 +187,4 @@ querying.then(logTabs, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Rechargez un onglet, en contournant éventuellement le cache Web local.</p>
+Rechargez un onglet, en contournant éventuellement le cache Web local.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var reloading = browser.tabs.reload(
+```js
+var reloading = browser.tabs.reload(
tabId, // optional integer
reloadProperties // optional object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de l'onglet à recharger. Par défaut à l'onglet sélectionné de la fenêtre en cours.</dd>
- <dt><code>reloadProperties</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>bypassCache</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Contourner le cache web local. La valeur par défaut est <code>false</code>.</dd>
- </dl>
- </dd>
-</dl>
+- `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}}
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+ - `bypassCache`{{optional_inline}}
+ - : `boolean`. Contourner le cache web local. La valeur par défaut est `false`.
-<h2 id="Exemples">Exemples</h2>
+### Valeur retournée
-<p>Recharger l'onglet actif de la fenêtre en cours :</p>
+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.
-<pre class="brush: js">browser.tabs.reload();</pre>
+## Exemples
-<p>Rechargez l'onglet actif de la fenêtre en cours, en ignorant le cache :</p>
+Recharger l'onglet actif de la fenêtre en cours :
-<pre class="brush: js">browser.tabs.reload({bypassCache: true});</pre>
+```js
+browser.tabs.reload();
+```
-<p>Rechargez l'onglet dont l'ID est 2, en ignorant le cache et en appelant un rappel lorsque vous avez terminé :</p>
+Rechargez l'onglet actif de la fenêtre en cours, en ignorant le cache :
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+reloading.then(onReloaded, onError);
+```
-<p>{{Compat("webextensions.api.tabs.reload")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.reload")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -109,5 +111,4 @@ reloading.then(onReloaded, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Ferme un ou plusieurs onglets.</p>
+Ferme un ou plusieurs onglets.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.tabs.remove(
+```js
+var removing = browser.tabs.remove(
tabIds // integer or integer array
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabIds</code></dt>
- <dd><code><code>integer</code></code> or <code><code>array</code> of <code><code>integer</code></code></code>. Les identifiants de l'onglet ou des onglets à fermer.</dd>
-</dl>
+- `tabIds`
+ - : `integer` or `array of integer`. Les identifiants de l'onglet ou des onglets à fermer.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie sans arguments lorsque tous les onglets spécifiés ont été supprimés ou que leurs invites <code>beforeunload</code> ont été traitées. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Fermer un seul onglet :</p>
+Fermer un seul onglet :
-<pre class="brush: js">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);</pre>
+removing.then(onRemoved, onError);
+```
-<p>Fermer plusieurs onglets :</p>
+Fermer plusieurs onglets :
-<pre class="brush: js">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);</pre>
+removing.then(onRemoved, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.remove")}}</p>
+{{Compat("webextensions.api.tabs.remove")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -106,5 +107,4 @@ removing.then(onRemoved, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Supprime d'une page CSS précédemment injectée par un appel à {{WebExtAPIRef("tabs.insertCSS()")}}.</p>
+Supprime d'une page CSS précédemment injectée par un appel à {{WebExtAPIRef("tabs.insertCSS()")}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox">var removing = browser.tabs.removeCSS(
- tabId, // optional integer
- details // object
-)
-</pre>
+ var removing = browser.tabs.removeCSS(
+ tabId, // optional integer
+ details // object
+ )
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de l'onglet à partir duquel supprimer le CSS. Par défaut à l'onglet actif de la fenêtre en cours.</dd>
- <dt><code>details</code></dt>
- <dd>Un objet décrivant le CSS à retirer de la page. Il contient les propriétés suivantes :
- <dl>
- <dt></dt>
- <dt><code>allFrames</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. si <code>true</code>, le code sera supprimé de toutes les images de la page en cours. si c'est <code>false</code>, le code est seulement retiré du cadre supérieur. Par défaut à <code>false</code>.</dd>
- <dt><code>code</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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()")}}.</dd>
- <dt><code>cssOrigin</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>file</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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()")}}.</dd>
- <dt><code>frameId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Le cadre à partir duquel supprimer le CSS. La valeur par défaut est <code>0</code> (l'image de niveau supérieur).</dd>
- <dt><code>matchAboutBlank</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. si <code>true</code>, 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 à <code>false</code>.</dd>
- </dl>
- </dd>
-</dl>
+- `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`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : Un objet décrivant le CSS à retirer de la page. Il contient les propriétés suivantes :
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+ - `allFrames`{{optional_inline}}
-<h2 id="Exemples">Exemples</h2>
+ - : `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`.
-<p>Cet exemple ajoute du code CSS en utilisant {{WebExtAPIRef("tabs.insertCSS")}}, puis le supprime à nouveau lorsque l'utilisateur clique sur une action du navigateur :</p>
+ - `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`.
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
var removing = browser.tabs.removeCSS(2, {code: css});
removing.then(null, onError);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+});
+```
-<p>{{Compat("webextensions.api.tabs.removeCSS")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.removeCSS")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -115,5 +112,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var saving = browser.tabs.saveAsPDF(
+```js
+var saving = browser.tabs.saveAsPDF(
pageSettings // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>pageSettings</code></dt>
- <dd><code>object</code>. 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")}}.</dd>
-</dl>
+- `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")}}.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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 :</p>
+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 :
-<ul>
- <li>"saved"</li>
- <li>"replaced"</li>
- <li>"canceled"</li>
- <li>"not_saved"</li>
- <li>"not_replaced"</li>
-</ul>
+- "saved"
+- "replaced"
+- "canceled"
+- "not_saved"
+- "not_replaced"
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Dans cet exemple, un script d'arrière-plan écoute un clic sur une <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension">action du navigateur</a>, puis tente d'enregistrer l'onglet actif en tant que fichier PDF, puis enregistre le résultat:</p>
+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:
-<pre class="brush: js">browser.browserAction.onClicked.addListener(() =&gt; {
+```js
+browser.browserAction.onClicked.addListener(() => {
browser.tabs.saveAsPDF({})
- .then((status) =&gt; {
+ .then((status) => {
console.log(status);
});
-});</pre>
+});
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.saveAsPDF")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{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
-<div>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">script de contenu </a>concerné par l'extension et qui s'execute dans l'onglet spécifié.</div>
+{{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`.
-<div>Ce message sera reçu dans script de contenu par n'importe quel gestionnaire d'évènements à l'écoute de l'évènement</div>
+Il s'agit d'une fonction asynchrone qui renvoit un objet [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<p>{{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 <code>sendResponse</code>.</p>
+> **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).
-<p>Il s'agit d'une fonction asynchrone qui renvoit un objet <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+## Syntaxe
-<div class="note">
-<p><strong>Note :</strong> Vous pouvez également utiliser une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#Communication_avec_les_scripts_darrière-plan">approche basée sur la connexion pour échanger des messages</a>.</p>
-</div>
-
-
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">var sending = browser.tabs.sendMessage(
+```js
+var sending = browser.tabs.sendMessage(
tabId, // integer
message, // any
options // optional object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet qui contient le script de contenu auquel on veut envoyer un message.</dd>
- <dt><code>message</code></dt>
- <dd><code>any</code>. Un objet qui peut être sérialisé en JSON.</dd>
- <dt><code>options</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>frameId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>.  Envoie le message à un cadre (<em>iframe</em>) spécifique identifiée par <code>frameId</code> 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 <code>all_frames</code> dans la section  <a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts"><code>content_scripts</code></a> de manifest.json.</dd>
- </dl>
- </dd>
-</dl>
+- `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}}
-<h3 id="Valeur_renvoyée">Valeur renvoyée</h3>
+ - : `object`.
-<p>Un objet <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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</p>
+ - `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.
-<h2 id="Exemples">Exemples</h2>
+### Valeur renvoyée
-<p>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:</p>
+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
-<pre class="brush: js">// 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 =&gt; {
+ ).then(response => {
console.log("Message from the content script:");
console.log(response.response);
}).catch(onError);
}
}
-browser.browserAction.onClicked.addListener(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
browser.tabs.query({
currentWindow: true,
active: true
}).then(sendMessageToTabs).catch(onError);
-});</pre>
+});
+```
-<p>Voici le script de contenu associé:</p>
+Voici le script de contenu associé:
-<pre class="brush: js">// content-script.js
+```js
+// content-script.js
"use strict";
-browser.runtime.onMessage.addListener(request =&gt; {
+browser.runtime.onMessage.addListener(request => {
console.log("Message from the background script:");
console.log(request.greeting);
return Promise.resolve({response: "Hi from content script"});
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatiblité_des_navigateurs">Compatiblité des navigateurs</h2>
+});
+```
-<p>{{Compat("webextensions.api.tabs.sendMessage")}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatiblité des navigateurs
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.sendMessage")}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -141,5 +133,4 @@ browser.runtime.onMessage.addListener(request =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div class="warning">
-<p><strong>Attention :</strong> Cette méthode a été dépréciée. Utilisez {{WebExtAPIRef("tabs.sendMessage()")}} à la place.</p>
-</div>
+> **Attention :** Cette méthode a été dépréciée. Utilisez {{WebExtAPIRef("tabs.sendMessage()")}} à la place.
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var sending = browser.tabs.sendRequest(
+```js
+var sending = browser.tabs.sendRequest(
tabId, // integer
request // any
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>.</dd>
- <dt><code>request</code></dt>
- <dd><code>any</code>.</dd>
-</dl>
+- `tabId`
+ - : `integer`.
+- `request`
+ - : `any`.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.sendRequest")}}</p>
+{{Compat("webextensions.api.tabs.sendRequest")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -83,5 +78,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/sendRequest
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Effectue un zoom sur l'onglet spécifié.</p>
+Effectue un zoom sur l'onglet spécifié.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var zooming = browser.tabs.setZoom(
+```js
+var zooming = browser.tabs.setZoom(
tabId, // optional integer
zoomFactor // number
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de l'onglet à zoomer. Par défaut à l'onglet actif de la fenêtre en cours.</dd>
- <dt><code>zoomFactor</code></dt>
- <dd><code>number</code>. 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.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Set the zoom factor for the current tab to 2:</p>
+Set the zoom factor for the current tab to 2:
-<pre class="brush: js">function onError(error) {
+```js
+function onError(error) {
console.log(`Error: ${error}`);
}
var setting = browser.tabs.setZoom(2);
-setting.then(null, onError);</pre>
+setting.then(null, onError);
+```
-<p>Set the zoom factor for the tab whose ID is 16 tab to 0.5:</p>
+Set the zoom factor for the tab whose ID is 16 tab to 0.5:
-<pre class="brush: js">function onError(error) {
+```js
+function onError(error) {
console.log(`Error: ${error}`);
}
var setting = browser.tabs.setZoom(16, 0.5);
-setting.then(null, onError);</pre>
+setting.then(null, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.setZoom")}}</p>
+{{Compat("webextensions.api.tabs.setZoom")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -101,5 +102,4 @@ setting.then(null, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var settingZoomSettings = browser.tabs.setZoomSettings(
+```js
+var settingZoomSettings = browser.tabs.setZoomSettings(
tabId, // optional integer
zoomSettings // ZoomSettings
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>zoomSettings</code></dt>
- <dd>{{WebExtAPIRef('tabs.ZoomSettings')}}. Définit comment les modifications de zoom sont gérées et à quelle portée.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Désactiver le zoom pour l'onglet actuel :</p>
+Désactiver le zoom pour l'onglet actuel :
-<pre class="brush: js">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);</pre>
+setting.then(onSet, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.setZoomSettings")}}</p>
+{{Compat("webextensions.api.tabs.setZoomSettings")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -96,5 +95,4 @@ setting.then(onSet, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Affiche un ou plusieurs onglets précédemment masqués par un appel à {{WebExtAPIRef("tabs.hide")}}.</p>
+Affiche un ou plusieurs onglets précédemment masqués par un appel à {{WebExtAPIRef("tabs.hide")}}.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var showing = browser.tabs.show(
+```js
+var showing = browser.tabs.show(
tabIds // integer or integer array
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabIds</code></dt>
- <dd><code><code>integer</code></code> or <code><code>array</code></code> of <code><code>integer</code></code>. Les ID de l'onglet ou des onglets à afficher.</dd>
-</dl>
+- `tabIds`
+ - : `integer` or `array` of `integer`. Les ID de l'onglet ou des onglets à afficher.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera accomplie sans arguments. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Afficher un seul onglet :</p>
+Afficher un seul onglet :
-<pre class="brush: js">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);</pre>
+browser.tabs.show(2).then(onShown, onError);
+```
-<p>Afficher plusieurs onglets :</p>
+Afficher plusieurs onglets :
-<pre class="brush: js">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);</pre>
+browser.tabs.show([15, 14, 1]).then(onShown, onError);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.show")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <strong><code>tabs.Tab</code></strong> 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.</p>
+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.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>active</code></dt>
- <dd><p><code>boolean</code>. 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.</p>
- <p>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.</p></dd>
- <dt><code>attention</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Indique si l'onglet attire l'attention. Par exemple, lorsque l'onglet affiche un dialogue modal, <code>attention</code> sera à <code>true</code>.</dd>
- <dt><code>audible</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>autoDiscardable</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si l'onglet peut être supprimé automatiquement par le navigateur lorsque les ressources sont faibles.</dd>
- <dt><code>cookieStoreId</code> {{optional_inline}}</dt>
- <dd><code>string</code>. 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'<a href="https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers">identitié contextuelle</a>), vous pouvez passer cette option <code>storeId</code> 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 <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"cookies".</code></dd>
- <dt><code>discarded</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. 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é.</dd>
- <dt><code>favIconUrl</code> {{optional_inline}}</dt>
- <dd><code>string</code>. L'URL de la favicon de l'onglet. Seulement présent si l'extension a la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"tabs"</code>. Il peut également s'agir d'une chaîne vide si l'onglet est en cours de chargement.</dd>
- <dt><code>height</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. La hauteur de l'onglet en pixels.</dd>
- <dt><code>hidden</code></dt>
- <dd><code>boolean</code>. Si l'onglet est caché.</dd>
- <dt><code>highlighted</code></dt>
- <dd><p><code>boolean</code>. 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 <kbd>Ctrl</kbd>, <kbd>Shift</kbd> ou <kbd>⌘ Command</kbd> .</p>
- <p>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  <code>browser.tabs.multiselect</code> (activé par défaut).</p></dd>
- <dt><code>id</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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).</dd>
- <dt><code>incognito</code></dt>
- <dd><code>boolean</code>. Si l'onglet est dans une fenêtre de navigation privée.</dd>
- <dt><code>index</code></dt>
- <dd><code>integer</code>. L'indice de base zéro de l'onglet dans sa fenêtre.</dd>
- <dt><code>isArticle</code></dt>
- <dd><code>boolean</code>. Vrai si l'onglet peut être <a href="/fr/Add-ons/WebExtensions/API/tabs/toggleReaderMode">rendu en mode lecteur</a>, sinon faux.</dd>
- <dt><code>isInReaderMode</code></dt>
- <dd><code>boolean</code>. Vrai si l'onglet en cours de <a href="/fr/Add-ons/WebExtensions/API/tabs/toggleReaderMode">rendu en mode lecteur</a>, sinon faux.</dd>
- <dt><code>lastAccessed</code></dt>
- <dd><code>double</code>. Heure à laquelle l'onglet a été accédé pour la dernière fois, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>mutedInfo</code> {{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('tabs.MutedInfo')}}. L'état en sourdine actuel pour l'onglet et la raison du dernier changement d'état.</dd>
- <dt><code>openerTabId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>pinned</code></dt>
- <dd><code>boolean</code>. Si l'onglet est épinglé.</dd>
- <dt><code>selected</code> {{deprecated_inline}}</dt>
- <dd><code>boolean</code>. Si l'onglet est sélectionné. Cette propriété a été remplacée par <code>active</code> et <code>highlighted</code>.</dd>
- <dt><code>sessionId</code> {{optional_inline}}</dt>
- <dd><code>string</code>. L'identifiant de session utilisé pour identifier de façon unique un <code>onglet</code>  obtenu à partir de l'API {{WebExtAPIRef('sessions')}}.</dd>
- <dt><code>status</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Soit <em>charger</em> ou <em>compléter</em>.</dd>
- <dt><code>successorId</code> {{optional_inline}}</dt>
- <dd><code>integer</code> L'ID du successeur de l'onglet.</dd>
- <dt><code>title</code> {{optional_inline}}</dt>
- <dd><code>string</code>. Le titre de l'onglet. Seulement présent si l'extension à la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"tabs".</code></dd>
- <dt><code>url</code> {{optional_inline}}</dt>
- <dd><code>string</code>. L'URL du document que l'onglet affiche. Seulement présent si l'extension à la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"tabs"</code>.</dd>
- <dt><code>width</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. La largeur de l'onglet en pixels</dd>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. L'ID de la fenêtre qui héberge cet onglet.**</dd>
-</dl>
+- `active`
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `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.
-<p>{{Compat("webextensions.api.tabs.Tab", 10)}}</p>
+ 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.
-<p>{{WebExtExamples}}</p>
+- `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`
-<div class="note"><p><strong>Note :</strong></p>
+ - : `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 <kbd>Ctrl</kbd>, <kbd>Shift</kbd> ou <kbd>⌘ Command</kbd> .
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+ 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).
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+- `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.\*\*
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.tabs.Tab", 10)}}
+
+{{WebExtExamples}}
+
+> **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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -121,5 +123,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/Tab
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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).</p>
+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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.TAB_ID_NONE")}}</p>
+{{Compat("webextensions.api.tabs.TAB_ID_NONE")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#property-TAB_ID_NONE"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -58,5 +56,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/TAB_ID_NONE
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Indique si l'onglet a terminé le chargement.</p>
+Indique si l'onglet a terminé le chargement.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : <code>"loading"</code> et <code>"complete"</code>.</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : `"loading"` et `"complete"`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.TabStatus")}}</p>
+{{Compat("webextensions.api.tabs.TabStatus")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -62,5 +60,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/TabStatus
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Bascule en mode Lecteur pour l'onglet donné.</p>
+Bascule en mode Lecteur pour l'onglet donné.
-<ul>
-</ul>
+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é.
-<p>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é.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+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 :
-<p>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 :</p>
+- 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é.
-<ul>
- <li>masquage d'éléments de page non essentiels, tels que des encadrés, des bas de page et des annonces</li>
- <li>changer la taille du texte de la page, le contraste et la disposition pour une meilleure lisibilité.</li>
-</ul>
+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")}}.
-<p>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é <code>isArticle</code> de {{WebExtAPIRef("tabs.Tab")}}.</p>
+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 :
-<p>Pour savoir si un onglet est déjà en mode Lecteur, vérifiez la propriété  <code>isInReaderMode</code> 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 <code>isInReaderMode</code> change :</p>
-
-<pre class="brush: js">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);</pre>
+browser.tabs.onUpdated.addListener(handleUpdated);
+```
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var toggling = browser.tabs.toggleReaderMode(
+```js
+var toggling = browser.tabs.toggleReaderMode(
tabId // optional integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de l'onglet à afficher en mode Lecteur. Par défaut à l'onglet sélectionné de la fenêtre en cours.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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..</p>
+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..
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code bascule chaque nouvelle page en mode lecteur, si cette page est éligible pour cela :</p>
+Ce code bascule chaque nouvelle page en mode lecteur, si cette page est éligible pour cela :
-<pre class="brush: js">function switchToReaderMode(tabId, changeInfo, tabInfo) {
+```js
+function switchToReaderMode(tabId, changeInfo, tabInfo) {
if (changeInfo.isArticle) {
browser.tabs.toggleReaderMode(tabId);
}
}
-browser.tabs.onUpdated.addListener(switchToReaderMode);</pre>
+browser.tabs.onUpdated.addListener(switchToReaderMode);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.toggleReaderMode")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Parcourez l'onglet vers une nouvelle URL ou modifiez d'autres propriétés de l'onglet.</p>
+Parcourez l'onglet vers une nouvelle URL ou modifiez d'autres propriétés de l'onglet.
-<p>Pour utiliser cette fonction, transmettez l'ID de l'onglet à mettre à jour et un objet <code>updateProperties</code> contenant les propriétés que vous souhaitez mettre à jour. Les propriétés qui ne sont pas spécifiées dans  <code>updateProperties</code> ne sont pas modifiées.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var updating = browser.tabs.update(
+```js
+var updating = browser.tabs.update(
tabId, // optional integer
updateProperties // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Par défaut à l'onglet sélectionné de la fenêtre en cours.</dd>
- <dt><code>updateProperties</code></dt>
- <dd><p><code>object</code>. 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")}}.</p>
- <dl>
- <dt><code>active</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si l'onglet doit devenir actif. Ne modifie pas le focus de la fenêtre (voir {{WebExtAPIRef('windows.update')}}). Si <code>true</code>, les onglets surlignés non actifs cesseront d'être surlignés. Si <code>false</code>, ne fait rien.</dd>
- <dt><code>autoDiscardable</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si l'onglet doit être supprimé automatiquement par le navigateur lorsque les ressources sont faibles.</dd>
- <dt><code>highlighted</code>{{optional_inline}}</dt>
- <dd><p><code>boolean</code>. Ajoute ou supprime l'onglet de la sélection courante. Si <code>true</code> et que l'onglet n'est pas surligné, il deviendra actif par défaut.</p>
- <p>Si vous voulez seulement mettre en surbrillance l'onglet sans l'activer, Firefox accepte le réglage <code>highlighted</code> à <code>true</code> et <code>active</code> à <code>false</code>. D'autres navigateurs peuvent activer l'onglet même dans ce cas.</p>
- </dd>
- <dt><code>loadReplace</code>{{optional_inline}}</dt>
- <dd>
- <p><code>boolean</code>. Si la nouvelle URL doit remplacer l'ancienne URL dans l'historique de navigation de l'onglet, accessible via le bouton "Retour".</p>
-
- <p>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 <code>loadReplace</code>, le bouton "retour" sera activé et ramènera l'utilisateur à "about:newtab". Si l'extension définit <code>loadReplace</code>, 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.</p>
-
- <p>Notez cependant que l'URL d'origine apparaîtra toujours dans l'historique global du navigateur.</p>
- </dd>
- <dt><code>muted</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si l'onglet doit être coupé.</dd>
- <dt><code>openerTabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>pinned</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si l'onglet doit être épinglé.</dd>
- <dt><code>selected</code> {{deprecated_inline}} {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si l'onglet doit être sélectionné. Cette propriété a été remplacée par <code>active</code> et <code>highlighted</code>.</dd>
- <dt><code>successorTabId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. L'identifiant de l'ID du successeur de l'onglet.</dd>
- <dt><code>url</code>{{optional_inline}}</dt>
- <dd><p><code>string</code>. Une URL pour naviguer dans l'onglet.</p><p>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 :</p>
- <ul>
- <li>chrome: URLs</li>
- <li>javascript: URLs</li>
- <li>data: URLs</li>
- <li>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)</li>
- <li>confidentiel : URLs (par exemle, <code>about:config</code>, <code>about:addons</code>, <code>about:debugging</code>, <code>about:newtab</code>). Les URL non privilégiées (par exemple, <code>about:blank</code>) sont autorisées.</li>
- </ul>
- <p>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.</p></dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>A <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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' <code>url</code>, <code>title</code> et <code>favIconUrl</code> sauf si la permission <code>"tabs"</code> 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.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Naviguez dans l'onglet actif de la fenêtre en cours pour https://developer.mozilla.org :</p>
-
-<pre class="brush: js">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);</pre>
+updating.then(onUpdated, onError);
+```
-<p>Activez le premier onglet de la fenêtre actuelle et naviguez jusqu'à https://developer.mozilla.org:</p>
+Activez le premier onglet de la fenêtre actuelle et naviguez jusqu'à https\://developer.mozilla.org:
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+querying.then(updateFirstTab, onError);
+```
-<p>{{Compat("webextensions.api.tabs.update", 10)}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l’API <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a> de Chromium. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
+{{Compat("webextensions.api.tabs.update", 10)}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -158,5 +163,4 @@ querying.then(updateFirstTab, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type de fenêtre qui héberge cet onglet.</p>
+Le type de fenêtre qui héberge cet onglet.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:
-<ul>
- <li><strong>"normal"</strong></li>
- <li><strong>"popup"</strong></li>
- <li><strong>"panel"</strong></li>
- <li><strong>"devtools"</strong></li>
-</ul>
+- **"normal"**
+- **"popup"**
+- **"panel"**
+- **"devtools"**
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.WindowType")}}</p>
+{{Compat("webextensions.api.tabs.WindowType")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +65,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/WindowType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>defaultZoomFactor</code>{{optional_inline}}</dt>
- <dd><code>number</code>. Le niveau de zoom par défaut pour l'onglet actuel. Notez que ceci n'est utilisé que dans {{WebExtAPIRef("tabs.getZoomSettings")}}.</dd>
- <dt><code>mode</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('tabs.ZoomSettingsMode')}}. Définit si les modifications de zoom sont gérées par le navigateur, par l'extension ou désactivées.</dd>
- <dt><code>scope</code>{{optional_inline}}</dt>
- <dd>{{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.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.ZoomSettings")}}</p>
+{{Compat("webextensions.api.tabs.ZoomSettings")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -71,5 +67,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/ZoomSettings
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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".</p>
+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".
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt>"automatic"</dt>
- <dd>Les modifications de zoom sont gérées normalement par le navigateur.</dd>
- <dt>"disabled"</dt>
- <dd>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.</dd>
- <dt>"manual"</dt>
- <dd>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 <code>per-origin</code> : il ignore la <code>portée</code> {{WebExtAPIRef("tabs.zoomSettings", "zoom setting")}} et utilise toujours la fonction <code>per-tab</code>.</dd>
-</dl>
+- "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`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.ZoomSettingsMode")}}</p>
+{{Compat("webextensions.api.tabs.ZoomSettingsMode")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -71,5 +67,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/ZoomSettingsMode
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 à <code>per-origin</code> lorsque   {{WebExtAPIRef("tabs.zoomSettingsMode")}} est "automatique", et est toujours <code>per-tab</code>.</p>
+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`.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt>"per-origin"</dt>
- <dd>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".</dd>
- <dt>"per-tab"</dt>
- <dd>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 <code>per-tab</code> ont réinitialisés lors de la navigation ; la navigation dans un onglet charge toujours les pages avec <code>per-origin</code> de zoom d'origine.</dd>
-</dl>
+- "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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.tabs.ZoomSettingsScope")}}</p>
+{{Compat("webextensions.api.tabs.ZoomSettingsScope")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +65,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/ZoomSettingsScope
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/theme#colors">propriétés de la couleur</a>.</p>
+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).
-<p>Il s'agit d'une fonction asynchrone qui renvoie un objet <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie un objet [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getting = browser.theme.getCurrent(
- <em>windowId</em> // integer
+```js
+var getting = browser.theme.getCurrent(
+ windowId // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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é.</dd>
-</dl>
+- `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é.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Un objet <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.theme.getCurrent", 10)}}</p>
+{{Compat("webextensions.api.theme.getCurrent", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Obtient les propriétés des couleurs <code>accentcolor</code> et <code>toolbar</code> dans le thème actuel.</p>
+Obtient les propriétés des couleurs `accentcolor` et `toolbar` dans le thème actuel.
-<pre class="brush: js">function getStyle(themeInfo)
+```js
+function getStyle(themeInfo)
{
if (themeInfo.colors)
{
@@ -59,6 +59,7 @@ async function getCurrentThemeInfo()
getStyle(themeInfo);
}
-getCurrentThemeInfo();</pre>
+getCurrentThemeInfo();
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Permet aux extensions du navigateur de mettre à jour le thème du navigateur.</p>
+Permet aux extensions du navigateur de mettre à jour le thème du navigateur.
-<p>Pour utiliser cette API, une extension doit demander la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "theme" dans son fichier <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a>.</p>
+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).
-<div class="note">
-<p><strong>Note :</strong> quand on met un thème en arrière plan, on doit déclarer la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> 'theme' et on ne peut pas utiliser la fonction <a href="/fr/Add-ons/WebExtensions/manifest.json/theme">theme</a> du manifest, puisque ce n'est pas compatible.</p>
-</div>
+> **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.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("theme.Theme")}}</dt>
- <dd>Représente le contenu d'un thème.</dd>
-</dl>
+- {{WebExtAPIRef("theme.Theme")}}
+ - : Représente le contenu d'un thème.
-<h2 id="Fonctions">Fonctions</h2>
+## Fonctions
-<dl>
- <dt>{{WebExtAPIRef("theme.getCurrent()")}}</dt>
- <dd>Retourne le thème actuel du navigateur.</dd>
- <dt>{{WebExtAPIRef("theme.update()")}}</dt>
- <dd>Met à jour à le thème du navigateur.</dd>
- <dt>{{WebExtAPIRef("theme.reset()")}}</dt>
- <dd>Supprime les mises à jour de thèmes effectuées lors d'un appel à {{WebExtAPIRef("theme.update()")}}.</dd>
-</dl>
+- {{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()")}}.
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt>{{WebExtAPIRef("theme.onUpdated")}}</dt>
- <dd>Emis quand le thème du navigateur change.</dd>
-</dl>
+- {{WebExtAPIRef("theme.onUpdated")}}
+ - : Emis quand le thème du navigateur change.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.theme")}}</p>
+{{Compat("webextensions.api.theme")}}
-<p>{{WebExtExamples("h2")}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 :</p>
+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 :
-<ul>
- <li>Quand un <a href="/fr/Add-ons/Themes/Theme_concepts#Static_themes">thème statique</a> est installé</li>
- <li>Quand un <a href="/fr/Add-ons/WebExtensions/API/theme">thème dynamique </a>appelle <code><a href="/fr/Add-ons/WebExtensions/API/theme/update">theme.update()</a></code> ou <code><a href="/fr/Add-ons/WebExtensions/API/theme/update">theme.reset()</a></code></li>
- <li>Quand un thème est désinstallé</li>
-</ul>
+- 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é
-<p>Notez que cet événement n'est pas déclenché pour les thèmes intégrés.</p>
+Notez que cet événement n'est pas déclenché pour les thèmes intégrés.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.theme.onUpdated.addListener(listener)
+```js
+browser.theme.onUpdated.addListener(listener)
browser.theme.onUpdated.removeListener(listener)
browser.theme.onUpdated.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrête d'écouter cet événement. L'argument de <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si <code>listener</code> est enregistré pour cet événement. Retourne <code>true</code> s'il écoute, sinon  <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les paramètres suivants :</p>
+- `callback`
- <dl>
- <dt><code>updateInfo</code></dt>
- <dd>
- <p><code>object</code>. Un objet contenant deux propriétés :</p>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les paramètres suivants :
- <dl>
- <dt><code>theme</code></dt>
- <dd><code>object</code>. 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é.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
- </dl>
- </dd>
-</dl>
+ - `updateInfo`
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `object`. Un objet contenant deux propriétés :
-<p>{{Compat("webextensions.api.theme.onUpdated", 10)}}</p>
+ - `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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<pre class="brush: js">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);</pre>
+browser.theme.onUpdated.addListener(handleUpdated);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Réinitialise tout thème appliqué à l'aide de la méthode {{WebExtAPIRef("theme.update()")}}</p>
+Réinitialise tout thème appliqué à l'aide de la méthode {{WebExtAPIRef("theme.update()")}}
-<p>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 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1415267">bug 1415267</a>).</p>
+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)).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.theme.reset( windowsId // integer )
-</pre>
+```js
+browser.theme.reset( windowsId // integer )
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.theme.reset")}}</p>
+{{Compat("webextensions.api.theme.reset")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code applique un thème, puis le supprime lorsque l'utilisateur clique sur une action du navigateur:</p>
+Ce code applique un thème, puis le supprime lorsque l'utilisateur clique sur une action du navigateur:
-<pre class="brush: js">browser.theme.update(themes.night);
+```js
+browser.theme.update(themes.night);
-browser.browserAction.onClicked.addListener(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
browser.theme.reset();
-});</pre>
+});
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -74,5 +74,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet thème représente la spécification d'un thème.</p>
+Un objet thème représente la spécification d'un thème.
-<h2 id="Type">Type</h2>
+## Type
-<p>Un <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object">object</a> JSON qui prend les mêmes propriétés que la clé du manifest <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">"theme"</a>.</p>
+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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.theme.Theme")}}</p>
+{{Compat("webextensions.api.theme.Theme")}}
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Met à jour le thème du navigateur en fonction du contenu de l'objet {{WebExtAPIRef("theme.Theme", "Theme")}} donné.</p>
+Met à jour le thème du navigateur en fonction du contenu de l'objet {{WebExtAPIRef("theme.Theme", "Theme")}} donné.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.theme.update(
+```js
+browser.theme.update(
windowId, // integer
theme // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
-</dl>
+- `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.
-<dl>
- <dt><code>theme</code></dt>
- <dd><code>object</code>. Un objet {{WebExtAPIRef("theme.Theme", "Theme")}} spécifiant des valeurs pour les éléments de l'interface utilisateur que vous voulez modifier</dd>
-</dl>
+<!---->
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- `theme`
+ - : `object`. Un objet {{WebExtAPIRef("theme.Theme", "Theme")}} spécifiant des valeurs pour les éléments de l'interface utilisateur que vous voulez modifier
-<p>{{Compat("webextensions.api.theme.update", 10)}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.theme.update", 10)}}
-<p>Définit le thème du navigateur pour utiliser un graphique solaire avec une couleur de fond complémentaire:</p>
+## Exemples
-<pre class="brush: js">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);</pre>
+browser.theme.update(suntheme);
+```
-<p>Définissez le thème uniquement pour la fenêtre actuellement ciblée:</p>
+Définissez le thème uniquement pour la fenêtre actuellement ciblée:
-<pre class="brush: js">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);</pre>
+browser.menus.onClicked.addListener(updateThemeForCurrentWindow);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient un tableau contenant des informations sur les pages que l'utilisateur a visitées souvent et récemment.</p>
+Obtient un tableau contenant des informations sur les pages que l'utilisateur a visitées souvent et récemment.
-<p>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".</p>
+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".
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>L'API <code>topSites.get()</code> 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.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<p>Pour utiliser l'API topSites, vous devez avoir la <a href="fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API</a> "topSites"</p>
+Pour utiliser l'API topSites, vous devez avoir la [permission de l'API](fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "topSites"
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingTopSites = browser.topSites.get()
-</pre>
+```js
+var gettingTopSites = browser.topSites.get()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>options</code></dt>
- <dd><p><code>object</code>. Options pour modifier la liste des pages retournées. Il peut s'agir de l'une des propriétés suivantes :</p>
- <dl>
- <dt><code>includeBlocked</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>. Inclure les pages que l'utilisateur a supprimées de la page "Nouvel onglet". La valeur par défaut est <code>false</code>.</dd>
- <dt><code>includeFavicon</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>.  Inclure les favicons dans les résultats, pour les pages où ils sont disponibles. La valeur par défaut est <code>false</code>.</dd>
- <dt><code>includePinned</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>. inclure les sites que l'utilisateur a épinglés dans le nouvel onglet Firefox.<br>
- Par défaut à <code>false</code>.</dd>
- <dt><code>includeSearchShortcuts</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>.  Inclut les raccourcis de recherche qui apparaissent dans le nouvel onglet Firefox.<br>
- Par défaut à <code>false</code>.</dd>
- <dt><code>limit</code> {{optional_inline}}</dt>
- <dd><code>Integer</code>. Le nombre de pages à retourner. Ce chiffre doit être compris entre 1 et 100 inclusivement. La valeur par défaut est 12.</dd>
- <dt><code>onePerDomain</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>. N'incluez qu'une seule page par domaine. La valeur par défaut est <code>true</code>.</dd>
- </dl>
- </dd>
-</dl>
+- `options`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. Options pour modifier la liste des pages retournées. Il peut s'agir de l'une des propriétés suivantes :
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. 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.</p>
+ - `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`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.topSites.get")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Ce code enregistre le titre et l'UL de tous les sites dans la page "Nouvel onglet" :</p>
+{{Compat("webextensions.api.topSites.get")}}
-<pre class="brush: js">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);
-</pre>
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
+gettingTopSites.then(logTopSites, onError);
+```
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/topSites"><code>chrome.topSites</code></a>.</p>
-</div>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.topSites`](https://developer.chrome.com/extensions/topSites).
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -138,5 +137,4 @@ gettingTopSites.then(logTopSites, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Utilisez l'API topSites pour obtenir un tableau contenant les pages que l'utilisateur a visitées  fréquemment.</p>
+Utilisez l'API topSites pour obtenir un tableau contenant les pages que l'utilisateur a visitées  fréquemment.
-<p>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".</p>
+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".
-<p>Pour utiliser l'API topSites, vous devez disposez de l' <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">API permission</a> "topSites".</p>
+Pour utiliser l'API topSites, vous devez disposez de l' [API permission](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "topSites".
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("topSites.MostVisitedURL")}}</dt>
- <dd>Un objet contenant le titre et l'URL d'un site web.</dd>
-</dl>
+- {{WebExtAPIRef("topSites.MostVisitedURL")}}
+ - : Un objet contenant le titre et l'URL d'un site web.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<dl>
- <dt>{{WebExtAPIRef("topSites.get()")}}</dt>
- <dd>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.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_Navigateur">Compatibilité du Navigateur</h2>
+## Compatibilité du Navigateur
+{{Compat("webextensions.api.topSites")}}
+{{WebExtExamples("h2")}}
-<p>{{Compat("webextensions.api.topSites")}}</p>
+> **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.
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/topSites"><code>chrome.topSites</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -77,5 +69,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/topSites
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type <code>MostVisitedURL</code> contient deux propriétés : le titre de la page et son URL.</p>
+Le type `MostVisitedURL` contient deux propriétés : le titre de la page et son URL.
-<h2 id="Type">Type</h2>
+## Type
-<p>Values of this type are objects. They contain the following properties:</p>
+Values of this type are objects. They contain the following properties:
-<dl>
- <dt><code>favicon</code> {{optional_inline}}</dt>
- <dd><code>String</code>. Une donnée : URL contenant le favicon de la page, si <code>includeFavicon</code> était donné dans {{WebExtAPIRef("topSites.get()")}} et le favicon était disponible.</dd>
- <dt><code>title</code></dt>
- <dd><code>String</code>. Le titre de la page.</dd>
- <dt><code>url</code></dt>
- <dd><code>String</code>. L'URL de la page.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
+{{Compat("webextensions.api.topSites.MostVisitedURL")}}
+## Exemples
-<p>{{Compat("webextensions.api.topSites.MostVisitedURL")}}</p>
+{{WebExtExamples}}
-<h2 id="Exemples">Exemples</h2>
+> **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.
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/topSites"><code>chrome.topSites</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -75,5 +69,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/topSites/MostVisitedURL
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Utilisez <code>BrowserSetting.clear()</code> pour effacer toutes les modification apportées à l'extension du navigateur. Le paramètre du navigateur revient à sa valeur précédente.</p>
+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.
-<p>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 <code><a href="/fr/Add-ons/WebExtensions/API/privacy/BrowserSetting/set">BrowserSetting.set()</a></code> pour en savoir plus sur le contrôle des paramètres.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. Si la compensation a échoué, la promesse renvoie une valeur à <code>false</code>. Si l'effacement de la valeur a réussi, il se résout à <code>true</code>.</p>
+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`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var clearing = setting.clear(
+```js
+var clearing = setting.clear(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd>Un objet vide</dd>
-</dl>
+- `details`
+ - : Un objet vide
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera rempli avec un <code>booléen</code>: <code>true</code> Si le paramètre est effacé, <code>false</code> sinon.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>Voir {{WebExtAPIRef("types.BrowserSetting")}}.</p>
+Voir {{WebExtAPIRef("types.BrowserSetting")}}.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<p>Effacer le paramètre <code>webRTCIPHandlingPolicy</code>  :</p>
+Effacer le paramètre `webRTCIPHandlingPolicy`  :
-<pre class="brush: js">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);</pre>
+clearing.then(onCleared);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/types"><code>chrome.types</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -94,5 +93,4 @@ clearing.then(onCleared);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La méthode  <code>BrowserSetting.get()</code> obtient la valeur actuelle du paramètre du navigateur et une énumération indiquant comment la valeur du paramètre est actuellement controléee..</p>
+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..
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getting = setting.get(
+```js
+var getting = setting.get(
details // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>détails</code></dt>
- <dd>Un objet vide.</dd>
-</dl>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet avec les propriétés suivantes :</p>
-
-<dl>
- <dt><code>value</code></dt>
- <dd>La valeur du paramètre. Le type de cette propriété est déterminé par le paramètre particulier.</dd>
- <dt><code>levelOfControl</code></dt>
- <dd><code>string</code>. 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 <code><a href="/fr/Add-ons/WebExtensions/API/privacy/BrowserSetting/set">BrowserSetting.set()</a></code> pour plus détails. Sa valeur peut-être l'une des suivantes :
- <table class="standard-table">
- <tbody>
- <tr>
- <td><code>"not_controllable"</code></td>
- <td>Les extensions ne sont pas autorisées à modifier le paramètre.</td>
- </tr>
- <tr>
- <td><code>"controlled_by_other_extensions"</code></td>
- <td>Une autre extension qui a été installée après celle-ci a modifié ce paramètre</td>
- </tr>
- <tr>
- <td><code>"controllable_by_this_extension"</code></td>
- <td>Cette extension est autorisée à modifier le paramètre.</td>
- </tr>
- <tr>
- <td><code>"controlled_by_this_extension"</code></td>
- <td>Cette extensions a déjà modifi le paramètre.</td>
- </tr>
- </tbody>
- </table>
- </dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>Voir {{WebExtAPIRef("types.BrowserSetting")}}.</p>
-
-<h2 id="Exemple">Exemple</h2>
-
-<p>Enregitrez la valeur et le niveau de contrôle de la propriété <code>networkPredictionEnabled</code> de l'objet {{WebExtAPIRef("privacy.network")}}, pour les fenêtres de navigations privées. Notez que cela nécessite la permission du navigateur "privacy".</p>
-
-<pre class="brush: js">var getting = browser.privacy.network.networkPredictionEnabled.get({});
-
-getting.then((got) =&gt; {
+```
+
+### 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 :<table class="standard-table">
+ <tbody>
+ <tr>
+ <td><code>"not_controllable"</code></td>
+ <td>Les extensions ne sont pas autorisées à modifier le paramètre.</td>
+ </tr>
+ <tr>
+ <td><code>"controlled_by_other_extensions"</code></td>
+ <td>
+ Une autre extension qui a été installée après celle-ci a modifié ce
+ paramètre
+ </td>
+ </tr>
+ <tr>
+ <td><code>"controllable_by_this_extension"</code></td>
+ <td>Cette extension est autorisée à modifier le paramètre.</td>
+ </tr>
+ <tr>
+ <td><code>"controlled_by_this_extension"</code></td>
+ <td>Cette extensions a déjà modifi le paramètre.</td>
+ </tr>
+ </tbody>
+ </table>
+
+## 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}`);
});
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/types"><code>chrome.types</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -117,5 +114,4 @@ getting.then((got) =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un <code>BrowserSetting</code> est un objet représentant un paramètre de navigateur.</p>
+Un `BrowserSetting` est un objet représentant un paramètre de navigateur.
-<p>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.</p>
+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.
-<p>Notez que si cet objet est basé sur le type <a href="https://developer.chrome.com/extensions/types#type-ChromeSetting">ChromeSetting</a>, 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 <code>scope</code> de <code>ChromeSetting.set()</code>) ne sont pas implémentées.</p>
+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.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<dl>
- <dt>{{WebExtAPIRef("types.BrowserSetting.get()")}}</dt>
- <dd>Obtenez la valeur actuelle du paramètre et une énumération représentant la façon dont le paramètre est actuellement contrôlé.</dd>
- <dt>{{WebExtAPIRef("types.BrowserSetting.set()")}}</dt>
- <dd>Réglez le paramètre sur une nouvelle valeur.</dd>
- <dt>{{WebExtAPIRef("types.BrowserSetting.clear()")}}</dt>
- <dd>Effacez toute modification apportée au paramètre par cette extension.</dd>
-</dl>
+- {{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.
-<h2 id="Evénements">Evénements</h2>
+## Evénements
-<dl>
- <dt>{{WebExtAPIRef("types.BrowserSetting.onChange")}}</dt>
- <dd>Définit lorsque la valeur du paramètre change.</dd>
-</dl>
+- {{WebExtAPIRef("types.BrowserSetting.onChange")}}
+ - : Définit lorsque la valeur du paramètre change.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<h2 id="Browser_compatibility">Browser compatibility</h2>
+## Browser compatibility
+{{Compat("webextensions.api.types.BrowserSetting")}}
+{{WebExtExamples}}
-<p>{{Compat("webextensions.api.types.BrowserSetting")}}</p>
+> **Note :**
+>
+> Cette API est basée sur l'API Chromium [`chrome.types`](https://developer.chrome.com/extensions/types).
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/types"><code>chrome.types</code></a>.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -81,5 +73,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/types/BrowserSetting
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>L'événement <code>BrowserSetting.onChanged</code> est déclenché lorsque le paramètre est modifié.</p>
+L'événement `BrowserSetting.onChanged` est déclenché lorsque le paramètre est modifié.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">BrowserSetting.onChanged.addListener(listener)
+```js
+BrowserSetting.onChanged.addListener(listener)
BrowserSetting.onChanged.removeListener(listener)
BrowserSetting.onChanged.hasListener(listener)
-</pre>
-
-<p>Les événement ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(listener)</code></dt>
- <dd>Ajout un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifier si l'auditeur est enregistré pour cet événement. Renvoie <code>true</code> si elle écoute, <code>false</code> sinon.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd>Un <code>object</code> contenant des détails sur le changement survenu. Ses propriété sont les suivantes :
- <dl>
- <dt><code>value</code></dt>
- <dd>La nouvelle valeur du paramètre. Le type de cette propriété est déterminé par le paramètre particulier.</dd>
- <dt><code>levelOfControl</code></dt>
- <dd><code>string</code>. 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 <code><a href="/fr/Add-ons/WebExtensions/API/privacy/BrowserSetting/set">BrowserSetting.set()</a></code> pour plus détails. Sa valeur peut-être l'une des suivantes :
- <table class="standard-table">
- <tbody>
- <tr>
- <td><code>"not_controllable"</code></td>
- <td>Les extensions ne sont pas autorisées à modifier ce paramètre.</td>
- </tr>
- <tr>
- <td><code>"controlled_by_other_extensions"</code></td>
- <td>Une autre extensions qui a été installée après celle-ci a modifié ce paramètre.</td>
- </tr>
- <tr>
- <td><code>"controllable_by_this_extension"</code></td>
- <td>Cette extensions est autorisée à modifier le paramètre.</td>
- </tr>
- <tr>
- <td><code>controlled_by_this_extension"</code></td>
- <td>Cette extensions a déjà modifié le paramètre.</td>
- </tr>
- </tbody>
- </table>
- </dd>
- </dl>
- </dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-
-
-<p>{{Compat("webextensions.api.types.BrowserSetting.onChange")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/types"><code>chrome.types</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+```
+
+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()`](/fr/Add-ons/WebExtensions/API/privacy/BrowserSetting/set) pour plus détails. Sa valeur peut-être l'une des suivantes :<table class="standard-table">
+ <tbody>
+ <tr>
+ <td><code>"not_controllable"</code></td>
+ <td>Les extensions ne sont pas autorisées à modifier ce paramètre.</td>
+ </tr>
+ <tr>
+ <td><code>"controlled_by_other_extensions"</code></td>
+ <td>
+ Une autre extensions qui a été installée après celle-ci a modifié ce
+ paramètre.
+ </td>
+ </tr>
+ <tr>
+ <td><code>"controllable_by_this_extension"</code></td>
+ <td>Cette extensions est autorisée à modifier le paramètre.</td>
+ </tr>
+ <tr>
+ <td><code>controlled_by_this_extension"</code></td>
+ <td>Cette extensions a déjà modifié le paramètre.</td>
+ </tr>
+ </tbody>
+ </table>
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.types.BrowserSetting.onChange")}}
+
+## Exemples
+
+{{WebExtExamples}}
+
+> **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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -124,5 +114,4 @@ BrowserSetting.onChanged.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Utilisez <code>BrowserSetting.set()</code> pour modifier le paramètre du navigateur vers une nouvelle valeur.</p>
+Utilisez `BrowserSetting.set()` pour modifier le paramètre du navigateur vers une nouvelle valeur.
-<p>Certaines règles peuvent être restreintes lorsque les extensions sont capables de modifier les paramètres :</p>
+Certaines règles peuvent être restreintes lorsque les extensions sont capables de modifier les paramètres :
-<ul>
- <li>Certains paramètres sont verrouillés, de sorte qu'ils ne peuvent pas être modifiés par les extensions</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>Cela signifie que si l'extension X essaie de modifier un paramètre :</p>
+Cela signifie que si l'extension X essaie de modifier un paramètre :
-<ol>
- <li>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.</li>
- <li>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.</li>
- <li>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.</li>
- <li>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.</li>
-</ol>
+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.
-<p>Une extension peut déterminer lequel de ces scénarios s'applique en examinant la propriété "<code>levelOfControl</code>" renvoyée d'un appel à <code><a href="/fr/Add-ons/WebExtensions/API/privacy/BrowserSetting/get">BrowserSetting.get()</a></code>.</p>
+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).
-<p>la méthode <code><a href="/fr/Add-ons/WebExtensions/API/privacy/BrowserSetting/set">BrowserSetting.set()</a></code> 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  <code>true</code>: sinon il est <code>false</code>.</p>
+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`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var setting = setting.set(
+```js
+var setting = setting.set(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p>Un objet qui doit contenir la propriété suivante :</p>
- <dl>
- <dt><code>value</code></dt>
- <dd><code>any</code>. La valeur à laquelle vous souhaitez modifier le paramètre. Son type dépend du réglage particulier.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : Un objet qui doit contenir la propriété suivante :
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un <code>booléen</code>: <code>true</code> si le paramètre a été modifié, <code>false</code> sinon (par exemple, parce que l'extension n'a pas contrôlé le paramètre).</p>
+ - `value`
+ - : `any`. La valeur à laquelle vous souhaitez modifier le paramètre. Son type dépend du réglage particulier.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>Voir {{WebExtAPIRef("types.BrowserSetting")}}.</p>
+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).
-<h2 id="Exemple">Exemple</h2>
+## Compatibilité du navigateur
-<p>Modifiez le paramètre <code>hyperlinkAuditingEnabled</code> (ceci nécessite la permission "privacy") :</p>
+Voir {{WebExtAPIRef("types.BrowserSetting")}}.
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
var setting = browser.privacy.websites.hyperlinkAuditingEnabled.set({
value: false
@@ -83,19 +78,17 @@ browser.browserAction.onClicked.addListener(() =&gt; {
setting.then(onSet);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/types"><code>chrome.types</code></a>.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -122,5 +115,4 @@ browser.browserAction.onClicked.addListener(() =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Définit le type <code>BrowserSetting</code> , qui est utilisé pour représenter un paramètre de navigateur.</p>
+Définit le type `BrowserSetting` , qui est utilisé pour représenter un paramètre de navigateur.
-<h2 id="Types">Types</h2>
+## Types
-<dl>
- <dt>{{WebExtAPIRef("types.BrowserSetting")}}</dt>
- <dd>Représente un paramètre de navigateur.</dd>
-</dl>
+- {{WebExtAPIRef("types.BrowserSetting")}}
+ - : Représente un paramètre de navigateur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{WebExtExamples("h2")}}</p>
+{{WebExtExamples("h2")}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/types"><code>chrome.types</code></a>.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -60,5 +56,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/types
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Cette API offre des capacités similaires à {{WebExtAPIRef("contentScripts")}} mais avec des fonctionnalités adaptées à la gestion de scripts tiers :</p>
+Cette API offre des capacités similaires à {{WebExtAPIRef("contentScripts")}} mais avec des fonctionnalités adaptées à la gestion de scripts tiers :
-<ul>
- <li>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.</li>
- <li>l'accès à la <code>fenêtre</code> et aux valeurs globales du <code>document</code> liées à la page web à laquelle le script utilisateur est attaché.</li>
- <li>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".</li>
-</ul>
+- 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".
-<div class="warning">
-<p><strong>Attention :</strong> Cette API requiert la présence de la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a></code> dans le manifest.json, même si aucun script API n'est spécifié. Par exemple, <code>user_scripts: {}</code>.</p>
-</div>
+> **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: {}`.
-<p>Pour utiliser l'API, appelez <code>{{WebExtAPIRef("userScripts.register","register()")}}</code> en passant un objet définissant les scripts à enregistrer. La méthode renvoie une promesse qui est résolue par un objet  <code>{{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}}</code>.</p>
+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")}}`.
-<div class="note">
-<p><strong>Note :</strong> 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</p>
-</div>
+> **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
-<h2 id="Types">Types</h2>
+- {{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.
-<dl>
- <dt>{{WebExtAPIRef("userScripts.RegisteredUserScript")}}</dt>
- <dd>L'<code>object</code> 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.</dd>
-</dl>
+## Méthodes
-<h2 id="Méthodes">Méthodes</h2>
+- {{WebExtAPIRef("userScripts.register()")}}
+ - : Enregistre les scripts utilisateur donnés.
-<dl>
- <dt>{{WebExtAPIRef("userScripts.register()")}}</dt>
- <dd>Enregistre les scripts utilisateur donnés.</dd>
-</dl>
+## Evénements
-<h2 id="Evénements">Evénements</h2>
+- {{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.
-<dl>
- <dt>{{WebExtAPIRef("userScripts.onBeforeScript")}}</dt>
- <dd>Un événement disponible pour le script API, enregistré dans <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">"user_scripts"</a></code>, 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.</dd>
-</dl>
+## Compatibilité du navigateur
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{Compat("webextensions.api.userScripts", 10, 1)}}
-<p>{{Compat("webextensions.api.userScripts", 10, 1)}}</p>
+## Voir aussi
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/userScripts/Working_with_userScripts">Working with <code>userScripts</code></a></li>
- <li>{{WebExtAPIRef("contentScripts","browser.contentScripts")}}</li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}La propriété **`onBeforeScript`** de l'événement {{WebExtAPIRef("userScripts","browser.userScripts")}} est un {{event("Event_handlers", "event handler")}} qui traite {{event("beforeScript")}}.
-<div>La propriété <strong><code>onBeforeScript</code></strong> de l'événement {{WebExtAPIRef("userScripts","browser.userScripts")}} est un {{event("Event_handlers", "event handler")}} qui traite {{event("beforeScript")}}.</div>
+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.
-<p>L'événement <code>beforeScript</code> 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.</p>
+## Syntaxe
-<h2 id="Syntaxe">Syntaxe</h2>
+ browser.userScripts.onBeforeScript = functionRef
+ browser.userScripts.onBeforeScript.addListener(functionRef)
+ browser.userScripts.onBeforeScript.removeListener(functionRef)
+ browser.userScripts.onBeforeScript.hasListener(functionRef)
-<pre class="syntaxbox"><code>browser.userScripts.onBeforeScript = </code>functionRef
-<code>browser.userScripts.onBeforeScript.addListener(</code>functionRef<code>)
-browser.userScripts.onBeforeScript.removeListener(</code>functionRef<code>)
-browser.userScripts.onBeforeScript.hasListener(</code>functionRef<code>)</code>
-</pre>
+### Value
-<h3 id="Value">Value</h3>
+`functionRef` est la function de gestionnaire à appeler lorsque l'événement `beforeScript`  du script utilisateur se déclenche.
-<p><code>functionRef</code> est la function de gestionnaire à appeler lorsque l'événement <code>beforeScript</code>  du script utilisateur se déclenche.</p>
+## Exemples
-<h2 id="Exemples">Exemples</h2>
+Voir [ce billet de blog](https://blog.mozilla.org/addons/2019/03/26/extensions-in-firefox-67/#userscripts) pour des exemples détaillés
-<p>Voir <a href="https://blog.mozilla.org/addons/2019/03/26/extensions-in-firefox-67/#userscripts">ce billet de blog</a> pour des exemples détaillés</p>
+## Compatibilité du navigateur
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+{{Compat("webextensions.api.userScripts.onBeforeScript")}}
-<div>
+## Voir aussi
-
-<p>{{Compat("webextensions.api.userScripts.onBeforeScript")}}</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{WebExtAPIRef("contentScripts")}}</li>
-</ul>
+- {{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>C'est une méthode asynchrone qui retourne un {{JSxRef("Promise")}}.</p>
+C'est une méthode asynchrone qui retourne un {{JSxRef("Promise")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">const registeredUserScript = await browser.userScripts.register(
+```js
+const registeredUserScript = await browser.userScripts.register(
userScriptOptions // object
);
….
-await registeredUserScript.unregister();</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>userScriptOptions</code></dt>
- <dd><p><code>object</code>. Un objet <code>UserScriptOptions</code> représentant les scripts de contenu à enregistrer. Il a une syntaxe similaire aux options supportées par {{WebExtAPIRef("contentScripts.register","contentScripts.register()")}}.</p>
- <p>L'objet <code>UserScriptOptions</code> possède les propriétés suivantes :</p>
- <dl>
- <dt>scriptMetadata <code>{{Optional_Inline}}</code></dt>
- <dd>Un objet <code>JSON</code> qui contient certaines propriétés de métadonnées associées aux <code>userScripts</code> enregistrés</dd>
- <dt><code>allFrames {{Optional_Inline}}</code></dt>
- <dd>Identiques à <code>all_frames</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a></code>.</dd>
- <dt><code>excludeGlobs</code> {{Optional_Inline}}</dt>
- <dd>Identique à <code>exclude_globs</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a></code>.</dd>
- <dt><code>excludeMatches</code> {{Optional_Inline}}</dt>
- <dd>Identique à <code>exclude_matches</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a></code>.</dd>
- <dt><code>includeGlobs</code> {{Optional_Inline}}</dt>
- <dd>Identique à <code>include_globs</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a></code>.</dd>
- <dt><code>js</code> {{Optional_Inline}}</dt>
- <dd>Un tableau d'objets. Chaque objet a soit une propriété nommée <code>file</code>, 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>code</code>, qui est un code JavaScript à enregistrer.</dd>
- <dt><code>matchAboutBlank</code> {{Optional_Inline}}</dt>
- <dd>Identique à <code>match_about_blank</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a></code>.</dd>
- <dt><code>matches</code></dt>
- <dd>Identique à <code>matches</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a></code>.</dd>
- <dt><code>runAt</code> {{Optional_Inline}}</dt>
- <dd>Identique à<code>run_at</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a></code>.</dd>
- </dl>
- </dd>
-</dl>
-
-<p>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).</p>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une {{JSxRef("Promise")}} qui sera rempli avec un objet  {{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}} que vous pouvez utiliser pour désinscrire ce script utilisateur particulier.</p>
-
-<div class="note">
-<p><strong>Note :</strong> 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.</p>
-</div>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.userScripts.register", 10)}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{WebExtAPIRef("contentScripts.register","contentScripts.register()")}}</li>
- <li>{{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","RegisteredUserScript.unregister()")}}</li>
-</ul>
+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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>Un RegisteredUserScript est retourné par un appel à {{WebExtAPIRef("userScripts.register","userScripts.register()")}} et représente les scripts utilisateur enregistrés dans cet appel.</p>
+Un RegisteredUserScript est retourné par un appel à {{WebExtAPIRef("userScripts.register","userScripts.register()")}} et représente les scripts utilisateur enregistrés dans cet appel.
-<p>L'objet définit une méthode unique, {{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","unregister()")}}, qui peut être utilisée pour désinscrire les scripts utilisateur.</p>
+L'objet définit une méthode unique, {{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","unregister()")}}, qui peut être utilisée pour désinscrire les scripts utilisateur.
-<div class="blockIndicator note">
-<p><strong>Note:</strong> 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.</p>
-</div>
+> **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.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<dl>
- <dt>{{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","unregister()")}}</dt>
- <dd>Désenregistre les scripts utilisateurs représentés par cet objet.</dd>
-</dl>
+- {{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","unregister()")}}
+ - : Désenregistre les scripts utilisateurs représentés par cet objet.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.userScripts.RegisteredUserScript", 10)}}</p>
+{{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>La méthode <code>unregister()</code> 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()")}}.</p>
+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()")}}.
-<div class="blockIndicator note">
-<p><strong>Note:</strong> 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..</p>
-</div>
+> **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..
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">const registeredUserScript = await browser.userScripts.register(
+```js
+const registeredUserScript = await browser.userScripts.register(
userScriptOptions // object
);
-await registeredUserScript.unregister()</pre>
+await registeredUserScript.unregister()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>Aucun</p>
+Aucun
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une {{JSxRef("Promise")}} qui sera résolu une fois le script utilisateur désenregistré. La promesse ne rapporte rien.</p>
+Une {{JSxRef("Promise")}} qui sera résolu une fois le script utilisateur désenregistré. La promesse ne rapporte rien.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.userScripts.RegisteredUserScript.unregister")}}</p>
+{{Compat("webextensions.api.userScripts.RegisteredUserScript.unregister")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li>{{WebExtAPIRef("userScripts.register","userScripts.register()")}}</li>
- <li>{{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}}</li>
-</ul>
+- {{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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 :</p>
+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 :
-<ul>
- <li>il ne prend pas en charge une propriété css (utilisez browser.contentScripts.register pour enregistrer/désenregistrer dynamiquement les feuilles de style)</li>
- <li>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)</li>
-</ul>
+- 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)
-<p>L'objet UserScriptOptions a les propriétés suivantes :</p>
+L'objet UserScriptOptions a les propriétés suivantes :
-<dl>
- <dt><code>allFrames</code>{{optional_inline}}</dt>
- <dd>Même chose que <code>all_frames</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>excludeGlobs</code>{{optional_inline}}</dt>
- <dd>Même chose que <code>exclude_globs</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>excludeMatches</code>{{optional_inline}}</dt>
- <dd>Même chose que <code>exclude_matches</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>includeGlobs</code>{{optional_inline}}</dt>
- <dd>Même chose que <code>include_globs</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>js</code>{{optional_inline}}</dt>
- <dd>Un ensemble d'objets. Chaque objet a soit une propriété nommée <code>file</code>, qui est une URL commençant à l'extension manifest.json et pointant vers un fichier JavaScript à enregistrer, soit une propriété nommée <code>code</code>, qui est un code JavaScript à enregistrer.</dd>
- <dt><code>matchAboutBlank</code>{{optional_inline}}</dt>
- <dd>Même chose que <code>match_about_blank</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>matches</code></dt>
- <dd>Même chose que <code>matches</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>runAt</code>{{optional_inline}}</dt>
- <dd>Même chose que <code>run_at</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>.</dd>
- <dt><code>scriptMetadata</code> {{optional_inline}}</dt>
- <dd>Une valeur de métadonnées de script utilisateur</dd>
-</dl>
+- `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
-<p>Sa syntaxe est similaire à celle des options contentScript prises en charge par browser.contentScripts.register.</p>
+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
---
-<p>{{draft}}</p>
+{{draft}}
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Implémentez userScripts dans votre extension en suivant les étapes suivantes :</p>
+Implémentez userScripts dans votre extension en suivant les étapes suivantes :
-<ol>
- <li>Définissez le script dans le manifeste de l'extension à l'aide de la clé <code>"user_scripts"</code>.</li>
- <li>Enregistrer le userScript</li>
- <li>Implémenter les fonctions userScript</li>
-</ol>
+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
-<p>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 <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub.</p>
+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.
-<h2 id="Manifest_userScripts">Manifest userScripts</h2>
+## Manifest userScripts
-<p>Un script utilisateur est identifié par le contenu de la clé <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a> du manifeste des extensions. L'information minimale pour la clé <code>user_scripts</code> serait :</p>
+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 :
-<pre class="brush: json"> "user_scripts": {
+```json
+ "user_scripts": {
"api_script": "customUserScriptAPIs.js"
- }</pre>
+ }
+```
-<p>La propriété "api_script" indique le chemin d'accès au fichier JavaScript qui contient le code du <code>userScript</code>.</p>
+La propriété "api_script" indique le chemin d'accès au fichier JavaScript qui contient le code du `userScript`.
-<h2 id="Charge_lextension_dexemple">Charge l'extension d'exemple</h2>
+## Charge l'extension d'exemple
-<p>Une fois que vous avez téléchargé l'exemple  :</p>
+Une fois que vous avez téléchargé l'exemple  :
-<p>Naviguez jusqu'à about:debugging, cliquez sur <strong>Charger temporairement une extension... </strong>et double-cliquez sur le manifest des extensions.</p>
+Naviguez jusqu'à about:debugging, cliquez sur **Charger temporairement une extension...** et double-cliquez sur le manifest des extensions.
-<p>/Le code par défaut inclus dans l'exemple vous permet de charger un <code>userScript</code> 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 <strong>Enregistrer le script</strong> au bas du panneau.</p>
+/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.
-<p>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.</p>
+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.
-<p><img alt="" src="userScriptExample.png"></p>
+![](userScriptExample.png)
-<p>Rien ne se passera tant que vous n'aurez pas cliqué sur le bouton <strong>Enregistrer le script</strong>. 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.</p>
+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.
-<h2 id="Register_the_userScript">Register the userScript</h2>
+## Register the userScript
-<p>Avant qu'un userScript puisse être exécuté, il doit être enregistré en utilisant la méthode  <code>userScripts.register()</code>. Voici le code pour enregistrer l'extension d'exemple :</p>
+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 :
-<pre class="brush: js">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});
}
-}</pre>
+}
+```
-<p>Ce code initialise d'abord l'objet params pour passer les valeurs à la méthode  <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/userScripts/register">userScripts.register</a>.</p>
+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).
-<h2 id="Implementer_les_fonctions_userScript">Implementer les fonctions userScript</h2>
+## Implementer les fonctions userScript
-<p>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 :</p>
+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 :
-<p><img alt="" src="user_script_in_action.png"></p>
+![](user_script_in_action.png)
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li>{{WebExtAPIRef("userScripts")}}</li>
- <li>{{WebExtAPIRef("userScripts.register()", "userScripts.register()")}}</li>
- <li>{{WebExtAPIRef("userScripts.onBeforeScript")}}</li>
-</ul>
+- {{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Étant donné un ID d'onglet, récupère des informations sur toutes les images qu'il contient.</p>
+Étant donné un ID d'onglet, récupère des informations sur toutes les images qu'il contient.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingFrames = browser.webNavigation.getAllFrames(
+```js
+var gettingFrames = browser.webNavigation.getAllFrames(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Informations sur l'onglet pour récupérer toutes les images.</p>
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'identifiant de l'onglet</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. Informations sur l'onglet pour récupérer toutes les images.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> sera accompli avec un tableau d'objets, dont chacun a les propriétés suivantes :</p>
+ - `tabId`
+ - : `integer`. L'identifiant de l'onglet
-<dl>
- <dt><code>errorOccurred</code></dt>
- <dd><code>boolean</code>. 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é.</dd>
- <dt><code>processId</code></dt>
- <dd><code>integer</code>. L'ID du processus exécutant le moteur de rendu pour cet onglet.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. L'identifiant de l'image Si c'est l'image principale, alors <code>frameId</code> est nul.</dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL actuellement associée à ce cadre.</dd>
-</dl>
+### Valeur retournée
-<p>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.</p>
+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 :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- `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.
-<p>{{Compat("webextensions.api.webNavigation.getAllFrames")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Ce code enregistre les URL de toutes les images dans l'onglet actif, lorsque l'utilisateur clique sur une action du navigateur :</p>
+{{Compat("webextensions.api.webNavigation.getAllFrames")}}
-<pre class="brush: js">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);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+});
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -128,5 +124,4 @@ browser.browserAction.onClicked.addListener(function() {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Récupère des informations sur un cadre particulier. Un cadre peut être l'image de niveau supérieur dans un onglet ou un <a href="/fr/docs/Web/HTML/Element/iframe">iframe</a> imbriqué, et est identifié de manière unique par un ID de tabulation et un ID de cadre.</p>
+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.
-<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>.</p>
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingFrame = browser.webNavigation.getFrame(
+```js
+var gettingFrame = browser.webNavigation.getFrame(
details // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>details</code></dt>
- <dd><p><code>object</code>. Informations sur le cadre pour récupérer des informations sur :</p>
- <dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet dans lequel se trouve le cadre.</dd>
- <dt><code>processId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID du processus exécutant le moteur de rendu pour cet onglet.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. L'ID du cadre dans l'onglet donné.</dd>
- </dl>
- </dd>
-</dl>
+- `details`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. Informations sur le cadre pour récupérer des informations sur :
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code> qui sera rempli avec un objet contenant les propriétés suivantes :</p>
+ - `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é.
-<dl>
- <dt><code>errorOccurred</code></dt>
- <dd><code>boolean</code>. 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é.</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL actuellement associée à cette trame, si la trame identifiée par  <code>frameId</code> existait à un point de l'onglet identifié par <code>tabId</code>. Le fait qu'une URL soit associée à un <code>frameId</code> donné n'implique pas que la trame correspondante existe toujours.</dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
-</dl>
+### Valeur retournée
-<p>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.</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) qui sera rempli avec un objet contenant les propriétés suivantes :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- `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.
-<p>{{Compat("webextensions.api.webNavigation.getFrame")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -119,5 +114,4 @@ gettingFrame.then(onGot, onError);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
-
-<p>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.</p>
-
-<p>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.</p>
-
-<p>Chaque evenement correspond directement à un état précis dans la navigation. La séquence des évenements est comme suit:</p>
-
-<p><img alt="" src="we-flow.png"></p>
-
-<ul>
- <li>Le flux primaire est :
- <ul>
- <li><code>{{WebExtAPIRef("webNavigation.onBeforeNavigate", "onBeforeNavigate")}}</code></li>
- <li><code>{{WebExtAPIRef("webNavigation.onCommitted", "onCommitted")}}</code></li>
- <li><code>{{WebExtAPIRef("webNavigation.onDOMContentLoaded", "onDOMContentLoaded")}}</code></li>
- <li><code>{{WebExtAPIRef("webNavigation.onCompleted", "onCompleted")}}</code>.</li>
- </ul>
- </li>
- <li>Adionellement :
- <ul>
- <li><code>{{WebExtAPIRef("webNavigation.onCreatedNavigationTarget", "onCreatedNavigationTarget")}}</code> est déclenché avant <code>onBeforeNavigate</code> 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).</li>
- <li>{{WebExtAPIRef("webNavigation.onHistoryStateUpdated", "onHistoryStateUpdated")}} est déclenché si une page utilise l'<a href="http://diveintohtml5.info/history.html">API historique</a> pour mettre à jour l'URL affichée dans la barre d'adresse du navigateur.</li>
- <li>{{WebExtAPIRef("webNavigation.onReferenceFragmentUpdated", "onReferenceFragmentUpdated")}} est déclenché si <a href="https://en.wikipedia.org/wiki/Fragment_identifier">fl'identificateur de fragment</a> d'une page est modifié.</li>
- <li>{{WebExtAPIRef("webNavigation.onErrorOccurred", "onErrorOccurred")}} peut être déclenché à tout moment.</li>
- </ul>
- </li>
-</ul>
-
-<p>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'<a href="/fr/docs/Web/HTML/Element/iframe">iframe</a>.</p>
-
-<p>L'appel <code>addListener()</code> 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.</p>
-
-<p>L'écouteur d'événement <code>onCommitted</code>reç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.</p>
-
-<p>Pour utiliser cette API, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "webNavigation".</p>
-
-<h2 id="Types">Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("webNavigation.TransitionType")}}</dt>
- <dd>Cause de la navigation: par exemple, l'utilisateur a cliqué sur un lien, ou a tapé une adresse, ou a cliqué sur un signet.</dd>
- <dt>{{WebExtAPIRef("webNavigation.TransitionQualifier")}}</dt>
- <dd>
- <div>Informations supplémentaires sur une transition.</div>
- </dd>
-</dl>
-
-<h2 id="Functions">Functions</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("webNavigation.getFrame()")}}</dt>
- <dd>Récupère des informations sur un cadre particulier. Ce cadre peut être le cadre de niveau supérieur dans un onglet ou un <a href="/fr/docs/Web/HTML/Element/iframe">iframe</a> imbriqué, et est identifié de manière unique par un ID d'onglet et un ID de <em>frame</em>.</dd>
- <dt>{{WebExtAPIRef("webNavigation.getAllFrames()")}}</dt>
- <dd>
- <p>Étant donné un ID d'onglet, récupère des informations sur tous les cadres qu'il contient.</p>
- </dd>
-</dl>
-
-<h2 id="Events">Events</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("webNavigation.onBeforeNavigate")}}</dt>
- <dd>
- <p>Lancé lorsque le navigateur est sur le point de démarrer un événement de navigation.</p>
- </dd>
- <dt>{{WebExtAPIRef("webNavigation.onCommitted")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("webNavigation.onDOMContentLoaded")}}</dt>
- <dd>Lancé lorsque l'événement <a href="/fr/docs/Web/Events/DOMContentLoaded">DOMContentLoaded</a> est déclenché dans la page.</dd>
- <dt>{{WebExtAPIRef("webNavigation.onCompleted")}}</dt>
- <dd>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 <code><a href="/fr/docs/Web/Events/load">chargement</a></code> du DOM.</dd>
- <dt>{{WebExtAPIRef("webNavigation.onErrorOccurred")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("webNavigation.onCreatedNavigationTarget")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("webNavigation.onReferenceFragmentUpdated")}}</dt>
- <dd>Lancé si l' <a href="https://en.wikipedia.org/wiki/Fragment_identifier">identificateur de fragment</a> d'une page a été modifié.</dd>
- <dt>{{WebExtAPIRef("webNavigation.onTabReplaced")}}</dt>
- <dd>
- <p>Lancé lorsque le contenu de l'onglet est remplacé par un onglet différent (généralement précédemment pré-rendu).</p>
- </dd>
- <dt>{{WebExtAPIRef("webNavigation.onHistoryStateUpdated")}}</dt>
- <dd>Lancé lorsque la page a utilisé l' <a href="http://diveintohtml5.info/history.html">API d'histoirique</a> pour mettre à jour l'URL affichée dans la barre d'adresse du navigateur.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webNavigation")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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:
+
+![](we-flow.png)
+
+- 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](http://diveintohtml5.info/history.html) 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](https://en.wikipedia.org/wiki/Fragment_identifier) 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](/fr/docs/Web/HTML/Element/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 `onCommitted`reç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](/fr/Add-ons/WebExtensions/manifest.json/permissions) "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](/fr/docs/Web/HTML/Element/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](/fr/docs/Web/Events/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`](/fr/docs/Web/Events/load) 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](https://en.wikipedia.org/wiki/Fragment_identifier) 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](http://diveintohtml5.info/history.html) 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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -139,5 +118,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque le navigateur est sur le point de démarrer un événement de navigation.</p>
+Lancé lorsque le navigateur est sur le point de démarrer un événement de navigation.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.webNavigation.onBeforeNavigate.addListener(
+```js
+browser.webNavigation.onBeforeNavigate.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onBeforeNavigate.removeListener(listener)
browser.webNavigation.onBeforeNavigate.hasListener(listener)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="syntaxe_addListener">syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur l'événement de navigation.</dd>
- </dl>
- </dd>
- <dt><code>filter</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. Un objet contenant une seule propriété <code>url</code>, qui est un <code>tableau</code>  d'objets {{WebExtAPIRef("events.UrlFilter")}} objects.Un objet contenant une seule propriété  qui correspondent à au moins un <code>UrlFilter</code> dans le tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.</p>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet dans lequel la navigation est sur le point de se produire.</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL à laquelle le cadre donné va naviguer.</dd>
- <dt><code>processId</code></dt>
- <dd><code>integer</code>. L'ID du processus dans lequel cet onglet est rendu (Cette propriété <strong>n'est pas pris en charge sur Firefox</strong> et c'est <strong>déprécié sur Chrome</strong>).</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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 <a href="/fr/docs/Web/HTML/Element/iframe">iframe</a> 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.</dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. ID du parent de cette image. Défini à -1 s'il s'agit d'un cadre de niveau supérieur.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle le navigateur est sur le point de démarrer la navigation, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webNavigation.onBeforeNavigate")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Logs les URL cibles de <code>onBeforeNavigate</code>, si le nom d'hôte de la cible contient "example.com" ou commence avec "developer".</p>
-
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.webNavigation.onBeforeNavigate.addListener(logOnBefore, filter);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -136,5 +127,4 @@ browser.webNavigation.onBeforeNavigate.addListener(logOnBefore, filter);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.webNavigation.onCommitted.addListener(
+```js
+browser.webNavigation.onCommitted.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onCommitted.removeListener(listener)
browser.webNavigation.onCommitted.hasListener(listener)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur l'événement de navigation.</dd>
- </dl>
- </dd>
- <dt><code>filter</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. Un objet contenant une seule propriété url, qui est un <code>tableau</code> 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 <code>UrlFilter</code> dans le tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.</p>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet dans lequel la navigation est sur le point de se produire.</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL à laquelle le cadre donné va naviguer.</dd>
- <dt><code>processId</code></dt>
- <dd><code>integer</code>. L'ID du processus dans lequel cet onglet est rendu.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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 <a href="/frS/docs/Web/HTML/Element/iframe">iframe</a> 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.</dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. ID du parent de cette image. Réglez à -1 s'il s'agit d'un cadre de niveau supérieur.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle la navigation a été validée, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>transitionType</code></dt>
- <dd><code>{{WebExtAPIRef("webNavigation.transitionType", "transitionType")}}</code>. La raison de la navigation : par exemple, <code>"link"</code> si l'utilisateur a cliqué sur un lien, ou <code>"reload"</code> si l'utilisateur a rechargé la page.</dd>
- <dt><code>transitionQualifiers</code></dt>
- <dd><code>Array</code> de <code>{{WebExtAPIRef("webNavigation.transitionQualifier", "transitionQualifier")}}</code>. Informations supplémentaires sur la navigation : par exemple, s'il existait une redirection de serveur ou de client.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webNavigation.onCommitted")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Logs les URL cibles et les informations de transition supplémentaires pour <code>onCommitted</code>, si le nom d'hôte de l'URL cible contient "example.com" ou commence avec "developer".</p>
-
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.webNavigation.onCommitted.addListener(logOnCommitted, filter);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -142,5 +133,4 @@ browser.webNavigation.onCommitted.addListener(logOnCommitted, filter);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 <code><a href="/fr/docs/Web/Events/load">chargement</a></code> du DOM.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.webNavigation.onCompleted.addListener(
+```js
+browser.webNavigation.onCompleted.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onCompleted.removeListener(listener)
browser.webNavigation.onCompleted.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants:</p>
+- `callback`
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur l'événement de navigation.</dd>
- </dl>
- </dd>
- <dt><code>filter</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. Un objet contenant une seule propriété <code>url</code>, qui est un  <code>Array</code> 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 <code>UrlFilter</code> dans le tableau.Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.</p>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants:
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ - `details`
+ - : [`object`](#details). Détails sur l'événement de navigation.
-<h3 id="détails">détails</h3>
+- `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.
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet dans lequel la navigation s'est produite.</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL à laquelle le cadre donné a navigué.</dd>
- <dt><code>processId</code></dt>
- <dd><code>integer</code>. L'ID du processus dans lequel cet onglet est rendu.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>.  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 <a href="/fr/docs/Web/HTML/Element/iframe">iframe</a> 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.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle la page a terminé le chargement, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### détails
-<p>{{Compat("webextensions.api.webNavigation.onCompleted")}}</p>
+- `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).
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Consigne les URL cibles de <code>onCompleted</code>, si le nom d'hôte de l'URL cible contient "example.com" ou commence avec "developer".</p>
+{{Compat("webextensions.api.webNavigation.onCompleted")}}
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -135,5 +125,4 @@ browser.webNavigation.onCompleted.addListener(logOnCompleted, filter);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 :</p>
+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 :
-<ul>
- <li>l'utilisateur ouvre un lien dans un nouvel onglet ou une nouvelle fenêtre</li>
- <li>une page Web charge une ressource dans un nouvel onglet ou une nouvelle fenêtre en utilisant <code><a href="/fr/docs/Web/API/Window/open">window.open()</a></code> (mais notez que l'événement n'est pas envoyé si le bloqueur de popup du navigateur bloque le chargement).</li>
-</ul>
+- 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).
-<p>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).</p>
+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).
-<p>Si cet événement est déclenché, il sera déclenché avant  {{WebExtAPIRef("webNavigation.onBeforeNavigate")}}.</p>
+Si cet événement est déclenché, il sera déclenché avant  {{WebExtAPIRef("webNavigation.onBeforeNavigate")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.webNavigation.onCreatedNavigationTarget.addListener(
+```js
+browser.webNavigation.onCreatedNavigationTarget.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onCreatedNavigationTarget.removeListener(listener)
browser.webNavigation.onCreatedNavigationTarget.hasListener(listener)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="addListener_syntax">addListener syntax</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur l'événement de navigation Voir les <a href="#details">détails</a> ci-dessous.</dd>
- </dl>
- </dd>
- <dt><code>filter</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. Un objet contenant une seule propriété <code>url</code>, qui est un <code>Array</code> 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 <code>UrlFilter</code> dans le tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions. Notez que le <code>filtre</code>n'est pas supporté dans Firefox.</p>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>sourceFrameId</code></dt>
- <dd><code>integer</code>. 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 <a href="/fr/docs/Web/HTML/Element/iframe">iframe</a> 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.</dd>
- <dt><code>sourceProcessId</code></dt>
- <dd><code>integer</code>. L'ID du processus à partir duquel la navigation est initiée.</dd>
- <dt><code>sourceTabId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>tabId</code></dt>
- <dd>integer: L'ID de l'onglet nouvellement créé.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle le navigateur a créé la cible de navigation, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL qui sera chargée dans le nouvel onglet.</dd>
- <dt><code>windowId</code></dt>
- <dd>number. L'ID de la fenêtre dans laquelle le nouvel onglet est créé.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webNavigation.onCreatedNavigationTarget")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Logs l'URL cible, l'ID de la table source et l'ID de la trame source pour <code>onCreatedNavigationTarget</code>, si le nom d'hôte de la cible contient "example.com" ou commence par "developer".</p>
-
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -150,5 +138,4 @@ browser.webNavigation.onCreatedNavigationTarget.addListener(logOnCreatedNavigati
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque l'événement <a href="/fr/docs/Web/Events/DOMContentLoaded">DOMContentLoaded</a> 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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.webNavigation.onDOMContentLoaded.addListener(
+```js
+browser.webNavigation.onDOMContentLoaded.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onDOMContentLoaded.removeListener(listener)
browser.webNavigation.onDOMContentLoaded.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur l'événement de navigation</dd>
- </dl>
- </dd>
- <dt><code>filter</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. Un objet contenant une seule propriété <code>url</code>, qui est un <code>tableau</code> 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 <code>UrlFilter</code> dans un tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.</p>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ - `details`
+ - : [`object`](#details). Détails sur l'événement de navigation
-<h3 id="détails">détails</h3>
+- `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.
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet dans lequel la navigation s'est produite.</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL à laquelle le cadre donné a navigué.</dd>
- <dt><code>processId</code></dt>
- <dd><code>integer</code>.  L'ID du processus dans lequel cet onglet est rendu.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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 <a href="/fr/docs/Web/HTML/Element/iframe">iframe</a> imbriqué. Une valeur positive indique que la navigation se déroule dans un iframe imbriqué. Les ID <em>frames</em> sont uniques pour un onglet et un processus donnés.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle <code>DOMContentLoaded</code> a été déclenchée, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### détails
-<p>{{Compat("webextensions.api.webNavigation.onDOMContentLoaded")}}</p>
+- `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).
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Logs les URL cibles pour <code>onDOMContentLoaded</code>,si le nom d'hôte de l'URL cible contient "example.com" ou commence par "developer".</p>
+{{Compat("webextensions.api.webNavigation.onDOMContentLoaded")}}
-<pre class="brush: js">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.<code>onDOMContentLoaded</code>.addListener(logOnDOMContentLoaded, filter);
-
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.webNavigation.onDOMContentLoaded.addListener(logOnDOMContentLoaded, filter);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -136,5 +125,4 @@ browser.webNavigation.<code>onDOMContentLoaded</code>.addListener(logOnDOMConten
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.webNavigation.onErrorOccurred.addListener(
+```js
+browser.webNavigation.onErrorOccurred.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onErrorOccurred.removeListener(listener)
browser.webNavigation.onErrorOccurred.hasListener(listener)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants:</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur l'événement de navigation.</dd>
- </dl>
- </dd>
- <dt><code>filter</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. Un objet contenant une seule propriété <code>url</code>, qui est un <code>tableau</code> 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 <code>UrlFilter</code> dans un tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.</p>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="details">details</h3>
-
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet dans lequel la navigation se passait.</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL à laquelle le cadre donné naviguait.</dd>
- <dt><code>processId</code></dt>
- <dd><code>integer</code>. L'ID du processus dans lequel cet onglet est rendu.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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 <a href="/fr/docs/Web/HTML/Element/iframe">iframe</a> 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.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle l'erreur s'est produite, en <a href="https://en.wikipedia.org/wiki/Unix_time">milliseconde depuis l'époque</a>.</dd>
- <dt><code>error</code></dt>
- <dd><code>string</code>. 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.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webNavigation.onErrorOccurred")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Logs les URL cibles de <code>onErrorOccurred</code>, si le nom d'hôte de l'URL cible contient  "example.com" ou commence par "developer".</p>
-
-<pre class="brush: js">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);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -138,5 +128,4 @@ browser.webNavigation.onErrorOccurred.addListener(logOnErrorOccurred, filter);
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque la page a utilisé l'<a href="http://diveintohtml5.info/history.html">API history</a> 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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.webNavigation.onHistoryStateUpdated.addListener(
+```js
+browser.webNavigation.onHistoryStateUpdated.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onHistoryStateUpdated.removeListener(listener)
browser.webNavigation.onHistoryStateUpdated.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="syntaxe_addListener">syntaxe addListener</h2>
+## syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur l'événement de navigation.</dd>
- </dl>
- </dd>
- <dt><code>filter</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. Un objet contenant une seule propriété <code>url</code>, qui est un <code>tableau</code> 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 <code>UrlFilter</code> dans un tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.</p>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ - `details`
+ - : [`object`](#details). Détails sur l'événement de navigation.
-<h3 id="détails">détails</h3>
+- `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.
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet dans lequel la navigation est sur le point de se produire.</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL à laquelle le cadre donné va naviguer.</dd>
- <dt><code>processId</code></dt>
- <dd><code>integer</code>. L'ID du processus dans lequel cet onglet est rendu.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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 <a href="/fr/docs/Web/HTML/Element/iframe">iframe</a> imbriqué. Une valeur positive indique que la navigation se déroule dans un  iframe imbriqué. Les ID de <em>frames</em> sont uniques pour un onglet et un processus donnés.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle la navigation a été validée, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'origine</a>.</dd>
- <dt><code>transitionType</code></dt>
- <dd><code>{{WebExtAPIRef("webNavigation.transitionType", "transitionType")}}</code>.La raison de la navigation: par exemple, <code>"link"</code> si l'utilisateur a cliqué sur un lien.</dd>
- <dt><code>transitionQualifiers</code></dt>
- <dd><code>Array</code> de <code>{{WebExtAPIRef("webNavigation.transitionQualifier", "transitionQualifier")}}</code>. Informations supplémentaires sur la navigation : par exemple, s'il existait une redirection de serveur ou de client.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### 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
-<p>{{Compat("webextensions.api.webNavigation.onHistoryStateUpdated")}}</p>
+{{Compat("webextensions.api.webNavigation.onHistoryStateUpdated")}}
-<h2 id="Examples">Examples</h2>
+## Examples
-<p>Logs les URL cibles et les informations de transition supplémentaires pour  <code>onHistoryStateUpdated</code>, si le nom d'hôte de l'URL cible contient "example.com" ou commence par "developer".</p>
+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".
-<pre class="brush: js">var filter = {
+```js
+var filter = {
url:
[
{hostContains: "example.com"},
@@ -104,19 +94,17 @@ function logOnHistoryStateUpdated(details) {
}
browser.webNavigation.onHistoryStateUpdated.addListener(logOnHistoryStateUpdated, filter);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -143,5 +131,4 @@ browser.webNavigation.onHistoryStateUpdated.addListener(logOnHistoryStateUpdated
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{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.
-<div>Lancé si <a href="https://en.wikipedia.org/wiki/Fragment_identifier">identificateur dee fragment</a> 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.</div>
+## Syntaxe
-<div></div>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">browser.webNavigation.onReferenceFragmentUpdated.addListener(
+```js
+browser.webNavigation.onReferenceFragmentUpdated.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onReferenceFragmentUpdated.removeListener(listener)
browser.webNavigation.onReferenceFragmentUpdated.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
+- `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`.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants:</p>
+- `callback`
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur l'événement de navigation.</dd>
- </dl>
- </dd>
- <dt><code>filter</code>{{optional_inline}}</dt>
- <dd>
- <p><code>object</code>. Un objet contenant une seule propriété <code>url</code>, qui est un <code>Array</code> 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 <code>UrlFilter</code> dans le tableau.Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.</p>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants:
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+ - `details`
+ - : [`object`](#details). Détails sur l'événement de navigation.
-<h3 id="détails">détails</h3>
+- `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.
-<dl>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet dans lequel la navigation est sur le point de se produire.</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. L'URL à laquelle le cadre donné va naviguer.</dd>
- <dt><code>processId</code></dt>
- <dd><code>integer</code>. L'ID du processus dans lequel cet onglet est rendu.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>.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 <a href="/fr/docs/Web/HTML/Element/iframe">iframe</a> 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.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle la navigation a été validée, en <a href="https://en.wikipedia.org/wiki/Unix_time">milliseconde depuis l'époque</a>.</dd>
- <dt><code>transitionType</code></dt>
- <dd><code>{{WebExtAPIRef("webNavigation.transitionType", "transitionType")}}</code>. La raison de la navigation: par exemple, <code>"link"</code> si l'utilisateur a cliqué sur un lien.</dd>
- <dt><code>transitionQualifiers</code></dt>
- <dd><code>Array</code> de <code>{{WebExtAPIRef("webNavigation.transitionQualifier", "transitionQualifier")}}</code>. Informations supplémentaires sur la navigation : par exemple, s'il existait une redirection de serveur ou de client.</dd>
-</dl>
+## Objets supplémentaires
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### 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
-<p>{{Compat("webextensions.api.webNavigation.onReferenceFragmentUpdated")}}</p>
+{{Compat("webextensions.api.webNavigation.onReferenceFragmentUpdated")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Consigne les URL cibles et les informations de transition supplémentaires pour  <code>onReferenceFragmentUpdated</code>, si le nom d'hôte de l'URL cible contient "example.com" ou commence par "developer".</p>
+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".
-<pre class="brush: js">var filter = {
+```js
+var filter = {
url:
[
{hostContains: "example.com"},
@@ -106,19 +92,17 @@ function logOnReferenceFragmentUpdated(details) {
}
browser.webNavigation.onReferenceFragmentUpdated.addListener(logOnReferenceFragmentUpdated, filter);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -145,5 +129,4 @@ browser.webNavigation.onReferenceFragmentUpdated.addListener(logOnReferenceFragm
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque le contenu de l'onglet est remplacé par un onglet différent (généralement précédemment pré-rendu).</p>
+Lancé lorsque le contenu de l'onglet est remplacé par un onglet différent (généralement précédemment pré-rendu).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.webNavigation.onTabReplaced.addListener(
+```js
+browser.webNavigation.onTabReplaced.addListener(
listener, // function
filter // optional object
);
browser.webNavigation.onTabReplaced.removeListener(listener)
browser.webNavigation.onTabReplaced.hasListener(listener)
-</pre>
+```
+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`.
-<p>Les événements ont trois fonctions :</p>
+## Syntaxe addListener
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré pour cet événement. Renvoie <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
+### Paramètres
+- `callback`
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+ - `details`
+ - : [`object`](#details).
-<h3 id="Paramètres">Paramètres</h3>
+## Objets supplémentaires
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :</p>
+### détails
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>.</dd>
- </dl>
- </dd>
-</dl>
+- `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).
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
+## Compatibilité du navigateur
-<h3 id="détails">détails</h3>
+{{Compat("webextensions.api.webNavigation.onTabReplaced")}}
-<dl>
- <dt><code>replacedTabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet qui a été remplacé.</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. L'ID de l'onglet qui a remplacé l'ancien onglet.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. Le moment où le remplacement s'est produit, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
-</dl>
+## Exemples
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-
-
-<p>{{Compat("webextensions.api.webNavigation.onTabReplaced")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<pre class="brush: js">function logOnTabReplaced(details) {
+```js
+function logOnTabReplaced(details) {
console.log("onTabReplaced: " + details);
}
-browser.webNavigation.onTabReplaced.addListener(logOnTabReplaced);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+browser.webNavigation.onTabReplaced.addListener(logOnTabReplaced);
+```
-<p>This API is based on Chromium's <a href="https://developer.chrome.com/extensions/webNavigation#event-onTabReplaced"><code>chrome.webNavigation</code></a> API. This documentation is derived from <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> in the Chromium code.</p>
+{{WebExtExamples}}
-<p>Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -122,5 +108,4 @@ browser.webNavigation.onTabReplaced.addListener(logOnTabReplaced);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{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.
-<div>Informations supplémentaires sur une transition.</div>
+## Type
-<div></div>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<div>Notez que beaucoup de valeurs ne sont actuellement pas supportées dans Firefox : voir la <a href="/fr/Add-ons/WebExtensions/API/WebNavigation/TransitionQualifier#Browser_compatibility">table de compatibilité</a> pour plus de détails.</div>
+- "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.
-<div></div>
+## Compatibilité du navigateur
-<h2 id="Type">Type</h2>
+{{Compat("webextensions.api.webNavigation.TransitionQualifier")}}
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+{{WebExtExamples}}
-<dl>
- <dt>"client_redirect"</dt>
- <dd>Redirection(s) provoquée par le JavaScript en cours d'exécution dans la page ou un pragma "actualiser" dans la balise <a href="/fr/docs/Web/HTML/Element/meta">meta</a> de la page.</dd>
- <dt>"server_redirect"</dt>
- <dd>Redirection(s) provoquée par un <a href="https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection">code status HTTP 3XX</a> envoyé par le serveur.</dd>
- <dt>"forward_back"</dt>
- <dd>L'utilisateur a utilisé le bouton avant ou arrière pour déclencher la navigation..</dd>
- <dt>"from_address_bar"</dt>
- <dd>L'utilisateur a déclenché la navigation depuis la barre d'adresse.</dd>
-</dl>
+> **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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webNavigation.TransitionQualifier")}}</p>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -79,5 +67,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/TransitionQualif
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Cause de la navigation: par exemple, l'utilisateur a cliqué sur un lien, ou a tapé une adresse, ou a cliqué sur un signet.</p>
+Cause de la navigation: par exemple, l'utilisateur a cliqué sur un lien, ou a tapé une adresse, ou a cliqué sur un signet.
-<p>Notez que beaucoup de valeurs ne sont actuellement pas supportées dans Firefox : voir la <a href="/fr/Add-ons/WebExtensions/API/WebNavigation/TransitionType#Browser_compatibility">table de compatibilité du navigateur</a> pour plus de détails.</p>
+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.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<dl>
- <dt>"link"</dt>
- <dd>L'utilisateur a cliqué sur un lien dans une autre page.</dd>
- <dt>"typed"</dt>
- <dd>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".</dd>
- <dt>"auto_bookmark"</dt>
- <dd>L'utilisateur a cliqué sur un signet ou un élément dans l'historique du navigateur.</dd>
- <dt>"auto_subframe"</dt>
- <dd>Les iframes imbriqués qui sont automatiquement chargés par leur parent.</dd>
- <dt>"manual_subframe"</dt>
- <dd>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.</dd>
- <dt>"generated"</dt>
- <dd>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.</dd>
- <dt>"start_page"</dt>
- <dd>La page a été passée à la ligne de commande ou est la page de démarrage.</dd>
- <dt>"form_submit"</dt>
- <dd>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.</dd>
- <dt>"reload"</dt>
- <dd>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.</dd>
- <dt>"keyword"</dt>
- <dd>L'URL a été générée à l'aide d'une <a href="https://support.mozilla.org/fr/kb/comment-rechercher-site-barre-adresse">rechercher par mot</a> configurée par l'utilisateur.</dd>
- <dt>"keyword_generated"</dt>
- <dd>Correspond à une visite générée pour un mot clé.</dd>
-</dl>
+- "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é.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webNavigation.TransitionType")}}</p>
+{{Compat("webextensions.api.webNavigation.TransitionType")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webNavigation"><code>chrome.webNavigation</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json"><code>web_navigation.json</code></a> dans le code de Chromium code.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -89,5 +85,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/TransitionType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet de ce type est renvoyé par les auditeurs d'événements qui ont défini le <code>"blocking"</code> dans leur argument <code>extraInfoSpec</code>.</p>
+Un objet de ce type est renvoyé par les auditeurs d'événements qui ont défini le `"blocking"` dans leur argument `extraInfoSpec`.
-<p>En définissant des propriétés particulières dans <code>BlockingResponse</code>, l'auditeur peut modifier les requêtes réseau.</p>
+En définissant des propriétés particulières dans `BlockingResponse`, l'auditeur peut modifier les requêtes réseau.
-<p>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.</p>
+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.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>authCredentials</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>. 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é <code>authCredentials</code> est un objet avec les propriétés suivantes :</p>
- <dl>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur à fournir.</dd>
- <dt><code>password</code></dt>
- <dd><code>string</code>. Mot de passe à fournir.</dd>
- </dl>
- </dd>
- <dt><code>cancel</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si <code>true</code>, 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")}}.</dd>
- <dt><code>redirectUrl</code>{{optional_inline}}</dt>
- <dd><p><code>string</code>. 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")}}.</p>
- <p>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 <code>onHeadersReceived</code>, auquel cas la redirection utilise la méthode GET.</p>
- <p>Si une extension veut rediriger une URL publique (par exemple HTTPS) vers une <a href="/fr/Add-ons/WebExtensions/user_interface/Extension_pages">page d'extension</a>, le fichier manifest.json de l'extension doit contenir une clé <a href="/fr/Add-ons/WebExtensions/manifest.json/web_accessible_resources">web_accessible_resources</a> qui liste l'URL de la page d'extension.</p></dd>
- <dt><code>requestHeaders</code>{{optional_inline}}</dt>
- <dd>
- <p>{{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")}} .</p>
- </dd>
- <dt><code>responseHeaders</code>{{optional_inline}}</dt>
- <dd>{{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, <code>Content-Security-Policy</code>), une seule des modifications sera réussie.</dd>
- <dt><code>upgradeToSecure</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. Si la valeur <code>true</code> 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 <code>redirectUrl</code> dans <code>onBeforeRequest</code>, alors <code>upgradeToSecure</code> sera ignoré pour cette requête. Vous ne pouvez définir cette propriété que dans {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}}.</dd>
-</dl>
+- `authCredentials`{{optional_inline}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - : `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 :
-<p>{{Compat("webextensions.api.webRequest.BlockingResponse")}}</p>
+ - `username`
+ - : `string`. Nom d'utilisateur à fournir.
+ - `password`
+ - : `string`. Mot de passe à fournir.
-<p>{{WebExtExamples}}</p>
+- `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}}
-<div class="note"><p><strong>Note :</strong></p>
+ - : `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")}}.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
-</div>
+ 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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+ Si une extension veut rediriger une URL publique (par exemple HTTPS) vers une [page d'extension](/fr/Add-ons/WebExtensions/user_interface/Extension_pages), le fichier manifest.json 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.
+
+- `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")}}.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webRequest.BlockingResponse")}}
+
+{{WebExtExamples}}
+
+> **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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -90,5 +88,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/BlockingResponse
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
-
-<p>Un objet décrivant un seul <a href="https://tools.ietf.org/html/rfc5280">certificat X.509</a>.</p>
-
-<p>L'objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}} retourné par l'objet {{WebExtAPIRef("webRequest.getSecurityInfo()")}} API inclut une propriété de  <code>certificats</code> qui est un tableau de ces objets.</p>
-
-<h2 id="Type">Type</h2>
-
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
-
-<dl>
- <dt><code>fingerprint</code></dt>
- <dd><p><code>Object</code>. Un objet avec les propriétés suivantes :</p>
- <dl>
- <dt><code>sha1</code></dt>
- <dd><code>String</code>. SHA-1 hash de l'encodage DER du certificat.</dd>
- <dt><code>sha256</code></dt>
- <dd><code>String</code>. SHA-256 hash de l'encodage DER du certificat.</dd>
- </dl>
- </dd>
- <dt><code>isBuiltInRoot</code></dt>
- <dd>
- <p><code>Boolean</code>. <code>true</code> si le certificat est l'une des racines de confiance installées dans le navigateur, sinon <code>false</code>.</p>
- </dd>
- <dt><code>issuer</code></dt>
- <dd><p><code>String</code>. 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".</p>
- <p>Par exemple: "CN=DigiCert SHA2 Secure Server CA,O=DigiCert Inc,C=US".</p></dd>
- <dt><code>rawDER</code></dt>
- <dd><code>Array</code> de <code>Number</code>. Si <a href="/fr/Add-ons/WebExtensions/API/webRequest/getSecurityInfo"><code>webRequest.getSecurityInfo()</code></a> a été appelé avec l'option <code>rawDER</code> présent et mis à <code>true</code>, ceci contiendra l'encodage DER du certificat.</dd>
- <dt><code>serialNumber</code></dt>
- <dd><code>String</code>. Le <a href="https://tools.ietf.org/html/rfc5280#section-4.1.2.2">numéro de série</a> du certificat.</dd>
- <dt><code>subject</code></dt>
- <dd><p><code>String</code>. 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".</p>
- <p>Par exemple: "CN=*.cdn.mozilla.net,O=Mozilla Corporation,L=Mountain View,ST=California,C=US".</p></dd>
- <dt><code>subjectPublicKeyInfoDigest</code></dt>
- <dd>
- <p><code>Object</code>. Un objet contenant les propriétés suivantes :</p>
-
- <dl>
- <dt><code>sha256</code></dt>
- <dd><code>String</code>. Base64 encodé SHA-256 hash de l'<a href="https://tools.ietf.org/html/rfc5280#section-4.1.2.7">information de clé publique</a> codée DER.</dd>
- </dl>
- </dd>
- <dt><code>validity</code></dt>
- <dd>
- <p><code>Object</code>. Période de validité du certificat. Un objet contenant les propriétés suivantes :</p>
-
- <dl>
- <dt><code>start</code></dt>
- <dd><code>Number</code>. Le début de la période de validité du certificat, en <a href="https://en.wikipedia.org/wiki/Unix_time" rel="noopener">millisecondes depuis l'époque</a>.</dd>
- <dt><code>end</code></dt>
- <dd><code>Number</code>. La fin de la période de validité du certificat, en <a href="https://en.wikipedia.org/wiki/Unix_time" rel="noopener">millisecondes depuis l'époque</a>.</dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.CertificateInfo", 10)}}</p>
-
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Utilisez cette fonction pour créer un objet {{WebExtAPIRef("webRequest.StreamFilter")}} pour une requête particulière.<br>
- 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 <code>webRequest</code>.</p>
+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`.
-<p>Pour utiliser cette API, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API</a> "webRequestBlocking", ainsi que les permissions normales nécessaires à l'auditeur de l'événement (la permission "webRequest" et la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission hôte </a>pour l'hôte).</p>
+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).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var filter = browser.webRequest.filterResponseData(
+```js
+var filter = browser.webRequest.filterResponseData(
requestId // string
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. ID de la requête à filtrer. Vous pouvez l'obtenir à partir de l'objet de <code>details</code> qui est passé dans n'importe quel écouteur d'événement <code>webRequest</code>.</dd>
-</dl>
+- `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`.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Un objet {{WebExtAPIRef("webRequest.StreamFilter")}} que vous pouvez utiliser pour surveiller et modifier la réponse.</p>
+Un objet {{WebExtAPIRef("webRequest.StreamFilter")}} que vous pouvez utiliser pour surveiller et modifier la réponse.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple, tiré de l'extension <a href="https://github.com/mdn/webextensions-examples/tree/master/http-response">http-response</a>, crée un filtre dans  {{WebExtAPIRef("webRequest.onBeforeRequest")}} et l'utilise pour modifier la réponse :</p>
+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 :
-<pre class="brush: js">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 =&gt; {
+ 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"]
);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.filterResponseData", 10)}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Utilisez cette fonction pour obtenir des informations détaillées sur la connexion <a href="/fr/docs/Glossaire/TLS">TLS</a> associée à une demande particulière..</p>
+Utilisez cette fonction pour obtenir des informations détaillées sur la connexion [TLS](/fr/docs/Glossaire/TLS) associée à une demande particulière..
-<p>Vous passez à cette fonction la <code>requestId</code> pour la requête en question, et quelques paramètres supplémentaires optionnels. Il retourne une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera résolue à un objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}.</p>
+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")}}.
-<p>Vous ne pouvez appeler cette fonction qu'à partir de l'écouteur  {{WebExtAPIRef("webRequest.onHeadersReceived")}}. La <code>requestId</code> peut être trouvée dans l'objet <code>details</code> object qui est passé dans l'écouteur.</p>
+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.
-<p>Vous devez également passer l'option "blocking" à  <code>webRequest.onHeadersReceived.addListener()</code>. Ainsi, pour utiliser cette API, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API</a> "webRequestBlocking", ainsi que les permissions normales nécessaires pour utiliser les écouteurs <code>webRequest</code>  (la permission "webRequest" et la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission hôte</a> pour le hôte).</p>
+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).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingInfo = browser.webRequest.getSecurityInfo(
+```js
+var gettingInfo = browser.webRequest.getSecurityInfo(
requestId, // string
options // object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. ID de la requête pour laquelle vous souhaitez obtenir des informations de sécurité. Vous pouvez l'obtenir à partir de l'objet de <code>details</code> qui est passé dans n'importe quel écouteur d'événement <code>webRequest</code>.</dd>
- <dt><code>options</code></dt>
- <dd><p><code>object</code>. Un objet qui peut contenir l'une des propriétés suivantes, toutes facultatives :</p>
- <dl>
- <dt><code>certificateChain</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si <code>true</code>, l'objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}} retourné inclura toute la chaîne de certificats jusqu'à et y compris la racine de confiance. Si <code>false</code>, <br>
- il n'inclura que le certificat du serveur. La valeur par défaut est <code>false</code>.</dd>
- <dt><code>rawDER</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si true, chaque propriété {{WebExtAPIRef("webRequest.CertificateInfo", "CertificateInfo")}} dans le {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo.certificates")}} contiendra une propriété <code>rawDER</code>. Il contient le DER-encoded ASN.1 qui comprend les données du certificat.</dd>
- </dl>
- </dd>
-</dl>
+- `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`
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. Un objet qui peut contenir l'une des propriétés suivantes, toutes facultatives :
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui se résout en un objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.webRequest.getSecurityInfo", 10)}}</p>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui se résout en un objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>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 :</p>
+{{Compat("webextensions.api.webRequest.getSecurityInfo", 10)}}
-<pre class="brush: js">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"]
-);</pre>
+);
+```
-<p>Cet exemple écoute toutes les requêtes HTTPS à "mozilla.org" ou ses sous-domaines, et enregistre le nom dans le certificat racine de confiance :</p>
+Cet exemple écoute toutes les requêtes HTTPS à "mozilla.org" ou ses sous-domaines, et enregistre le nom dans le certificat racine de confiance :
-<pre class="brush: js">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"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{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.
-<div>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.</div>
+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 :
-<div></div>
+- 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.
-<div>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.</div>
+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.
-<p>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 :</p>
+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.
-<ul>
- <li>L'utilisateur charge une page qui inclut une requête particulière, et le modèle permet la requête.</li>
- <li>La ressource est chargée et mise en cache en mémoire.</li>
- <li>Les modèles de l'extension sont mis à jour, de telle sorte que la ressource ne serait plus autorisée.</li>
- <li>L'utilisateur recharge la page.</li>
-</ul>
+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.
-<p>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.</p>
+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.
-<p>La fonction <code>handlerBehaviorChanged()</code> 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.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<p>Parce que <code>handlerBehaviorChanged()</code> 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.</p>
+## Syntaxe
-<p>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.</p>
+```js
+var flushingCache = browser.webRequest.handlerBehaviorChanged()
+```
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+### Paramètres
-<h2 id="Syntaxe">Syntaxe</h2>
+None.
-<pre class="brush: js">var flushingCache = browser.webRequest.handlerBehaviorChanged()
-</pre>
+### Valeur retournée
-<h3 id="Paramètres">Paramètres</h3>
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments, lorsque l'opération sera terminée.
-<p>None.</p>
+## Compatibilité du navigateur
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+{{Compat("webextensions.api.webRequest.handlerBehaviorChanged")}}
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie sans arguments, lorsque l'opération sera terminée.</p>
+## Exemples
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+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.
-<p>{{Compat("webextensions.api.webRequest.handlerBehaviorChanged")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Dans le snippet suivant, nous vidons le cache en mémoire via un appel à <code>handlerBehaviorChanged()</code>,  et signalons cette action en enregistrant un message approprié à la console.</p>
-
-<pre class="brush: js">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);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+flushingCache.then(onFlushed, onError);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -109,5 +102,4 @@ flushingCache.then(onFlushed, onError);</pre>
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un tableau d'en-tetes HTTP. Chaque en-tête est représenté comme un objet avec deux propriétés : <code>name</code> et <code>valeur</code> ou <code>binaryValue</code>.</p>
+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`.
-<h2 id="Type">Type</h2>
+## Type
-<p>Un <code>tableau</code> d'<code>objet</code>s. Chaque objet a les propriétés suivantes :</p>
+Un `tableau` d'`objet`s. Chaque objet a les propriétés suivantes :
-<dl>
- <dt><code>name</code></dt>
- <dd><code>string</code>. Nom de l'en-tête HTTP.</dd>
- <dt><code>value</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>binaryValue</code>{{optional_inline}}</dt>
- <dd><code>array</code> d'<code><code>integer</code></code>. 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 <code>valeur</code> doit être présente.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.HttpHeaders")}}</p>
+{{Compat("webextensions.api.webRequest.HttpHeaders")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -71,5 +67,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/HttpHeaders
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar}}</p>
-
-<p>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.</p>
-
-<p>Chaque événement est déclenché à un stade particulier de la demande. La séquence typique des événements est la suivante :</p>
-
-<p><img alt="" src="webRequest-flow.png"></p>
-
-<p>{{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 <a href="/fr/docs/Sécurité/HTTP_Strict_Transport_Security">HSTS</a>, l'événement <code>onBeforeRedirect</code> sera déclenché immédiatement après <code>onBeforeRequest</code>.</p>
-
-<p>Tous les évènements (excepté <code>onErrorOccurred</code>) peuvent prendre trois arguments pour <code>addListener()</code>:</p>
-
-<ul>
- <li>Le receveur d'évènements lui-même</li>
- <li>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.</li>
- <li>un  <code>extraInfoSpec</code> objet optionnel. Vous pouvez utiliser celui-ci pour passer des instructions spécifiques à l'évènement supplémentaires.</li>
-</ul>
-
-<p>Une fonction d'écoute reçoit un objet <code>details</code> 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.</p>
-
-<p>Pour utiliser l'API webRequest pour un hôte donné, une extension doit avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission API</a>  "webRequest" et la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission hôte </a>pour cet hôte. Pour utiliser la fonction "blocking", l'extension doit également avoir la permission API "webRequestBlocking".</p>
-
-<p>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.</p>
-
-<h2 id="Modifier_une_requête">Modifier une requête</h2>
-
-<p>Sur certains de ces événements, vous pouvez modifier la demande. Plus précisément, vous pouvez  :</p>
-
-<ul>
- <li>Annuler une requête avec:
- <ul>
- <li>{{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}}</li>
- <li>{{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}</li>
- <li>{{WebExtAPIRef("webRequest.onAuthRequired", "onAuthRequired")}}</li>
- </ul>
- </li>
- <li>Rediriger une requête avec:
- <ul>
- <li>{{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}}</li>
- <li>{{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}}</li>
- </ul>
- </li>
- <li>Modifier des en-têtes de requêtes avec:
- <ul>
- <li>{{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}</li>
- </ul>
- </li>
- <li>Modifier des réponses d'en-têtes avec:
- <ul>
- <li>{{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}}</li>
- </ul>
- </li>
- <li>Fournir des informations d'authentifications avec:
- <ul>
- <li>{{WebExtAPIRef("webRequest.onAuthRequired", "onAuthRequired")}}</li>
- </ul>
- </li>
-</ul>
-
-<p>Pour ce faire, vous devez transmettre une option avec la valeur "blocking" dans l'argument <code>extraInfoSpec</code> à la fonction <code>addListener()</code> 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.</p>
-
-<div class="warning">
-<p><strong>Attention :</strong> Les protocoles non-HTTP(S) ne supportent pas actuellement la fonctionnalité de "<code>blockage</code>", donc la modification de ces requêtes n'est pas disponible pour le moment. Voir {{bug(1475832)}} pour plus de détails.</p>
-</div>
-
-<h2 id="Accéder_aux_informations_de_sécurité">Accéder aux informations de sécurité</h2>
-
-<p>Dans l'écouteur {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}} vous pouvez accéder aux propriétés <a href="/fr/docs/Glossaire/TLS">TLS</a> d'une requête en appelant {{WebExtAPIRef("webRequest.getSecurityInfo()", "getSecurityInfo()")}}. Pour ce faire, vous devez également transmettre le "blockage" dans l'argument <code>extraInfoSpec</code> à la fonction <code>addListener()</code> de l'évènement.</p>
-
-<p>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.</p>
-
-<h2 id="Modifier_les_réponses">Modifier les réponses</h2>
-
-<p>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.</p>
-
-<p>Pour ce faire, vous devez disposer de la permission de l'API "webRequestBlocking" ainsi que la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API</a> "webRequest" et la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission de l'hôte </a>pour l'hôte concerné.</p>
-
-<h2 id="Types">Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("webRequest.BlockingResponse")}}</dt>
- <dd>
- <p>Un objet de ce type est renvoyé par les auditeurs d'événements qui ont défini le <code>"blockage"</code> dans leur argument <code>extraInfoSpec</code>. En définissant des propriétés particulières dans <code>BlockingResponse</code>, the listener can modify network requests.</p>
- </dd>
- <dt>{{WebExtAPIRef("webRequest.CertificateInfo")}}</dt>
- <dd>Un objet décrivant un seul certificat X.509.</dd>
- <dt>{{WebExtAPIRef("webRequest.HttpHeaders")}}</dt>
- <dd>Un tableau d'en-têtes HTTP. Chaque en-tête est représenté comme un objet avec deux propriétés : <code>name</code> et <code>valeur</code> ou <code>binaryValue</code>.</dd>
- <dt>{{WebExtAPIRef("webRequest.RequestFilter")}}</dt>
- <dd>Un objet décrivant les filtres à appliquer aux événements webRequest.</dd>
- <dt>{{WebExtAPIRef("webRequest.ResourceType")}}</dt>
- <dd>Représente un type particulier de ressources récupérées dans une requête Web.</dd>
- <dt>{{WebExtAPIRef("webRequest.SecurityInfo")}}</dt>
- <dd>Un objet décrivant les propriétés de sécurité d'une requête Web particulière.</dd>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter")}}</dt>
- <dd>Un objet qui peut être utilisé pour surveiller et modifier les réponses HTTP pendant leur réception.</dd>
- <dt>{{WebExtAPIRef("webRequest.UploadData")}}</dt>
- <dd>Contient des données téléchargées dans une requête URL.</dd>
-</dl>
-
-<h2 id="Propriétés">Propriétés</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES", "webRequest.MAX_​HANDLER_​BEHAVIOR_​CHANGED_​CALLS_​PER_​10_​MINUTES")}}</dt>
- <dd>Le nombre de fois que <a href="/fr/Add-ons/WebExtensions/API/WebRequest/handlerBehaviorChanged"><code>handlerBehaviorChanged()</code></a> peut être appelé dans une période de 10 minutes.</dd>
-</dl>
-
-<h2 id="Méthodes">Méthodes</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("webRequest.handlerBehaviorChanged()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("webRequest.filterResponseData()")}}</dt>
- <dd>Retourne un objet {{WebExtAPIRef("webRequest.StreamFilter")}} pour une requête donnée.</dd>
- <dt>{{WebExtAPIRef("webRequest.getSecurityInfo()")}}</dt>
- <dd>Obtient des informations détaillées sur la connexion <a href="/fr/docs/Glossaire/TLS">TLS</a> associée à une requête donnée.</dd>
-</dl>
-
-<h2 id="Evénements">Evénements</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("webRequest.onBeforeRequest")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("webRequest.onBeforeSendHeaders")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("webRequest.onSendHeaders")}}</dt>
- <dd>Lancé juste avant l'envoi des en-têtes. Si votre add-on ou d'autres en-têtes modifiés dans <code>{{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}</code>, vous verrez la version modifiée ici.</dd>
- <dt>{{WebExtAPIRef("webRequest.onHeadersReceived")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("webRequest.onAuthRequired")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("webRequest.onResponseStarted")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("webRequest.onBeforeRedirect")}}</dt>
- <dd>Déclenché lorsqu'une redirection initiée par le serveur est sur le point de se produirer.</dd>
- <dt>{{WebExtAPIRef("webRequest.onCompleted")}}</dt>
- <dd>C'est déclenché lorsqu'une demande est complétée.</dd>
- <dt>{{WebExtAPIRef("webRequest.onErrorOccurred")}}</dt>
- <dd>Déclenché lorsqu'une erreur se produit.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest")}}</p>
-
-<p><a href="/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities#webRequest_incompatibilities">Extra notes on Chrome incompatibilities</a>.</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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 :
+
+![](webRequest-flow.png)
+
+{{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](/fr/docs/Sécurité/HTTP_Strict_Transport_Security), 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](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions)  "webRequest" et la [permission hôte ](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions)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](/fr/docs/Glossaire/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](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "webRequest" et la [permission de l'hôte ](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions)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()`](/fr/Add-ons/WebExtensions/API/WebRequest/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](/fr/docs/Glossaire/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](/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities#webRequest_incompatibilities).
+
+{{WebExtExamples("h2")}}
+
+> **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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -196,5 +172,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>Le nombre maximum de fois que <code>{{WebExtAPIRef("webRequest.handlerBehaviorChanged", "handlerBehaviorChanged()")}}</code> peut être appelé dans une période de 10 minutes.</p>
+Le nombre maximum de fois que `{{WebExtAPIRef("webRequest.handlerBehaviorChanged", "handlerBehaviorChanged()")}}` peut être appelé dans une période de 10 minutes.
-<p>Cette propriété est en lecture seule.</p>
+Cette propriété est en lecture seule.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES")}}</p>
+{{Compat("webextensions.api.webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -62,5 +60,4 @@ translation_of: >-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>L'auditeur peut répondre de l'une des quatre façons suivantes :</p>
+L'auditeur peut répondre de l'une des quatre façons suivantes :
-<p><strong>Ne rien faire </strong>: 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.</p>
+**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.
-<p><strong>Annuler la demande </strong>: 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 :</p>
+**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 :
-<ul>
- <li>dans addListener, passez <code>"blocking"</code> dans le paramètre <code>extraInfoSpec </code></li>
- <li>dans l'écouteur lui-même, retourne un objet avec une propriété <code>cancel</code> définie à  <code>true</code></li>
-</ul>
+- 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`
-<p><strong>Fournir des informations d'identification de manière synchrone </strong>: 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.<br>
- L'auditeur peut fournir des informations d'identification de manière synchrone comme suit :</p>
+**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 :
-<ul>
- <li>dans addListener, passez <code>"blocking"</code> dans le paramètre <code>extraInfoSpec</code></li>
- <li>dans l'auditeur, retourner un objet avec une propriété <code>authCredentials</code> définie sur les informations d'identification à fournir</li>
-</ul>
+- 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
-<p><strong>Fournir les informations d'identification de manière asynchrone </strong>: 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 :</p>
+**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 :
-<ul>
- <li>dans addListener, passez <code>"blocking"</code> dans le paramère <code>extraInfoSpec</code></li>
- <li>dans l'auditeur, retourner une <code>Promise</code> qui est résolue avec un objet contenant une propriété <code>authCredentials</code>, définie sur les credentials à fournir.</li>
-</ul>
+- 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.
-<p>Voir <a href="/fr/Add-ons/WebExtensions/API/webRequest/onAuthRequired#Examples">Exemples</a>.</p>
+Voir [Exemples](/fr/Add-ons/WebExtensions/API/webRequest/onAuthRequired#Examples).
-<p>Si vous utilisez le <code>"blockage"</code> vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API "webRequestBlocking"</a> dans votre manifest.json.</p>
+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.
-<p>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.</p>
+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.
-<h2 id="Autorisation_de_proxy">Autorisation de proxy</h2>
+## Autorisation de proxy
-<p>En général, Firefox ne déclenche pas d'événements <code>webRequest</code> 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.</p>
+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.
-<p>Si une extension a les permissions "webRequest", "webRequestBlocking", "proxy", et "&lt;all_urls&gt;", alors elle pourra utiliser <code>onAuthRequired</code> 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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback, filter, extraInfoSpec)</code></dt>
- <dd>Ajoute un écouteur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>écouteur</code> est enregistré à cet événement. Retourne <code>true</code> s'il est à l'écoute, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd><p>Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p>
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur la demande. Voir les <code><a href="#details">détails</a></code> ci-dessous.</dd>
- </dl>
-
- <p>Retourne : {{WebExtAPIRef('webRequest.BlockingResponse')}} ou une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
-
- <ul>
- <li>Pour traiter la requête de manière synchrone, inclure<code>"blocking"</code> dans le paramètre <code>extraInfoSpec</code> et retourner un objet <code>BlockingResponse</code>, avec son <code>cancel</code> ou ses propriétés <code>authCredentials</code>.</li>
- <li>Pour traiter la requête de manière asynchrone, inclure <code>"blocking"</code> dans le paramètre <code>extraInfoSpec</code> et retourner une <code>Promise</code> qui est résolue avec un objet  <code>BlockingResponse</code>, avec son <code>cancel</code> ou ses propriétés <code>authCredentials</code>.</li>
- </ul>
- </dd>
- <dt><code>filter</code></dt>
- <dd>{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.</dd>
- <dt><code>extraInfoSpec</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> de <code>string</code>. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :</p>
- <ul>
- <li><code>"blocking"</code>: faire le blocage de la demande, afin que vous puissiez annuler la demande ou fournir des informations d'authentification.</li>
- <li><code>"</code><code>responseHeaders</code><code>"</code>: inclure <code>responseHeaders</code> dans l'objet <code>details</code> transmis à l'auditeur</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>challenger</code></dt>
- <dd><p><code>object</code>. Le serveur demandant l'authentification. C'est un objet avec les propriétés suivantes :</p>
- <dl>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le <a href="https://en.wikipedia.org/wiki/Hostname#Internet_hostnames">nom d'hôte</a> du serveur.<br>
- <strong>Warning</strong>: Contrairement à chrome, Firefox retournera l'hôte demandé au lieu du proxy demandant l'authentification, même si <code>isProxy</code> est <code>true</code>.</dd>
- <dt><code>port</code></dt>
- <dd><code>integer</code>. Le numéro de port du serveur.</dd>
- </dl>
- </dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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é (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.</dd>
- <dt><code>isProxy</code></dt>
- <dd><code>boolean</code>. <code>true</code> pour Proxy-Authenticate, <code>false</code> pour WWW-Authenticate. <strong>Note</strong>: <code>webRequest.onAuthRequired</code> 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.</dd>
- <dt><code>method</code></dt>
- <dd><code>string</code>. Méthode HTTP standard : par exemple, "GET" ou "POST".</dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>proxyInfo</code></dt>
- <dd>
- <p><code>object</code>. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le nom d'hôte du serveur proxy.</dd>
- <dt><code>port</code></dt>
- <dd><code>integer</code>. Le numéro de port du serveur proxy.</dd>
- <dt><code>type</code></dt>
- <dd>
- <p><code>string</code>. Le type de serveur proxy. L'un des :</p>
-
- <ul>
- <li>"http": proxy HTTP (ou SSL CONNECT pour HTTPS)</li>
- <li>"https": proxy HTTP sur connexion TLS vers proxy</li>
- <li>"socks": SOCKS v5 proxy</li>
- <li>"socks4": SOCKS v4 proxy</li>
- <li>"direct": pas de proxy</li>
- <li>"unknown": proxy inconnu</li>
- </ul>
- </dd>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur pour le service proxy.</dd>
- <dt><code>proxyDNS</code></dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>failoverTimeout</code></dt>
- <dd><code>integer</code>. 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 <a href="/fr/docs/Add-ons/WebExtensions/API/proxy#FindProxyForURL()_return_value">FindProxyForURL()</a> sera utilisé.</dd>
- </dl>
- </dd>
- <dt><code>realm</code>{{optional_inline}}</dt>
- <dd><code>string</code>. La zone d'authentification <a href="https://tools.ietf.org/html/rfc1945#section-11">realm</a> fournie par le serveur, s'il y en a un.</dd>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>responseHeaders</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.</dd>
- <dt><code>scheme</code></dt>
- <dd><code>string</code>. Le schéma d'authentification : <code>"basic"</code> ou <code>"digest</code>".</dd>
- <dt><code>statusCode</code></dt>
- <dd><code>integer</code>. Code d'état HTTP standard renvoyé par le serveur.</dd>
- <dt><code>statusLine</code></dt>
- <dd><code>string</code>. 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</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle cet événement s'est déclenché, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>type</code></dt>
- <dd>{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. Cible de la demande.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.onAuthRequired", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ce code n'observe que les demandes d'authentification pour l'URL cible :</p>
-
-<pre class="brush: js">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()](</fr/docs/Add-ons/WebExtensions/API/proxy#FindProxyForURL()_return_value>) 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]}
-);</pre>
+);
+```
-<p>Ce code annule les demandes d'authentification pour l'URL cible :</p>
+Ce code annule les demandes d'authentification pour l'URL cible :
-<pre class="brush: js">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"]
-);</pre>
+);
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">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 &gt; -1) {
+ if (index > -1) {
pendingRequests.splice(index, 1);
}
}
@@ -263,11 +250,13 @@ browser.webRequest.onCompleted.addListener(
browser.webRequest.onErrorOccurred.addListener(
completed,
{urls: [target]}
-);</pre>
+);
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">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 &gt; -1) {
+ if (index > -1) {
pendingRequests.splice(index, 1);
}
}
@@ -314,19 +303,17 @@ browser.webRequest.onErrorOccurred.addListener(
completed,
{urls: [target]}
);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -353,5 +340,4 @@ browser.webRequest.onErrorOccurred.addListener(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Déclenché lorsqu'une redirection initiée par le serveur est sur le point de se produire.</p>
+Déclenché lorsqu'une redirection initiée par le serveur est sur le point de se produire.
-<p>Notez que vous ne pouvez pas passer le <code>"blockage"</code> pour cet événement, donc vous ne pouvez pas modifier ou annuler la demande de cet événement : c'est uniquement à titre d'information.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback, filter, extraInfoSpec)</code></dt>
- <dd>Ajouter un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré à cet événement. Retourne <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur la demande. Voir les <code><a href="#details">détails</a></code> ci-dessous.</dd>
- </dl>
- </dd>
- <dt><code>filter</code></dt>
- <dd>{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.</dd>
- <dt><code>extraInfoSpec</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> de <code>string</code>. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur :</p>
- <ul>
- <li><code>"</code><code>responseHeaders</code><code>"</code>: inclure <code>responseHeaders</code> dans l'objet <code>détails</code> transmis à l'auditeur.</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>documentUrl</code></dt>
- <dd><code>string</code>. 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 <code>documentUrl</code> pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, <code>documentUrl</code> n'est pas défini.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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é (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.</dd>
- <dt><code>fromCache</code></dt>
- <dd><code>boolean</code>. Indique si cette réponse a été récupérée dans le cache du disque.</dd>
- <dt><code>ip</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>method</code></dt>
- <dd><code>string</code>. Méthode HTTP standard : par exemple, "GET" ou "POST".</dd>
- <dt><code>originUrl</code></dt>
- <dd>
- <p><code>string</code>. 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 <code>originUrl</code> de la requête résultante est "https://example.com".</p>
-
- <p>L'<code>originUrl</code> est souvent mais pas toujours la même chose que <code>documentUrl</code>.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 <code>documentUrl</code> pour la requête résultante sera le document parent de l'iframe, mais l'<code>originUrl</code> sera l'URL du document dans l'iframe qui contenait le lien.</p>
-
-
- </dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>proxyInfo</code></dt>
- <dd>
- <p><code>object</code>. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le nom d'hôte du serveur proxy.</dd>
- <dt><code>port</code></dt>
- <dd><code>integer</code>. Le numéro de port du serveur proxy.</dd>
- <dt><code>type</code></dt>
- <dd>
- <p><code>string</code>. Le type de serveur proxy. L'un des :</p>
-
- <ul>
- <li>"http": proxy HTTP (ou SSL CONNECT pour HTTPS)</li>
- <li>"https": proxy HTTP sur connexion TLS vers proxy</li>
- <li>"socks": SOCKS v5 proxy</li>
- <li>"socks4": SOCKS v4 proxy</li>
- <li>"direct": pas de proxy</li>
- <li>"unknown": proxy inconnu</li>
- </ul>
- </dd>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur pour le service proxy.</dd>
- <dt><code>proxyDNS</code></dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>failoverTimeout</code></dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
- <dt><code>redirectUrl</code></dt>
- <dd><code>string</code>. La nouvelle URL.</dd>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>responseHeaders</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.</dd>
- <dt><code>statusCode</code></dt>
- <dd><code>integer</code>. Code d'état HTTP standard renvoyé par le serveur.</dd>
- <dt><code>statusLine</code></dt>
- <dd><code>string</code>. 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</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle cet événement s'est déclenché, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>type</code></dt>
- <dd>{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. Cible de la demande.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.onBeforeRedirect", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<pre class="brush: js">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]}
);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -201,5 +186,4 @@ browser.webRequest.onBeforeRedirect.addListener(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Pour annuler ou rediriger la requête, incluez d'abord <code>"blocking"</code> dans l'argument tableau <code>extraInfoSpec</code> pour <code>addListener()</code>. Ensuite, dans la fonction Listener, retournez un objet {{WebExtAPIRef("webRequest.BlockingResponse", "BlockingResponse")}}, en définissant la propriété appropriée :</p>
+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 :
-<ul>
- <li>pour annuler la demande, inclure une propriété <code>cancel</code> avec la valeur <code>true</code>.</li>
- <li>pour rediriger la requête, inclure une propriété <code>redirectUrl</code> avec la valeur fixée à l'URL vers laquelle vous voulez rediriger.</li>
-</ul>
+- 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.
-<p>Si une extension veut rediriger une URL publique (par exemple HTTPS) ver une <a href="/fr/Add-ons/WebExtensions/user_interface/Extension_pages">page d'extension</a>, de l'extension doit contenir une clé <a href="/fr/Add-ons/WebExtensions/manifest.json/web_accessible_resources">web_accessible_resources</a> qui liste l'URL de la page d'extension.</p>
+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.
-<p>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  <code>requestId</code> à nouveau si un autre gestionnaire de blocage a redirigé la requête.</p>
+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.
-<p>A partir de Firefox 52, au lieu de renvoyer <code>BlockingResponse</code>, l'auditeur peut renvoyer une  <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue avec un <code>BlockingResponse</code>. Ceci permet à l'auditeur de traiter la demande de manière asynchrone.</p>
+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.
-<p>Si vous utilisez le <code>"blocking"</code>, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API "webRequestBlocking"</a> dans votre manifest.json.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback, filter, extraInfoSpec)</code></dt>
- <dd>Ajoute un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de l'<code>écouteur</code> est l'écouteur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>l'écouteur</code> est inscrit à cet événement. Renvoie <code>true</code> s'il est à l'écoute, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd><p>Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p>
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur la demande. Voir les <code><a href="#details">details</a></code> ci-dessous.</dd>
- </dl>
- <p>Les retours : {{WebExtAPIRef('webRequest.BlockingResponse')}}. Si <code>"blocking"</code>est spécifié dans le paramètre <code>extraInfoSpec</code>, l'auditeur d'événement doit retourner un objet <code>BlockingResponse</code>, et peut définir soit son <code>annulation</code>, soit ses propriétés  <code>redirectUrl</code>. A partir de Firefox 52, au lieu de renvoyer <code>BlockingResponse</code>,l'auditeur peut renvoyer une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue avec un <code>BlockingResponse</code>. Ceci permet à l'auditeur de traiter la demande de manière asynchrone.</p>
- </dd>
- <dt><code>filter</code></dt>
- <dd>{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.</dd>
- <dt><code>extraInfoSpec</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> de <code>string</code>. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :</p>
- <ul>
- <li><code>"blocking"</code>: rendre la requête synchrone, de sorte que vous pouvez annuler ou rediriger la requête</li>
- <li><code>"requestBody"</code>: include <code>requestBody</code> dans l'objet <code>details</code> transmis à l'auditeur</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>documentUrl</code></dt>
- <dd><code>string</code>. 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 <code>documentUrl</code> pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, <code>documentUrl</code> n'est pas défini.</dd>
- <dt><code>frameAncestors</code></dt>
- <dd><p><code>array</code>. 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.</p>
- <dl>
- <dt><code>url</code></dt>
- <dd><code>string</code>. URL à partir de laquelle le document a été chargé.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. Le <code>frameId</code> du document. <code>details.frameAncestors[0].frameId</code> est le même que <code>details.parentFrameId</code>.</dd>
- </dl>
- </dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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é (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.</dd>
- <dt><code>method</code></dt>
- <dd><code>string</code>. Méthode HTTP standard : par exemple, "GET" ou "POST".</dd>
- <dt><code>originUrl</code></dt>
- <dd>
- <p><code>string</code>. 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 <code>originUrl</code> de la requête résultante est "https://example.com".</p>
-
- <p>L'<code>originUrl</code> est souvent mais pas toujours la même chose que <code>documentUrl</code>.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 <code>documentUrl</code> pour la requête résultante sera le document parent de l'iframe, mais l'<code>originUrl</code> sera l'URL du document dans l'iframe qui contenait le lien.</p>
- </dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>proxyInfo</code></dt>
- <dd>
- <p><code>object</code>. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le nom d'hôte du serveur proxy.</dd>
- <dt><code>port</code></dt>
- <dd><code>integer</code>. Le numéro de port du serveur proxy.</dd>
- <dt><code>type</code></dt>
- <dd>
- <p><code>string</code>. Le type de serveur proxy. L'un des :</p>
-
- <ul>
- <li>"http": proxy HTTP (ou SSL CONNECT pour HTTPS)</li>
- <li>"https": proxy HTTP sur connexion TLS vers proxy</li>
- <li>"socks": SOCKS v5 proxy</li>
- <li>"socks4": SOCKS v4 proxy</li>
- <li>"direct": pas de proxy</li>
- <li>"unknown": proxy inconnu</li>
- </ul>
- </dd>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur pour le service proxy.</dd>
- <dt><code>proxyDNS</code></dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>failoverTimeout</code></dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
- <dt><code>requestBody</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>. Contient les données du corps de la requête HTTP. Seulement si <code>extraInfoSpec</code> contient <code>"requestBody"</code>.</p>
- <dl>
- <dt><code>error</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>formData</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>. 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".</p>
- <p>Il s'agit d'un dictionnaire dans lequel chaque clé contient la liste de toutes les valeurs de cette clé. Par exemple: <code>{'key': ['value1', 'value2']}</code>. Si les données sont d'un autre type de support, ou si elles sont malformées, l'objet n'est pas présent.</p></dd>
- <dt><code>raw</code>{{optional_inline}}</dt>
- <dd><code>array</code> of <code>{{WebExtAPIRef('webRequest.UploadData')}}</code>. Si la méthode de requête est PUT ou POST, et que le corps n'est pas déjà analysé dans <code>formData</code>, alors ce tableau contient les éléments de corps de requête non analysés.</dd>
- </dl>
- </dd>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle cet événement s'est déclenché, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>type</code></dt>
- <dd>{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. Cible de la demande.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.onBeforeRequest", 10)}}</p>
-
-<h3 id="Ordre_de_résolution_DNS_lorsque_BlockingResponse_est_utilisé">Ordre de résolution DNS lorsque BlockingResponse est utilisé</h3>
-
-<p>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 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1466099">à la clarification du problème de BugZilla fournie par les développeurs Mozilla sur la commande de la résolution DNS</a></p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ce code enregistre l'URL de chaque ressource demandée qui correspond au modèle  <a href="/fr/Add-ons/WebExtensions/Match_patterns#&lt;all_urls>">&lt;all_urls&gt;</a> :</p>
-
-<pre class="brush: js">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  [\<all_urls>](/fr/Add-ons/WebExtensions/Match_patterns#<all_urls>) :
+
+```js
+function logURL(requestDetails) {
console.log("Loading: " + requestDetails.url);
}
browser.webRequest.onBeforeRequest.addListener(
logURL,
- {urls: ["&lt;all_urls&gt;"]}
-);</pre>
+ {urls: ["<all_urls>"]}
+);
+```
-<p>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 <a href="/fr/docs/Mozilla/Firefox/Developer_Edition">Firefox Developer Edition</a>):</p>
+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)):
-<pre class="brush: js">// 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"]
);
-</pre>
+```
-<p>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 <a href="/fr/docs/Mozilla/Firefox/Developer_Edition">Firefox Developer Edition</a>) :</p>
+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)) :
-<pre class="brush: js">// 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"]
-);</pre>
+);
+```
-<p>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 <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui définit une minuterie et se résout avec l'URL de redirection lorsque la minuterie expire :</p>
+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 :
-<pre class="brush: js">// 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) =&gt; {
- window.setTimeout(() =&gt; {
+ return new Promise((resolve, reject) => {
+ window.setTimeout(() => {
resolve({redirectUrl});
}, 2000);
});
@@ -250,19 +248,18 @@ browser.webRequest.onBeforeRequest.addListener(
redirectAsync,
{urls: [pattern], types: ["image"]},
["blocking"]
-);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -289,5 +286,4 @@ browser.webRequest.onBeforeRequest.addListener(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>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 <code>"requestHeaders"</code> dans un tableau <code>extraInfoSpec</code>.</p>
+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`.
-<p>Pour modifier les en-têtes de façon synchrone : passez <code>"blocking"</code> dans <code>extraInfoSpec</code>, puis dans votre événement écouté, retournez un <a href="/fr/Add-ons/WebExtensions/API/webRequest/BlockingResponse" title='An object of this type is returned by event listeners that have set "blocking" in their extraInfoSpec argument.'><code>BlockingResponse</code></a> avec une propriété nommée <code>requestHeaders</code>, dont la valeur est l'ensemble des en-têtes de requête à envoyer.</p>
+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.
-<p>Pour modifier les en-têtes de façon asynchrone : passez <code>"blocking"</code> dans <code>extraInfoSpec</code>, puis dans votre event listener, retournez une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue avec une <code>BlockingResponse</code>.</p>
+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`.
-<p>Si vous utilisez le <code>"blocking"</code>, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">"permission de l'API "webRequestBlocking"</a> dans votre manifest.json.</p>
+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.
-<p>Il est possible d'étendre le conflit ici. Si deux extensions écoutent <code>onBeforeSendHeaders</code> 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 <code>Cookie</code>, et que le deuxième auditeur supprime tous les en-têtes <code>Cookie</code>, 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.</p>
+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.
-<p>Tous les en-têtes réellement envoyés ne sont pas toujours inclus dans <code>requestHeaders</code>. En particulier, les en-têtes liés à la mise en cache (par exemple, <code>Cache-Control</code>, <code>If-Modified-Since</code>, <code>If-None-Match</code>) ne sont jamais envoyés. De plus, le comportement peut différer d'un navigateur à l'autre.</p>
+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.
-<p>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 :</p>
+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 :
-<pre class="brush: js">for (let header of e.requestHeaders) {
+```js
+for (let header of e.requestHeaders) {
if (header.name.toLowerCase() === desiredHeader) {
// process header
}
-}</pre>
+}
+```
-<p>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é.</p>
+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é.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback, filter, extraInfoSpec)</code></dt>
- <dd>Ajouter un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré à cet événement. Retourne <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails de la demande. Ceci inclura les en-têtes de demande si vous avez inclus <code>"requestHeaders"</code> dans <code>extraInfoSpec</code>.</dd>
- </dl>
-
- <p>Retourne : {{WebExtAPIRef('webRequest.BlockingResponse')}}. si <code>"blocking"</code> est spécifié dans le paramètre <code>extraInfoSpec</code>, l'auditeur d'événement doit retourner un objet <code>BlockingResponse</code>, et peut définir sa propriété <code>requestHeaders</code>.</p>
- </dd>
- <dt><code>filter</code></dt>
- <dd>{{WebExtAPIRef('webRequest.RequestFilter')}}. Un ensemble de filtres qui restreint les événements qui seront envoyés à cet auditeur.</dd>
- <dt><code>extraInfoSpec</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> de <code>string</code>. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :</p>
- <ul>
- <li><code>"blocking"</code>: rendre la requête synchrone, ce qui vous permet de modifier les en-têtes de requête</li>
- <li><code>"requestHeaders"</code>: inclure les en-têtes de requête dans l'objet <code>details</code>  transmis à l'auditeur</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>documentUrl</code></dt>
- <dd><code>string</code>. 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 <code>documentUrl</code> pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, <code>documentUrl</code> n'est pas défini.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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é (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.</dd>
- <dt><code>method</code></dt>
- <dd><code>string</code>. Méthode HTTP standard : par exemple, "GET" ou "POST".</dd>
- <dt><code>originUrl</code></dt>
- <dd>
- <p><code>string</code>. 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 <code>originUrl</code> de la requête résultante est "https://example.com".</p>
-
- <p>L'<code>originUrl</code> est souvent mais pas toujours la même chose que <code>documentUrl</code>.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 <code>documentUrl</code> pour la requête résultante sera le document parent de l'iframe, mais l'<code>originUrl</code> sera l'URL du document dans l'iframe qui contenait le lien.</p>
- </dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>proxyInfo</code></dt>
- <dd>
- <p><code>object</code>. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le nom d'hôte du serveur proxy.</dd>
- <dt><code>port</code></dt>
- <dd><code>integer</code>. Le numéro de port du serveur proxy.</dd>
- <dt><code>type</code></dt>
- <dd>
- <p><code>string</code>. Le type de serveur proxy. L'un des :</p>
-
- <ul>
- <li>"http": proxy HTTP (ou SSL CONNECT pour HTTPS)</li>
- <li>"https": proxy HTTP sur connexion TLS vers proxy</li>
- <li>"socks": SOCKS v5 proxy</li>
- <li>"socks4": SOCKS v4 proxy</li>
- <li>"direct": pas de proxy</li>
- <li>"unknown": proxy inconnu</li>
- </ul>
- </dd>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur pour le service proxy.</dd>
- <dt><code>proxyDNS</code></dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>failoverTimeout</code></dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
- <dt><code>requestHeaders</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.</dd>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle cet événement s'est déclenché, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>type</code></dt>
- <dd>{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. Cible de la demande.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.onBeforeSendHeaders", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>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/".</p>
-
-<pre class="brush: js">"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"]
);
-</pre>
+```
-<p>Ce code est exactement comme l'exemple précédent, sauf que l'auditeur est asynchrone, retournant une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue avec les nouveaux en-têtes :</p>
+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 :
-<pre class="brush: js">"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) =&gt; {
- window.setTimeout(() =&gt; {
+ 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"]
);
+```
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -279,5 +268,4 @@ browser.webRequest.onBeforeSendHeaders.addListener(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Utilisé lorsqu'une demande est complétée.</p>
+Utilisé lorsqu'une demande est complétée.
-<p>Cet événement est à titre d'information seulement.</p>
+Cet événement est à titre d'information seulement.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback, filter, extraInfoSpec)</code></dt>
- <dd>Ajouter un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré à cet événement. Retourne <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Details sur la demande. voir les <code><a href="#details">détails</a></code> ci-dessous.</dd>
- </dl>
- </dd>
- <dt><code>filter</code></dt>
- <dd>{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.</dd>
- <dt><code>extraInfoSpec</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> of <code>string</code>. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur :</p>
- <ul>
- <li><code>"</code><code>responseHeaders</code><code>"</code>: inclure <code>responseHeaders</code> dans l'objet <code>details</code> transmis à l'auditeur</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="objets_supplémentaires">objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>documentUrl</code></dt>
- <dd><code>string</code>. 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 <code>documentUrl</code> pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, <code>documentUrl</code> n'est pas défini.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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é (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.</dd>
- <dt><code>fromCache</code></dt>
- <dd><code>boolean</code>. Indique si cette réponse a été récupérée dans le cache du disque.</dd>
- <dt><code>ip</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>method</code></dt>
- <dd><code>string</code>. Méthode HTTP standard : par exemple, "GET" ou "POST".</dd>
- <dt><code>originUrl</code></dt>
- <dd>
- <p><code>string</code>. 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 <code>originUrl</code> de la requête résultante est "https://example.com".</p>
-
- <p>L'<code>originUrl</code> est souvent mais pas toujours la même chose que <code>documentUrl</code>.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 <code>documentUrl</code> pour la requête résultante sera le document parent de l'iframe, mais l'<code>originUrl</code> sera l'URL du document dans l'iframe qui contenait le lien.</p>
- </dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>proxyInfo</code></dt>
- <dd>
- <p><code>object</code>. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le nom d'hôte du serveur proxy.</dd>
- <dt><code>port</code></dt>
- <dd><code>integer</code>. Le numéro de port du serveur proxy.</dd>
- <dt><code>type</code></dt>
- <dd>
- <p><code>string</code>. Le type de serveur proxy. L'un des :</p>
-
- <ul>
- <li>"http": proxy HTTP (ou SSL CONNECT pour HTTPS)</li>
- <li>"https": proxy HTTP sur connexion TLS vers proxy</li>
- <li>"socks": SOCKS v5 proxy</li>
- <li>"socks4": SOCKS v4 proxy</li>
- <li>"direct": pas de proxy</li>
- <li>"unknown": proxy inconnu</li>
- </ul>
- </dd>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur pour le service proxy.</dd>
- <dt><code>proxyDNS</code></dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>failoverTimeout</code></dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>responseHeaders</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.</dd>
- <dt><code>statusCode</code></dt>
- <dd><code>integer</code>. Code d'état HTTP standard renvoyé par le serveur.</dd>
- <dt><code>statusLine</code></dt>
- <dd><code>string</code>. 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</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle cet événement s'est déclenché, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>type</code></dt>
- <dd>{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. Cible de la demande.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.onCompleted", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<pre class="brush: js">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]}
);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -202,5 +189,4 @@ browser.webRequest.onCompleted.addListener(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Utilisé lorsqu'une demande n'a pas pu être traitée en raison d'une erreur : par exemple, un manque de connectivité Internet.</p>
+Utilisé lorsqu'une demande n'a pas pu être traitée en raison d'une erreur : par exemple, un manque de connectivité Internet.
-<p>L'erreur est transmise à l'auditeur en tant que propriété d'<code>erreur</code> de l'objet <code><a href="#details">details</a></code>.</p>
+L'erreur est transmise à l'auditeur en tant que propriété d'`erreur` de l'objet [`details`](#details).
-<p>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 <code>details.statusCode</code> pour signaler l'erreur.</p>
+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.
-<p>Cet événement est à titre d'information seulement.</p>
+Cet événement est à titre d'information seulement.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.webRequest.onErrorOccurred.addListener(
+```js
+browser.webRequest.onErrorOccurred.addListener(
listener, // function
filter // object
)
browser.webRequest.onErrorOccurred.removeListener(listener)
browser.webRequest.onErrorOccurred.hasListener(listener)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback, filter, extraInfoSpec)</code></dt>
- <dd>Ajouter un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré à cet événement. Retourne <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur la demande. Voir les <code><a href="#details">details</a></code> ci-dessous.</dd>
- </dl>
- </dd>
- <dt><code>filter</code></dt>
- <dd>{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.</dd>
-</dl>
-
-<h2 id="objets_supplémentaires">objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>documentUrl</code></dt>
- <dd><code>string</code>. 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 <code>documentUrl</code> pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, <code>documentUrl</code> n'est pas défini.</dd>
- <dt><code>error</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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é (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.</dd>
- <dt><code>fromCache</code></dt>
- <dd><code>boolean</code>. Indique si cette réponse a été récupérée dans le cache du disque.</dd>
- <dt><code>ip</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>method</code></dt>
- <dd><code>string</code>. Méthode HTTP standard : par exemple, "GET" ou "POST".</dd>
- <dt><code>originUrl</code></dt>
- <dd>
- <p><code>string</code>. 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 <code>originUrl</code> de la requête résultante est "https://example.com".</p>
-
- <p>L'<code>originUrl</code> est souvent mais pas toujours la même chose que <code>documentUrl</code>.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 <code>documentUrl</code> pour la requête résultante sera le document parent de l'iframe, mais l'<code>originUrl</code> sera l'URL du document dans l'iframe qui contenait le lien.</p>
- </dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>proxyInfo</code></dt>
- <dd>
- <p><code>object</code>. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le nom d'hôte du serveur proxy.</dd>
- <dt><code>port</code></dt>
- <dd><code>integer</code>. Le numéro de port du serveur proxy.</dd>
- <dt><code>type</code></dt>
- <dd>
- <p><code>string</code>. Le type de serveur proxy. L'un des :</p>
-
- <ul>
- <li>"http": proxy HTTP (ou SSL CONNECT pour HTTPS)</li>
- <li>"https": proxy HTTP sur connexion TLS vers proxy</li>
- <li>"socks": SOCKS v5 proxy</li>
- <li>"socks4": SOCKS v4 proxy</li>
- <li>"direct": pas de proxy</li>
- <li>"unknown": proxy inconnu</li>
- </ul>
- </dd>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur pour le service proxy.</dd>
- <dt><code>proxyDNS</code></dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>failoverTimeout</code></dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle cet événement s'est déclenché, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>type</code></dt>
- <dd>{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. Cible de la demande.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.onErrorOccurred", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<pre class="brush: js">var target = "&lt;all_urls&gt;";
+```
+
+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 = "<all_urls>";
/*
e.g., with no network:
@@ -151,19 +141,18 @@ function logError(responseDetails) {
browser.webRequest.onErrorOccurred.addListener(
logError,
{urls: [target]}
-);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -190,5 +179,4 @@ browser.webRequest.onErrorOccurred.addListener(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>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 <code>"responseHeaders"</code> dans le tableau <code>extraInfoSpec</code>.</p>
+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`.
-<p>Pour modifier les en-têtes, passez <code>"blocking"</code> dans <code>extraInfoSpec</code>. Ensuite, dans votre écouteur d'événements, retournez un objet avec une propriété nommée <code>responseHeaders</code>, 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.</p>
+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.
-<p>A partir de Firefox 52, au lieu de renvoyer <code>BlockingResponse</code>, l'auditeur peut renvoyer une Promesse qui est résolue avec un <code>BlockingResponse</code>. Ceci permet à l'auditeur de traiter la demande de manière asynchrone.</p>
+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.
-<p>Si vous utilisez le <code>"blocking"</code>, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API "webRequestBlocking" </a>dans votre manifest.json.</p>
+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.
-<p>Notez qu'il est possible que des extensions entrent en conflit ici. Si deux extensions écoutent <code>onHeadersReceived</code> pour la même requête et retournent <code>responseHeaders</code> essayant de définir le même en-tête (par exemple, <code>Content-Security-Policy</code>), 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<br>
-  </p>
+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
-<h2 id="Syntaxe">Syntaxe</h2>
-<pre class="brush: js">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)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback, filter, extraInfoSpec)</code></dt>
- <dd>Ajouter un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré à cet événement. Retourne <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails de la demande. Ceci inclura les en-têtes de réponse si vous avez inclus <code>"responseHeaders"</code> dans <code>extraInfoSpec</code>.</dd>
- </dl>
-
- <p>Retourne : {{WebExtAPIRef('webRequest.BlockingResponse')}}. Si <code>"blocking"</code> est spécifié dans le paramètre <code>extraInfoSpec</code>, l'auditeur d'événement doit retourner un objet <code>BlockingResponse</code>, et peut définir sa propriété <code>responseHeaders</code>.</p>
- </dd>
- <dt><code>filter</code></dt>
- <dd>{{WebExtAPIRef('webRequest.RequestFilter')}}. Un ensemble de filtres qui restreint les événements qui seront envoyés à cet auditeur.</dd>
- <dt><code>extraInfoSpec</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> de <code>string</code>. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :</p>
- <ul>
- <li><code>"blocking"</code> pour rendre la requête synchrone, de sorte que vous pouvez modifier les en-têtes de requête et réponse.</li>
- <li><code>"responseHeaders"</code> pour inclure les en-têtes de réponse dans l'objet  <code>détails</code> transmis à l'auditeur</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="objets_supplémentaires">objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>documentUrl</code></dt>
- <dd><code>string</code>. 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 <code>documentUrl</code> pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, <code>documentUrl</code> n'est pas défini.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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é (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.</dd>
- <dt><code>method</code></dt>
- <dd><code>string</code>. Méthode HTTP standard : par exemple, "GET" ou "POST".</dd>
- <dt><code>originUrl</code></dt>
- <dd>
- <p><code>string</code>. 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 <code>originUrl</code> de la requête résultante est "https://example.com".</p>
-
- <p>L'<code>originUrl</code> est souvent mais pas toujours la même chose que <code>documentUrl</code>.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 <code>documentUrl</code> pour la requête résultante sera le document parent de l'iframe, mais l'<code>originUrl</code> sera l'URL du document dans l'iframe qui contenait le lien.</p>
- </dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>proxyInfo</code></dt>
- <dd>
- <p><code>object</code>. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le nom d'hôte du serveur proxy.</dd>
- <dt><code>port</code></dt>
- <dd><code>integer</code>. Le numéro de port du serveur proxy.</dd>
- <dt><code>type</code></dt>
- <dd>
- <p><code>string</code>. Le type de serveur proxy. L'un des :</p>
-
- <ul>
- <li>"http": proxy HTTP (ou SSL CONNECT pour HTTPS)</li>
- <li>"https": proxy HTTP sur connexion TLS vers proxy</li>
- <li>"socks": SOCKS v5 proxy</li>
- <li>"socks4": SOCKS v4 proxy</li>
- <li>"direct": pas de proxy</li>
- <li>"unknown": proxy inconnu</li>
- </ul>
- </dd>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur pour le service proxy.</dd>
- <dt><code>proxyDNS</code></dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>failoverTimeout</code></dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>responseHeaders</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.</dd>
- <dt><code>statusCode</code></dt>
- <dd><code>integer</code>. Code d'état HTTP standard renvoyé par le serveur.</dd>
- <dt><code>statusLine</code></dt>
- <dd><code>string</code>. 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</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle cet événement s'est déclenché, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>type</code></dt>
- <dd>{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. Cible de la demande.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.onHeadersReceived", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ce code définit un cookie supplémentaire lors de la demande d'une ressource à partir de l'URL cible :</p>
-
-<pre class="brush: js">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"]
-);</pre>
+);
+```
-<p>Ce code fait la même chose que l'exemple précédent, sauf que l'auditeur est asynchrone, retournant une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui est résolue avec les nouveaux en-têtes :</p>
+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 :
-<pre class="brush: js">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) =&gt; {
- window.setTimeout(() =&gt; {
+ 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"]
);
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -241,5 +231,4 @@ browser.webRequest.onHeadersReceived.addListener(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancé lorsque le premier octet du corps de réponse est reçu.</p>
+Lancé lorsque le premier octet du corps de réponse est reçu.
-<p>Cet événement est à titre d'information seulement.</p>
+Cet événement est à titre d'information seulement.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback, filter, extraInfoSpec)</code></dt>
- <dd>Ajouter un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré à cet événement. Retourne <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd><p>Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p>
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur la demande. Voir les <code><a href="#details">details</a></code> ci-dessous.</dd>
- </dl>
- </dd>
- <dt><code>filter</code></dt>
- <dd>{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.</dd>
- <dt><code>extraInfoSpec</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> de <code>string</code>. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur :</p>
- <ul>
- <li><code>"</code><code>responseHeaders</code><code>"</code>: inclure <code>responseHeaders</code> dans l'objet <code>détails</code> transmis à l'auditeur</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>documentUrl</code></dt>
- <dd><code>string</code>. 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 <code>documentUrl</code> pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, <code>documentUrl</code> n'est pas défini.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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é (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.</dd>
- <dt><code>fromCache</code></dt>
- <dd><code>boolean</code>. Indique si cette réponse a été récupérée dans le cache du disque.</dd>
- <dt><code>ip</code>{{optional_inline}}</dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>method</code></dt>
- <dd><code>string</code>. Méthode HTTP standard : par exemple, "GET" ou "POST".</dd>
- <dt><code>originUrl</code></dt>
- <dd>
- <p><code>string</code>. 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 <code>originUrl</code> de la requête résultante est "https://example.com".</p>
-
- <p>L'<code>originUrl</code> est souvent mais pas toujours la même chose que <code>documentUrl</code>.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 <code>documentUrl</code> pour la requête résultante sera le document parent de l'iframe, mais l'<code>originUrl</code> sera l'URL du document dans l'iframe qui contenait le lien.</p>
- </dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>proxyInfo</code></dt>
- <dd>
- <p><code>object</code>. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le nom d'hôte du serveur proxy.</dd>
- <dt><code>port</code></dt>
- <dd><code>integer</code>. Le numéro de port du serveur proxy.</dd>
- <dt><code>type</code></dt>
- <dd>
- <p><code>string</code>. Le type de serveur proxy. L'un des :</p>
-
- <ul>
- <li>"http": proxy HTTP (ou SSL CONNECT pour HTTPS)</li>
- <li>"https": proxy HTTP sur connexion TLS vers proxy</li>
- <li>"socks": SOCKS v5 proxy</li>
- <li>"socks4": SOCKS v4 proxy</li>
- <li>"direct": pas de proxy</li>
- <li>"unknown": proxy inconnu</li>
- </ul>
- </dd>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur pour le service proxy.</dd>
- <dt><code>proxyDNS</code></dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>failoverTimeout</code></dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>responseHeaders</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.</dd>
- <dt><code>statusCode</code></dt>
- <dd><code>integer</code>. Code d'état HTTP standard renvoyé par le serveur.</dd>
- <dt><code>statusLine</code></dt>
- <dd><code>string</code>. 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</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle cet événement s'est déclenché, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>type</code></dt>
- <dd>{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. Cible de la demande.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.onResponseStarted", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<pre class="brush: js">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]}
-);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -196,5 +186,4 @@ browser.webRequest.onResponseStarted.addListener(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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  <code>{{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}</code>, vous verrez la version modifiée ici.</p>
+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.
-<p>Cet événement est à titre d'information seulement.</p>
+Cet événement est à titre d'information seulement.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">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)
-</pre>
-
-<p>Les événements ont trois fonctions :</p>
-
-<dl>
- <dt><code>addListener(callback, filter, extraInfoSpec)</code></dt>
- <dd>Ajouter un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument <code>listener</code> est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si <code>listener</code> est enregistré à cet événement. Retourne <code>true</code> s'il est écouté, sinon <code>false</code>.</dd>
-</dl>
-
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :</p>
-
- <dl>
- <dt><code>details</code></dt>
- <dd><a href="#details"><code>object</code></a>. Détails sur la demande. Voir les <code><a href="#details">details</a></code> ci-dessous.</dd>
- </dl>
- </dd>
- <dt><code>filter</code></dt>
- <dd>{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.</dd>
- <dt><code>extraInfoSpec</code>{{optional_inline}}</dt>
- <dd><p><code>array</code> de <code>string</code>. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur ici :</p>
- <ul>
- <li><code>"requestHeaders"</code>: inclure les en-têtes de requête dans l'objet détails transmis à l'auditeur</li>
- </ul>
- </dd>
-</dl>
-
-<h2 id="Objets_supplémentaires">Objets supplémentaires</h2>
-
-<h3 id="détails">détails</h3>
-
-<dl>
- <dt><code>documentUrl</code></dt>
- <dd><code>string</code>. 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 <code>documentUrl</code> pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, <code>documentUrl</code> n'est pas défini.</dd>
- <dt><code>frameId</code></dt>
- <dd><code>integer</code>. 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é (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.</dd>
- <dt><code>method</code></dt>
- <dd><code>string</code>. Méthode HTTP standard : par exemple, "GET" ou "POST".</dd>
- <dt><code>originUrl</code></dt>
- <dd>
- <p><code>string</code>. 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 <code>originUrl</code> de la requête résultante est "https://example.com".</p>
-
- <p>L'<code>originUrl</code> est souvent mais pas toujours la même chose que <code>documentUrl</code>.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 <code>documentUrl</code> pour la requête résultante sera le document parent de l'iframe, mais l'<code>originUrl</code> sera l'URL du document dans l'iframe qui contenait le lien.</p>
- </dd>
- <dt><code>parentFrameId</code></dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>proxyInfo</code></dt>
- <dd>
- <p><code>object</code>. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :</p>
-
- <dl>
- <dt><code>host</code></dt>
- <dd><code>string</code>. Le nom d'hôte du serveur proxy.</dd>
- <dt><code>port</code></dt>
- <dd><code>integer</code>. Le numéro de port du serveur proxy.</dd>
- <dt><code>type</code></dt>
- <dd>
- <p><code>string</code>. Le type de serveur proxy. L'un des :</p>
-
- <ul>
- <li>"http": proxy HTTP (ou SSL CONNECT pour HTTPS)</li>
- <li>"https": proxy HTTP sur connexion TLS vers proxy</li>
- <li>"socks": SOCKS v5 proxy</li>
- <li>"socks4": SOCKS v4 proxy</li>
- <li>"direct": pas de proxy</li>
- <li>"unknown": proxy inconnu</li>
- </ul>
- </dd>
- <dt><code>username</code></dt>
- <dd><code>string</code>. Nom d'utilisateur pour le service proxy.</dd>
- <dt><code>proxyDNS</code></dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>failoverTimeout</code></dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
- <dt><code>requestId</code></dt>
- <dd><code>string</code>. 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.</dd>
- <dt><code>requestHeaders</code>{{optional_inline}}</dt>
- <dd>{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.</dd>
- <dt><code>tabId</code></dt>
- <dd><code>integer</code>. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.</dd>
- <dt><code>timeStamp</code></dt>
- <dd><code>number</code>. L'heure à laquelle cet événement s'est déclenché, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
- <dt><code>type</code></dt>
- <dd>{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".</dd>
- <dt><code>url</code></dt>
- <dd><code>string</code>. Cible de la demande.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.onSendHeaders", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ce code enregistre tous les cookies qui seront envoyés en faisant des demandes au <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">modèle de match</a> cible :</p>
-
-<pre class="brush: js">// 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"]
-);</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+);
+```
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
+{{WebExtExamples}}
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -193,5 +181,4 @@ browser.webRequest.onSendHeaders.addListener(
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un objet décrivant les filtres à appliquer aux événements webRequest.</p>
+Un objet décrivant les filtres à appliquer aux événements webRequest.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>urls</code></dt>
- <dd><code>array</code> de <code><code>string</code></code>. Un tableau de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">motifs (Match patterns)</a>. 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.</dd>
- <dt><code>types</code>{{optional_inline}}</dt>
- <dd><code>array</code> de <code>{{WebExtAPIRef('webRequest.ResourceType')}}</code>. 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.</dd>
- <dt><code>tabId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'auditeur ne sera appelé que pour les requêtes provenant du {{WebExtAPIRef("tabs.Tab", "tab")}} identifié par cet ID.</dd>
- <dt><code>windowId</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'auditeur ne sera appelé que pour les requêtes provenant du  {{WebExtAPIRef("windows.Window", "window")}} identifié par cet ID.</dd>
- <dt>incognito {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si elles sont fournies, les demandes qui ne correspondent pas à l'état incognito (<code>true</code> ou <code>false</code>) seront filtrées.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.RequestFilter")}}</p>
+{{Compat("webextensions.api.webRequest.RequestFilter")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -75,5 +71,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/RequestFilter
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
-
-<p>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.</p>
-
-<p>Il est utilisé pour <a href="/fr/Add-ons/WebExtensions/API/WebRequest/RequestFilter">filtrer</a> 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.</p>
-
-<h2 id="Type">Type</h2>
-
-<p>Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont :</p>
-
-<dl>
- <dt><code>beacon</code></dt>
- <dd>Demandes envoyées par le biais de l'<a href="/fr/docs/Web/API/Beacon_API">API Beacon</a>.</dd>
- <dt><code>csp_report</code></dt>
- <dd>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.</dd>
- <dt><code>font</code></dt>
- <dd>Polices Web chargées pour un {{cssxref("@font-face")}} règle CSS.</dd>
- <dt><code>image</code></dt>
- <dd>Les ressources chargées pour être rendues sous forme d'image, à l'exception de  <code>imageset</code> sur les navigateurs qui prennent en charge ce type (voir la compatibilité des navigateurs ci-dessous).</dd>
- <dt><code>imageset</code></dt>
- <dd>Images chargées par un élément {{HTMLElement("picture")}} ou données dans un attribut {{htmlattrxref("srcset", "img")}} d'un élement <code>&lt;img&gt;</code>.</dd>
-</dl>
-
-<dl>
- <dt><code>main_frame</code></dt>
- <dd>Documents de niveau chargés dans un objet.</dd>
- <dt><code>media</code></dt>
- <dd>Ressources chargées par un élément  {{HTMLElement("video")}} ou  {{HTMLElement("audio")}}.</dd>
- <dt><code>object</code></dt>
- <dd><p>Ressources chargées par un élément {{HTMLElement("object")}} ou {{HTMLElement("embed")}}.</p>
- <p>Les navigateurs qui n'ont pas de type <code>object_subrequest</code> dédié (voir compatibilité des navigateurs ci-dessous), étiquettent également les requêtes ultérieures envoyées par le plugin en tant <code>object</code>.</p></dd>
- <dt><code>object_subrequest</code></dt>
- <dd>Requêtes envoyées par plugins.</dd>
- <dt><code>ping</code></dt>
- <dd><p>Demandes envoyées à l'URL donnée dans l'attribut {{htmlattrxref("ping", "a")}} d'un hyperlien, lorsque l'hyperlien est suivi.</p>
- <p>Les navigateurs qui n'ont pas de type de <code>balise</code> dédié (voir la compatibilité des navigateurs ci-dessous), étiquettent également les requêtes envoyées par l'API Beacon en tant que <code>ping</code>.</p></dd>
- <dt><code>script</code></dt>
- <dd>Code chargé pour être exécuté par un élément {{HTMLElement("script")}} ou exécuté dans un <a href="/fr/docs/Web/API/Web_Workers_API">Worker</a>.</dd>
- <dt><code>speculative</code></dt>
- <dd>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.</dd>
- <dt><code>stylesheet</code></dt>
- <dd>Feuilles de style <a href="/fr/docs/Web/CSS">CSS</a> chargées pour décrire la représentation d'un document.</dd>
- <dt><code>sub_frame</code></dt>
- <dd>Documents chargés dans un élément {{HTMLElement("iframe")}} ou {{HTMLElement("frame")}}.</dd>
- <dt><code>web_manifest</code></dt>
- <dd><a href="/fr/docs/Web/Manifest">Manifests Web App</a> chargés pour les sites Web qui peuvent être installés sur l'écran d'accueil.</dd>
- <dt><code>websocket</code></dt>
- <dd>Requêtes initiant une connexion à un serveur via l'<a href="/fr/docs/WebSockets">API WebSocket</a>.</dd>
- <dt><code>xbl</code></dt>
- <dd><a href="/fr/docs/XBL">XBL</a> bindings chargés pour étendre le comportement des éléments d'un document.</dd>
- <dt><code>xml_dtd</code></dt>
- <dd><a href="/fr/docs/Glossaire/DTD">DTDs</a> chargées pour un document XML.</dd>
- <dt><code>xmlhttprequest</code></dt>
- <dd>Requêtes envoyées par un objet {{domxref("XMLHttpRequest")}} ou par l'<a href="/fr/docs/Web/API/Fetch_API">API Fetch</a>.</dd>
- <dt><code>xslt</code></dt>
- <dd>Feuilles de style <a href="/fr/docs/Web/XSLT">XSLT</a> chargées pour transformer un document XML</dd>
- <dt><code>other</code></dt>
- <dd>Ressources qui ne sont couvertes par aucun autre type disponible.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.ResourceType")}}</p>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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](/fr/Add-ons/WebExtensions/API/WebRequest/RequestFilter) 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](/fr/docs/Web/API/Beacon_API).
+- `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](/fr/docs/Web/API/Web_Workers_API).
+- `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](/fr/docs/Web/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](/fr/docs/Web/Manifest) 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](/fr/docs/WebSockets).
+- `xbl`
+ - : [XBL](/fr/docs/XBL) bindings chargés pour étendre le comportement des éléments d'un document.
+- `xml_dtd`
+ - : [DTDs](/fr/docs/Glossaire/DTD) chargées pour un document XML.
+- `xmlhttprequest`
+ - : Requêtes envoyées par un objet {{domxref("XMLHttpRequest")}} ou par l'[API Fetch](/fr/docs/Web/API/Fetch_API).
+- `xslt`
+ - : Feuilles de style [XSLT](/fr/docs/Web/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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -114,5 +116,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
-
-<p>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()")}}.</p>
-
-<p>Si la requête n'est pas sécurisée par <a href="/fr/docs/Glossaire/TLS">TLS</a>, alors cet objet ne contiendra que l'état de la propriété <code>state</code>, dont la valeur sera <code>"insecure"</code>.</p>
-
-<h2 id="Type">Type</h2>
-
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
-
-<dl>
- <dt><code>certificates</code></dt>
- <dd><p><code>Array</code> de {{WebExtAPIRef("webRequest.CertificateInfo", "CertificateInfo")}}. Si {{WebExtAPIRef("webRequest.getSecurityInfo()")}} a été appelé avec l'option <code>certificateChain</code> présente et définie sur <code>true</code>, cela contiendra un objet <code>CertificateInfo</code> pour chaque certificat de la chaîne, depuis le certificat du serveur jusqu'à et y compris la racine de confiance.</p>
- <p>Sinon, il contiendra un seul objet <code>CertificateInfo</code>, pour le certificat du serveur.</p></dd>
- <dt><code>certificateTransparencyStatus</code> {{optional_inline}}</dt>
- <dd>
- <p><code>String</code>. Indique l'état de la <a href="https://www.certificate-transparency.org/">transparence des certificats</a> pour la connexion. Ceci peut prendre l'une des valeurs suivantes :</p>
-
- <ul>
- <li>"not_applicable"</li>
- <li>"policy_compliant"</li>
- <li>"policy_not_enough_scts"</li>
- <li>"policy_not_diverse_scts"</li>
- </ul>
- </dd>
- <dt><code>cipherSuite</code> {{optional_inline}}</dt>
- <dd><code>String</code>. Suite de chiffrement utilisée pour la connexion, formatée selon la <a href="https://tools.ietf.org/html/rfc5246#appendix-A.5">specification TLS </a>: par exemple, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256".</dd>
- <dt><code>errorMessage</code> {{optional_inline}}</dt>
- <dd>
- <p><code>String</code>. 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 <code>status</code> will be "broken" and the <code>errorMessage</code> property will contain a string describing the error, taken from Firefox's internal list of error codes.</p>
-
- <p>Note though that at present you can only call <code>getSecurityInfo()</code> in the <code>onHeaderReceived</code> listener, and the <code>onHeaderReceived</code> event is not fired when the handshake fails. So in practice this will never be set. </p>
- </dd>
- <dt><code>hpkp</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>. <code>true</code> si l'hôte utilise <a href="/fr/docs/Web/Security/Public_Key_Pinning">Public Key Pinning</a>, sinon <code>false</code>.</dd>
- <dt><code>hsts</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>. <code>true</code> si l'hôte utilise <a href="/fr/docs/Sécurité/HTTP_Strict_Transport_Security">Strict Transport Security</a>, sinon <code>false</code>.</dd>
- <dt><code>isDomainMismatch</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>. <code>true</code> si le nom de domaine du serveur ne correspond pas au nom de domaine dans son certificat, sinon <code>false</code>.</dd>
- <dt><code>isExtendedValidation</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>. <code>true</code> si le serveur possède un <a href="https://en.wikipedia.org/wiki/Extended_Validation_Certificate">Extended Validation Certificate</a>, sinon <code>false</code>.</dd>
- <dt><code>isNotValidAtThisTime</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>. <code>true</code> 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 <code>false</code>.</dd>
- <dt><code>isUntrusted</code> {{optional_inline}}</dt>
- <dd><code>Boolean</code>. <code>true</code> si une chaîne de retour à un certificat racine de confiance n'a pas pu être construite, sinon <code>false</code>.</dd>
- <dt><code>keaGroupName</code> {{optional_inline}}</dt>
- <dd><code>String</code>. Si <code>state</code> est "sécurisé" cela décrit l'algorithme d'échange de clé utilisé dans cette requête.</dd>
- <dt><code>protocolVersion</code> {{optional_inline}}</dt>
- <dd>
- <p><code>String</code>. Version du protocole TLS utilisé. L'un des :</p>
-
- <ul>
- <li>"TLSv1"</li>
- <li>"TLSv1.1"</li>
- <li>"TLSv1.2"</li>
- <li>"TLSv1.3"</li>
- <li>"inconnu" (si la version n'est pas valide)</li>
- </ul>
- </dd>
- <dt><code>signatureSchemeName</code> {{optional_inline}}</dt>
- <dd><code>String</code>. Si <code>state</code> est "sécurisé", cela décrit le schéma de signature utilisé dans cette requête.t.</dd>
- <dt><code>state</code></dt>
- <dd>
- <p><code>String</code>. État de la connexion. L'un des :</p>
-
- <ul>
- <li>"broken": la poignée de main TLS a échoué (par exemple, le certificat a expiré)</li>
- <li>"insecure": la connexion n'est pas une connexion TLS</li>
- <li>"secure": la connexion est une connexion TLS sécurisée</li>
- <li>"weak": la connexion est une connexion TLS mais est considérée comme faible. Vous pouvez examiner les <code>weaknessReasons</code> pour découvrir le problème.</li>
- </ul>
-
- <p>Notez cependant qu'actuellement, vous ne pouvez appele <code>getSecurityInfo()</code> que dans l'écouteur <code>onHeaderReceived</code>, et l'événement <code>onHeaderReceived</code> n'est pas déclenché lorsque la poignée de main échoue. Ainsi, dans la pratique, il ne sera jamais réglé sur "cassé".</p>
- </dd>
- <dt><code>weaknessReasons</code> {{optional_inline}}</dt>
- <dd><code>String</code>. Si l'<code>état</code> 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.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.SecurityInfo", 10)}}</p>
-
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Notez la différence entre cette fonction et  {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}}. Avec  <code>disconnect()</code>, le navigateur continuera à traiter d'autres données de réponse, mais il ne sera pas accessible par le filtre. Avec <code>close()</code>, le navigateur ignorera toutes les données de réponse qui n'ont pas déjà été transmises au moteur de rendu.</p>
+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.
-<p>Vous devriez toujours appeler <code>close()</code> ou <code>disconnect()</code> une fois que vous n'avez plus besoin d'interagir avec la réponse.</p>
+Vous devriez toujours appeler `close()` ou `disconnect()` une fois que vous n'avez plus besoin d'interagir avec la réponse.
-<p>Vous ne pouvez pas appeler cette fonction avant que l'événement  {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.</p>
+Vous ne pouvez pas appeler cette fonction avant que l'événement  {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">filter.close()
-</pre>
+```js
+filter.close()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>None.</p>
+None.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.close", 10)}}</p>
+{{Compat("webextensions.api.webRequest.StreamFilter.close", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple remplacera le contenu de la page par "texte de remplacement"  :</p>
+Cet exemple remplacera le contenu de la page par "texte de remplacement"  :
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
- filter.onstart = event =&gt; {
+ 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"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{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.
-<div>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.</div>
+Vous devriez toujours appeler `disconnect()` ou `close()` une fois que vous n'avez plus besoin d'interagir avec la réponse.
-<div></div>
+Vous ne pouvez pas appeler cette fonction avant que l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.
-<div>Notez la différence entre cette fonction et {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}}. Avec  <code>disconnect()</code>, le navigateur continuera à traiter d'autres données de réponse, mais il ne sera pas accessible par le filtre. Avec <code>close()</code>, le navigateur ignorera toutes les données de réponse qui n'ont pas déjà été transmises au moteur de rendu.</div>
+## Syntaxe
-<div></div>
+```js
+filter.disconnect()
+```
-<p>Vous devriez toujours appeler <code>disconnect()</code> ou <code>close()</code> une fois que vous n'avez plus besoin d'interagir avec la réponse.</p>
+### Paramètres
-<p>Vous ne pouvez pas appeler cette fonction avant que l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.</p>
+None.
-<h2 id="Syntaxe">Syntaxe</h2>
+### Valeur retournée
-<pre class="brush: js">filter.disconnect()
-</pre>
+None.
-<h3 id="Paramètres">Paramètres</h3>
+## Compatibilité du navigateur
-<p>None.</p>
+{{Compat("webextensions.api.webRequest.StreamFilter.disconnect", 10)}}
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+## Exemples
-<p>None.</p>
+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 :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.disconnect", 10)}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>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 :</p>
-
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
- filter.onstart = event =&gt; {
+ 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"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div>
-<p>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")}}.</p>
-</div>
+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")}}.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.error", 10)}}</p>
+{{Compat("webextensions.api.webRequest.StreamFilter.error", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple ajoute un écouteur {{WebExtAPIRef("webRequest.StreamFilter.onerror", "onerror")}} qui enregistre la valeur de <code>error</code>.</p>
+Cet exemple ajoute un écouteur {{WebExtAPIRef("webRequest.StreamFilter.onerror", "onerror")}} qui enregistre la valeur de `error`.
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData("12345");
- filter.onerror = event =&gt; {
+ 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: ["&lt;all_urls&gt;"], types: ["main_frame"]},
+ {urls: ["<all_urls>"], types: ["main_frame"]},
["blocking"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Un <code>StreamFilter</code> est un objet que vous pouvez utiliser pour surveiller et modifier les réponses HTTP.</p>
+Un `StreamFilter` est un objet que vous pouvez utiliser pour surveiller et modifier les réponses HTTP.
-<p>Pour créer un <code>StreamFilter</code>, appelez {{WebExtAPIRef("webRequest.filterResponseData()")}}, en lui passant l'ID de la requête web que vous voulez filtrer.</p>
+Pour créer un `StreamFilter`, appelez {{WebExtAPIRef("webRequest.filterResponseData()")}}, en lui passant l'ID de la requête web que vous voulez filtrer.
-<p>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.</p>
+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.
-<p>Le filtre génère quatre événements différents :</p>
+Le filtre génère quatre événements différents :
-<ul>
- <li>{{WebEXTAPIRef("webRequest.StreamFilter.onstart", "onstart")}} lorsque le filtre est sur le point de commencer à recevoir les données de réponse.</li>
- <li>{{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.</li>
- <li>{{WebEXTAPIRef("webRequest.StreamFilter.onstop", "onstop")}} lorsque le filtre a fini de recevoir les données de réponse.</li>
- <li>{{WebEXTAPIRef("webRequest.StreamFilter.onerror", "onerror")}} si une erreur s'est produite lors de l'initialisation et de l'utilisation du filtre.</li>
-</ul>
+- {{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.
-<p>Vous pouvez écouter chaque événement en assignant une fonction d'écoute à son attribut :</p>
+Vous pouvez écouter chaque événement en assignant une fonction d'écoute à son attribut :
-<pre class="brush: js">filter.onstart = event =&gt; {
+```js
+filter.onstart = event => {
console.log("started");
-}</pre>
+}
+```
+
+Notez que la demande est bloquée pendant l'exécution de n'importe quel auditeur d'événement.
-<p>Notez que la demande est bloquée pendant l'exécution de n'importe quel auditeur d'événement.</p>
+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.
-<p>Le filtre fournit une fonction {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}. A tout moment à partir de l'événement <code>onstart</code>, vous pouvez utiliser cette fonction pour écrire des données dans le flux de sortie.</p>
+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.
-<p>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 <code>write()</code>: donc si vous ajoutez un auditeur mais n'appelez pas <code>write()</code>, alors la page rendue sera vide.</p>
+Une fois que vous avez terminé d'interagir avec la réponse, vous appelez l'un ou l'autre des éléments suivants :
-<p>Une fois que vous avez terminé d'interagir avec la réponse, vous appelez l'un ou l'autre des éléments suivants :</p>
+- {{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.
-<ul>
- <li>{{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.</li>
- <li>{{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.</li>
-</ul>
+Le filtre fournit également des fonctions à {{WebEXTAPIRef("webRequest.StreamFilter.suspend()", "suspend()")}} et {{WebEXTAPIRef("webRequest.StreamFilter.resume()", "resume()")}} la requête.
-<p>Le filtre fournit également des fonctions à {{WebEXTAPIRef("webRequest.StreamFilter.suspend()", "suspend()")}} et {{WebEXTAPIRef("webRequest.StreamFilter.resume()", "resume()")}} la requête.</p>
+## Méthodes
-<h2 id="Méthodes">Méthodes</h2>
+- {{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.
-<dl>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.close()")}}</dt>
- <dd>Ferme la demande.</dd>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.disconnect()")}}</dt>
- <dd>Déconnecte le filtre de la requête.</dd>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.resume()")}}</dt>
- <dd>Reprend le traitement de la demande.</dd>
-</dl>
+<!---->
-<dl>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.suspend()")}}</dt>
- <dd>Suspend le traitement de la demande.</dd>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.write()")}}</dt>
- <dd>Écrit quelques données dans le flux de sortie.</dd>
-</dl>
+- {{WebExtAPIRef("webRequest.StreamFilter.suspend()")}}
+ - : Suspend le traitement de la demande.
+- {{WebExtAPIRef("webRequest.StreamFilter.write()")}}
+ - : Écrit quelques données dans le flux de sortie.
-<h2 id="Propriétés">Propriétés</h2>
+## Propriétés
-<dl>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.ondata")}}</dt>
- <dd>Gestionnaire d'événements qui est appelé lorsque les données entrantes sont disponibles.</dd>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.onerror")}}</dt>
- <dd>Gestionnaire d'événements qui est appelé lorsqu'une erreur s'est produite.</dd>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.onstart")}}</dt>
- <dd>Gestionnaire d'événements qui est appelé lorsque le flux est sur le point de commencer à recevoir des données.</dd>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.onstop")}}</dt>
- <dd>Gestionnaire d'événements qui est appelé lorsque le flux n'a plus de données à livrer et qu'il s'est fermé.</dd>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.error")}}</dt>
- <dd>Quand {{WebExtAPIRef("webRequest.StreamFilter.onerror")}} est appelé, cela décrira l'erreur.</dd>
- <dt>{{WebExtAPIRef("webRequest.StreamFilter.status")}}</dt>
- <dd>Décrit l'état actuel du flux.</dd>
-</dl>
+- {{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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter", 10)}}</p>
+{{Compat("webextensions.api.webRequest.StreamFilter", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ce code écoute pour <code>onstart</code>, <code>ondata</code> et <code>onstop</code>. Il enregistre simplement ces événements et les données de réponse elles-mêmes :</p>
+Ce code écoute pour `onstart`, `ondata` et `onstop`. Il enregistre simplement ces événements et les données de réponse elles-mêmes :
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
- filter.onstart = event =&gt; {
+ filter.onstart = event => {
console.log("started");
}
- filter.ondata = event =&gt; {
+ filter.ondata = event => {
console.log(event.data);
filter.write(event.data);
}
- filter.onstop = event =&gt; {
+ 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"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}
-<p>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 <code>event</code> qui contient une propriété de <code>data</code>, qui contient un morceau des données de réponse sous la forme d'un {{domxref("ArrayBuffer")}}.</p>
-</div>
+{{AddonSidebar()}}
-<h2 id="Exemples">Exemples</h2>
+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")}}.
-<p>Cet exemple ajoute un écouteur <code>ondata</code> qui remplace "Example" dans la réponse par  "WebExtension Example".</p>
+## Exemples
-<p>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.</p>
+Cet exemple ajoute un écouteur `ondata` qui remplace "Example" dans la réponse par  "WebExtension Example".
-<pre class="brush: js">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 =&gt; {
+ 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 =&gt; {
+ filter.onstop = event => {
filter.close();
}
@@ -51,34 +52,36 @@ browser.webRequest.onBeforeRequest.addListener(
listener,
{urls: ["https://example.com/*"], types: ["main_frame"]},
["blocking"]
-);</pre>
+);
+```
-<p>Un autre exemple pour le traitement de documents volumineux :</p>
+Un autre exemple pour le traitement de documents volumineux :
-<pre class="brush: js">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 =&gt; {
+ filter.ondata = event => {
data.push(event.data);
};
- filter.onstop = event =&gt; {
+ filter.onstop = event => {
let str = "";
if (data.length == 1) {
str = decoder.decode(data[0]);
}
else {
- for (let i = 0; i &lt; 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 $&amp;');
+ 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"]
-);</pre>
+);
+```
-<p>L'exemple ci-dessus peut aussi s'écrire ainsi :</p>
+L'exemple ci-dessus peut aussi s'écrire ainsi :
-<pre class="brush: js">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 =&gt; {
+ filter.ondata = event => {
data.push(decoder.decode(event.data, {stream: true}));
};
- filter.onstop = event =&gt; {
+ 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 $&amp;');
+ 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"]
-);</pre>
+);
+```
-<p>Cet exemple utilise un {{domxref("Blob")}}:</p>
+Cet exemple utilise un {{domxref("Blob")}}:
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
let encoder = new TextEncoder();
let data = [];
- filter.ondata = event =&gt; {
+ filter.ondata = event => {
data.push(event.data);
};
- filter.onstop = async event =&gt; {
+ 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 $&amp;');
+ 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"]
-);</pre>
+);
+```
-<p>Cet exemple combine tous les tampons en un simple tampon :</p>
+Cet exemple combine tous les tampons en un simple tampon :
-<pre class="brush: js">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 =&gt; {
+ filter.ondata = event => {
data.push(new Uint8Array(event.data));
};
- filter.onstop = event =&gt; {
+ filter.onstop = event => {
let combinedLength = 0;
for (let buffer of data) {
combinedLength += buffer.length;
}
let combinedArray = new Uint8Array(combinedLength);
let writeOffset = 0;
- while (writeOffset &lt; 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 $&amp;');
+ 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"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.ondata", 10)}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div>
-<p>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()")}}.</p>
+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()")}}.
-<p>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.</p>
+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.
-<p>Notez que cet événement n'est <em>pas</em> déclenché pour les erreurs réseau.</p>
-</div>
+Notez que cet événement n'est _pas_ déclenché pour les erreurs réseau.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.onerror", 10)}}</p>
+{{Compat("webextensions.api.webRequest.StreamFilter.onerror", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple ajoute un écouteur <code>onerror</code> qui enregistre la valeur de  {{WebExtAPIRef("webRequest.StreamFilter.error")}}.</p>
+Cet exemple ajoute un écouteur `onerror` qui enregistre la valeur de  {{WebExtAPIRef("webRequest.StreamFilter.error")}}.
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData("12345");
- filter.onerror = event =&gt; {
+ 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: ["&lt;all_urls&gt;"], types: ["main_frame"]},
+ {urls: ["<all_urls>"], types: ["main_frame"]},
["blocking"]
);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div>
-<p>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()")}}.</p>
-</div>
+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()")}}.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.onstart", 10)}}</p>
+{{Compat("webextensions.api.webRequest.StreamFilter.onstart", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple remplacera le contenu de la page par "texte de remplacement" :</p>
+Cet exemple remplacera le contenu de la page par "texte de remplacement" :
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
- filter.onstart = event =&gt; {
+ 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"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div>
-<p>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()")}}.</p>
-</div>
+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()")}}.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.onstop", 10)}}</p>
+{{Compat("webextensions.api.webRequest.StreamFilter.onstop", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple ajoutera des "extra stuff" à la réponse  :</p>
+Cet exemple ajoutera des "extra stuff" à la réponse  :
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
let encoder = new TextEncoder();
- filter.ondata = event =&gt; {
+ filter.ondata = event => {
// pass through all the response data
filter.write(event.data);
}
- filter.onstop = event =&gt; {
+ 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"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Reprend une requête qui a été précédemment suspendue par un appel à {{WebExtAPIRef("webRequest.StreamFilter.suspend()", "suspend()")}}.</p>
+Reprend une requête qui a été précédemment suspendue par un appel à {{WebExtAPIRef("webRequest.StreamFilter.suspend()", "suspend()")}}.
-<p>Vous ne pouvez pas appeler cette fonction avant que l'événement  {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.</p>
+Vous ne pouvez pas appeler cette fonction avant que l'événement  {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">filter.suspend()
-</pre>
+```js
+filter.suspend()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>None.</p>
+None.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.suspend", 10)}}</p>
+{{Compat("webextensions.api.webRequest.StreamFilter.suspend", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple utilise la <em>suspend/resume</em> pour retarder une requête web</p>
+Cet exemple utilise la _suspend/resume_ pour retarder une requête web
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
- filter.onstart = event =&gt; {
+ filter.onstart = event => {
filter.suspend();
- setTimeout(() =&gt; {
+ setTimeout(() => {
filter.resume();
filter.disconnect();
}, 1000);
@@ -56,6 +58,7 @@ browser.webRequest.onBeforeRequest.addListener(
listener,
{urls: ["https://example.org/"], types: ["main_frame"]},
["blocking"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<div>
-<p>Une chaîne de caractères qui décrit l'état actuel de la demande. Ce sera l'une des valeurs suivantes :</p>
+Une chaîne de caractères qui décrit l'état actuel de la demande. Ce sera l'une des valeurs suivantes :
-<dl>
- <dt><code>"uninitialized"</code></dt>
- <dd>Le filtre n'est pas entièrement initialisé. Aucune fonction de filtrage ne peut être appelée.</dd>
- <dt><code>"transferringdata"</code></dt>
- <dd>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()")}}.</dd>
- <dt><code>"finishedtransferringdata"</code></dt>
- <dd>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.</dd>
- <dt><code>"suspended"</code></dt>
- <dd> 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.</dd>
- <dt><code>"closed"</code></dt>
- <dd>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.</dd>
- <dt><code>"disconnected"</code></dt>
- <dd> 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.</dd>
- <dt><code>"failed"</code></dt>
- <dd>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.</dd>
-</dl>
-</div>
+- `"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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.status", 10)}}</p>
+{{Compat("webextensions.api.webRequest.StreamFilter.status", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
console.log(filter.status); // uninitialized
- filter.onstart = event =&gt; {
+ filter.onstart = event => {
console.log(filter.status); // transferringdata
}
- filter.ondata = event =&gt; {
+ filter.ondata = event => {
console.log(filter.status); // transferringdata
// pass through the response data
filter.write(event.data);
}
- filter.onstop = event =&gt; {
+ 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"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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()")}}.</p>
+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()")}}.
-<p>Vous ne pouvez pas appeler cette fonction avant que l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.</p>
+Vous ne pouvez pas appeler cette fonction avant que l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">filter.suspend()
-</pre>
+```js
+filter.suspend()
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<p>None.</p>
+None.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>None.</p>
+None.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.suspend", 10)}}</p>
+{{Compat("webextensions.api.webRequest.StreamFilter.suspend", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple utilise la <em>suspend/resume</em> pour retarder une requête web.</p>
+Cet exemple utilise la _suspend/resume_ pour retarder une requête web.
-<pre class="brush: js">function listener(details) {
+```js
+function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
- filter.onstart = event =&gt; {
+ filter.onstart = event => {
filter.suspend();
- setTimeout(() =&gt; {
+ setTimeout(() => {
filter.resume();
filter.disconnect();
}, 1000);
@@ -56,6 +58,7 @@ browser.webRequest.onBeforeRequest.addListener(
listener,
{urls: ["https://example.org/"], types: ["main_frame"]},
["blocking"]
-);</pre>
+);
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{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")}}.
-<div>Écrit quelques données de réponse dans le flux de sortie..</div>
+## Syntaxe
-<div></div>
-
-<div>Vous ne pouvez appeler cette fonction qu'après le déclenchement de l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}}.</div>
-
-<div></div>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="brush: js">filter.write(
+```js
+filter.write(
data // ArrayBuffer or Uint8Array
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>data</code></dt>
- <dd><code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Uint8Array">Uint8Array</a></code> ou <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer">ArrayBuffer</a></code>: tableau d'octets contenant les données à transmettre au moteur de rendu du navigateur.</dd>
-</dl>
+- `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>None.</p>
+None.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.StreamFilter.write", 10)}}</p>
+{{Compat("webextensions.api.webRequest.StreamFilter.write", 10)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Cet exemple utilise <code>write()</code> pour remplacer "Example" dans la réponse par  "WebExtension Example".</p>
+Cet exemple utilise `write()` pour remplacer "Example" dans la réponse par  "WebExtension Example".
-<pre class="brush: js">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 =&gt; {
+ 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"]
);
-</pre>
+```
-<p>{{WebExtExamples}}</p>
+{{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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Contient les données téléchargées dans une requête URL..</p>
+Contient les données téléchargées dans une requête URL..
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>bytes</code>{{optional_inline}}</dt>
- <dd><code>any</code>. Un ArrayBuffer avec une copie des données.</dd>
- <dt><code>file</code>{{optional_inline}}</dt>
- <dd><code>string</code>. Une chaîne de caractères avec le chemin et le nom du fichier.</dd>
-</dl>
+- `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.webRequest.UploadData")}}</p>
+{{Compat("webextensions.api.webRequest.UploadData")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/webRequest"><code>chrome.webRequest</code></a>. Cette documentation est dérivée de <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json"><code>web_request.json</code></a> dans le code Chromium.</p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +65,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/UploadData
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Crée une nouvelle fenêtre.</p>
+Crée une nouvelle fenêtre.
-<p>Lorsque vous créez la fenêtre, vous pouvez :</p>
+Lorsque vous créez la fenêtre, vous pouvez :
-<ul>
- <li>Chargez un ou plusieurs nouveaux onglets dans la fenêtre.</li>
- <li>Déplacez un onglet d'une fenêtre existante dans la nouvelle fenêtre.</li>
- <li>Réglez la taille et la position de la fenêtre.</li>
- <li>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.).</li>
- <li>Définissez différentes propriétés de la fenêtre, par exemple, qu'elle soit concentrée ou privée.</li>
-</ul>
+- 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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var creating = browser.windows.create(
+```js
+var creating = browser.windows.create(
createData // optional object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>createData</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>allowScriptsToClose</code> {{optional_inline}}</dt>
- <dd>
- <p><code>boolean</code>. Lorsque la fenêtre est ouverte, elle contiendra un seul onglet, ou plus d'un onglet si <code>url</code> 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 <code><a href="/fr/docs/Web/API/Window/close">window.close()</a></code>. Si vous incluez <code>allowScriptsToClose</code> et le mettez à <code>true</code> ,  alors ce comportement par défaut est modifié, de sorte que les scripts peuvent fermer leurs onglets. Notez cela :</p>
-
- <ul>
- <li>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.</li>
- <li>Si la ou les url(s) donnée(s) dans <code>url</code> pointent vers les <a href="/fr/Add-ons/WebExtensions/user_interface/Bundled_web_pages">pages d'extension</a> (c'est-à-dire qu'il s'agit de pages incluses avec cette extension et chargées avec le protocole "moz-extension:") alors les scripts <em>sont</em> par défaut autorisés à fermer ces onglets.</li>
- </ul>
- </dd>
- <dt><code>cookieStoreId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. S'il est présent, spécifie le <code>CookieStoreId</code> pour tous les onglets qui seront créés lorsque la fenêtre sera ouverte.</dd>
- <dt><code>focused</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Si c'est vrai, la nouvelle fenêtre sera concentrée. Si c'est <code>false</code>, 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 <code>true</code>.</dd>
- <dt><code>height</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>incognito</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. Que la nouvelle fenêtre soit une fenêtre privée. Notez que si vous spécifiez <code>incognito</code> et <code>tabId</code>, c'est-à-dire, vous ne pouvez pas déplacer un onglet privé dans une fenêtre privée.</dd>
- <dt><code>left</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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().)</dd>
- <dt><code>state</code> {{optional_inline}}</dt>
- <dd>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.</dd>
- <dt><code>tabId</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. Si inclus, déplace un onglet de l'ID spécifié d'une fenêtre existante dans la nouvelle fenêtre.</dd>
- <dt><code>titlePreface</code> {{optional_inline}}</dt>
- <dd><code>string</code>. 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).</dd>
- <dt><code>top</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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().)</dd>
- <dt><code>type</code> {{optional_inline}}</dt>
- <dd>Une valeur {{WebExtAPIRef('windows.CreateType')}} spécifie le type de fenêtre du navigateur à créer. Spécifié le <code>panneau</code> ou la <code>fenêtre contextuelle</code> ici pour ouvrir une fenêtre sans l'interface utilisateur (barre d'adresse, barre d'outils, etc).</dd>
- <dt><code>url</code> {{optional_inline}}</dt>
- <dd><code><code>string</code></code> ou <code><code>array</code></code> of <code><code><code>string</code></code></code>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 <code>http://www.google.com</code>, et non <code>www.google.com</code>). Les URL relatives seront relatives à la page actuelle dans l'extension. Par défaut, la nouvelle page d'onglet.</dd>
- <dt><code>width</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_retournée">Valeur retournée</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Ouvrir une fenêtre contenant deux onglets :</p>
-
-<pre class="brush: js">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) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
var creating = browser.windows.create({
url: ["https://developer.mozilla.org",
"https://addons.mozilla.org"]
});
creating.then(onCreated, onError);
-});</pre>
+});
+```
-<p>Ouvrez une fenêtre lorsque l'utilisateur clique sur une action du navigateur et déplacez l'onglet actif actuellement :</p>
+Ouvrez une fenêtre lorsque l'utilisateur clique sur une action du navigateur et déplacez l'onglet actif actuellement :
-<pre class="brush: js">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) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
var creating = browser.windows.create({
tabId: tab.id
});
creating.then(onCreated, onError);
-});</pre>
+});
+```
-<p>Ouvrez une petite fenêtre de style panneau et chargez-en un fichier local:</p>
+Ouvrez une petite fenêtre de style panneau et chargez-en un fichier local:
-<pre class="brush: js">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) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
var popupURL = browser.extension.getURL("popup/popup.html");
@@ -142,23 +141,22 @@ browser.browserAction.onClicked.addListener((tab) =&gt; {
});
creating.then(onCreated, onError);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+});
+```
-<p>{{Compat("webextensions.api.windows.create", 10)}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+## Compatibilité du navigateur
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
+{{Compat("webextensions.api.windows.create", 10)}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -185,5 +183,4 @@ browser.browserAction.onClicked.addListener((tab) =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Spécifie le type de fenêtre du navigateur à créer.</p>
+Spécifie le type de fenêtre du navigateur à créer.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets <code>strings</code>. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des objets `strings`. Les valeurs possibles sont :
-<ul>
- <li><code>"normal"</code></li>
- <li><code>"popup"</code></li>
- <li><code>"panel"</code></li>
- <li><code>"detached_panel"</code></li>
-</ul>
+- `"normal"`
+- `"popup"`
+- `"panel"`
+- `"detached_panel"`
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.windows.CreateType")}}</p>
+{{Compat("webextensions.api.windows.CreateType")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +65,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/windows/CreateType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient les détails sur une fenêtre, compte tenu de son identifiant. Les détails sont transmis à un rappel.</p>
+Obtient les détails sur une fenêtre, compte tenu de son identifiant. Les détails sont transmis à un rappel.
-<p>Il s'agit d'une fonction asynchrone qui renvoit une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoit une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var getting = browser.windows.get(
+```js
+var getting = browser.windows.get(
windowId, // integer
getInfo // optional object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. L'ID de l'objet de fenêtre souhaité est retourné.</dd>
- <dt><code>getInfo</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>. Contient des options pour filtrer le type de fenêtre.</p>
- <dl>
- <dt><code>populate</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. 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 <code>url</code>, <code>title</code> et <code>favIconUrl</code>  i le fichier manifeste de l'extension comprend la permission <code>"tabs"</code>.</dd>
- <dt><code>windowTypes</code>{{optional_inline}}</dt>
- <dd><code>Ensemble d'objets</code> {{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 <code>['normal', 'panel', 'popup']</code>, avec des types de fenêtres <code>'panel'</code> qui sont limités aux propres fenêtres de l'extension.</dd>
- </dl>
- </dd>
-</dl>
+- `windowId`
+ - : `integer`. L'ID de l'objet de fenêtre souhaité est retourné.
+- `getInfo`{{optional_inline}}
-<div class="note"><p><strong>Note :</strong></p>
+ - : `object`. Contient des options pour filtrer le type de fenêtre.
-<p>Si fourni, le composant <code>windowTypes</code> de <code>getInfo</code> est ignoré. L'utilisation de  <code>windowTypes</code> a été dépréciée à partir de Firefox 62.</p>
-</div>
+ - `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.
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+> **Note :**
+>
+> Si fourni, le composant `windowTypes` de `getInfo` est ignoré. L'utilisation de  `windowTypes` a été dépréciée à partir de Firefox 62.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+### Valeur de retour
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+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.
-<p>{{Compat("webextensions.api.windows.get",2)}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.windows.get",2)}}
-<p>Cet exemple obtient la fenêtre actuelle et enregistre les URL des onglets qu'il contient. Notez que vous aurez besoin des <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "onglets" pour accéder aux URL des onglets.</p>
+## Exemples
-<div class="note">
-<p><strong>Note :</strong> Cet exemple est un peu irréaliste: dans cette situation, vous utiliserez probablement  {{WebExtAPIRef("windows.getCurrent()")}}.</p>
-</div>
+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.
-<pre class="brush: js">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) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
var getting = browser.windows.get(tab.windowId, {populate: true});
getting.then(logTabs, onError);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -117,5 +111,4 @@ browser.browserAction.onClicked.addListener((tab) =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient des informations sur toutes les fenêtres ouvertes, en les passant dans un rappel.</p>
+Obtient des informations sur toutes les fenêtres ouvertes, en les passant dans un rappel.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingAll = browser.windows.getAll(
+```js
+var gettingAll = browser.windows.getAll(
getInfo // optional object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>getInfo</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>. Cela contrôle ce que les objets {{WebExtAPIRef('windows.Window')}} sont récupérés.</p>
- <dl>
- <dt><code>populate</code>{{optional_inline}}</dt>
- <dd><code>boolean</code> Par défaut à <code>false</code>.  S'il est défini sur <code>true</code>, chaque objet {{WebExtAPIRef('windows.Window')}} aura une propriété <code>tabs</code> qui contient une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les tabs de cette fenêtre. Les objets <code>Tab</code> contiendront les propriétés <code>url</code>, <code>title</code> et <code>favIconUrl</code> uniquement si le fichier manifest de l'extension contient les permissions <code>"tabs"</code>.</dd>
- <dt><code>windowTypes</code>{{optional_inline}}</dt>
- <dd><code>Un ensemble d'objets</code> {{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 <code>['normal', 'panel', 'popup']</code>, avec des types de fenêtres <code>'panel'</code> qui sont limités aux propres fenêtres de l'extension.</dd>
- </dl>
- </dd>
-</dl>
+- `getInfo`{{optional_inline}}
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+ - : `object`. Cela contrôle ce que les objets {{WebExtAPIRef('windows.Window')}} sont récupérés.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+ - `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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+### Valeur retournée
-<p>{{Compat("webextensions.api.windows.getAll")}}</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Compatibilité du navigateur
-<p>Enregistrez les URL pour les onglets sur toutes les fenêtres de navigateur "normales". Notez que vous aurez besoin de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "onglets" pour accéder aux URLs des onglets.</p>
+{{Compat("webextensions.api.windows.getAll")}}
-<pre class="brush: js">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) =&gt; {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) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
var getting = browser.windows.getAll({
populate: true,
windowTypes: ["normal"]
});
getting.then(logTabsForWindows, onError);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -109,5 +106,4 @@ browser.browserAction.onClicked.addListener((tab) =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient la fenêtre actuelle du navigateur, en passant ses détails dans un rappel.</p>
+Obtient la fenêtre actuelle du navigateur, en passant ses détails dans un rappel.
-<p>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 <code>getCurrent()</code>, il renverra la fenêtre de ce document de la barre latérale.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingCurrent = browser.windows.getCurrent(
+```js
+var gettingCurrent = browser.windows.getCurrent(
getInfo // optional object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>getInfo</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>populate</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. 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 <code>url</code>, <code>title</code> et <code>favIconUrl</code> si le fichier manifest de l'extension comprend la permission <code>"tabs"</code>.</dd>
- <dt><code>windowTypes</code>{{optional_inline}}</dt>
- <dd>Un ensemble d'objets <code>{{WebExtAPIRef('windows.WindowType')}}</code>. 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 <code>['normal', 'panel', 'popup']</code>, avec des types de fenêtres <code>'panneau'</code> qui sont limités aux propres fenêtres de l'extension.</dd>
- </dl>
- </dd>
-</dl>
+- `getInfo`{{optional_inline}}
-<div class="note"><p><strong>Note :</strong></p>
+ - : `object`.
-<p>Si fourni, le composant <code>windowTypes</code> de <code>getInfo</code> est ignoré. L'utilisation de  <code>windowTypes</code> a été dépréciée à partir de Firefox 62.</p>
-</div>
+ - `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+> **Note :**
+>
+> Si fourni, le composant `windowTypes` de `getInfo` est ignoré. L'utilisation de  `windowTypes` a été dépréciée à partir de Firefox 62.
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un objet <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/windows/Window"><code>windows.Window</code></a> object contenant les détails de la fenêtre. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.</p>
+### Valeur retournée
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+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.
-<p>{{Compat("webextensions.api.windows.getCurrent",2)}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.windows.getCurrent",2)}}
-<p>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "tabs" pour accéder aux URL des onglets.</p>
+## Exemples
-<pre class="brush: js">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) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
var getting = browser.windows.getCurrent({populate: true});
getting.then(logTabs, onError);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -112,5 +108,4 @@ browser.browserAction.onClicked.addListener((tab) =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Obtient la fenêtre qui a été recentrée récemment — généralement la fenêtre 'en haut'.</p>
+Obtient la fenêtre qui a été recentrée récemment — généralement la fenêtre 'en haut'.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var gettingWindow = browser.windows.getLastFocused(
+```js
+var gettingWindow = browser.windows.getLastFocused(
getInfo // optional object
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>getInfo</code>{{optional_inline}}</dt>
- <dd><p><code>object</code>.</p>
- <dl>
- <dt><code>populate</code>{{optional_inline}}</dt>
- <dd><code>boolean</code>. 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 <code>url</code>, <code>title</code> et <code>favIconUrl</code> si le fichier manifest de l'extension comprend la permission <code>"tabs"</code>.</dd>
- <dt><code>windowTypes</code>{{optional_inline}}</dt>
- <dd>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 <code>['normal', 'panel', 'popup']</code>, avec le type de fenêtre <code>'panel'</code> qui sont limités aux propres fenêtres de l'extension.</dd>
- </dl>
- </dd>
-</dl>
+- `getInfo`{{optional_inline}}
-<div class="note">
- <p><strong>Note :</strong></p>
+ - : `object`.
-<p>Si fourni, le composant <code>windowTypes</code> de <code>getInfo</code> est ignoré. L'utilisation de <code>windowTypes</code> a été dépréciée à partir de Firefox 62.</p>
-</div>
+ - `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.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+> **Note :**
+>
+> Si fourni, le composant `windowTypes` de `getInfo` est ignoré. L'utilisation de `windowTypes` a été dépréciée à partir de Firefox 62.
-<p><code>Une <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
+### Valeur retournée
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+`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.
-<p>{{Compat("webextensions.api.windows.getLastFocused",2)}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.windows.getLastFocused",2)}}
-<p>Obtenez la dernière fenêtre ciblée et enregistrez les onglets qu'elle contient. Notez que vous aurez besoin de la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "tabs" pour accéder aux URL des onglets.</p>
+## Exemples
-<pre class="brush: js">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) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
var getting = browser.windows.getLastFocused({populate: true});
getting.then(logTabs, onError);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -111,5 +106,4 @@ browser.browserAction.onClicked.addListener((tab) =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
-
-<p>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.</p>
-
-<h2 id="Types">Types</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("windows.WindowType")}}</dt>
- <dd>Le type de fenêtre du navigateur ici.</dd>
- <dt>{{WebExtAPIRef("windows.WindowState")}}</dt>
- <dd>L'état de cette fenêtre du navigateur.</dd>
- <dt>{{WebExtAPIRef("windows.Window")}}</dt>
- <dd>Contient des informations sur une fenêtre de navigateur.</dd>
- <dt>{{WebExtAPIRef("windows.CreateType")}}</dt>
- <dd>Spécifie le type de fenêtre du navigateur à créer.</dd>
-</dl>
-
-<h2 id="Constantes">Constantes</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("windows.WINDOW_ID_NONE")}}</dt>
- <dd>La valeur <code>windowId</code> qui représente l'absence d'une fenêtre de navigateur.</dd>
- <dt>{{WebExtAPIRef("windows.WINDOW_ID_CURRENT")}}</dt>
- <dd>Une valeur qui peut être utilisée à la place d'un <code>windowId</code> dans certaines APIs pour représenter la fenêtre courante.</dd>
-</dl>
-
-<h2 id="Méthodes">Méthodes</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("windows.get()")}}</dt>
- <dd>Obtient les détails sur une fenêtre, compte tenu de son identifiant.</dd>
- <dt>{{WebExtAPIRef("windows.getCurrent()")}}</dt>
- <dd>Obtient les informations de la fenêtre courante.</dd>
- <dt>{{WebExtAPIRef("windows.getLastFocused()")}}</dt>
- <dd>Obtient la fenêtre qui a été recentrée plus récemment — généralement la fenêtre « en haut ».</dd>
- <dt>{{WebExtAPIRef("windows.getAll()")}}</dt>
- <dd>Obtient les informations de toutes les fenêtres</dd>
- <dt>{{WebExtAPIRef("windows.create()")}}</dt>
- <dd>
- <p>Crée une nouvelle fenêtre.</p>
- </dd>
- <dt>{{WebExtAPIRef("windows.update()")}}</dt>
- <dd>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.</dd>
- <dt>{{WebExtAPIRef("windows.remove()")}}</dt>
- <dd>Ferme une fenêtre et tous ses onglets.</dd>
-</dl>
-
-<h2 id="Evénements">Evénements</h2>
-
-<dl>
- <dt>{{WebExtAPIRef("windows.onCreated")}}</dt>
- <dd>Lancé quand une fenêtre est créée.</dd>
- <dt>{{WebExtAPIRef("windows.onRemoved")}}</dt>
- <dd>Lancé quand une fenêtre est fermée.</dd>
- <dt>{{WebExtAPIRef("windows.onFocusChanged")}}</dt>
- <dd>Lancé quand la fenêtre courante change.</dd>
-</dl>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.windows")}}</p>
-
-<p>{{WebExtExamples("h2")}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+{{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`](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.
+
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -111,5 +99,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/windows
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancer quand la fenêtre est créée</p>
+Lancer quand la fenêtre est créée
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.windows.onCreated.addListener(listener)
+```js
+browser.windows.onCreated.addListener(listener)
browser.windows.onCreated.removeListener(listener)
browser.windows.onCreated.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêter d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si un auditeur est enregistré pour cet événement. Renvoie vrai si elle répond, Faux sinon.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>window</code></dt>
- <dd>Un objet {{WebExtAPIRef('windows.Window')}} contenant les détails de la fenêtre qui a été créée.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `window`
+ - : Un objet {{WebExtAPIRef('windows.Window')}} contenant les détails de la fenêtre qui a été créée.
-<p>{{Compat("webextensions.api.windows.onCreated")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.windows.onCreated")}}
-<p>Enregistrez les ID des nouvelles fenêtres lorsqu'elles sont créées</p>
+## Exemples
-<pre class="brush: js">browser.windows.onCreated.addListener((window) =&gt; {
- console.log("New window: " + window.id);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+Enregistrez les ID des nouvelles fenêtres lorsqu'elles sont créées
-<div class="note"><p><strong>Note :</strong></p>
+```js
+browser.windows.onCreated.addListener((window) => {
+ console.log("New window: " + window.id);
+});
+```
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -100,5 +94,4 @@ browser.windows.onCreated.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Attiré lorsque la fenêtre actuellement change. Sera {{WebExtAPIRef('windows.WINDOW_ID_NONE')}} si toutes les fenêtres du navigateur ont perdu le focus.</p>
+Attiré lorsque la fenêtre actuellement change. Sera {{WebExtAPIRef('windows.WINDOW_ID_NONE')}} si toutes les fenêtres du navigateur ont perdu le focus.
-<div class="note">
-<p><strong>Note :</strong> 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.</p>
-</div>
+> **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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">browser.windows.onFocusChanged.addListener(listener)
+```js
+browser.windows.onFocusChanged.addListener(listener)
browser.windows.onFocusChanged.removeListener(listener)
browser.windows.onFocusChanged.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois événements :</p>
+Les événements ont trois événements :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un auditeur à cet événement</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêtez d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifiez si un auditeur est enregistré pour cet événement. Renvoie <strong>vrai</strong> si elle écoute, <strong>faux</strong> sinon..</dd>
-</dl>
+- `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..
-<h2 id="syntaxe_addListener">syntaxe addListener</h2>
+## syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. ID de la fenêtre nouvellement localisée.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `windowId`
+ - : `integer`. ID de la fenêtre nouvellement localisée.
-<p>{{Compat("webextensions.api.windows.onFocusChanged")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.windows.onFocusChanged")}}
-<p>Changements de mise au point du journal :</p>
+## Exemples
-<pre class="brush: js">browser.windows.onFocusChanged.addListener((windowId) =&gt; {
- console.log("Newly focused window: " + windowId);
-});</pre>
-
-<p>{{WebExtExamples}}</p>
+Changements de mise au point du journal :
-<div class="note"><p><strong>Note :</strong></p>
+```js
+browser.windows.onFocusChanged.addListener((windowId) => {
+ console.log("Newly focused window: " + windowId);
+});
+```
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -104,5 +96,4 @@ browser.windows.onFocusChanged.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Lancer quand une fenêtre est fermée.</p>
+Lancer quand une fenêtre est fermée.
-<h2 id="Syntax">Syntax</h2>
+## Syntax
-<pre class="brush: js">browser.windows.onRemoved.addListener(listener)
+```js
+browser.windows.onRemoved.addListener(listener)
browser.windows.onRemoved.removeListener(listener)
browser.windows.onRemoved.hasListener(listener)
-</pre>
+```
-<p>Les événements ont trois fonctions :</p>
+Les événements ont trois fonctions :
-<dl>
- <dt><code>addListener(callback)</code></dt>
- <dd>Ajoute un auditeur à cet événement.</dd>
- <dt><code>removeListener(listener)</code></dt>
- <dd>Arrêter d'écouter cet événement. L'argument de l'auditeur est l'auditeur supprimer.</dd>
- <dt><code>hasListener(listener)</code></dt>
- <dd>Vérifie si un auditeur est enregistré pour cet événement. Renvoie vrai si elle écoute, faux sinon.</dd>
-</dl>
+- `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.
-<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+## Syntaxe addListener
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>callback</code></dt>
- <dd>
- <p>Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :</p>
+- `callback`
- <dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. ID de la fenêtre fermée.</dd>
- </dl>
- </dd>
-</dl>
+ - : Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+ - `windowId`
+ - : `integer`. ID de la fenêtre fermée.
-<p>{{Compat("webextensions.api.windows.onRemoved")}}</p>
+## Compatibilité du navigateur
-<h2 id="Exemples">Exemples</h2>
+{{Compat("webextensions.api.windows.onRemoved")}}
-<p>Enregistrer les identifiants de la fenêtre lorsqu'ils sont supprimés</p>
+## Exemples
-<pre class="brush: js">browser.windows.onRemoved.addListener((windowId) =&gt; {
+Enregistrer les identifiants de la fenêtre lorsqu'ils sont supprimés
+
+```js
+browser.windows.onRemoved.addListener((windowId) => {
console.log("Closed window: " + windowId);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -101,5 +94,4 @@ browser.windows.onRemoved.hasListener(listener)
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Ferme une fenêtre et tous les onglets à l'intérieur, compte tenu de l'ID de la fenêtre.</p>
+Ferme une fenêtre et tous les onglets à l'intérieur, compte tenu de l'ID de la fenêtre.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var removing = browser.windows.remove(
+```js
+var removing = browser.windows.remove(
windowId // integer
)
-</pre>
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. ID of the window to close.</dd>
-</dl>
+- `windowId`
+ - : `integer`. ID of the window to close.
-<h3 id="Valeur_retournée">Valeur retournée</h3>
+### Valeur retournée
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promesse</a></code> 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.windows.remove")}}</p>
+{{Compat("webextensions.api.windows.remove")}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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:</p>
+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:
-<pre class="brush: js">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) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
var removing = browser.windows.remove(tab.windowId);
removing.then(onRemoved, onError);
-});</pre>
+});
+```
-<p><br>
- Fermez la fenêtre en cours, par exemple une fenêtre contextuelle, lorsque l'utilisateur clique sur un bouton de la page :</p>
+Fermez la fenêtre en cours, par exemple une fenêtre contextuelle, lorsque l'utilisateur clique sur un bouton de la page :
-<pre class="brush: js">// in a script loaded by the page in the window
-document.querySelector('#close').addEventListener(async ({ button, }) =&gt; { 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); } });</pre>
+} catch (error) { console.error('Closing failed:', error); } });
+```
-<p>Dans Firefox, la même chose pourrait être réalisée avec la propriété de création de fenêtre  <code>.allowScriptsToClose</code> et <code>window.close()</code>.</p>
+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()`.
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -110,5 +110,4 @@ document.querySelector('#close').addEventListener(async ({ button, }) =&gt; { tr
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var updating = browser.windows.update(
+```js
+var updating = browser.windows.update(
windowId, // integer
updateInfo // object
)
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>windowId</code></dt>
- <dd><code>integer</code>. ID de la fenêtre à mettre à jour.</dd>
- <dt><code>updateInfo</code></dt>
- <dd><p><code>object</code>. Objet contenant les propriétés de mise à jour.</p>
- <dl>
- <dt><code>drawAttention</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. 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 <code>drawAttention</code>.</dd>
- <dt><code>focused</code> {{optional_inline}}</dt>
- <dd><code>boolean</code>. 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.</dd>
- <dt><code>height</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. Hauteur pour redimensionner la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.</dd>
- <dt><code>left</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>state</code>{{optional_inline}}</dt>
- <dd>{{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.</dd>
- <dt><code>titlePreface</code> {{optional_inline}}</dt>
- <dd><code>string</code>. 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).</dd>
- <dt><code>top</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. 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.</dd>
- <dt><code>width</code> {{optional_inline}}</dt>
- <dd><code>integer</code>. La largeur pour redimensionner la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> 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.</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
-<p>{{Compat("webextensions.api.windows.update")}}</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Lorsque l'utilisateur clique sur l'icône d'une action du navigateur, déplacez la fenêtre vers le coin supérieur gauche:</p>
-
-<pre class="brush: js">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) =&gt; {
+browser.browserAction.onClicked.addListener((tab) => {
var updating = browser.windows.update(tab.windowId, {
left: 0,
@@ -84,19 +83,17 @@ browser.browserAction.onClicked.addListener((tab) =&gt; {
updating.then(onUpdated, onError);
});
-</pre>
-
-<p>{{WebExtExamples}}</p>
-
-<div class="note"><p><strong>Note :</strong></p>
+```
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
+{{WebExtExamples}}
-<p>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.</p>
-</div>
+> **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.
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -123,5 +120,4 @@ browser.browserAction.onClicked.addListener((tab) =&gt; {
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Informations sur une fenêtre du navigateur.</p>
+Informations sur une fenêtre du navigateur.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
-<dl>
- <dt><code>alwaysOnTop</code></dt>
- <dd><code>boolean</code>. Que la fenêtre soit configurée pour toujours être sur le dessus.</dd>
- <dt><code>focused</code></dt>
- <dd><code>boolean</code>.  Que la fenêtre soit actuellement la fenêtre ciblée.</dd>
- <dt><code>height</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. La hauteur de la fenêtre, y compris le cadre, en pixels.</dd>
-</dl>
+- `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.
-<dl>
- <dt><code>id</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. L'ID de la fenêtre. Les identifiants de fenêtre sont uniques dans une session de navigateur.</dd>
- <dt><code>incognito</code></dt>
- <dd><code>boolean</code>. Que la fenêtre soit incognito (privé).</dd>
- <dt><code>left</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Le décalage de la fenêtre du bord gauche de l'écran en pixels.</dd>
- <dt><code>sessionId</code>{{optional_inline}}</dt>
- <dd><code>string</code>. L'ID de session utilisé pour identifier de manière unique une fenêtre obtenue à partir de l'API {{WebExtAPIRef ('sessions')}}.</dd>
- <dt><code>state</code>{{optional_inline}}</dt>
- <dd>Une valeur {{WebExtAPIRef('windows.WindowState')}} représentant l'état de cette fenêtre du navigateur - maximisé, minimisé, etc.</dd>
- <dt><code>tabs</code>{{optional_inline}}</dt>
- <dd>Tableau d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets courants dans la fenêtre.</dd>
- <dt><code>title</code> {{optional_inline}}</dt>
- <dd>Le titre de la fenêtre du navigateur. Nécessite la permission "tabs". Lecture seulement.</dd>
- <dt><code>top</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. Le décalage de la fenêtre du bord supérieur de l'écran en pixels.</dd>
- <dt><code>type</code>{{optional_inline}}</dt>
- <dd>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.</dd>
- <dt><code>width</code>{{optional_inline}}</dt>
- <dd><code>integer</code>. La largeur de la fenêtre, y compris le cadre, en pixels.</dd>
-</dl>
+<!---->
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+- `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.
-<p>{{Compat("webextensions.api.windows.Window")}}</p>
+## Compatibilité du navigateur
-<p>{{WebExtExamples}}</p>
+{{Compat("webextensions.api.windows.Window")}}
-<div class="note"><p><strong>Note :</strong></p>
+{{WebExtExamples}}
-<p>Cette API est basée sur l'API de Chromium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
+> **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.
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -86,5 +82,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/windows/Window
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p><code>browser.windows.WINDOW_ID_CURRENT</code> est une valeur qui peut être utilisée comme paramètre <code>windowId</code> dans certaines APIs pour représenter la fenêtre courante.</p>
+`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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.windows.WINDOW_ID_CURRENT")}}</p>
+{{Compat("webextensions.api.windows.WINDOW_ID_CURRENT")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -57,5 +55,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/windows/WINDOW_ID_CURRENT
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>La valeur <code>windowId</code> que représente l'absence d'une fenêtre du navigateur.</p>
+La valeur `windowId` que représente l'absence d'une fenêtre du navigateur.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.windows.WINDOW_ID_NONE")}}</p>
+{{Compat("webextensions.api.windows.WINDOW_ID_NONE")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -58,5 +56,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/windows/WINDOW_ID_NONE
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>L'état de cette fenêtre du navigateur.</p>
+L'état de cette fenêtre du navigateur.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:
-<dl>
- <dt><code>"normal"</code></dt>
- <dd>La fenêtre est à la taille par défaut ou à la taille sélectionnée par l'utilisateur.</dd>
- <dt><code>"minimized"</code></dt>
- <dd>La fenêtre n'est visible que sous la forme d'une icône dans la barre des tâches ou .</dd>
- <dt><code>"maximized"</code></dt>
- <dd>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.</dd>
- <dt><code>"fullscreen"</code></dt>
- <dd>La fenêtre s'exécute en plein écran ou le contenu d'un onglet utilise l'<a href="/fr/docs/Web/API/Fullscreen_API">API Fullscreen</a></dd>
- <dt><code>"docked"</code></dt>
- <dd>Une fenêtre ancrée occupe une position fixe par rapport aux autres fenêtres appartenant à la même application.</dd>
-</dl>
+- `"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.
-<p>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". <code>fullscreen</code> fait référence à la fois au navigateur fonctionnant en plein écran et lorsque le contenu dans un onglet utilise l'API Fullscreen.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.api.windows.WindowState")}}</p>
+{{Compat("webextensions.api.windows.WindowState")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -77,5 +73,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/windows/WindowState
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>Le type de la fenêtre du navigateur est comme çà.</p>
+Le type de la fenêtre du navigateur est comme çà.
-<h2 id="Type">Type</h2>
+## Type
-<p>Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :</p>
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :
-<ul>
- <li><code>"normal"</code></li>
- <li><code>"popup"</code></li>
- <li><code>"panel"</code></li>
- <li><code>"devtools"</code></li>
-</ul>
+- `"normal"`
+- `"popup"`
+- `"panel"`
+- `"devtools"`
-<h2 id="Browser_compatibility">Browser compatibility</h2>
+## Browser compatibility
-<p>{{Compat("webextensions.api.windows.WindowType")}}</p>
+{{Compat("webextensions.api.windows.WindowType")}}
-<p>{{WebExtExamples}}</p>
+{{WebExtExamples}}
-<div class="note"><p><strong>Note :</strong></p>
+> **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.
-<p>Cette API est basée sur l'API de Chromnium <a href="https://developer.chrome.com/extensions/windows"><code>chrome.windows</code></a>. Cette documentation provient de <a href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json"><code>windows.json</code></a> dans le code de Chromium.</p>
-
-<p>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.</p>
-</div>
-
-<div class="hidden">
-<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+<div class="hidden"><pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -69,5 +65,4 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/windows/WindowType
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-</div>
+</pre></div>
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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p><img alt="" src="browser-action.png"></p>
+![](browser-action.png)
-<p>Il existe deux façons de spécifier une action du navigateur : avec une <a href="/fr/Add-ons/WebExtensions/Popups">fenêtre contextuelle</a>, ou sans fenêtre contextuelle.</p>
+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.
-<p>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 <a href="/fr/Add-ons/WebExtensions/API/BrowserAction/onClicked"><code>browserAction.onClicked</code></a>:</p>
+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):
-<pre class="brush: js">browser.browserAction.onClicked.addListener(handleClick);</pre>
+```js
+browser.browserAction.onClicked.addListener(handleClick);
+```
-<p>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.</p>
+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.
-<p>Notez que votre extension ne peut avoir qu'une seule action du navigateur.</p>
+Notez que votre extension ne peut avoir qu'une seule action du navigateur.
-<h2 id="Specification_de_l'action_de_navigateur">Specification de l'action de navigateur</h2>
+## Specification de l'action de navigateur
-<p>Vous définissez les propriétés de l'action du navigateur - icône, titre, popup - en utilisant la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code> dans manifest.json:</p>
+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:
-<pre class="brush: 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"
-}</pre>
+}
+```
-<p>La seule clé obligatoire est <code>default_icon</code>. Vous pouvez changer n'importe laquelle de ces propriétés par programme à l'aide de l'API <code><a href="/fr/Add-ons/WebExtensions/API/browserAction">browserAction</a></code> .</p>
+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) .
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le repo <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples d'extensions qui utilisent les actions du navigateur :</p>
+Le repo [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples d'extensions qui utilisent les actions du navigateur :
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/blob/master/bookmark-it/">bookmark-it</a> utilise une action de navigateur sans popup</li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/beastify">beastify</a> utilise une action de navigateur avec une fenêtre popup</li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{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.
-<p>{{Compat("webextensions.manifest",2)}}</p>
+## Voir aussi
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/Compatibilité_navigateurs_API_JavaScript">Prise en charge du navigateur pour les API JavaScript</a></li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{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.
-<p>{{WebExtAllCompatTables}}</p>
+## Voir aussi
-<div class="note"><p><strong>Note :</strong></p>
-
-<p>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.</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json">Compatibilité du navigateur pour manifest.json</a></li>
-</ul>
+- [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
---
-<p>{{AddonSidebar()}}</p>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>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 (<i>polyfill</i>).</p>
+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_).
-<h2 id="Cross-platform_extension_coding_hurdles">Obstacles pour les extensions multi-navigateur</h2>
+## Obstacles pour les extensions multi-navigateur
-<p>Il existe six domaines que vous devez aborder lorsque vous souhaitez développer une extension multiplateforme :</p>
+Il existe six domaines que vous devez aborder lorsque vous souhaitez développer une extension multiplateforme :
-<ul>
- <li>L'espace de noms utilisé par l'API</li>
- <li>La gestion asynchrone des événements par l'API</li>
- <li>La couverture des fonctions de l'API</li>
- <li>Les clés du manifeste</li>
- <li>L'empaquetage d'une extension</li>
- <li>La publication</li>
-</ul>
+- 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
-<h3 id="API_namespace">Les espaces de noms des API</h3>
+### Les espaces de noms des API
-<p>Deux espaces de noms (<i>namespaces</i>) sont utilisés pour les quatre principaux navigateurs :</p>
+Deux espaces de noms (_namespaces_) sont utilisés pour les quatre principaux navigateurs :
-<ul>
- <li><code>browser.*</code>, l'espace standard de l'API, utilisé par Firefox et Edge.</li>
- <li><code>chrome.*</code>, utilisé par Chrome et Opera.</li>
-</ul>
+- `browser.*`, l'espace standard de l'API, utilisé par Firefox et Edge.
+- `chrome.*`, utilisé par Chrome et Opera.
-<p>Firefox prend également en charge l'espace de noms <code>chrome.*</code> pour les API compatibles avec Chrome, principalement pour faciliter le <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension">portage</a>. Cependant, il est préférable d'utiliser l'espace de nommage <code>browser.*</code>. En plus d'être la norme proposée, <code>browser.*</code> utilise des promesses — un mécanisme moderne et pratique pour gérer les événements asynchrones.</p>
+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.
-<p>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.</p>
+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.
-<h3 id="API_asynchronous_event_handling">Gestion asynchrone des événements</h3>
+### Gestion asynchrone des événements
-<p>Il existe deux approches pour gérer les événements asynchrones utilisées par les quatre principaux navigateurs :</p>
+Il existe deux approches pour gérer les événements asynchrones utilisées par les quatre principaux navigateurs :
-<ul>
- <li><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Les promesses</a>, le standard proposé pour l'API d'extensions, utilisé par Firefox.</li>
- <li>Les <i>callbacks</i> (fonctions de rappel), utilisés par Chrome, Edge, et Opera.</li>
-</ul>
+- [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.
-<p>Firefox prend également en charge les <i>callbacks</i> pour les API qui prennent en charge l'espace de noms <code>chrome.*</code>. Cependant, il est recommandé d'utiliser des promesses (et l'espace de noms <code>browser.*</code> 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.</p>
+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.
-<div class="note">
- <p><strong>Note :</strong> Si vous n'êtes pas familier avec les différences entre ces deux méthodes, jetez un coup d'oeil à <a href="https://medium.com/codebuddies/getting-to-know-asynchronous-javascript-callbacks-promises-and-async-await-17e0673281ee">Apprendre à connaître le JavaScript asynchrone : Rappels, promesses et synchronisation/attente</a> ou la page sur <a href="/fr/docs/Web/JavaScript/Guide/Utiliser_les_promesses">l'utilisation des promesses</a> de MDN.</p>
-</div>
+> **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.
-<h4 id="The_WebExtension_browser_API_Polyfill">Polyfill pour l'API WebExtension du navigateur</h4>
+#### Polyfill pour l'API WebExtension du navigateur
-<p>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 <a href="https://github.com/mozilla/webextension-polyfill/"><i>polyfill</i> pour l'API WebExtension du navigateur</a>.</p>
+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/).
-<p>Pour utiliser le <i>polyfill</i>, installez-le dans votre environnement de développement à l'aide de npm ou téléchargez-le directement depuis les <a href="https://github.com/mozilla/webextension-polyfill/releases">versions de GitHub</a></p>
+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)
-<p>Vous référencerez alors <code>browser-polyfill.js</code> dans :</p>
+Vous référencerez alors `browser-polyfill.js` dans :
-<ul>
- <li><code>manifest.json</code>, pour mettre à disposition des scripts de fond et de contenu.</li>
- <li>Les documents HTML, tels que les popups <code>browserAction</code> ou les pages d'onglet.</li>
- <li>L'appel à <code>executeScript</code> dans les scripts de contenu dynamiquement injectés chargés par <code>tabs.executeScript</code>, où il n'a pas été chargé en utilisant une déclaration <code>content_scripts</code> dans manifest.json.</li>
-</ul>
+- `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.
-<p>Ainsi, par exemple, ce code <code>manifest.json</code> rend le <i>polyfill</i> disponible pour vos scripts d'arrière-plan :</p>
+Ainsi, par exemple, ce code `manifest.json` rend le _polyfill_ disponible pour vos scripts d'arrière-plan :
-<pre class="brush: json">{
+```json
+{
// ...
"background": {
"scripts": [
@@ -82,151 +73,147 @@ original_slug: Mozilla/Add-ons/WebExtensions/construction_extension_cross_browse
"background.js"
]
}
-}</pre>
+}
+```
-<p>Votre but est de vous assurer que le <i>polyfill</i> s'exécute dans votre extension avant tout autre script qui attend le <code>browser.*</code> API namespace s'exécute.</p>
+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.
-<div class="note">
- <p><strong>Note :</strong> Pour plus de détails et d'informations sur l'utilisation du <i>polyfill</i> avec un module bundler, voir le <a href="https://github.com/mozilla/webextension-polyfill/blob/master/README.md">readme du projet sur GitHub.</a></p>
-</div>
+> **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)
-<p>Il existe d'autres options de <i>polyfill</i> mais, au moment où nous écrivons ces lignes, aucune ne fournit une couverture équivalente à ce <i>polyfill</i> 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 <i>polyfills</i> alternatifs, de porter sur Firefox et d'ajouter la prise en charge multi-navigateur, ou de développer votre propre <i>polyfill</i>.</p>
+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 :
-<h3 id="API_function_coverage">Couverture des différentes implémentations d'API</h3>
+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).
-<p>Les différences de fonctionnalités offertes par les différents navigateurs peuvent se répartir en trois catégories :</p>
+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).
-<ol>
- <li><strong>L'absence de prise en charge d'une fonctionnalité à part entière.</strong></li>
- <li><strong>Les variations de prise en charge pour certains aspects d'une fonctionnalité.</strong> Au moment où nous écrivons ces lignes, Firefox ne prend pas en charge la méthode <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/notifications/onButtonClicked#browser_compatibility">onButtonClicked</a></code> mais est le seul navigateur qui prend en charge <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/notifications/onShown#browser_compatibility">onShown</a></code>.</li>
- <li><strong>Les fonctionnalités propriétaires spécifiques à chaque navigateur.</strong> 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 <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/contextualIdentities#browser_compatibility">contextualIdentities</a></code>.</li>
-</ol>
+#### Handling API differences
-<p>Vous pouvez trouver plus de détails sur la prise en charge de l'API pour les différents navigateurs sur <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs">La prise en charge des API JavaScript WebExtension pour les différents navigateurs</a>. Les informations de compatibilité sont également disponibles sur chaque page de la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API">référence des API JavaScript WebExtension</a>.</p>
+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.
-<h4 id="Handling_API_differences">Handling API differences</h4>
+À 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
-<p>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.</p>
+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.
-<p>À 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</p>
+Le fragment de code suivant vous permet de vérifier l'existance d'une fonction lors de l'exécution :
-<p>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.</p>
-
-<p>Le fragment de code suivant vous permet de vérifier l'existance d'une fonction lors de l'exécution :</p>
-
-<pre class="brush: js">if (typeof &lt;function&gt; === "function") {
+```js
+if (typeof <function> === "function") {
// safe to use the function
-}</pre>
+}
+```
-<h3 id="Manifest_keys">Les clés de manifeste</h3>
+### Les clés de manifeste
-<p>Les différences pour les clés du fichier <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json">manifest.json</a></code> se répartissent en trois catégories :</p>
+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 :
-<ol>
- <li><strong>Les attributs d'information sur l'extension.</strong> Firefox et Opera incluent la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/developer#browser_compatibility">developer</a></code> pour fournir des détails quant à la développeuse ou au développeur de l'application et la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/author#browser_compatibility">author</a></code>.</li>
- <li><strong>Les fonctionnalités rattachées à l'extension.</strong> Edge ne prenait pas en charge la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/commands#browser_compatibility">commands</a></code> qui permet de définir des raccourcis clavier pour une extension.</li>
- <li><strong>Le caractère optionnel d'une clé.</strong> Ainsi, la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/author#browser_compatibility">author</a></code> était obligatoire dans Edge mais optionnelle pour les autres navigateurs.</li>
-</ol>
+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.
-<p>Les informations quant à la compatibilité de chaque clé de manifeste sont incluses dans les pages de référence correspondantes.</p>
+Les informations quant à la compatibilité de chaque clé de manifeste sont incluses dans les pages de référence correspondantes.
-<p>Le fichier <code>manifest.json</code> é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.</p>
+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.
-<h3 id="Extension_packaging">Empaquetage des extensions</h3>
+### Empaquetage des extensions
-<p>L'empaquetage d'une extension pour la distribuer via les plateformes des navigateurs est uniforme .</p>
+L'empaquetage d'une extension pour la distribuer via les plateformes des navigateurs est uniforme .
-<ul>
- <li>Firefox, Chrome, et Opera utilise une archive ZIP dans laquelle le fichier <code>manifest.json</code> doit être à la racine.</li>
- <li>Pour Microsoft, des étapes supplémentaires sont nécessaires.</li>
-</ul>
+- 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.
-<p>Pour plus de détails sur les méthodes d'empaquetage, veuillez vous référer aux documentations de chaque portail de distribution.</p>
+Pour plus de détails sur les méthodes d'empaquetage, veuillez vous référer aux documentations de chaque portail de distribution.
-<h3 id="Extension_publishing">Publication des extensions</h3>
+### Publication des extensions
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>Le tableau qui suit récapitule les approches et fonctionnalités pour chaque plateforme de distribution :</p>
+Le tableau qui suit récapitule les approches et fonctionnalités pour chaque plateforme de distribution :
<table>
- <thead>
- <tr>
- <th>Navigateur</th>
- <th>Frais d'enregistrement</th>
- <th>Utilitaire pour l'<i>upload</i></th>
- <th>Processus de revue avant la publication</th>
- <th>Authentification multi-facteur</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th>Firefox</th>
- <td>Non</td>
- <td><a href="https://extensionworkshop.com/documentation/develop/web-ext-command-reference/">web-ext</a></td>
- <td>Automatique, quelques secondes<sup>1</sup></td>
- <td>Non</td>
- </tr>
- <tr>
- <th>Chrome</th>
- <td>Oui</td>
- <td>Oui</td>
- <td>Automatique, moins d'une heure</td>
- <td>Oui</td>
- </tr>
- <tr>
- <th>Opera</th>
- <td>Non</td>
- <td>Non</td>
- <td>Manuel, aucun délai garanti</td>
- <td>Non</td>
- </tr>
- <tr>
- <th>Edge</th>
- <td>Oui</td>
- <td>Non</td>
- <td>Manuel, jusqu'à 72 heures<sup>2</sup></td>
- <td>Oui</td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th>Navigateur</th>
+ <th>Frais d'enregistrement</th>
+ <th>Utilitaire pour l'<i>upload</i></th>
+ <th>Processus de revue avant la publication</th>
+ <th>Authentification multi-facteur</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th>Firefox</th>
+ <td>Non</td>
+ <td>
+ <a
+ href="https://extensionworkshop.com/documentation/develop/web-ext-command-reference/"
+ >web-ext</a
+ >
+ </td>
+ <td>Automatique, quelques secondes<sup>1</sup></td>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th>Chrome</th>
+ <td>Oui</td>
+ <td>Oui</td>
+ <td>Automatique, moins d'une heure</td>
+ <td>Oui</td>
+ </tr>
+ <tr>
+ <th>Opera</th>
+ <td>Non</td>
+ <td>Non</td>
+ <td>Manuel, aucun délai garanti</td>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th>Edge</th>
+ <td>Oui</td>
+ <td>Non</td>
+ <td>Manuel, jusqu'à 72 heures<sup>2</sup></td>
+ <td>Oui</td>
+ </tr>
+ </tbody>
</table>
-<p><sup>1</sup> 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.</p>
+<sup>1</sup> 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.
-<p><sup>2</sup> Au moment où nous écrivons ces lignes, Microsoft approuvait uniquement la publication d'extensions pré-approuvées.</p>
+<sup>2</sup> Au moment où nous écrivons ces lignes, Microsoft approuvait uniquement la publication d'extensions pré-approuvées.
-<h3 id="Other_considerations">Autres considérations</h3>
+### Autres considérations
-<h4 id="Extension_naming">Nommage des extensions</h4>
+#### Nommage des extensions
-<p>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.</p>
+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.
-<p>Aucune des autres plateformes n'impose de restrictions quant au nom de l'extension.</p>
+Aucune des autres plateformes n'impose de restrictions quant au nom de l'extension.
-<h4 id="Version_numbering">Numérotation des versions</h4>
+#### Numérotation des versions
-<p>Les plateformes de distribution pour Firefox et Chrome requièrent un numéro de version distinct et croissant pour chaque <i>upload</i>. 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.</p>
+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.
-<h4 id="Share_content">Partage des ressources</h4>
+#### Partage des ressources
-<p>Lorsque vous développez une extension pour Safari, vous pouvez réutiliser les éléments suivants entre vos différentes implémentations :</p>
+Lorsque vous développez une extension pour Safari, vous pouvez réutiliser les éléments suivants entre vos différentes implémentations :
-<ul>
- <li>Images</li>
- <li>HTML</li>
- <li>CSS</li>
-</ul>
+- Images
+- HTML
+- CSS
-<h2 id="Conclusion">Conclusion</h2>
+## Conclusion
-<p>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 <a href="https://github.com/mozilla/webextension-polyfill/">le <i>polyfill</i> pour les API WebExtension</a>. 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.</p>
+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.
-<p>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 (<code>manifest.json</code>) ; ce dernier pouvant être créé manuellement. L'empaquetage et la distribution contiennent également quelques différences en fonction des plateformes.</p>
+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.
-<p>Vous pouvez utiliser <a href="https://github.com/notlmn/browser-extension-template">browser-extension-template</a> pour rapidement mettre en place un projet d'extension, l'empaqueter et la publier.</p>
+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.
-<p>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.</p>
+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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Toutefois, il existe certaines différences significatives entre Chrome, Firefox et Edge et notamment :</p>
+Toutefois, il existe certaines différences significatives entre Chrome, Firefox et Edge et notamment :
-<ul>
- <li>La prise en charge des API JavaScript est hétérogène entre les navigateurs. Voir la page <a href="/fr/Add-ons/WebExtensions/Compatibilité_navigateurs_API_JavaScript">Compatibilité des navigateurs avec les API JavaScript WebExtension</a> pour plus de détails.</li>
- <li>La prise en charge des clés du fichier <code>manifest.json</code> varie entre les navigateurs. Pour plus de détails, voir la section <a href="/fr/Add-ons/WebExtensions/manifest.json#Compatibilité_des_navigateurs">Compatibilité des navigateurs de la page manifest.json</a>.</li>
- <li>Pour Chrome, les API JavaScript sont accessibles sous l'espace de noms <code>chrome</code>. Pour Firefox et Edge, elles sont accessibles sous l'espace de noms <code>browser</code>. (cf. <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=798169">bug Chrome 798169</a>)</li>
- <li>Pour Chrome et Edge, les API asynchrones sont implémentées avec des <em>callbacks</em>. Pour Firefox, les API asynchrones sont implémentées avec des <a href="/fr/docs/Web/JavaScript/Guide/Utiliser_les_promesses">promises</a>. (cf.<a href="https://bugs.chromium.org/p/chromium/issues/detail?id=328932">bug Chrome 328932</a>)</li>
-</ul>
+- 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))
-<p>La suite de cette page détaille ces problèmes ainsi que d'autres points d'incompatibilité.</p>
+La suite de cette page détaille ces problèmes ainsi que d'autres points d'incompatibilité.
-<h2 id="Les_API_JavaScript">Les API JavaScript</h2>
+## Les API JavaScript
-<h3 id="Les_callbacks_et_lespace_de_noms_chrome.*">Les <em>callbacks</em> et l'espace de noms chrome.*</h3>
+### Les _callbacks_ et l'espace de noms chrome.\*
-<p>Dans Chrome, les extensions peuvent accéder aux API JavaScript privilégiées à l'aide de l'espace de noms <code>chrome</code> :</p>
+Dans Chrome, les extensions peuvent accéder aux API JavaScript privilégiées à l'aide de l'espace de noms `chrome` :
-<pre class="brush: js">chrome.browserAction.setIcon({path: "path/to/icon.png"});</pre>
+```js
+chrome.browserAction.setIcon({path: "path/to/icon.png"});
+```
-<p>Les WebExtensions accèdent aux API équivalentes à l'aide de l'espace de noms <code>browser</code> :</p>
+Les WebExtensions accèdent aux API équivalentes à l'aide de l'espace de noms `browser` :
-<pre class="brush: js">browser.browserAction.setIcon({path: "path/to/icon.png"});
-</pre>
+```js
+browser.browserAction.setIcon({path: "path/to/icon.png"});
+```
-<p>Beaucoup d'API sont asynchrones. Dans Chrome, les API asynchrones utilisent des fonctions de rappel (<em>callback</em>) pour renvoyer des valeurs et {{WebExtAPIRef("runtime.lastError")}} pour communiquer les erreurs :</p>
+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 :
-<pre class="brush: js">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
-);</pre>
+);
+```
-<p>Les API WebExtensions équivalentes utilisent plutôt <a href="/fr/docs/Web/JavaScript/Guide/Utiliser_les_promesses">les promesses</a> :</p>
+Les API WebExtensions équivalentes utilisent plutôt [les promesses](/fr/docs/Web/JavaScript/Guide/Utiliser_les_promesses) :
-<pre class="brush: js">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);
-</pre>
+```
+
+### Firefox : les espaces de noms `chrome` et `browser`
-<h3 id="Firefox_les_espaces_de_noms_chrome_et_browser">Firefox : les espaces de noms <code>chrome</code> et <code>browser</code></h3>
+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.
-<p>Afin d'aider au portage, l'implémentation de Firefox des WebExtensions prend en charge l'espace de noms <code>chrome</code>, l'utilisation des <em>callbacks</em>, l'espace de noms <code>browser</code> 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.</p>
+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>.
-<p>Si vous écrivez votre extension en utilisant <code>browser</code> et les promesses, l'équipe de Firefox a également développé une prothèse (<em>polyfill</em>) qui lui permettra de fonctionner sur Chrome : <a href="https://github.com/mozilla/webextension-polyfill">https://github.com/mozilla/webextension-polyfill</a>.</p>
+### Les API partiellement prises en charge
-<h3 id="Les_API_partiellement_prises_en_charge">Les API partiellement prises en charge</h3>
+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.
-<p>La page sur la <a href="/fr/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs"> compatibilité des navigateurs pour les API JavaScript WebExtension</a> 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.</p>
+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).
-<p>Ces tableaux sont générés à partir des données de compatibilité stockées en tant que  <a href="https://github.com/mdn/browser-compat-data">fichiers JSON dans GitHub</a>.</p>
+Le reste de cette section décrit les problèmes de compatibilité qui ne sont pas encore pris en compte dans ces tableaux.
-<p>Le reste de cette section décrit les problèmes de compatibilité qui ne sont pas encore pris en compte dans ces tableaux.</p>
+#### notifications
-<h4 id="notifications">notifications</h4>
+- 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).
-<ul>
- <li>Pour <code>notifications.create()</code>, lorsqu'on utilise le <a href="/fr/Add-ons/WebExtensions/API/notifications/TemplateType">type</a> <code>"basic"</code>, l'icône <code>iconUrl</code> est optionnelle dans Firefox mais obligatoire dans Chrome.</li>
- <li>Les notifications sont effacées immédiatement lorsque l'utilisateur clique dessus. Ce n'est pas le cas dans Chrome.</li>
- <li>
- <p>Si vous appelez <code>notifications.create()</code> plusieurs fois et rapidement, Firefox peut finir par ne pas afficher de notification du tout. Attendre de faire d'autres appels dans le <em>callback</em> <code>chrome.notifications.create()</code> ne suffit pas (le délai n'est pas suffisamment long).</p>
- </li>
-</ul>
+#### proxy
-<h4 id="proxy">proxy</h4>
+- [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)
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/API/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 <code>proxy</code> de Chrome, cette API est uniquement disponible via l'espace de nom <code>browser</code>.</a></li>
-</ul>
+#### tabs
-<h4 id="tabs">tabs</h4>
+- 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:
-<ul>
- <li>
- <p>Dans Firefox, les URL relatives passées à <code>tabs.executeScript()</code> ou <code>tabs.insertCSS()</code> 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:</p>
+ /chemin/vers/script.json
- <pre>/chemin/vers/script.json
-</pre>
- </li>
- <li>Dans Firefox, interroger les onglets avec des URL avec <code>tabs.query()</code> nécessitent une permission <code>"tabs"</code>. Dans Chrome, il est possible de le faire sans la permission <code>"tabs"</code> mais cela limitera les résultats aux onglets dont les URL correspondent aux permissions de l'hôte.</li>
- <li>Dans Firefox, la promesse <code>tabs.remove()</code> est tenue après l'évènement <code>beforeunload</code> alors que pour Chrome, le <em>callback</em> n'attend pas <code>beforeunload</code>.</li>
-</ul>
+- 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`.
-<h4 id="webRequest">webRequest</h4>
+#### webRequest
-<ul>
- <li>Dans Firefox, les requêtes ne peuvent être redirigées que si l'URL originale utilise le schéma <code>http:</code> ou <code>https:</code>.</li>
- <li>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")}}.</li>
- <li>Dans Firefox, si une extension souhaite rediriger une URL publique vers <a href="/fr/Add-ons/WebExtensions/user_interface/pages_web_incluses">une page d'extension</a>, le fichier <code>manifest.json</code> de l'extension doit contenir une clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/web_accessible_resources">web_accessible_resources</a></code> 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.</li>
- <li>Dans Firefox, à partir de Firefox 52, certaines API <code>browser.webRequest.*</code> renvoient des promesses qui résolvent <code>webRequest.BlockingResponse</code> de façon asynchrone. Pour Chrome, seule <code>webRequest.onAuthRequired</code> prend en charge une gestion asynchrone de <code>webRequest.BlockingResponse</code> avec <code>'asyncBlocking'</code>.</li>
-</ul>
+- 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'`.
-<h4 id="windows">windows</h4>
+#### windows
-<ul>
- <li>Dans Firefox, <code>onFocusChanged</code> sera déclenché plusieurs fois pour un changement de focus donné.</li>
-</ul>
+- Dans Firefox, `onFocusChanged` sera déclenché plusieurs fois pour un changement de focus donné.
-<h3 id="API_non_prises_en_charge">API non prises en charge</h3>
+### API non prises en charge
-<h4 id="declarativeContent">declarativeContent</h4>
+#### declarativeContent
-<p>l'API <code>declarativeContent</code> de Chrome <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1435864">n'a pas encore été implémentée</a> in Firefox.</p>
+l'API `declarativeContent` de Chrome [n'a pas encore été implémentée](https://bugzilla.mozilla.org/show_bug.cgi?id=1435864) in Firefox.
-<p>Firefox <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1323433#c16">ne supportera pas</a> l'API <code>declarativeContent.RequestContentScript</code>, qui est rarement utilisée et n'est pas disponible dans les versions stables de Chrome.</p>
+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.
-<h3 id="Incompatibilités_diverses">Incompatibilités diverses</h3>
+### Incompatibilités diverses
-<h4 id="Gestion_des_URL_dans_CSS">Gestion des URL dans CSS</h4>
+#### Gestion des URL dans CSS
-<p>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é.</p>
+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é.
-<h4 id="Incompatibilités_supplémentaires">Incompatibilités supplémentaires</h4>
+#### Incompatibilités supplémentaires
-<p>Firefox ne prend pas en charge <code><a href="/fr/docs/Web/API/Window/alert">alert()</a></code>, <code><a href="/fr/docs/Web/API/Window/confirm">confirm()</a></code> ou <code><a href="/fr/docs/Web/API/Window/prompt">prompt()</a></code> à partir des pages d'arrière-plan.</p>
+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.
-<h4 id="web_accessible_resources">web_accessible_resources</h4>
+#### web_accessible_resources
-<p>Dans Chrome, lorsqu'une ressource est répertoriée dans <code>web_accessible_resources</code>, elle est accessible via <code>chrome-extension://&lt;id-de-l-extension&gt;/&lt;chemin/vers/la/ressource&gt;</code>. L'identifiant de l'extension est fixé pour une extension donnée.</p>
+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.
-<p>Firefox l'implémente différemment en utilisant un UUID aléatoire qui change pour chaque instance de Firefox : <code>moz-extension://&lt;UUID-aleatoire&gt;/&lt;chemin/vers/la/ressource&gt;</code>. 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.</p>
+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.
-<h4 id="La_propriété_key_du_manifeste">La propriété <code>key</code> du manifeste</h4>
+#### La propriété `key` du manifeste
-<p>Lorsque vous travaillez avec une extension décompressée, Chrome permet d'ajouter une <a href="https://developer.chrome.com/extensions/manifest/key">propriété <code>key</code></a> au manifeste afin de fixer l'identifiant de l'extension sur différentes machines. Ceci s'avère notamment utile lorsqu'on travaille avec <code>web_accessible_resources</code>. Puisque Firefox utilise des UUID aléatoires pour les <code>web_accessible_resources</code>, cette propriété n'est pas prise en charge.</p>
+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.
-<h4 id="Les_requêtes_sont_relatives_au_contexte_de_lextension_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</h4>
+#### Les requêtes sont relatives au contexte de l'extension et pas à celui du contenu de la page
-<p>Dans Chrome, lorsque la requête est appelée (par exemple, en utilisant <code><a href="/fr/docs/Web/API/Fetch_API/Using_Fetch">fetch()</a></code>) pour une URL relative comme <code>/api</code> du script de contenu, elle sera envoyée à <code>https://example.com/api</code>. Dans Firefox, vous devez fournir des URL absolues.</p>
+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.
-<h2 id="Les_clés_de_manifest.json">Les clés de <code>manifest.json</code></h2>
+## Les clés de `manifest.json`
-<p>La page relative à <code><a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a></code> 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é.</p>
+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é.
-<p>Ces tables sont générées à partir des données de compatibilité stockées en tant que <a href="https://github.com/mdn/browser-compat-data">fichiers JSON dans GitHub</a>.</p>
+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).
-<h2 id="Communication_avec_le_système_natif">Communication avec le système natif</h2>
+## Communication avec le système natif
-<h3 id="Arguments_de_messagerie_basée_sur_la_connexion">Arguments de messagerie basée sur la connexion</h3>
+### Arguments de messagerie basée sur la connexion
-<p>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 : <code>chrome-extension://[extensionID]</code>. Cela permet à l'application d'identifier l'extension.</p>
+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.
-<p>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.</p>
+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.
-<h3 id="allowed_extensions">allowed_extensions</h3>
+### allowed_extensions
-<p>Dans Chrome, la clé de manifeste <code>allowed_extensions</code> s'appelle <code>allowed_origins</code>.</p>
+Dans Chrome, la clé de manifeste `allowed_extensions` s'appelle `allowed_origins`.
-<h3 id="Emplacement_du_fichier_de_manifeste_dapplication">Emplacement du fichier de manifeste d'application</h3>
+### Emplacement du fichier de manifeste d'application
-<p>Chrome s'attend à trouver le manifeste de l'application dans un autre endroit. Se référer à la documentation Chrome pour <a href="https://developer.chrome.com/extensions/nativeMessaging#native-messaging-host-location">l'emplacement de l'hôte de messagerie natif</a>.</p>
+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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Un script de contenu (<em>content script</em> 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")}}).</p>
+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")}}).
-<p>Les <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">scripts d'arrière-plan</a> peuvent accéder à l'ensemble des <a href="/fr/Add-ons/WebExtensions/API">API WebExtension</a> 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.</p>
+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.
-<p>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.</p>
+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.
-<p>Les scripts de contenu ne peuvent accéder qu'à <a href="#API WebExtensions">un sous-ensemble des API WebExtension</a>, mais ils peuvent <a href="#communication_background">communiquer avec les scripts d'arrière-plan</a> grâce à un système de messages et ainsi accéder indirectement aux API WebExtension.</p>
+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.
-<div class="note">
-<p><strong>Note :</strong> que les scripts de contenu sont bloqués sur les domaines suivants :</p>
+> **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.
-<ul>
- <li>accounts-static.cdn.mozilla.net</li>
- <li>accounts.firefox.com</li>
- <li>addons.cdn.mozilla.net</li>
- <li>addons.mozilla.org</li>
- <li>api.accounts.firefox.com</li>
- <li>content.cdn.mozilla.net</li>
- <li>content.cdn.mozilla.net</li>
- <li>discovery.addons.mozilla.org</li>
- <li>input.mozilla.org</li>
- <li>install.mozilla.org</li>
- <li>oauth.accounts.firefox.com</li>
- <li>profile.accounts.firefox.com</li>
- <li>support.mozilla.org</li>
- <li>sync.services.mozilla.com</li>
- <li>testpilot.firefox.com</li>
-</ul>
+> **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).
-<p>If you try to inject a content script into a page in these domains, it will fail and the page will log a <a href="/fr/docs/Web/HTTP/CSP">CSP</a> error.</p>
+## Charger des scripts de contenu
-<p>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/onboarding_upboarding_offboarding_best_practices">onboarding page</a> to move users away from addons.mozilla.org.</p>
-</div>
+Il est possible de charger un script de contenu dans une page web de trois manières différentes :
-<div class="note">
-<p><strong>Note :</strong> Les valeurs ajoutées à la portée globale d'un script de contenu avec <code>var foo</code> ou <code>window.foo = "bar"</code> peuvent disparaître à cause du bogue <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1408996">1408996</a>.</p>
-</div>
+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)).
-<h2 id="Charger_des_scripts_de_contenu">Charger des scripts de contenu</h2>
+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é.
-<p>Il est possible de charger un script de contenu dans une page web de trois manières différentes :</p>
+À 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).
-<ol>
- <li><strong>Lors de la phase d'installation, pour les pages qui correspondent à certains motifs d'URL :</strong> en utilisant la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code> dans le fichier <code>manifest.json</code>, vous pouvez demander au navigateur de charger un script de contenu chaque fois que le navigateur charge une page dont l'URL <a href="/fr/Add-ons/WebExtensions/Match_patterns">correspond à un motif donné</a>.</li>
- <li><strong>Lors de l'exécution, pour les pages qui correspondent à certains motifs d'URL :</strong> 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 <a href="/fr/Add-ons/WebExtensions/Match_patterns">correspond à un motif donné</a>. Cette méthode est la version dynamique de la première méthode.</li>
- <li><strong>Lors de l'exécution, pour certains onglets spécifiques :</strong> en utilisant la méthode  <code><a href="/fr/Add-ons/WebExtensions/API/Tabs/executeScript">tabs.executeScript()</a></code>, vous pouvez charger un script de contenu dans un onglet spécifique quand vous le souhaitez (par exemple lorsqu'un utilisateur clique sur un <a href="/fr/Add-ons/WebExtensions/Browser_action">bouton d'action du navigateur</a>).</li>
-</ol>
+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`]()).
-<p>Il n'y a qu'une seule portée globale pour chaque <em>frame</em> 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é.</p>
+## Environnement des scripts de contenu
-<p>À 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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">motif de correspondance</a>.</p>
+### Accès au DOM
-<p>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 <code><a>about:debugging</a></code> ou <code><a>about:addons</a></code>).</p>
+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.
-<h2 id="Environnement_des_scripts_de_contenu">Environnement des scripts de contenu</h2>
+Cependant, les scripts de contenu reçoivent une « vue propre du DOM ». Cela signifie que :
-<h3 id="Accès_au_DOM">Accès au DOM</h3>
+- 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.
-<p>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.</p>
+Dans Firefox, ce comportement s'appelle [Vision Xray](/fr/docs/Mozilla/Tech/Xray_vision).
-<p>Cependant, les scripts de contenu reçoivent une « vue propre du DOM ». Cela signifie que :</p>
+Prenons par exemple la page web suivante :
-<ul>
- <li>Les scripts de contenu ne peuvent pas accéder aux variables JavaScript définies par les scripts de la page.</li>
- <li>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.</li>
-</ul>
+```html
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ </head>
-<p>Dans Firefox, ce comportement s'appelle <a href="/fr/docs/Mozilla/Tech/Xray_vision">Vision Xray</a>.</p>
+ <body>
+ <script src="page-scripts/page-script.js"></script>
+ </body>
+</html>
+```
-<p>Prenons par exemple la page web suivante :</p>
+Le script « page-script.js » est écrit ci-dessous :
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta http-equiv="content-type" content="text/html; charset=utf-8" /&gt;
- &lt;/head&gt;
-
- &lt;body&gt;
- &lt;script src="page-scripts/page-script.js"&gt;&lt;/script&gt;
- &lt;/body&gt;
-&lt;/html&gt;</pre>
-
-<p>Le script « page-script.js » est écrit ci-dessous :</p>
-
-<pre class="brush: js">// 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’.");
-}</pre>
+}
+```
-<p>Et maintenant une extension injecte ce script de contenu dans la page :</p>
+Et maintenant une extension injecte ce script de contenu dans la page :
-<pre class="brush: js">// 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</pre>
+window.confirm("Êtes-vous sûr ?"); // appelle la méthode window.confirm() originale
+```
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<pre class="brush: json">"content_scripts": [
+```json
+"content_scripts": [
{
"matches": ["*://*.mozilla.org/*"],
"js": ["jquery.js", "content-script.js"]
}
-]</pre>
-
-<div class="blockIndicator note">
-<p><strong>Note:</strong> Firefox <em>fournis</em> 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.</p>
+]
+```
-<p>Voir <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Sharing_objects_with_page_scripts">Partage d'objets avec des scripts de page</a> pour plus de détails.***</p>
-</div>
+> **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.\*\*\*
-<h3 id="Les_API_WebExtension_accessibles">Les API WebExtension accessibles</h3>
+### Les API WebExtension accessibles
-<p>En plus des API standard du DOM, les scripts de contenu peuvent utiliser les API WebExtension suivantes :</p>
+En plus des API standard du DOM, les scripts de contenu peuvent utiliser les API WebExtension suivantes :
-<p>Depuis l'API <code><a href="/fr/Add-ons/WebExtensions/API/extension">extension</a></code> :</p>
+Depuis l'API [`extension`](/fr/Add-ons/WebExtensions/API/extension) :
-<ul>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/extension#getURL()">getURL()</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/extension#inIncognitoContext">inIncognitoContext</a></code></li>
-</ul>
+- [`getURL()`](</fr/Add-ons/WebExtensions/API/extension#getURL()>)
+- [`inIncognitoContext`](/fr/Add-ons/WebExtensions/API/extension#inIncognitoContext)
-<p>Depuis l'API <code><a href="/fr/Add-ons/WebExtensions/API/runtime">runtime</a></code> :</p>
+Depuis l'API [`runtime`](/fr/Add-ons/WebExtensions/API/runtime) :
-<ul>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/runtime#connect()">connect()</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/runtime#getManifest()">getManifest()</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/runtime#getURL()">getURL()</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/runtime#onConnect">onConnect</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/runtime#onMessage">onMessage</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/runtime#sendMessage()">sendMessage()</a></code></li>
-</ul>
+- [`connect()`](</fr/Add-ons/WebExtensions/API/runtime#connect()>)
+- [`getManifest()`](</fr/Add-ons/WebExtensions/API/runtime#getManifest()>)
+- [`getURL()`](</fr/Add-ons/WebExtensions/API/runtime#getURL()>)
+- [`onConnect`](/fr/Add-ons/WebExtensions/API/runtime#onConnect)
+- [`onMessage`](/fr/Add-ons/WebExtensions/API/runtime#onMessage)
+- [`sendMessage()`](</fr/Add-ons/WebExtensions/API/runtime#sendMessage()>)
-<p>Depuis l'API <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/i18n">i18n</a></code> :</p>
+Depuis l'API [`i18n`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/i18n) :
-<ul>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/i18n/getMessagee">getMessage()</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/i18n/getAcceptLanguages">getAcceptLanguages()</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/i18n/getUILanguage">getUILanguage()</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/i18n/detectLanguage">detectLanguage()</a></code></li>
-</ul>
+- [`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)
-<p>A partir des <code><a href="/fr/Add-ons/WebExtensions/API/menus">menus</a></code>:</p>
+A partir des [`menus`](/fr/Add-ons/WebExtensions/API/menus):
-<ul>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/menus/getTargetElement">getTargetElement</a></code></li>
-</ul>
+- [`getTargetElement`](/fr/Add-ons/WebExtensions/API/menus/getTargetElement)
-<p>L'ensemble des propriétés et méthodes de l'API <code><a href="/fr/Add-ons/WebExtensions/API/storage">storage</a></code>.</p>
+L'ensemble des propriétés et méthodes de l'API [`storage`](/fr/Add-ons/WebExtensions/API/storage).
-<h3 id="XHR_et_Fetch">XHR et Fetch</h3>
+### XHR et Fetch
-<p>Les scripts de contenu peuvent effectuer des requêtes en utilisant les API classiques  <code><a href="/fr/docs/Web/API/XMLHttpRequest">window.XMLHttpRequest</a></code> et <code><a href="/fr/docs/Web/API/Fetch_API">window.fetch()</a></code>.</p>
+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).
-<p>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é <code><a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code> dans le fichier <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a></code>, ses scripts de contenu auront également accès à ce domaine.</p>
+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.
-<p>Ceci est accompli en exposant des instances XHR et <em>fetch</em> privilégiées dans le script de contenu. Cela a pour effet secondaire de ne pas définir les en-têtes <code><a href="/fr/docs/Web/HTTP/Headers/Origin">Origin</a></code> et <code><a href="/fr/docs/Web/HTTP/Headers/Referer">Referer</a></code> 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 <code>content.XMLHttpRequest</code> et <code>content.fetch()</code>. 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.</p>
+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.
-<h2 id="Communication_avec_les_scripts_darrière-plan">Communication avec les scripts d'arrière-plan</h2>
+## Communication avec les scripts d'arrière-plan
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<h3 id="Un_message_à_la_fois">Un message à la fois</h3>
+### Un message à la fois
-<p>Pour envoyer un message à la fois, vous pouvez utiliser les API suivantes :</p>
+Pour envoyer un message à la fois, vous pouvez utiliser les API suivantes :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="row"></th>
- <th scope="col">Dans le script de contenu</th>
- <th scope="col">Dans les scripts d'arrière-plan</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">Envoyer un message</th>
- <td><code><a href="/fr/Add-ons/WebExtensions/API/runtime#sendMessage()">browser.runtime.sendMessage()</a></code></td>
- <td><code><a href="/fr/Add-ons/WebExtensions/API/Tabs/sendMessage">browser.tabs.sendMessage()</a></code></td>
- </tr>
- <tr>
- <th scope="row">Recevoir un message</th>
- <td><code><a href="/fr/Add-ons/WebExtensions/API/runtime/onMessage">browser.runtime.onMessage</a></code></td>
- <td><code><a href="/fr/Add-ons/WebExtensions/API/runtime#onMessage">browser.runtime.onMessage</a></code></td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="row"></th>
+ <th scope="col">Dans le script de contenu</th>
+ <th scope="col">Dans les scripts d'arrière-plan</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th scope="row">Envoyer un message</th>
+ <td>
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/API/runtime#sendMessage()"
+ >browser.runtime.sendMessage()</a
+ ></code
+ >
+ </td>
+ <td>
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/API/Tabs/sendMessage"
+ >browser.tabs.sendMessage()</a
+ ></code
+ >
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Recevoir un message</th>
+ <td>
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/API/runtime/onMessage"
+ >browser.runtime.onMessage</a
+ ></code
+ >
+ </td>
+ <td>
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/API/runtime#onMessage"
+ >browser.runtime.onMessage</a
+ ></code
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>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 :</p>
+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 :
-<pre class="brush: js">// 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});
-}</pre>
+}
+```
-<p>Le script d'arrière-plan écoute les messages et affiche une notification en utilisant l'API <code><a href="/fr/Add-ons/WebExtensions/API/notifications">notification</a></code> :</p>
+Le script d'arrière-plan écoute les messages et affiche une notification en utilisant l'API [`notification`](/fr/Add-ons/WebExtensions/API/notifications) :
-<pre class="brush: js">// background-script.js
+```js
+// background-script.js
browser.runtime.onMessage.addListener(notify);
@@ -250,37 +265,34 @@ function notify(message) {
"message": message.url
});
}
-</pre>
+```
-<p>Ce code d'exemple est légèrement dérivé de l'exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n">notify-link-clicks-i18n</a> sur GitHub.</p>
+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.
-<h3 id="Les_messages_en_flux_continu">Les messages en flux continu</h3>
+### Les messages en flux continu
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>De chaque côté (contenu d'une part, arrière-plan d'autre part), les scripts possèdent un objet <code><a href="/fr/Add-ons/WebExtensions/API/runtime/Port">runtime.Port</a></code> dont ils peuvent se servir pour échanger des messages.</p>
+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.
-<p>Pour créer la connexion :</p>
+Pour créer la connexion :
-<ul>
- <li>L'un des côtés se tient à l'écoute des connexions avec <a href="/fr/Add-ons/WebExtensions/API/runtime/onConnect"> </a><code><a href="/fr/Add-ons/WebExtensions/API/runtime/onConnect">runtime.onConnect</a></code>.</li>
- <li>L'autre côté appelle <code><a href="/fr/Add-ons/WebExtensions/API/tabs/connect">tabs.connect()</a></code> (pour se connecter à un script de contenu) ou <code><a href="/fr/Add-ons/WebExtensions/API/runtime/connect">runtime.connect()</a></code> (pour se connecter à un script d'arrière plan). Ces deux méthodes renvoient un objet <code><a href="/fr/Add-ons/WebExtensions/API/runtime/Port">runtime.Port</a></code>.</li>
- <li>Le gestionnaire d'évènement <code><a href="/fr/Add-ons/WebExtensions/API/runtime/onConnect">runtime.onConnect</a></code> reçoit alors en argument un objet <code><a href="/fr/Add-ons/WebExtensions/API/runtime/Port">runtime.Port</a></code> qui lui est propre.</li>
-</ul>
+- 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.
-<p>Une fois que chaque côté possède son propre port, ils peuvent échanger en utilisant <code>runtime.Port.postMessage()</code> pour envoyer des message et <code>runtime.Port.onMessage</code> pour en recevoir.</p>
+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.
-<p>Par exemple, dès le chargement, ce script de contenu :</p>
+Par exemple, dès le chargement, ce script de contenu :
-<ul>
- <li>se connecte au script d'arrière plan et stocke l'objet <code>Port</code> dans une variable <code>myPort</code></li>
- <li>écoute des messages sur <code>myPort</code>, et les enregistre.</li>
- <li>envoie des messages au script d'arrière plan via <code>myPort</code>, quand l'utlisateur clique sur le document.</li>
-</ul>
+- 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.
-<pre class="brush: js">// 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 !"});
-});</pre>
+});
+```
+
+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 :
-<p>Le script d'arrière plan qui correspond ·</p>
+ - 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.
-<ul>
- <li>Écoute les tentatives de connexion depuis le script de contenu.</li>
- <li>Quand il reçoit une tentative de connexion :
- <ul>
- <li>Enregistre le port dans une variable nommée <code>portFromCS</code></li>
- <li>Envoie un message au script de contenu en utilisant le port</li>
- <li>Commence à écouter les messages reçus sur le port et les enregistre.</li>
- </ul>
- </li>
- <li>Envoie des messages au script de contenu en utilisant <code>portFromCS</code>, quand l'utilisateur clique sur l'action navigateur de l'add-on</li>
-</ul>
+- Envoie des messages au script de contenu en utilisant `portFromCS`, quand l'utilisateur clique sur l'action navigateur de l'add-on
-<pre class="brush: js">// 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 !"});
});
-</pre>
+```
-<h4 id="Scripts_de_contenu_multiples">Scripts de contenu multiples</h4>
+#### Scripts de contenu multiples
-<p>Si plusieurs scripts de contenu communiquent en même temps, vous pouvez stocker chaque connexion dans un tableau.</p>
+Si plusieurs scripts de contenu communiquent en même temps, vous pouvez stocker chaque connexion dans un tableau.
-<ul>
-</ul>
-
-<pre class="brush: js">// 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 =&gt; {
+ ports.forEach(p => {
p.postMessage({greeting: "clic sur le bouton !"})
})
-});</pre>
-
-<ul>
-</ul>
+});
+```
-<h2 id="Communiquer_avec_la_page_web">Communiquer avec la page web</h2>
+## Communiquer avec la page web
-<p>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 <code><a href="/fr/docs/Web/API/Window/postMessage">window.postMessage</a></code> et <code><a href="/fr/docs/Web/API/EventTarget/addEventListener">window.addEventListener</a></code> du DOM.</p>
+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.
-<p>Par exemple :</p>
+Par exemple :
-<pre class="brush: js">// 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"
- }, "*");</pre>
+ }, "*");
+```
-<pre class="brush: js">// content-script.js
+```js
+// content-script.js
window.addEventListener("message", function(event) {
- if (event.source == window &amp;&amp;
- event.data &amp;&amp;
+ 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 + "\"");
}
-});</pre>
-
-<p>Pour un exemple complet et fonctionnel, <a href="https://mdn.github.io/webextensions-examples/content-script-page-script-messaging.html">visitez la page de démo sur Github</a> et suivez les instructions.</p>
-
-<div class="warning">
-<p><strong>Attention :</strong> 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.</p>
-
-<p>Pour donner un exemple trivial, supposons que le code du script de contenu qui reçoit le message ressemble à ceci :</p>
-
-<pre class="brush: js">// content-script.js
+});
+```
-window.addEventListener("message", function(event) {
- if (event.source == window &amp;&amp;
- event.data.direction &amp;&amp;
- event.data.direction == "from-page-script") {
- eval(event.data.message);
- }
-});</pre>
+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.
-<p>Maintenant, le script de page peut exécuter n'importe quel code avec tous les privilèges du script de contenu.</p>
-</div>
+> **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.
-<h2 id="Utilisation_de_eval_dans_les_scripts_de_contenu">Utilisation de <code>eval()</code> dans les scripts de contenu</h2>
+## Utilisation de `eval()` dans les scripts de contenu
-<p>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.</p>
+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.
-<p>Dans Firefox :</p>
+Dans Firefox :
-<ul>
- <li>Si vous appelez <code>eval()</code>, le code est exécuté dans le contexte du <strong>script de contenu</strong></li>
- <li>Si vous appelez <code>window.eval()</code>, le code est exécute dans le contexte de la <strong>page</strong>.</li>
-</ul>
+- 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**.
-<p>Par exemple, considérons un script de contenu comme ceci  :</p>
+Par exemple, considérons un script de contenu comme ceci  :
-<pre class="brush: js">// 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"
-}, "*");</pre>
+}, "*");
+```
-<p>Ce code crée simplement des variables x et y en utilisant <code>window.eval()</code> et <code>eval()</code> puis enregistre leurs valeurs et envoie un message à la page.</p>
+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.
-<p>À la réception du message, le script de page enregistre les mêmes variables :</p>
+À la réception du message, le script de page enregistre les mêmes variables :
-<pre class="brush: js">window.addEventListener("message", function(event) {
- if (event.source === window &amp;&amp; event.data &amp;&amp; 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}`);
}
-});</pre>
-
-<p>Dans Chrome, cela produira le résultat suivant :</p>
-
-<pre>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</pre>
-
-<p>Dans Firefox, on aura le résultat suivant :</p>
-
-<pre>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</pre>
-
-<p>La même chose s'applique pour <code><a href="/fr/docs/Web/API/WindowTimers/setTimeout">setTimeout()</a></code>, <code><a href="/fr/docs/Web/API/WindowTimers/setInterval">setInterval()</a></code>, et <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Function">Function()</a></code>.</p>
-
-<div class="warning">
-<p><strong>Attention :</strong> 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 :</p>
-
-<pre class="brush: js">// page.js redéfinit console.log
-
-var original = console.log;
-
-console.log = function() {
-  original(true);
-}
-</pre>
-
-<pre class="brush: js">// content-script.js appelle la version redéfinie
-
-window.eval('console.log(false)');
-</pre>
-</div>
+});
+```
+
+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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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()")}}.</p>
-<p>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.</p>
+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()")}}.
-<p>La <a href="/fr/docs/Web/HTTP/CSP">Politique de sécurité de contenu</a> (ou <em>Content Security Policy</em> 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()")}}.</p>
+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.
-<p>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 :</p>
+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()")}}.
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
+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 :
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta charset="utf-8"&gt;
- &lt;/head&gt;
- &lt;body&gt;
+```html
+<!DOCTYPE html>
- &lt;!--Du contenu HTML--&gt;
+<html>
+ <head>
+ <meta charset="utf-8">
+ </head>
+ <body>
- &lt;!--
+ <!--Du contenu HTML-->
+
+ <!--
On intègre ici un script provenant d'une source tierce
Voir aussi https://developer.mozilla.org/fr/docs/Web/Security/Subresource_Integrity.
- --&gt;
- &lt;script&gt;
+ -->
+ <script>
src="https://code.jquery.com/jquery-2.2.4.js"
integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI="
- crossorigin="anonymous"&gt;
- &lt;/script&gt;
+ crossorigin="anonymous">
+ </script>
- &lt;!-- On ajoute le script pour la pop-up--&gt;
- &lt;script src="popup.js"&gt;&lt;/script&gt;
- &lt;/body&gt;
+ <!-- On ajoute le script pour la pop-up-->
+ <script src="popup.js"></script>
+ </body>
-&lt;/html&gt;</pre>
+</html>
+```
-<p>À 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 :</p>
+À 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 :
-<ul>
- <li>Une politique de sécurité du contenu par défaut assez stricte est appliquée aux extensions. Voir la <a href="#Default">politique de sécurité du contenu par défaut</a>.</li>
- <li>L'auteur de l'extension peut modifier la stratégie par défaut à l'aide de la clé <code>content_security_policy</code> du fichier de manifeste (<code>manifest.json</code>) mais il existe certaines restrictions sur les règles autorisées. Voir <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_security_policy">content_security_policy</a></code>.</li>
-</ul>
+- 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).
-<h2 id="Politique_de_sécurité_du_contenu_par_défaut">Politique de sécurité du contenu par défaut</h2>
+## Politique de sécurité du contenu par défaut
-<p>La politique de sécurité du contenu par défaut pour les extensions est la suivante :</p>
+La politique de sécurité du contenu par défaut pour les extensions est la suivante :
-<pre>"script-src 'self'; object-src 'self';"</pre>
+ "script-src 'self'; object-src 'self';"
-<p>Celle-ci sera appliquée à toute extension qui n'a pas explicitement défini sa propre politique via la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_security_policy">content_security_policy</a></code> du manifeste. Cela a les conséquences suivantes :</p>
+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 :
-<ul>
- <li><a href="#script_ressources">Seules les ressources <code>&lt;script&gt;</code> et <code>&lt;object&gt;</code> locales à l'extension peuvent être chargées</a></li>
- <li><a href="#eval">L'extension n'est pas autorisée à évaluer les chaines en JavaScript.</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/Content_Security_Policy#Inline_JavaScript">Le code JavaScript « <em>inline</em> » (écrit au sein du document HTML) n'est pas éxécuté.</a></li>
-</ul>
+- [Seules les ressources `<script>` et `<object>` locales à l'extension peuvent être chargées](#script_ressources)
+- [L'extension n'est pas autorisée à évaluer les chaines en JavaScript.](#eval)
+- [Le code JavaScript « _inline_ » (écrit au sein du document HTML) n'est pas éxécuté.](/fr/Add-ons/WebExtensions/Content_Security_Policy#Inline_JavaScript)
-<h3 id="Emplacement_des_ressources_pour_&lt;script>_et_&lt;objet>">Emplacement des ressources pour <code>&lt;script&gt;</code> et <code>&lt;objet&gt;</code></h3>
+### Emplacement des ressources pour `<script>` et `<objet>`
-<p>Avec la CSP par défaut, les éléments {{HTMLElement("script")}} et {{HTMLElement("object")}} peuvent uniquement charger des ressources qui sont locales à l'extension. Aussi, si on considère cette ligne dans un document HTML d'une extension :</p>
+Avec la CSP par défaut, les éléments {{HTMLElement("script")}} et {{HTMLElement("object")}} peuvent uniquement charger des ressources qui sont locales à l'extension. Aussi, si on considère cette ligne dans un document HTML d'une extension :
-<pre class="brush: html"> &lt;script src="https://code.jquery.com/jquery-2.2.4.js"&gt;&lt;/script&gt;</pre>
+```html
+ <script src="https://code.jquery.com/jquery-2.2.4.js"></script>
+```
-<p>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 :</p>
+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 :
-<ul>
- <li>Téléchargez la ressource cible puis empaquetez-la dans votre extension et faites ensuite référence à cette version locale.</li>
- <li>Utilisez la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_security_policy">content_security_policy</a></code> afin d'autoriser l'origine distante dont vous avez besoin.</li>
-</ul>
+- 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.
-<h3 id="eval_et_autres_équivalents"><code>eval()</code> et autres équivalents</h3>
+### `eval()` et autres équivalents
-<p>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 :</p>
+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 :
-<pre class="brush: js">eval("console.log('un résultat');");</pre>
+```js
+eval("console.log('un résultat');");
+```
-<pre class="brush: js">window.setTimeout("alert('Coucou monde!');", 500);</pre>
+```js
+window.setTimeout("alert('Coucou monde!');", 500);
+```
-<pre class="brush: js">var f = new Function("console.log('toto');");</pre>
+```js
+var f = new Function("console.log('toto');");
+```
-<h3 id="JavaScript_écrit_dans_le_HTML_inline">JavaScript écrit dans le HTML (<em>inline</em>)</h3>
+### JavaScript écrit dans le HTML (_inline_)
-<p>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 <code>&lt;script&gt;</code> ainsi que les gestionnaires d'évènement intégrés dans les attributs. Autrement dit, les formes suivantes ne sont pas autorisées :</p>
+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 :
-<pre class="brush: html">&lt;script&gt;console.log("toto");&lt;/script&gt;</pre>
+```html
+<script>console.log("toto");</script>
+```
-<pre class="brush: html">&lt;div onclick="console.log('clic')"&gt;Cliquez sur ce texte !&lt;/div&gt;</pre>
+```html
+<div onclick="console.log('clic')">Cliquez sur ce texte !</div>
+```
-<p>Si votre document HTML utilise une forme comme <code>&lt;body onload="main()"&gt;</code>, privilégiez plutôt l'ajout d'un gestionnaire d'évènement sur <code><a href="/fr/docs/Web/Events/DOMContentLoaded">DOMContentLoaded</a></code> ou <code><a href="/fr/docs/Web/Events/load">load</a></code>.</p>
+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`](/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)
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<div class="note">
-<p><strong>Note :</strong> 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.</p>
+> **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).
-<p>Si vous utilisez Firefox 50 ou version ultérieure, consultez l'<a href="/fr/Add-ons/WebExtensions/Debugging">article principal sur les extensions de débogage</a>.</p>
-</div>
+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).
-<p>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 <a href="/fr/Add-ons/Add-on_Debugger">débogueur de module complémentaire</a>.</p>
+## Un exemple simple : notify-link-clicks-i18n
-<ul>
-</ul>
+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).
-<h2 id="Un_exemple_simple_notify-link-clicks-i18n">Un exemple simple : notify-link-clicks-i18n</h2>
+L'extension se compose de :
-<p>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 <a href="https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n">dépôt d'exemples d'extensions sur GitHub</a>.</p>
+- un script de fond, "background-script.js"
+- un script de contenu, "content-script.js", qui est injecté dans toutes les pages.
-<p>L'extension se compose de :</p>
+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.
-<ul>
- <li>un script de fond, "background-script.js"</li>
- <li>un script de contenu, "content-script.js", qui est injecté dans toutes les pages.</li>
-</ul>
+Lorsque le script d'arrière-plan reçoit le message, il affiche une notification contenant la href.
-<p>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.</p>
+Voici "content-script.js":
-<p>Lorsque le script d'arrière-plan reçoit le message, il affiche une notification contenant la href.</p>
-
-<p>Voici "content-script.js":</p>
-
-<pre class="brush: 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) &amp;&amp; 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);
-</pre>
+```
-<p>Voici "background-script.js":</p>
+Voici "background-script.js":
-<pre class="brush: 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);
-</pre>
-
-<p>Si vous voulez suivre, clonez le référentiel <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a>, puis <a href="/fr/Add-ons/WebExtensions/Packaging_and_installation">package et installez</a> "notify-link-clicks-i18n".</p>
+```
-<h2 id="La_boite_à_outils_du_navigateur">La boite à outils du navigateur</h2>
+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".
-<p>Nous utiliserons la boîte à outils du navigateur pour déboguer l'extension.</p>
+## La boite à outils du navigateur
-<h3 id="Conditions_préalables">Conditions préalables</h3>
+Nous utiliserons la boîte à outils du navigateur pour déboguer l'extension.
-<p>Avant de pouvoir utiliser la boîte à outils du navigateur, vous devez être configuré.</p>
+### Conditions préalables
-<ul>
- <li>ouvrir les outils de développement Firefox</li>
- <li>ouvrir les <a href="/fr/docs/Tools/Settings">paramètres</a> des outils</li>
- <li>sous Paramètres avancés, assurez-vous que les deux paramètres suivants sont vérifiés :
- <ul>
- <li><em>Activer le chrome du navigateur et les boîtes à outils de débogage supplémentaires</em></li>
- <li><em>Activer le débogage à distance</em></li>
- </ul>
- </li>
-</ul>
+Avant de pouvoir utiliser la boîte à outils du navigateur, vous devez être configuré.
-<p>{{EmbedYouTube("LJAM2vXJ790")}}</p>
+- 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 :
-<h3 id="Ouverture_de_la_boîte_à_outils_du_navigateur">Ouverture de la boîte à outils du navigateur</h3>
+ - _Activer le chrome du navigateur et les boîtes à outils de débogage supplémentaires_
+ - _Activer le débogage à distance_
-<p>Ensuite, nous ouvrirons la boîte à outils du navigateur..</p>
+{{EmbedYouTube("LJAM2vXJ790")}}
-<ul>
- <li>ouvrez le menu Web Developer dans Firefox, et sélectionnez "Browser Toolbox" (note : <em>pas</em> "Browser Console").</li>
- <li>une boîte de dialogue d'avertissement s'affiche : cliquez sur OK.</li>
-</ul>
+### Ouverture de la boîte à outils du navigateur
-<p>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 :</p>
+Ensuite, nous ouvrirons la boîte à outils du navigateur..
-<p>{{EmbedYouTube("fZ492zAAy3o")}}</p>
+- 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.
-<p>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 :</p>
+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 :
-<p><img alt="" src="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".</p>
+{{EmbedYouTube("fZ492zAAy3o")}}
-<h3 id="Affichage_de_la_sortie_du_journal">Affichage de la sortie du journal</h3>
+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 :
-<p>Nous pouvons utiliser la console pour voir la sortie des journaux : Cela inclus les messages de :</p>
+![](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".
-<ul>
- <li>scripts d'arrière plan</li>
- <li>scripts s'exécutant dans des popups</li>
- <li>les scripts de contenu.</li>
-</ul>
+### Affichage de la sortie du journal
-<p>Il inclut les messages de vos journaux de code à l'aide de l'<a href="/fr/docs/Web/API/Console">API de console</a> que les messages d'erreur enregistrés par le moteur JavaScript lors de l'exécution de votre code.</p>
+Nous pouvons utiliser la console pour voir la sortie des journaux : Cela inclus les messages de :
-<p>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 :</p>
+- scripts d'arrière plan
+- scripts s'exécutant dans des popups
+- les scripts de contenu.
-<p>{{EmbedYouTube("Qpx0n8gP3Qw")}}</p>
+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.
-<p>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  <a href="/fr/docs/Tools/Web_Console/Console_messages#Filtering_and_searching">comment filtrer les messages de journal</a> pour obtenir de l'aide à ce sujet.</p>
+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 :
-<h3 id="Débogage_JavaScript">Débogage JavaScript</h3>
+{{EmbedYouTube("Qpx0n8gP3Qw")}}
-<p>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.</p>
+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.
-<p>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 <code><a href="/fr/docs/Web/JavaScript/Reference/Statements/debugger">debogueur</a></code> ; instruction au début du script.</p>
+### Débogage JavaScript
-<p>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 <a href="/fr/docs/Tools/Debugger/How_to/Search_and_filter">cliquez dans la boite de recherche et tapez le nom de la source</a>.</p>
+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.
-<p>Une fois que vous avez trouvé votre source, vous pouvez définir des points d'arrêt, passer en revue le code et  faire <a href="/fr/docs/Tools/Debugger">tout ce que vous vous attendez à pouvoir faire dans un débogueur</a>.</p>
+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.
-<p>{{EmbedYouTube("3edeJiG38ZA")}}</p>
+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).
-<h3 id="Interpréteur_en_ligne_de_commande_JavaScript">Interpréteur en ligne de commande JavaScript</h3>
+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).
-<p>La console comprend un <a href="/fr/docs/Tools/Web_Console/The_command_line_interpreter">interpréteur de ligne de commande</a> 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.</p>
+{{EmbedYouTube("3edeJiG38ZA")}}
-<p>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.</p>
+### Interpréteur en ligne de commande JavaScript
-<p>Cette fonction est particulièrement utile en combinaison avec une autre fonction : la <a href="/fr/docs/Tools/Web_Console/Split_console">console split</a>. 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) :</p>
+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.
-<p>{{EmbedYouTube("xprf58qOtLY")}}</p>
+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.
-<h3 id="Débogage_des_scripts_de_contenus">Débogage des scripts de contenus</h3>
+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) :
-<p>Une grande limitation de la Browser Toolbox est la suivante : si vous développez avec <a href="/fr/docs/Mozilla/Firefox/Multiprocess_Firefox">firefox multiprocessus</a>, vous ne pouvez pas utiliser la Toolbox du navigateur pour attacher le débogueur JavaScript aux scripts de contenu.</p>
+{{EmbedYouTube("xprf58qOtLY")}}
-<p>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.</p>
+### Débogage des scripts de contenus
-<p>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..</p>
+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.
-<p>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 <code><a href="/fr/docs/Web/JavaScript/Reference/Statements/debugger">debuggueur</a></code> ; instruction au début de votre script.</p>
+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.
-<div class="note">
-<p><strong>Note :</strong> vous n'avez besoin et ne pouvez accéder à la Browser Content Toolbox que si vous développez contre Firefox multiprocessus.</p>
-</div>
+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..
-<div class="warning">
-<p><strong>Attention :</strong> 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 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1236892">Bug 1236892</a> devrait régler ce problème..</p>
-</div>
+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.
-<p>{{EmbedYouTube("xAt3Q0PgJP4")}}</p>
+> **Note :** vous n'avez besoin et ne pouvez accéder à la Browser Content Toolbox que si vous développez contre Firefox multiprocessus.
-<h3 id="Débogage_des_fenêtres_contextuelles">Débogage des fenêtres contextuelles</h3>
+> **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..
-<p>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 :</p>
+{{EmbedYouTube("xAt3Q0PgJP4")}}
-<ul>
- <li>désactiver l'autohide pour les panneaux</li>
- <li>ouvrir la fenêtre contextuelle</li>
- <li>sélectionner le document contenant le popup</li>
-</ul>
+### Débogage des fenêtres contextuelles
-<p>{{EmbedYouTube("EEU4NeAS1s4")}}</p>
+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 :
-<h4 id="Désactiver_l'autohide">Désactiver l'autohide</h4>
+- désactiver l'autohide pour les panneaux
+- ouvrir la fenêtre contextuelle
+- sélectionner le document contenant le popup
-<p>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 :</p>
+{{EmbedYouTube("EEU4NeAS1s4")}}
-<p><img alt="" src="disable-autohide.png">Maintenant, lorsque vous ouvrez un panneau dans Firefox, il restera ouvert jusqu'à ce que vous appuyiez sur Escape.</p>
+#### Désactiver l'autohide
-<div class="note">
-<p><strong>Note :</strong> Que ce changement s'applique aux <a href="/fr/docs/Tools/Browser_Toolbox#Debugging_popups">fenêtre contextuelles intégrés au navigateur</a>, comme le menu Hamburger, ainsi qu'aux fenêtres contextuelles d'extension.</p>
+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 :
-<p>Notez également que le changement est persistant, même si le navigateur redémarre. Nous travaillons à résoudre ce problème dans le <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1251658">bug 1251658</a>, 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.</p>
+![](disable-autohide.png)Maintenant, lorsque vous ouvrez un panneau dans Firefox, il restera ouvert jusqu'à ce que vous appuyiez sur Escape.
-<p>En interne, ce bouton bascule juste la préférence  <code>ui.popup.disable_autohide</code> que vous pouvez basculer manuellement en utilisant using about:config.</p>
-</div>
+> **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.
-<h4 id="Ouvrir_la_fenêtre_contextuelle">Ouvrir la fenêtre contextuelle</h4>
+#### Ouvrir la fenêtre contextuelle
-<p>Ensuite, ouvrez le popup. Vous pouvez ensuite revenir à la boîte à outils du navigateur, et le panneau restera ouvert.</p>
+Ensuite, ouvrez le popup. Vous pouvez ensuite revenir à la boîte à outils du navigateur, et le panneau restera ouvert.
-<h4 id="Sélectionner_le_cadre_de_la_fenêtre_popup">Sélectionner le cadre de la fenêtre popup</h4>
+#### Sélectionner le cadre de la fenêtre popup
-<p>Le popup est chargé dans son propre cadre. Ensuite, sélectionnez le document de votre popup à l'aide du <a href="/fr/docs/Tools/Browser_Toolbox#Targeting_a_document">bouton sélection de cadre </a>boîte à outils du navigateur :<img alt="" src="frame-selection.png">Le document s'appellera quelque chose comme</p>
+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
-<pre>moz-extension://&lt;some-uuid&gt;/path/to/your-popup.html</pre>
+ moz-extension://<some-uuid>/path/to/your-popup.html
-<p>{{EmbedYouTube("/9jdHDCKIN-U")}}</p>
+{{EmbedYouTube("/9jdHDCKIN-U")}}
-<p>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.</p>
+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.
-<h2 id="Qu'en_est-il_de_l'Add-on_Deboguer">Qu'en est-il de l'Add-on Deboguer ?</h2>
+## Qu'en est-il de l'Add-on Deboguer ?
-<p>Le <a href="/fr/Add-ons/Add-on_Debugger">deboguer des modules complémentaires</a> est destiné à être l'évanir du débogage des add-on dans Firefox.</p>
+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.
-<p>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.</p>
+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
---
-<p>{{AddonSidebar}}{{Draft}}</p>
+{{AddonSidebar}}{{Draft}}
-<p>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.</p>
+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.
-<h2 id="Différences_des_API">Différences des API</h2>
+## Différences des API
-<div class="note">
-<p><strong>Note :</strong> Voir la documentation de l'API WebExtension de <a href="https://thunderbird-webextensions.readthedocs.io/en/latest/">ReadTheDocs</a> pour Thunderbird.</p>
-</div>
+> **Note :** Voir la documentation de l'API WebExtension de [ReadTheDocs](https://thunderbird-webextensions.readthedocs.io/en/latest/) pour Thunderbird.
-<p>Étant tous deux basés sur Gecko, Thunderbird supporte plusieurs des APIs que Firefox supporte, avec quelques différences, voir la <a href="/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json">compatibilité du navigateur pour manifest.json</a> et le <a href="/fr/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs">support du navigateur pour les APIs JavaScript</a> pour les détails.</p>
+É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.
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li><a href="https://thunderbird-webextensions.readthedocs.io/en/latest/">Thunderbird specific WebExtension API documentation</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs">Browser support for JavaScript APIs</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json">Browser compatibility for manifest.json</a></li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>L'API d'extension de navigateur est encore un <a href="https://browserext.github.io/browserext/">standard emergent</a>. 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</p>
+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
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<h2 id="Espace_de_nommage">Espace de nommage</h2>
+## Espace de nommage
-<p>Vous faites référence à toutes les fonctions de l'API des extensions en utilisant un espace de noms, par exemple, <code>browser.alarms.create({delayInMinutes});</code> créerait une alarme dans Firefox qui se déclenche après le temps spécifié dans <code>delayInMinutes</code>.</p>
+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`.
-<p>Deux espaces de noms API sont utilisés :</p>
+Deux espaces de noms API sont utilisés :
-<ul>
- <li>
- <p><code>chrome</code> utilisé dans Chrome et Opera.</p>
- </li>
- <li>
- <p><code>browser</code> utilisé dans Firefox et Edge.</p>
- </li>
-</ul>
+- `chrome` utilisé dans Chrome et Opera.
+- `browser` utilisé dans Firefox et Edge.
-<h2 id="Traitement_asynchrone_des_événements">Traitement asynchrone des événements</h2>
+## Traitement asynchrone des événements
-<p>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</p>
+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
-<p>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 <a href="https://medium.com/codebuddies/getting-to-know-asynchronous-javascript-callbacks-promises-and-async-await-17e0673281ee">Apprendre à connaître Javascript Asynchrone : Callbacks, Promises et Async/Await</a> ou la page des <a href="/fr/docs/Web/JavaScript/Guide/Utiliser_les_promesses">promises d'utilisation</a> de MDN.</p>
+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.
-<p>Firefox est le seul navigateur majeur à avoir implémenté des promises pour les extensions API. Tous les autres navigateurs utilisent des callbacks.</p>
+Firefox est le seul navigateur majeur à avoir implémenté des promises pour les extensions API. Tous les autres navigateurs utilisent des callbacks.
-<h2 id="Couverture_API">Couverture API</h2>
+## Couverture API
-<p>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 :</p>
+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 :
-<ul>
- <li>
- <p>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 <code><a href="/fra/Add-ons/WebExtensions/API/privacy">vide privée</a></code>.</p>
- </li>
- <li>
- <p>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 <code><a href="/fr/Add-ons/WebExtensions/API/notifications">notification</a></code>  <a href="/fr/Add-ons/WebExtensions/API/notifications/onButtonClicked">onButtonClicked</a> alors que Firefox est le seul navigateur qui supporte <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/notifications/onShown">onShown</a>.</p>
- </li>
- <li>
- <p>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 <a href="/fr/Add-ons/WebExtensions/API/contextualIdentities">contextualIdentities</a>.</p>
- </li>
-</ul>
+- 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).
-<h2 id="Touches_Manifest">Touches Manifest</h2>
+## Touches Manifest
-<p>Les différences entre les clés <a href="/fr/Add-ons/WebExtensions/manifest.json">clés manifest.json</a> prises en charge par les navigateurs se répartissent en deux grandes catégories :</p>
+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 :
-<ul>
- <li>
- <p>Attributs d'information sur les extensions. Par exemple, au moment d'écrire ces lignes, Firefox et Opera incluent la clé de <a href="/fr/Add-ons/WebExtensions/manifest.json/developer">développent</a> permettant d'ajouter des détails sur le développeur de l'extension, ainsi que sur l'auteur, à enregistrer.</p>
- </li>
- <li>
- <p>Fonctions d'extension. Par exemple, au moment d'écrire ces lignes, Edge ne prenait pas en charge les clés de <a href="/fr/Add-ons/WebExtensions/manifest.json/commands">commande</a> qui permettent de définir des raccourcis clavier pour une extension.</p>
- </li>
-</ul>
+- 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.
-<h2 id="Plus_d'information">Plus d'information</h2>
+## Plus d'information
-<p>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 :</p>
+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 :
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/Chrome_incompatibilities">Incompatibilités Chrome</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs">Prise en charge des API Javascript par le navigateur</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json">Compatibilité du navigateur pour manifest.json</a></li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Pour illustrer la manière d'utiliser les API WebExtension, nous disposons d'un répertoire d'exemples d'extensions sur le site <a href="https://github.com/mdn/webextensions-examples">https://github.com/mdn/webextensions-examples</a>. Cet article décrit comment exécuter ces exemples et énumère les exemples ainsi que les API WebExtension qu'ils illustrent.</p>
+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.
-<p>Ces exemples fonctionnent dans Firefox Nightly : la plupart travaillent dans les versions antérieures de Firefox, mais vérifiez la version minimum <a href="/fr/Add-ons/WebExtensions/manifest.json/applications">strict_min_version</a> dans le fichier manifest.json de l'extension pour en être sur.</p>
+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.
-<div class="warning">
-<p><strong>Attention :</strong> 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 <a href="https://support.mozilla.org/en-US/kb/extensions-private-browsing#w_enabling-or-disabling-extensions-in-private-windows">Extensions dans la navigation privée</a> pour plus de détails.</p>
-</div>
+> **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.
-<p>Pour essayer ces exemples, clonez ensuite le dépôt :</p>
+Pour essayer ces exemples, clonez ensuite le dépôt :
-<ol>
- <li>Charger l'extension à partir de son dossier source en utilisant la fonction <a href="/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox">Charger temporairement l'extension</a>. L'extension reste chargée jusqu'à ce que vous redémarriez Firefox.</li>
- <li>Couvrir le dossier source de l'extension en ligne de commande et utiliser le  <a href="/fr/Add-ons/WebExtensions/Getting_started_with_web-ext">web-ext</a> pour exécuter l'extension. L'extension reste chargée jusqu'à ce que vous redémarriez Firefox.</li>
- <li>Dans Firefox utilisez <strong>File</strong> &gt; <strong>Open File</strong> et trouvez l'exemple dans le dossier de  <code><a href="https://github.com/mdn/webextensions-examples/tree/master/build">build</a></code>. Le dossier <code>build</code> contient les versions construites et signées de tous les exemples. L'exemple est ainsi installé de façon permanente.</li>
-</ol>
+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.
-<div class="warning">
-<p><strong>Attention :</strong> 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.</p>
-</div>
+> **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.
-<p>Si vous souhaitez contribuer au dépôt, <a href="https://github.com/mdn/webextensions-examples/blob/master/CONTRIBUTING.md">envoyez-nous une demande</a></p>
+Si vous souhaitez contribuer au dépôt, [envoyez-nous une demande](https://github.com/mdn/webextensions-examples/blob/master/CONTRIBUTING.md)
-<p>{{WebExtAllExamples}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<div class="note">
-<p><strong>Note :</strong> Cette page décrit les API  de devtools telles qu'elles existent dans Firefox 55. Bien que les API soient basées sur les  <a href="https://developer.chrome.com/extensions/devtools">API devtools de chrome</a>, 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 <a href="/fr/Add-ons/WebExtensions/Using_the_devtools_APIs#Limitations_of_the_devtools_APIs">Limitations des APIs devtools</a>.</p>
-</div>
+> **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).
-<p>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é "<a href="/fr/Add-ons/WebExtensions/manifest.json/devtools_page">devtools_page</a>" dans <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a>:</p>
+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):
-<pre class="brush: json">"devtools_page": "devtools/devtools-page.html"</pre>
+```json
+"devtools_page": "devtools/devtools-page.html"
+```
-<p>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.</p>
+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.
-<p>Le fichier HTML définit une page spéciale dans l'extension, appelée la page devtools.</p>
+Le fichier HTML définit une page spéciale dans l'extension, appelée la page devtools.
-<h2 id="La_page_devtools">La page devtools</h2>
+## La page devtools
-<p>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.</p>
+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.
-<p>La page devtools n'a pas de DOM visible, mais peut inclure des sources JavaScript en utilisant les balises <code><a href="/fr/docs/Web/HTML/Element/script">&lt;script&gt;</a></code>. Les sources doivent être regroupées avec l'extension. Les sources ont accès à :</p>
+La page devtools n'a pas de DOM visible, mais peut inclure des sources JavaScript en utilisant les balises [`<script>`](/fr/docs/Web/HTML/Element/script). Les sources doivent être regroupées avec l'extension. Les sources ont accès à :
-<ul>
- <li>Les API DOM normales accessibles via l'objet <code><a href="/fr/docs/Web/API/Window">window</a></code> globale</li>
- <li>Les mêmes <a href="/fr/Add-ons/WebExtensions/Content_scripts#WebExtension_APIs">API WebExtension que dans les Scripts de contenu</a></li>
- <li>Les APIs devtools :
- <ul>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow">devtools.inspectedWindow</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/devtools.network">devtools.network</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels">devtools.panels</a></code></li>
- </ul>
- </li>
-</ul>
+- Les API DOM normales accessibles via l'objet [`window`](/fr/docs/Web/API/Window) globale
+- Les mêmes [API WebExtension que dans les Scripts de contenu](/fr/Add-ons/WebExtensions/Content_scripts#WebExtension_APIs)
+- Les APIs devtools :
-<p>Notez que la page devtools n'accède à aucune autre API WebExtension, et que la page d'arrière-plan n'a pas accès aux API devtools. Au lieu de cela, la page devtools et la page d'arrière-plan doivent communiquer à l'aide des API messageries d'<code>éxécution</code>. Voici un exemple :</p>
+ - [`devtools.inspectedWindow`](/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow)
+ - [`devtools.network`](/fr/Add-ons/WebExtensions/API/devtools.network)
+ - [`devtools.panels`](/fr/Add-ons/WebExtensions/API/devtools.panels)
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta charset="utf-8"&gt;
- &lt;/head&gt;
- &lt;body&gt;
- &lt;script src="devtools.js"&gt;&lt;/script&gt;
- &lt;/body&gt;
-&lt;/html&gt;</pre>
+Notez que la page devtools n'accède à aucune autre API WebExtension, et que la page d'arrière-plan n'a pas accès aux API devtools. Au lieu de cela, la page devtools et la page d'arrière-plan doivent communiquer à l'aide des API messageries d'`éxécution`. Voici un exemple :
-<p>Le fichier devtools.js contiendra le code réel créant vos extensions d'outils de développement.</p>
+```html
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ </head>
+ <body>
+ <script src="devtools.js"></script>
+ </body>
+</html>
+```
-<h2 id="Creations_de_panneaux">Creations de panneaux</h2>
+Le fichier devtools.js contiendra le code réel créant vos extensions d'outils de développement.
-<p>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".</p>
+## Creations de panneaux
-<p>A l'aide de l'API <code>devtools.panel.create()</code>, vous pouvez créer votre propre panneau dans la fenêtre devtools :</p>
+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".
-<pre class="brush: js">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) =&gt; {
+).then((newPanel) => {
newPanel.onShown.addListener(initialisePanel);
newPanel.onHidden.addListener(unInitialisePanel);
-});</pre>
+});
+```
-<p>Cela nécessite trois arguments obligatoires: le titre, l'icône et le contenu du panneau. Il renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">promesse</a></code> qui résout un objet <code>devtools.panels.ExtensionPanel</code> représentant le nouveau panneau.</p>
+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.
-<h2 id="Interaction_avec_la_fenêtre_cible">Interaction avec la fenêtre cible</h2>
+## Interaction avec la fenêtre cible
-<p>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  <code><a href="/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow">devtools.inspectedWindow</a></code>.</p>
+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).
-<h3 id="Code_d'exécution_dans_la_fenêtre_cible">Code d'exécution dans la fenêtre cible</h3>
+### Code d'exécution dans la fenêtre cible
-<p>la fonction <code><a href="/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/eval">devtools.inspectedWindow.eval()</a></code> fournit une façon d'exécuter le code dans la fenêtre inspectée.</p>
+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.
-<p>C'est un peu comme utiliser {{WebExtAPIRef("tabs.executeScript()")}}  pour injecter un script de contenu, mais avec une différence importante :</p>
+C'est un peu comme utiliser {{WebExtAPIRef("tabs.executeScript()")}}  pour injecter un script de contenu, mais avec une différence importante :
-<ul>
- <li>Contrairement aux scripts de contenu, les scripts chargés à partir de <code>devtools.inspectedWindow.eval()</code><strong> </strong><strong>n'obtiennent pas</strong> <a href="/fr/Add-ons/WebExtensions/Content_scripts#DOM_access">une "vue nette du DOM" </a>: c'est-à-dire qu'ils peuvent voir des modifications apportées à la page par les scripts de page.</li>
-</ul>
+- 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.
-<div class="note">
-<p><strong>Note :</strong> 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.</p>
-</div>
+> **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.
-<p>Les scripts chargés à l'aide de <code>devtools.inspectedWindow.eval()</code> ne voient pas non plus de variables JavaScript définies par les scripts de contenu.</p>
+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.
-<h3 id="Travailler_avec_les_scripts_de_contenus">Travailler avec les scripts de contenus</h3>
+### Travailler avec les scripts de contenus
-<p>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 <code><a href="/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/tabId">devtools.inspectedWindow.tabId</a></code>  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()")}}:</p>
+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()")}}:
-<pre class="brush: js">// devtools-panel.js
+```js
+// devtools-panel.js
const scriptToAttach = "document.body.innerHTML = 'Hi from the devtools';";
-window.addEventListener("click", () =&gt; {
+window.addEventListener("click", () => {
browser.runtime.sendMessage({
tabId: browser.devtools.inspectedWindow.tabId,
script: scriptToAttach
});
-});</pre>
+});
+```
-<pre class="brush: js">// 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);</pre>
+browser.runtime.onMessage.addListener(handleMessage);
+```
-<p>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.</p>
+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.
-<p><img alt="" src="devtools-content-scripts.png"></p>
+![](devtools-content-scripts.png)
-<h2 id="Limitations_des_API_des_devtools">Limitations des API des devtools</h2>
+## Limitations des API des devtools
-<p>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.</p>
+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.
-<h3 id="devtools.inspectedWindow">devtools.inspectedWindow</h3>
+### devtools.inspectedWindow
-<p>Les éléments suivants ne sont pas pris en charge :</p>
+Les éléments suivants ne sont pas pris en charge :
-<ul>
- <li><code>inspectedWindow.getResources()</code></li>
- <li><code>inspectedWindow.onResourceAdded</code></li>
- <li><code>inspectedWindow.onResourceContentCommitted</code></li>
-</ul>
+- `inspectedWindow.getResources()`
+- `inspectedWindow.onResourceAdded`
+- `inspectedWindow.onResourceContentCommitted`
-<p>Aucune des options à <code>inspectedWindow.eval()</code> n'est prise en charge.</p>
+Aucune des options à `inspectedWindow.eval()` n'est prise en charge.
-<p>Les scripts injectés à l'aide de <code>inspectedWindow.eval()</code> ne peuvent pas utiliser toutes les fonctions d'assistance en ligne de commande de la console, mais <code>$0</code> et <code>inspect(...)</code> sont tous deux pris en charge (à partir de Firefox 55).</p>
+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).
-<h3 id="devtools.panels">devtools.panels</h3>
+### devtools.panels
-<p>Les éléments suivants ne sont pas pris en charge :</p>
+Les éléments suivants ne sont pas pris en charge :
-<ul>
- <li><code>panels.elements</code></li>
- <li><code>panels.sources</code></li>
- <li><code>panels.setOpenResourceHandler()</code></li>
- <li><code>panels.openResource()</code></li>
- <li><code>panels.ExtensionPanel.createStatusBarButton()</code></li>
- <li><code>panels.Button</code></li>
- <li><code>panels.ElementsPanel</code></li>
- <li><code>panels.SourcesPanel</code></li>
-</ul>
+- `panels.elements`
+- `panels.sources`
+- `panels.setOpenResourceHandler()`
+- `panels.openResource()`
+- `panels.ExtensionPanel.createStatusBarButton()`
+- `panels.Button`
+- `panels.ElementsPanel`
+- `panels.SourcesPanel`
-<h2 id="Examples">Examples</h2>
+## Examples
-<p>The <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> repo on GitHub contains several examples of WebExtensions that use devtools panels:</p>
+The [webextensions-examples](https://github.com/mdn/webextensions-examples) repo on GitHub contains several examples of WebExtensions that use devtools panels:
-<ul>
- <li>
- <p><a href="https://github.com/mdn/webextensions-examples/blob/master/devtools-panels/">devtools-panels</a> use devtools panels:</p>
- </li>
-</ul>
+- [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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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 <code>browser.*</code> 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.</p>
+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.
-<p>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:</p>
+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:
<table>
- <tbody>
- <tr>
- <td>
- <p>Aider les utilisateurs à séparer les activités de leur navigateur avec les <a href="/fr/Add-ons/WebExtensions/API/contextualIdentities">identités contextuelles</a> (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.</p>
- </td>
- <td><img alt="containers.png"></td>
- </tr>
- <tr>
- <td>
- <p>Enregistrez et affichez des informations supplémentaires ou complémentaires sur une page Web à l'aide du composant de l'interface utilisation <a href="/fr/Add-ons/WebExtensions/user_interface/Sidebars">Sidebar</a>, un panneau situé à côté des pages Web.</p>
- </td>
- <td><img src="sidebar.png"></td>
- </tr>
- <tr>
- <td>
- <p>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 <code>manifest.json</code>, les URLs où une action de page est affichée ou masquée, et choisissez où placer l'icône d'action du navigateur.</p>
- </td>
- <td><img src="icon_placement.png"></td>
- </tr>
- <tr>
- <td>
- <p>Aidez les utilisateurs à localiser le contenu qui les intéresse dans une page web, avec la possibilité de <a href="/fr/Add-ons/WebExtensions/API/find">trouver et mettre en surbrillance le texte dans une page web</a>.</p>
- </td>
- <td><img src="find.png"></td>
- </tr>
- <tr>
- <td>
- <p>Effectuez des recherches directement à partir de votre extension, avec des fonctions pour <a href="/fr/Add-ons/WebExtensions/API/search">obtenir des détails sur les moteurs de recherche et effectuer une recherche</a>.</p>
- </td>
- <td><img src="search_extension.png"></td>
- </tr>
- <tr>
- <td>
- <p>Ajoutez une dimension supplémentaire à vos thèmes en  <a href="/fr/Add-ons/WebExtensions/API/theme">mettant à jour le thème du navigateur au moment de l'exécution</a>. 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.</p>
- </td>
- <td><img src="dynamic_theme.png"></td>
- </tr>
- <tr>
- <td>
- <p>Effectuez des recherches directement à partir de votre extension, avec des fonctions pour obtenir les détails avec la <a href="/fr/Add-ons/WebExtensions/API/browserSettings">possibilité de modifier (certains) paramètres globaux du navigateur</a>.</p>
- </td>
- <td><img src="extension_controlling_settings.png"></td>
- </tr>
- <tr>
- <td>
- <p>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é <a href="/fr/Add-ons/WebExtensions/API/contentScripts">enregistrer et de désinscrire des scripts de contenu au moment de l'exécution</a>.</p>
- </td>
- <td><img src="script_inject.png"></td>
- </tr>
- <tr>
- <td>
- <p>Profitez des services externes pour gérer les protocoles ou les types de contenu en enregistrant les <a href="/fr/Add-ons/WebExtensions/manifest.json/protocol_handlers">gestionnaires de protocole</a> dans le <code>manifest.json</code>.</p>
- </td>
- <td><img src="protocol.png"></td>
- </tr>
- <tr>
- <td>
- <p>Effectuer des tâches Web supplémentaires telles que la <a href="/fr/Add-ons/WebExtensions/API/dns">résolution des noms de domaines </a>et <a href="/fr/Add-ons/WebExtensions/API/proxy">proxying des requêtes web</a>.</p>
- </td>
- <td><img src="proxy_settings.png"></td>
- </tr>
- <tr>
- <td>
- <p>Ajoutez des fonctionnalités de sécurité avancées à l'aide des <a href="/fr/Add-ons/WebExtensions/API/pkcs11">modules de sécurités PKCS #11 aux clés et certificats source</a>.</p>
- </td>
- <td><img src="certificate_key.png"></td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <td>
+ <p>
+ Aider les utilisateurs à séparer les activités de leur navigateur avec
+ les
+ <a href="/fr/Add-ons/WebExtensions/API/contextualIdentities"
+ >identités contextuelles</a
+ >
+ (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.
+ </p>
+ </td>
+ <td><img alt="containers.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ Enregistrez et affichez des informations supplémentaires ou
+ complémentaires sur une page Web à l'aide du composant de l'interface
+ utilisation
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Sidebars">Sidebar</a
+ >, un panneau situé à côté des pages Web.
+ </p>
+ </td>
+ <td><img src="sidebar.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ 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 <code>manifest.json</code>,
+ les URLs où une action de page est affichée ou masquée, et choisissez
+ où placer l'icône d'action du navigateur.
+ </p>
+ </td>
+ <td><img src="icon_placement.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ Aidez les utilisateurs à localiser le contenu qui les intéresse dans
+ une page web, avec la possibilité de
+ <a href="/fr/Add-ons/WebExtensions/API/find"
+ >trouver et mettre en surbrillance le texte dans une page web</a
+ >.
+ </p>
+ </td>
+ <td><img src="find.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ Effectuez des recherches directement à partir de votre extension, avec
+ des fonctions pour
+ <a href="/fr/Add-ons/WebExtensions/API/search"
+ >obtenir des détails sur les moteurs de recherche et effectuer une
+ recherche</a
+ >.
+ </p>
+ </td>
+ <td><img src="search_extension.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ Ajoutez une dimension supplémentaire à vos thèmes en 
+ <a href="/fr/Add-ons/WebExtensions/API/theme"
+ >mettant à jour le thème du navigateur au moment de l'exécution</a
+ >. 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.
+ </p>
+ </td>
+ <td><img src="dynamic_theme.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ Effectuez des recherches directement à partir de votre extension, avec
+ des fonctions pour obtenir les détails avec la <a
+ href="/fr/Add-ons/WebExtensions/API/browserSettings"
+ >possibilité de modifier (certains) paramètres globaux du
+ navigateur</a
+ >.
+ </p>
+ </td>
+ <td><img src="extension_controlling_settings.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ 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é <a
+ href="/fr/Add-ons/WebExtensions/API/contentScripts"
+ >enregistrer et de désinscrire des scripts de contenu au moment de
+ l'exécution</a
+ >.
+ </p>
+ </td>
+ <td><img src="script_inject.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ Profitez des services externes pour gérer les protocoles ou les types
+ de contenu en enregistrant les <a
+ href="/fr/Add-ons/WebExtensions/manifest.json/protocol_handlers"
+ >gestionnaires de protocole</a
+ >
+ dans le <code>manifest.json</code>.
+ </p>
+ </td>
+ <td><img src="protocol.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ Effectuer des tâches Web supplémentaires telles que la
+ <a href="/fr/Add-ons/WebExtensions/API/dns"
+ >résolution des noms de domaines </a
+ >et
+ <a href="/fr/Add-ons/WebExtensions/API/proxy"
+ >proxying des requêtes web</a
+ >.
+ </p>
+ </td>
+ <td><img src="proxy_settings.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ Ajoutez des fonctionnalités de sécurité avancées à l'aide des
+ <a href="/fr/Add-ons/WebExtensions/API/pkcs11"
+ >modules de sécurités PKCS #11 aux clés et certificats source</a
+ >.
+ </p>
+ </td>
+ <td><img src="certificate_key.png" /></td>
+ </tr>
+ </tbody>
</table>
-<p>Icônes de <a href="https://www.icons8.com">icon8</a></p>
+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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
<table>
- <tbody>
- <tr>
- <td><img src="firefox_workflow_prepare.png"></td>
- <td><img src="firefox_workflow_code.png"></td>
- <td><img src="firefox_workflow_publish.png"></td>
- <td><img src="firefox_workflow_enhance.png"></td>
- <td><img src="firefox_workflow_retire.png"></td>
- </tr>
- <tr>
- <td>
- <ul>
- <li><a href="/fr/Add-ons/WebExtensions/choisissez_une_version_firefox_pour_le_developpement_extensions_web">Choisissez une version Firefox pour le développement d'extensions web</a></li>
- <li>Choisissez votre IDE ou votre éditeur de code</li>
- <li><a href="/fr/Add-ons/WebExtensions/Getting_started_with_web-ext">Installer web-ext</a></li>
- <li><a href="https://webextensions.in/">Créer votre échanfaudage d'extension</a></li>
- <li>Familiarisez-vous avec les <a href="/fr/Add-ons/AMO/Règles">apolitiques des extensions et l'accord du développeur</a></li>
- </ul>
- </td>
- <td>
- <ul>
- <li><a href="/fr/Add-ons/WebExtensions/Your_first_WebExtension">Codez your extension</a></li>
- <li>Testez votre extension avec le <a href="/fr/Add-ons/WebExtensions/Getting_started_with_web-ext#Testing_out_an_extension">lanceur web-ext</a> ou <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Temporary_Installation_in_Firefox">about: debugging</a>)</li>
- <li><a href="/fr/Add-ons/WebExtensions/Testing_persistent_and_restart_features">Tester les fonctions persistantes et redémarrer</a></li>
- <li>Déboguer avec la <a href="/fr/docs/Outils/Boîte_à_outils_du_navigateur">fenêtre de débogage de votre extension</a></li>
- </ul>
- </td>
- <td>
- <ul>
- <li>Packager votre extension avec la <a href="/fr/Add-ons/WebExtensions/Getting_started_with_web-ext#Packaging_your_extension"> brique web-ext</a></li>
- <li>Créer un compte <a href="https://addons.moztilla.org">addons.mozilla.org</a></li>
- <li><a href="/fr/Add-ons/Distribution/Submitting_an_add-on">Soumettre votre extension</a></li>
- <li><a href="/fr/Add-ons/Source_Code_Submission">Soumettre votre code source</a> (si nécessaire)</li>
- <li><a href="/fr/Add-ons/Listing">Créer une liste attrayante</a></li>
- </ul>
- </td>
- <td>
- <ul>
- <li>Répondu à l'examen de l'extension de Mozilla</li>
- <li>Promouvoir votre extension</li>
- <li><a href="/fr/Add-ons/AMO/Policy/Featured">Proposez votre extensions pour qu'elle soit mise en avant</a></li>
- <li>Mettre à jour et améliorer votre extension</li>
- </ul>
- </td>
- <td>
- <ul>
- <li><a href="/fr/Add-ons/Distribution/Retiring_your_extension">Retirez votre extension</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <td><img src="firefox_workflow_prepare.png" /></td>
+ <td><img src="firefox_workflow_code.png" /></td>
+ <td><img src="firefox_workflow_publish.png" /></td>
+ <td><img src="firefox_workflow_enhance.png" /></td>
+ <td><img src="firefox_workflow_retire.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <ul>
+ <li>
+ <a
+ href="/fr/Add-ons/WebExtensions/choisissez_une_version_firefox_pour_le_developpement_extensions_web"
+ >Choisissez une version Firefox pour le développement d'extensions
+ web</a
+ >
+ </li>
+ <li>Choisissez votre IDE ou votre éditeur de code</li>
+ <li>
+ <a href="/fr/Add-ons/WebExtensions/Getting_started_with_web-ext"
+ >Installer web-ext</a
+ >
+ </li>
+ <li>
+ <a href="https://webextensions.in/"
+ >Créer votre échanfaudage d'extension</a
+ >
+ </li>
+ <li>
+ Familiarisez-vous avec les
+ <a href="/fr/Add-ons/AMO/Règles"
+ >apolitiques des extensions et l'accord du développeur</a
+ >
+ </li>
+ </ul>
+ </td>
+ <td>
+ <ul>
+ <li>
+ <a href="/fr/Add-ons/WebExtensions/Your_first_WebExtension"
+ >Codez your extension</a
+ >
+ </li>
+ <li>
+ Testez votre extension avec le
+ <a
+ href="/fr/Add-ons/WebExtensions/Getting_started_with_web-ext#Testing_out_an_extension"
+ >lanceur web-ext</a
+ >
+ ou
+ <a
+ href="/fr/docs/Mozilla/Add-ons/WebExtensions/Temporary_Installation_in_Firefox"
+ >about: debugging</a
+ >)
+ </li>
+ <li>
+ <a
+ href="/fr/Add-ons/WebExtensions/Testing_persistent_and_restart_features"
+ >Tester les fonctions persistantes et redémarrer</a
+ >
+ </li>
+ <li>
+ Déboguer avec la
+ <a href="/fr/docs/Outils/Boîte_à_outils_du_navigateur"
+ >fenêtre de débogage de votre extension</a
+ >
+ </li>
+ </ul>
+ </td>
+ <td>
+ <ul>
+ <li>
+ Packager votre extension avec la <a
+ href="/fr/Add-ons/WebExtensions/Getting_started_with_web-ext#Packaging_your_extension"
+ >
+ brique web-ext</a
+ >
+ </li>
+ <li>
+ Créer un compte
+ <a href="https://addons.moztilla.org">addons.mozilla.org</a>
+ </li>
+ <li>
+ <a href="/fr/Add-ons/Distribution/Submitting_an_add-on"
+ >Soumettre votre extension</a
+ >
+ </li>
+ <li>
+ <a href="/fr/Add-ons/Source_Code_Submission"
+ >Soumettre votre code source</a
+ >
+ (si nécessaire)
+ </li>
+ <li><a href="/fr/Add-ons/Listing">Créer une liste attrayante</a></li>
+ </ul>
+ </td>
+ <td>
+ <ul>
+ <li>Répondu à l'examen de l'extension de Mozilla</li>
+ <li>Promouvoir votre extension</li>
+ <li>
+ <a href="/fr/Add-ons/AMO/Policy/Featured"
+ >Proposez votre extensions pour qu'elle soit mise en avant</a
+ >
+ </li>
+ <li>Mettre à jour et améliorer votre extension</li>
+ </ul>
+ </td>
+ <td>
+ <ul>
+ <li>
+ <a href="/fr/Add-ons/Distribution/Retiring_your_extension"
+ >Retirez votre extension</a
+ >
+ </li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>* Ou distribuez votre extension pour le <a href="/fr/Add-ons/WebExtensions/Alternative_distribution_options/Sideloading_add-ons">chargement latéral</a>, les <a href="/fr/Add-ons/WebExtensions/Alternative_distribution_options/Add-ons_for_desktop_apps">applications de bureaux</a>, ou <a href="/fr/Add-ons/WebExtensions/Alternative_distribution_options/Add-ons_in_the_enterprise">dans une enteprise</a>.</p>
+\* 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).
-<p><strong>Vous avez une extension que vous souhaitez porter à Firefox?</strong>  Nous fournissons des conseils, des directives et des outils pour vous aider à rendre le portage simple. Pour commencer, visitez <a href="/fr/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension">Portage d'une extension Google Chrome</a>.</p>
+**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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Avec les WebExtensions, les paramètres sont généralement stockés en utilisant l'API <code><a href="/fr/Add-ons/WebExtensions/API/storage">storage</a></code>. L'ajout d'une page de paramètres se fait en trois étapes :</p>
+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 :
-<ul>
- <li>Écrire un fichier HTML qui affiche les paramètres et permet à l'utilisateur de les changer.</li>
- <li>É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.</li>
- <li>Renseigner le chemin du fichier HTML come clé de <code><a href="/fr/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code> dans manifest.json. Ainsi, le document HTML sera affiché dans le gestionnaire d'extension, aux cotés des nom et description de l'extension.</li>
-</ul>
+- É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.
-<div class="note">
-<p><strong>Note :</strong> Vous pouvez aussi ouvrir cette page automatiquement en utilisant la fonction <code><a href="/fr/Add-ons/WebExtensions/API/runtime/openOptionsPage">runtime.openOptionsPage()</a></code>.</p>
-</div>
+> **Note :** Vous pouvez aussi ouvrir cette page automatiquement en utilisant la fonction [`runtime.openOptionsPage()`](/fr/Add-ons/WebExtensions/API/runtime/openOptionsPage).
-<h2 id="Une_WebExtension_simple">Une WebExtension simple</h2>
+## Une WebExtension simple
-<p>Tout d'abord, nous allons écrire une extension qui ajoute une bordure bleue à chaque page visitée par l'utilisateur.</p>
+Tout d'abord, nous allons écrire une extension qui ajoute une bordure bleue à chaque page visitée par l'utilisateur.
-<p>Créez un nouveau dossier nommé "settings", dans lequel vous créez un fichier appelé "manifest.json" ayant pour contenu :</p>
+Créez un nouveau dossier nommé "settings", dans lequel vous créez un fichier appelé "manifest.json" ayant pour contenu :
-<pre class="brush: json">{
+```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": ["&lt;all_urls&gt;"],
+ "matches": ["<all_urls>"],
"js": ["borderify.js"]
}
]
-}</pre>
+}
+```
-<p>Les instructions de l'extension charge au navigateur un script de contenu nommé "borderify.js" dans chaque page que l'utilisateur visite.</p>
+Les instructions de l'extension charge au navigateur un script de contenu nommé "borderify.js" dans chaque page que l'utilisateur visite.
-<p>Ensuite, créez un fichier nomé "borderify.js" dans le dossier "paramètres", et remplissez le comme suit :</p>
+Ensuite, créez un fichier nomé "borderify.js" dans le dossier "paramètres", et remplissez le comme suit :
-<pre class="brush: js">document.body.style.border = "10px solid blue";</pre>
+```js
+document.body.style.border = "10px solid blue";
+```
-<p>Ça ajoute une bordure bleue à la page.</p>
+Ça ajoute une bordure bleue à la page.
-<p>Maintenant, <a href="/fr-FR/Add-ons/WebExtensions/Temporary_Installation_in_Firefox">installez la WebExtension</a> et testez la — ouvrez la page que vous voulez :</p>
+Maintenant, [installez la WebExtension](/fr-FR/Add-ons/WebExtensions/Temporary_Installation_in_Firefox) et testez la — ouvrez la page que vous voulez :
-<p>{{EmbedYouTube("E-WUhihF8fw")}}</p>
+{{EmbedYouTube("E-WUhihF8fw")}}
-<h2 id="Ajouter_des_paramètres">Ajouter des paramètres</h2>
+## Ajouter des paramètres
-<p>Maintenant, créez une page de paramètres pour autoriser l'utilisateur à définire la couleur de la bordure.</p>
+Maintenant, créez une page de paramètres pour autoriser l'utilisateur à définire la couleur de la bordure.
-<p>D'abord, mettez à jour le contenu de "manifest.json" avec ceci :</p>
+D'abord, mettez à jour le contenu de "manifest.json" avec ceci :
-<pre class="brush: json">{
+```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": ["&lt;all_urls&gt;"],
+ "matches": ["<all_urls>"],
"js": ["borderify.js"]
}
],
@@ -88,44 +89,44 @@ original_slug: Mozilla/Add-ons/WebExtensions/Ajouter_une_page_de_paramètres
}
}
-</pre>
+```
-<p>Vous avez ajoutez trois nouvelles clés :</p>
+Vous avez ajoutez trois nouvelles clés :
-<ul>
- <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code>: Cela définit un document HTML comme étant la page de paramètres (aussi appelée page d'options) pour cette extension.</li>
- <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code>: Vous allez utilisez l'API <code><a href="/fr/Add-ons/WebExtensions/API/storage">storage</a></code> pour stocker les paramètres, vous devez donc demander la permission d'utiliser cette API.</li>
- <li><code>applications</code>: Vous devez inclure un identifiant d'extension afin d'enregistrer et de récupérer les paramètres du stockage synchronisé.</li>
-</ul>
+- [`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é.
-<p>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 :</p>
+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 :
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
+```html
+<!DOCTYPE html>
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta charset="utf-8"&gt;
- &lt;/head&gt;
+<html>
+ <head>
+ <meta charset="utf-8">
+ </head>
- &lt;body&gt;
+ <body>
- &lt;form&gt;
- &lt;label&gt;Border color&lt;input type="text" id="color" &gt;&lt;/label&gt;
- &lt;button type="submit"&gt;Save&lt;/button&gt;
- &lt;/form&gt;
+ <form>
+ <label>Border color<input type="text" id="color" ></label>
+ <button type="submit">Save</button>
+ </form>
- &lt;script src="options.js"&gt;&lt;/script&gt;
+ <script src="options.js"></script>
- &lt;/body&gt;
+ </body>
-&lt;/html&gt;
-</pre>
+</html>
+```
-<p>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".</p>
+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".
-<p>Créez "options.js", lui-aussi dans le dossier "settings", et remplissez le comme ceci :</p>
+Créez "options.js", lui-aussi dans le dossier "settings", et remplissez le comme ceci :
-<pre class="brush: js">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);
-</pre>
+```
-<p>Cela fait deux choses :</p>
+Cela fait deux choses :
-<ul>
- <li>Quand le document a été chargé, le script attribue une valeur à "color" depuis le stockage grâce à<code><a href="/fr/Add-ons/WebExtensions/API/storage/StorageArea/get"> storage.sync.get()</a></code>. 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 <code>synchronisation</code>.</li>
- <li>Quand l'utilisateur valide le formulaire en cliquant sur "Save", le script stocke la valeur de textbox en utilisant <code><a href="/fr/Add-ons/WebExtensions/API/storage/StorageArea/set">storage.sync.set()</a></code>. Ceci permet d'enregistrer la valeur dans la zone de stockage de <code>synchronisation</code>.</li>
-</ul>
+- 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`.
-<p>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.</p>
+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.
-<div class="note">
-<p><strong>Note :</strong> L'implémentation de <code>storage.sync</code> dans Firefox repose sur l'ID du module complémentaire. Si vous utilisez <code>storage.sync</code>,  vous devez définir un ID pour votre extension à l'aide de la clé manifest.json des <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/applications">applications</a></code>  comme indiqué dans l'exemple de manifeste ci-dessus.</p>
-</div>
+> **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.
-<p>Finalement, mettez à jour "borderify.js" pour lire la couleur de la bordure depuis le stockage :</p>
+Finalement, mettez à jour "borderify.js" pour lire la couleur de la bordure depuis le stockage :
-<div class="warning">
-<p><strong>Attention :</strong> A cause d'un bug dans <a href="/fr/Add-ons/WebExtensions/API/storage/StorageArea/get">browser.storage.local.get()</a> 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'<code>item.color</code> dans <code>onGot()</code> doivent être changer pour <code>item[0].color</code>.</p>
-</div>
+> **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`.
-<pre class="brush: js"> 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);
-</pre>
+```
+
+A ce moment, l'extension complète devrait ressembler à ceci :
-<p>A ce moment, l'extension complète devrait ressembler à ceci :</p>
+ settings/
+ borderify.js
+ manifest.json
+ options.html
+ options.js
-<pre>settings/
- borderify.js
- manifest.json
- options.html
- options.js</pre>
+Maintenant :
-<p>Maintenant :</p>
+- [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
-<ul>
- <li><a href="/fr-FR/Add-ons/WebExtensions/Temporary_Installation_in_Firefox#Reloading_a_temporary_add-on">Rechargez la WebExtension</a></li>
- <li>Chargez un page web</li>
- <li>Ouvrez la page de paramètres et changez la couleur de la bordure</li>
- <li>Rechargez la page pour voir la différence</li>
-</ul>
+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.
-<p>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.</p>
+{{EmbedYouTube("ECt9cbWh1qs")}}
-<p>{{EmbedYouTube("ECt9cbWh1qs")}}</p>
+## Pour aller plus loin
-<h2 id="Pour_aller_plus_loin">Pour aller plus loin</h2>
+- [`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 :
-<ul>
- <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code> documentation de référence sur les clés de manifest</li>
- <li><code><a href="/fr/Add-ons/WebExtensions/API/storage">storage</a></code> documentation de référence sur l'API</li>
- <li>Ouvrez la page de paramètres directement depuis votre extension en utilisant l'API <code><a href="/fr/Add-ons/WebExtensions/API/runtime/openOptionsPage">runtime.openOptionsPage()</a></code></li>
- <li>Exemple de page de paramètres :
- <ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/favourite-colour">favourite-colour</a></li>
- </ul>
- </li>
-</ul>
+ - [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>La technologie d'extensions Firefox est, en grande partie, compatible avec l'<a href="https://developer.chrome.com/extensions">API d'extension</a> 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 <a href="https://extensionworkshop.com/documentation/develop/porting-a-google-chrome-extension/">seulement quelques modifications</a>.</p>
+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/).
-<h2 id="key_resources">Ressources principales</h2>
+## Ressources principales
-<dl>
- <dt>Guides</dt>
- <dd>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/What_are_WebExtensions">tutoriels et guides</a>.</dd>
- <dt>Références</dt>
- <dd>Obtenez des détails complets sur les méthodes, les propriétés, les types et les événements des <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs">API WebExtensions</a> et des informations détaillées sur les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">clés du manifeste</a>.</dd>
- <dt>Flux de travail pour Firefox</dt>
- <dd>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 <a href="https://extensionworkshop.com/">l'atelier des extensions Firefox</a>.</dd>
-</dl>
+- 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/).
-<div class="notecard note">
-<p><strong>Note :</strong> Si vous avez des idées, des questions ou si vous avez besoin d'aide, vous pouvez nous contacter sur <a href="https://discourse.mozilla.org/c/add-ons">le forum communautaire</a> ou sur <a href="https://matrix.to/#/!CuzZVoCbeoDHsxMCVJ:mozilla.org?via=mozilla.org&amp;via=matrix.org&amp;via=humanoids.be">le salon Add-ons</a> sur <a href="https://wiki.mozilla.org/Matrix">Matrix</a>.</p>
-</div>
+> **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).
-<h2 id="get_started">Premiers pas</h2>
+## Premiers pas
-<p>Découvrez <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/What_are_WebExtensions">ce que peuvent faire les extensions Firefox</a> avant <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension">de construire votre première extension</a>. Découvrez <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension">la structure d'une extension</a> et obtenez un aperçu <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Firefox_workflow_overview">du processus de développement et de publication d'extension pour Firefox</a>. Explorez un peu plus en profondeur leur fonctionnement avec un large éventail d'<a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Examples">exemples d'extensions</a> que vous pouvez exécuter directement sur Firefox.</p>
+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.
-<h2 id="concepts">Concepts</h2>
+## Concepts
-<p>Obtenez des informations détaillées sur les concepts fondamentaux des extensions <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API">à l'aide d'une vue d'ensemble de l'API JavaScript</a>, en passant par les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">scripts de contenu</a><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">,</a> les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">motifs de correspondance</a>, <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Working_with_files">la manipulation des fichiers</a>, <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Internationalization">l'internationalisation</a>, et <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy">les politiques de sécurité du contenu</a>, jusqu'à des sujets plus avancés tels que les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Native_messaging">messages natifs</a>, <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Extending_the_developer_tools">l'utilisation des API pour les outils de développement</a>, et <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Native_manifests">des manifestes natifs</a>.</p>
+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).
-<h2 id="user_interface">Interface utilisateur</h2>
+## Interface utilisateur
-<p>Découvrez tous les composants que vous pouvez utiliser pour <a href="https://extensionworkshop.com/documentation/develop/user-experience-best-practices/">l'interface utilisateur</a> de vos extensions, avec des exemples contenant des astuces et leur code.</p>
+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.
-<h2 id="how_to">Tutoriels</h2>
+## Tutoriels
-<p>Vous trouverez une série de tutoriels pour vous aider à commencer et qui abordent des notions que vous utiliserez régulièrement, tels que <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Working_with_the_Tabs_API">la manipulation des onglets avec l'API Tabs</a>, <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Add_a_button_to_the_toolbar">l'ajout d'un bouton à la barre d'outils</a> ainsi que des sujets plus avancés tels que <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Intercept_HTTP_requests">l'interception des requêtes HTTP</a> et <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Work_with_contextual_identities">la gestion des identités contextuelles</a>.</p>
+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).
-<h2 id="firefox_workflow">Construction et distribution pour Firefox</h2>
+## Construction et distribution pour Firefox
-<p>Lorsque vous êtes prête ou prêt à créer votre extension Firefox ou à porter une extension Chrome vers Firefox, dirigez-vous vers l'<a href="https://extensionworkshop.com/">atelier des extensions Firefox</a>. Vous y trouverez des détails sur :</p>
+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 :
-<ul>
- <li>Le circuit pour les extensions Firefox, comme <a href="https://extensionworkshop.com/documentation/develop/temporary-installation-in-firefox/">l'installation temporaire d'extensions pendant le développement</a>, <a href="https://extensionworkshop.com/documentation/develop/debugging/">le débogage</a>, <a href="https://extensionworkshop.com/documentation/develop/request-the-right-permissions/">la demande des permissions pertinentes</a>, et plus encore.</li>
- <li>L'outil de développement <a href="https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/">web-ext</a>.</li>
- <li><a href="https://extensionworkshop.com/documentation/develop/porting-a-google-chrome-extension/">Le portage d'une extension de Chrome à Firefox</a>, <a href="https://extensionworkshop.com/documentation/develop/differences-between-desktop-and-android-extensions/">les différences entre les extensions de bureau et celles pour Android</a>, et plus encore.</li>
- <li><a href="https://extensionworkshop.com/documentation/publish/">Une vue d'ensemble de la publication, de la distribution</a> et de <a href="https://extensionworkshop.com/documentation/publish/promoting-your-extension/">la promotion de votre extension</a>, les <a href="https://extensionworkshop.com/documentation/manage/">bonnes pratiques en matière de cycle de vie des extensions</a>, et plus encore.</li>
-</ul>
+- 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.
-<h2 id="reference">Référence</h2>
+## Référence
-<h3 id="javascript_apis">Les API JavaScript</h3>
+### Les API JavaScript
-<p>Obtenez des détails complets sur les méthodes, les propriétés, les types et les événements pour l'ensemble <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API">des API JavaScript relatives aux extensions</a>. 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.</p>
+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.
-<h3 id="manifest_keys">Les clés du manifeste</h3>
+### Les clés du manifeste
-<p>Obtenez tous les détails sur <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">les clés du manifeste d'une extension</a>, y compris toutes leurs propriétés et paramètres. Vous y trouverez également des informations détaillées sur la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json">compatibilité</a> de chaque clé pour les principaux navigateurs.</p>
+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
---
-<div>{{AddonSidebar}}</div>
-
-<div>{{Index("/fr/Add-ons/WebExtensions")}}</div>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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'<a href="/fr/docs/Web/API/Clipboard_API">API Presse-papiers</a>.</p>
+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).
-<p>La méthode {{domxref("Document.execCommand()")}} peut être utilisée, en spécifiant la commande désirée :</p>
+La méthode {{domxref("Document.execCommand()")}} peut être utilisée, en spécifiant la commande désirée :
-<ul>
- <li><code>document.execCommand("copy")</code></li>
- <li><code>document.execCommand("cut")</code></li>
- <li><code>document.execCommand("paste")</code></li>
-</ul>
+- `document.execCommand("copy")`
+- `document.execCommand("cut")`
+- `document.execCommand("paste")`
-<p>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 :</p>
+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 :
-<pre class="brush: js">navigator.clipboard.readText().then(text =&gt; outputElem.innerText = text);</pre>
+```js
+navigator.clipboard.readText().then(text => outputElem.innerText = text);
+```
-<p>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.</p>
+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.
-<div class="note">
-<p><strong>Note:</strong> 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.</p>
-</div>
+> **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.
-<h2 id="Ecrire_dans_le_presse-papiers">Ecrire dans le presse-papiers</h2>
+## Ecrire dans le presse-papiers
-<p>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.</p>
+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.
-<h3 id="Utiliser_execCommand()">Utiliser execCommand()</h3>
+### Utiliser execCommand()
-<p>Les commandes {{domxref("Document.execCommand", "document.execCommand()")}} de la méthode <code>"couper"</code> et <code>"copier"</code> 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).</p>
+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).
-<p>Par exemple, supposons que vous ayez un popup qui inclut le HTML suivant :</p>
+Par exemple, supposons que vous ayez un popup qui inclut le HTML suivant :
-<pre class="brush: html">&lt;input id="input" type="text"/&gt;
-&lt;button id="copy"&gt;Copy&lt;/button&gt;
-</pre>
+```html
+<input id="input" type="text"/>
+<button id="copy">Copy</button>
+```
-<p>Pour que le bouton <code>"copier"</code> copie le contenu de l'élément {{HTMLElement("input")}}, vous pouvez utiliser du code comme ceci :</p>
+Pour que le bouton `"copier"` copie le contenu de l'élément {{HTMLElement("input")}}, vous pouvez utiliser du code comme ceci :
-<pre class="brush: js">function copy() {
+```js
+function copy() {
var copyText = document.querySelector("#input");
copyText.select();
document.execCommand("copy");
}
-document.querySelector("#copy").addEventListener("click", copy);</pre>
+document.querySelector("#copy").addEventListener("click", copy);
+```
-<p>Parce que l'appel <code>execCommand()</code> se trouve à l'intérieur d'un gestionnaire d'événements click, vous n'avez pas besoin de permissions spéciales ici.</p>
+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.
-<p>Cependant, disons que vous déclenchez plutôt la copie à partir d'une alarme  :</p>
+Cependant, disons que vous déclenchez plutôt la copie à partir d'une alarme  :
-<pre class="brush: js">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);</pre>
+browser.alarms.onAlarm.addListener(copy);
+```
-<p>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 :</p>
+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 :
-<pre>document.execCommand(‘cut’/‘copy’) was denied because it was not called from inside a short running user-generated event handler.</pre>
+ document.execCommand(‘cut’/‘copy’) was denied because it was not called from inside a short running user-generated event handler.
-<p>Pour activer ce cas d'utilisation, vous devez demander <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"clipboardWrite"</code>. Alors :  <code>"clipboardWrite"</code> vous permet d'écrire dans le presse-papiers en dehors d'un gestionnaire d'événements de courte durée pour une action utilisateur.</p>
+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.
-<h3 id="Utilisation_de_l'API_Presse-papiers">Utilisation de l'API Presse-papiers</h3>
+### Utilisation de l'API Presse-papiers
-<p>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.</p>
+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.
-<p>L'utilisation de l'API nécessite que vous ayez les permissons de l'API <code>"clipboard-write"</code>. Vous pouvez vérifier cette permission en utilisant {{domxref("Permissions.query", "navigator.permissions.query()")}}:</p>
+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()")}}:
-<pre class="brush: js">navigator.permissions.query({name: "clipboard-write"}).then(result =&gt; {
+```js
+navigator.permissions.query({name: "clipboard-write"}).then(result => {
if (result.state == "granted" || result.state == "prompt") {
/* write to the clipboard now */
}
});
-</pre>
+```
-<p>Cette fonction prend une chaîne de caractères comme entrée et met à jour le presse-papiers pour contenir cette chaîne :</p>
+Cette fonction prend une chaîne de caractères comme entrée et met à jour le presse-papiers pour contenir cette chaîne :
-<pre class="brush: js">function updateClipboard(newClip) {
+```js
+function updateClipboard(newClip) {
navigator.clipboard.writeText(newClip).then(function() {
/* clipboard successfully set */
}, function() {
/* clipboard write failed */
});
}
-</pre>
+```
-<div class="blockIndicator note">
-<p><strong>Note :</strong> Le nom de la permission <code>clipboard-write</code> n'est pas supporté actuellement dans Firefox - seulement les navigateurs Chromium.</p>
-</div>
+> **Note :** Le nom de la permission `clipboard-write` n'est pas supporté actuellement dans Firefox - seulement les navigateurs Chromium.
-<h3 id="***Considérations_spécifiques_du_navigateur">***Considérations spécifiques du navigateur</h3>
+### \*\*\*Considérations spécifiques du navigateur
-<p>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.</p>
+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.
-<p>Dans Chrome:</p>
+Dans Chrome:
-<ul>
- <li>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.</li>
- <li>Vous n'avez pas besoin de <code>"clipboardWrite"</code>, même pour écrire dans le presse-papiers en dehors d'un gestionnaire d'événements généré par l'utilisateur.</li>
-</ul>
+- 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.
-<p>Dans Firefox:</p>
+Dans Firefox:
-<ul>
- <li>Vous pouvez écrire dans le presse-papiers comme ceci dans tous les contextes d'exécution <em>à l'exception des pages d'arrière-plan</em>. 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.</li>
- <li>A partir de la version 57, vous pouvez copier des images dans le presse-papiers à l'aide de l'API <code><a href="/fr/Add-ons/WebExtensions/API/clipboard/setImageData">clipboard.setImageData()</a></code>.</li>
- <li>Le support de l'API Clipboard {{domxref("Clipboard.writeText", "navigator.clipboard.writeText()")}} a été ajouté dans Firefox 63.</li>
- <li>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.</li>
-</ul>
+- 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.
-<div class="note">
-<p><strong>Note :</strong> L'API <code>execCommand('copy')</code> n'est pas supporté dans <strong>Safari</strong></p>
-</div>
+> **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()")}}.
-<h2 id="Lecture_à_partir_du_presse-papiers">Lecture à partir du presse-papiers</h2>
+### Utilisation de execCommand()
-<p>La méthode <code>execCommand()</code> fournit la commande <code>"coller"</code>, 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()")}}.</p>
+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")}}.
-<h3 id="Utilisation_de_execCommand()">Utilisation de execCommand()</h3>
+Considérez le HTML qui inclut quelque chose comme ceci :
-<p>Tout d'abord, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"clipboardRead"</code> établie pour votre extension. C'est le cas même si vous utilisez la commande <code>"coller"</code> à partir d'un gestionnaire d'événements généré par l'utilisateur tel que {{event("click")}} ou {{event("keypress")}}.</p>
+```html
+<textarea id="output"></textarea>
+<button id="paste">Paste</button>
+```
-<p>Considérez le HTML qui inclut quelque chose comme ceci :</p>
+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 :
-<pre class="brush: html">&lt;textarea id="output"&gt;&lt;/textarea&gt;
-&lt;button id="paste"&gt;Paste&lt;/button&gt;
-</pre>
-
-<p>Pour définir le contenu de l'élément {{HTMLElement("textarea")}} avec l'ID <code>"output"</code> du presse-papiers lorsque l'utilisateur clique sur le {{HTMLElement("button")}} <code>"coller"</code>, vous pouvez utiliser du code comme ceci :</p>
-
-<pre class="brush: js">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);</pre>
+document.querySelector("#paste").addEventListener("click", paste);
+```
-<h3 id="Utilisation_de_l'API_Presse-papiers_2">Utilisation de l'API Presse-papiers</h3>
+### Utilisation de l'API Presse-papiers
-<p>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.</p>
+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.
-<p>Une fois que vous avez la permission <code>"clipboard-read"</code> de l'<a href="/fr/docs/Web/API/Permissions_API">API permissions</a>, vous pouvez lire facilement à partir du presse-papiers :</p>
+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 :
-<pre class="brush: js">navigator.clipboard.readText().then(clipText =&gt;
- document.getElementById("outbox").innerText = clipText);</pre>
+```js
+navigator.clipboard.readText().then(clipText =>
+ document.getElementById("outbox").innerText = clipText);
+```
-<p>Cet extrait de code récupère le texte du presse-papiers et remplace le contenu actuel de l'élément par l'ID <code>"outbox"</code> avec ce texte.</p>
+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.
-<h3 id="Considérations_spécifiques_au_navigateur">Considérations spécifiques au navigateur</h3>
+### Considérations spécifiques au navigateur
-<p>Firefox supporte la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"clipboardRead" à partir de la version</code> 54, mais ne supporte pas que le collage dans les élements en <a href="/fr/docs/Web/Guide/HTML/Editable_content">mode édition de contenu</a>, 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.</p>
+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.
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li><a href="/fr/docs/Web/API/Clipboard_API">Clipboard API</a></li>
- <li><a href="/fr/docs/Web/API/Permissions_API">Permissions API</a></li>
- <li><a href="/fr/docs/Web/Guide/HTML/Editable_content">Making content editable</a></li>
- <li>{{htmlattrxref("contenteditable")}}</li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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 :</p>
+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 :
-<ul>
- <li>accéder aux en-têtes et aux corps, et des en-têtes de réponses ;</li>
- <li>annuler et rediriger les requêtes ;</li>
- <li>modifier les en-têtes de requête et de réponse.</li>
-</ul>
+- 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.
-<p>Cet article décrit trois utilisations possibles du module <code>webRequest</code> :</p>
+Cet article décrit trois utilisations possibles du module `webRequest` :
-<ul>
- <li>La journalisation des URL de requête à mesure de leur exécution.</li>
- <li>La redirection des requêtes.</li>
- <li>La modification des en-têtes de requête.</li>
-</ul>
+- 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.
-<h2 id="Journalisation_des_URL_de_requête">Journalisation des URL de requête</h2>
+## Journalisation des URL de requête
-<p>Créez un nouveau répertoire et nommez-le "requests". Dans ce répertoire, créez le fichier "manifest.json", avec le contenu suivant :</p>
+Créez un nouveau répertoire et nommez-le "requests". Dans ce répertoire, créez le fichier "manifest.json", avec le contenu suivant :
-<pre class="brush: json">{
+```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",
- "&lt;all_urls&gt;"
+ "<all_urls>"
],
"background": {
"scripts": ["background.js"]
}
-}</pre>
+}
+```
-<p>Ensuite, créez un fichier nommé "background.js", avec le contenu suivant :</p>
+Ensuite, créez un fichier nommé "background.js", avec le contenu suivant :
-<pre class="brush: js">function logURL(requestDetails) {
+```js
+function logURL(requestDetails) {
console.log("Chargement : " + requestDetails.url);
}
browser.webRequest.onBeforeRequest.addListener(
logURL,
- {urls: ["&lt;all_urls&gt;"]}
+ {urls: ["<all_urls>"]}
);
+```
-</pre>
-
-<p>Ici, nous utilisons l’écouteur {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}} pour appeler la fonction <code>logURL()</code> juste avant de démarrer la requête. La fonction <code>logURL()</code> récupère l’URL de la requête dans l’objet d’évènement et la journalise dans la console du navigateur. Le <a href="/fr/Add-ons/WebExtensions/Match_patterns">modèle</a> <code>{urls: ["&lt;all_urls&gt;"]} </code>permet d’intercepter les requêtes HTTP vers toutes les URL.</p>
+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: ["<all_urls>"]} `permet d’intercepter les requêtes HTTP vers toutes les URL.
-<p>Pour tester ce module, <a href="/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox">installez l'extension</a>, <a href="/fr/docs/Tools/Browser_Console">ouvrez la console du navigateur</a> 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 :</p>
+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 :
-<p>{{EmbedYouTube("X3rMgkRkB1Q")}}</p>
+{{EmbedYouTube("X3rMgkRkB1Q")}}
-<h2 id="Redirection_des_requêtes">Redirection des requêtes</h2>
+## Redirection des requêtes
-<p>Utilisons maintenant <code>webRequest</code> pour rediriger les requêtes HTTP. Commençons par modifier le fichier manifest.json comme suit :</p>
+Utilisons maintenant `webRequest` pour rediriger les requêtes HTTP. Commençons par modifier le fichier manifest.json comme suit :
-<pre class="brush: json">{
+```json
+{
"description": "Demonstrating webRequests",
"manifest_version": 2,
@@ -88,13 +87,15 @@ browser.webRequest.onBeforeRequest.addListener(
"scripts": ["background.js"]
}
-}</pre>
+}
+```
-<p>Ici, il s’agit simplement d’ajouter la <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a></code> <code>"webRequestBlocking"</code>. Cette permission supplémentaire est requise lors de toute modification active d’une requête.</p>
+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.
-<p>Modifions ensuite le fichier « background.js » comme suit :</p>
+Modifions ensuite le fichier « background.js » comme suit :
-<pre class="brush: js">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"]
-);</pre>
+);
+```
-<p>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 <code>redirectUrl</code> spécifiée dans la fonction.</p>
+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.
-<p>Cette fois-ci, toutes les requêtes ne sont pas interceptées. L’option <code>{urls:[pattern], types:["image"]}</code> 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.</p>
+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.
-<p>À noter également le passage de l’option <code>"blocking"</code>: 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 <code>"blocking"</code>.</p>
+À 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"`.
-<p>Pour tester ce module, ouvrez une page MDN contenant beaucoup d’images (par exemple <a href="/fr/docs/Tools/Network_Monitor">https://developer.mozilla.org/fr/docs/Tools/Network_Monitor</a>), <a href="/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox#Reloading_a_temporary_add-on">rechargez l'extension</a>, puis rechargez la page MDN :</p>
+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 :
-<p>{{EmbedYouTube("ix5RrXGr0wA")}}</p>
+{{EmbedYouTube("ix5RrXGr0wA")}}
-<h2 id="Modification_des_en-têtes_de_requête">Modification des en-têtes de requête</h2>
+## Modification des en-têtes de requête
-<p>Enfin, nous pouvons utiliser le module <code>webRequest</code> 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/".</p>
+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/".
-<p>Il n’est pas nécessaire de modifier le fichier "manifest.json" par rapport à l’exemple précédent.</p>
+Il n’est pas nécessaire de modifier le fichier "manifest.json" par rapport à l’exemple précédent.
-<p>Modifiez le code du fichier "background.js" comme suit :</p>
+Modifiez le code du fichier "background.js" comme suit :
-<pre class="brush: js">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"]
-);</pre>
+);
+```
-<p>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.</p>
+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.
-<p>La fonction d’écouteur n’est appelée qu’en cas de requête vers des URL correspondant au <a href="/fr /Add-ons/WebExtensions/Match_patterns">modèle</a> <code>targetPage</code>. Notez aussi le nouveau passage de l’option <code>"blocking"</code>. Nous avons également passé <code>"requestHeaders"</code>, 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.</p>
+La fonction d’écouteur n’est appelée qu’en cas de requête vers des URL correspondant au [modèle](</fr /Add-ons/WebExtensions/Match_patterns>) `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.
-<p>La fonction d’écouteur recherche l’en-tête "User-Agent" dans la liste, remplace sa valeur par celle de la variable <code>ua</code> et renvoie la liste modifiée. Cette dernière est ensuite envoyée au serveur.</p>
+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.
-<p>Pour tester ce module, accédez à <a href="http://useragentstring.com/">useragentstring.com</a> et vérifiez que le navigateur identifié est Firefox. Rechargez ensuite l'extension, rechargez <a href="http://useragentstring.com/">useragentstring.com</a> et vérifiez que Firefox a été remplacé par Opera :</p>
+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 :
-<p>{{EmbedYouTube("SrSNS1-FIx0")}}</p>
+{{EmbedYouTube("SrSNS1-FIx0")}}
-<h2 id="En_savoir_plus">En savoir plus</h2>
+## En savoir plus
-<p>Pour en apprendre davantage sur toutes les possibilités de l’API <code>webRequest</code>, consultez la <a href="/fr/Add-ons/WebExtensions/API/WebRequest">documentation de référence</a> correspondante.</p>
+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
---
-<div>{{AddonSidebar}}</div>
-
-<p>L'API <a href="/fr/Add-ons/WebExtensions">WebExtensions</a> dispose d'un module assez pratique pour l'internationalisation des extensions — <a href="/fr/Add-ons/WebExtensions/API/i18n">i18n</a>. 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 <a href="http://i18njs.com/">i18n.js</a>.</p>
-
-<div class="note">
-<p><strong>Note :</strong> L'exemple d'extension présenté dans cet article — <a href="https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n">notify-link-clicks-i18n</a> — est disponible sur GitHub. Suivez avec le code source que vous parcourez les sections ci-dessous.</p>
-</div>
-
-<h2 id="Anatomie_dune_extension_internationnalisée">Anatomie d'une extension internationnalisée</h2>
-
-<p>Une extension internationnalisée peut contenir les mêmes caractéristiques que n'importe quelle autre extension — <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">scripts d'arrière-plan</a>, <a href="/fr/Add-ons/WebExtensions/Content_scripts">scripts de contenu</a>, 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 :</p>
-
-<ul>
- <li>extension-root-directory/
- <ul>
- <li>_locales
- <ul>
- <li>en
- <ul>
- <li>messages.json
- <ul>
- <li>English messages (strings)</li>
- </ul>
- </li>
- </ul>
- </li>
- <li>de
- <ul>
- <li>messages.json
- <ul>
- <li>German messages (strings)</li>
- </ul>
- </li>
- </ul>
- </li>
- <li>etc.</li>
- </ul>
- </li>
- <li>manifest.json
- <ul>
- <li>locale-dependent metadata</li>
- </ul>
- </li>
- <li>myJavascript.js
- <ul>
- <li>JavaScript for retrieving browser locale, locale-specific messages, etc.</li>
- </ul>
- </li>
- <li>myStyles.css
- <ul>
- <li>locale-dependent CSS</li>
- </ul>
- </li>
- </ul>
- </li>
-</ul>
-
-<p>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.</p>
-
-<h2 id="Fourniture_de_chaînes_localisées_dans__locales">Fourniture de chaînes localisées dans _locales</h2>
-
-<p>Vous pouvez rechercher des sous-étiquettes de langue à l'aide de l'outil de <em>Recherche</em>r de la <a href="http://r12a.github.io/apps/subtags/">page de recherche sous-étiquette de langue</a>. Notez que vous devez rechercher le nom anglais de la langue.</p>
-
-<p>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é  <code>_locales</code>, placé dans la racine de l'extension. Chaque environnement local a ses chaînes (appelées messages) contenues dans un fichier appelé  <code>messages.json</code>, qui est placé dans un sous-répertoire de <code>_locales</code>, nommé en utilisant la sous-étiquette de langue pour la langue de ce local.</p>
-
-<p>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 <code>_locales</code>, <strong>le séparateur doit être un trait de soulignement</strong> :  "en_US".</p>
-
-<p><a href="https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n/_locales">Par exemple, dans notre exemple d'application</a> nous avons des répertoires pour "en" (anglais), "de" (allemand), "nl" (néerlandais), et "ja" (Japonais). Chaque d'entre eux a un fichier <code>messages.json</code> à l'intérieur.</p>
-
-<p>Regardons maintenant la structure de l'un de ces fichiers (<a href="https://github.com/mdn/webextensions-examples/blob/master/notify-link-clicks-i18n/_locales/en/messages.json">_locales/en/messages.json</a>):</p>
-
-<pre class="brush: 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
      }
    }
}
-}</pre>
+}
+```
-<p>Ce fichier est un JSON standard — chacun de ses membres est un objet avec un nom, qui contient un <code>message</code>  et une <code>description</code>. Tous ces éléments sont des chaînes ; <code>$URL$</code> est un espace réservé, qui est remplacé par une sous-chaîne au moment où le membre <code>notificationContent</code> est appelé par l'extension. Vous apprendrez à le faire dans la section {{anch("Récupération des chaînes de messages de JavaScript")}}.</p>
+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")}}.
-<div class="note">
-<p><strong>Note :</strong> Vous pouvez trouver beaucoup plus d'informations sur le contenu des fichiers  <code>messages.json</code> dans notre <a href="/fr/Add-ons/WebExtensions/API/i18n/Locale-Specific_Message_reference">référence spécifique aux paramètres régionaux</a>.</p>
-</div>
+> **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).
-<h2 id="Internationaliser_manifest.json">Internationaliser manifest.json</h2>
+## Internationaliser manifest.json
-<p>Il y a plusieurs tâches à accomplir pour internationaliser votre manifest.json.</p>
+Il y a plusieurs tâches à accomplir pour internationaliser votre manifest.json.
-<h3 id="Récupération_des_chaînes_localisées_dans_le_manifest">Récupération des chaînes localisées dans le manifest</h3>
+### Récupération des chaînes localisées dans le manifest
-<p>Votre <a href="https://github.com/mdn/webextensions-examples/blob/master/notify-link-clicks-i18n/manifest.json">manifest.json</a> 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.</p>
+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.
-<p>Pour internationaliser les chaînes, spécifiez-les comme ceci :</p>
+Pour internationaliser les chaînes, spécifiez-les comme ceci :
-<pre class="brush: json">"name": "__MSG_extensionName__",
-"description": "__MSG_extensionDescription__",</pre>
+```json
+"name": "__MSG_extensionName__",
+"description": "__MSG_extensionDescription__",
+```
-<p>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.</p>
+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.
-<p>Pour appeler une chaîne de message comme celle-ci, vous devez le spécifier comme ceci :</p>
+Pour appeler une chaîne de message comme celle-ci, vous devez le spécifier comme ceci :
-<ol>
- <li>Deux underscores, suivi de</li>
- <li>La chaîne "MSG", suivi de</li>
- <li>Un trait de soulignement, suivi de</li>
- <li>Le nom du message que vous souhaitez appeler tel que défini dans <code>messages.json</code>, suivi de</li>
- <li>Deux underscores</li>
-</ol>
+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
-<pre><strong>__MSG_</strong> + <em>messageName</em> + <strong>__</strong></pre>
+<!---->
-<h3 id="Spécification_dun_paramètre_régional_par_défaut">Spécification d'un paramètre régional par défaut</h3>
+ __MSG_ + messageName + __
-<p>Un autre champ que vous devez spécifier dans votre fichier manifest.json est <a href="/fr/Add-ons/WebExtensions/manifest.json/default_locale">default_locale</a>:</p>
+### Spécification d'un paramètre régional par défaut
-<pre class="brush: json">"default_locale": "en"</pre>
+Un autre champ que vous devez spécifier dans votre fichier manifest.json est [default_locale](/fr/Add-ons/WebExtensions/manifest.json/default_locale):
-<p>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")}}.</p>
+```json
+"default_locale": "en"
+```
-<h2 id="CSS_dépendant_des_paramètres_régionaux">CSS dépendant des paramètres régionaux</h2>
+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")}}.
-<p>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 :</p>
+## CSS dépendant des paramètres régionaux
-<pre class="brush: css">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);
-}</pre>
+}
+```
-<p>Ceci est utile, bien que vous fassiez mieux de gérer une telle situation en utilisant {{anch("Predefined messages")}}.</p>
+Ceci est utile, bien que vous fassiez mieux de gérer une telle situation en utilisant {{anch("Predefined messages")}}.
-<h2 id="Récupération_des_chaînes_de_messages_de_JavaScript">Récupération des chaînes de messages de JavaScript</h2>
+## Récupération des chaînes de messages de JavaScript
-<p>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' <a href="/fr/Add-ons/WebExtensions/API/i18n">API i18n</a> est assez simple, contenant seulement quatre méthodes principales :</p>
+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 :
-<ul>
- <li>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.</li>
- <li>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.</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>Dans notre exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n">notify-link-clicks-i18n</a>, le<a href="https://github.com/mdn/webextensions-examples/blob/master/notify-link-clicks-i18n/background-script.js"> script d'arrière plan</a> contient les lignes suivantes :</p>
+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 :
-<pre class="brush: js">var title = browser.i18n.getMessage("notificationTitle");
-var content = browser.i18n.getMessage("notificationContent", message.url);</pre>
+```js
+var title = browser.i18n.getMessage("notificationTitle");
+var content = browser.i18n.getMessage("notificationContent", message.url);
+```
-<p>La première récupère juste le <code>message</code> du champ <code>notificationTitle </code>du fichier <code>messages.json</code> 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é <code>$URL$</code>  que nous voyons dans le champ <code>message</code> du champ  <code>notificationContent</code> :</p>
+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` :
-<pre class="brush: json">"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);</pre>
}
}
}
-</pre>
+```
-<p>Le membre <code>"placeholders"</code> définit tous les espaces réservés et d'où ils sont extraits. L'espace réservé <code>"url"</code> spécifie que son contenu est pris à partir de $1, qui est la première valeur donnée dans le second paramètre de  <code>getMessage()</code>. Puisque l'espace réservé est appelé <code>"url"</code>, nous utilisons <code>$URL$</code> pour l'appeler dans la chaîne de message (pour <code>"name"</code> vous utiliserez <code>$NAME$</code>, 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 — <code>[a, b, c]</code> sera disponible en <code>$1</code>, <code>$2</code>, et <code>$3</code>, et ainsi de suite, à l'intérieur des  <code>messages.json</code>.</p>
+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`.
-<p>Parcourons un exemple: la chaîne originale du message  <code>notificationContent</code> dans le fichier  <code>en/messages.json</code> est</p>
+Parcourons un exemple: la chaîne originale du message  `notificationContent` dans le fichier  `en/messages.json` est
-<pre>You clicked $URL$.</pre>
+ You clicked $URL$.
-<p>Disons que le lien a été cliqué sur <code>https://developer.mozilla.org</code>. Après l'appel  {{WebExtAPIRef("i18n.getMessage()")}} , le contenu du deuxième paramètre est mis à disposition dans messages.json sous la forme <code>$1</code>, qui remplace l'espace réservé <code>$URL$</code> tel qu'il est défini dans l'espace réservé  <code>"url"</code>. Donc, la chaîne de message final est</p>
+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
-<pre>You clicked https://developer.mozilla.org.</pre>
+ You clicked https://developer.mozilla.org.
-<h3 id="Utilisation_de_lespace_réservé_direct">Utilisation  de l'espace réservé direct</h3>
+### Utilisation  de l'espace réservé direct
-<p>Il est possible d'insérer vos variables (<code>$1</code>, <code>$2</code>, <code>$3</code>, etc.) directement dans les chaînes de message, par exemple nous pourrions réécrire le membre <code>"notificationContent"</code> comme ceci :</p>
+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 :
-<pre class="brush: json">"notificationContent": {
+```json
+"notificationContent": {
"message": "You clicked $1.",
"description": "Tells the user which link they clicked."
-}</pre>
+}
+```
-<p>Cela peut sembler plus rapide et moins complexe, mais l'inverse (en utilisant <code>"placeholders"</code>) est considéré comme la meilleure pratique. En effet, avoir le nom de l'espace réservé (par exemple <code>"url"</code>) 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 <code>$1</code>–<code>$8</code> , plus susceptibles de savoir à quoi correspondent les noms de vos espaces réservés.</p>
+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.
-<h3 id="Substitution_codée_en_dur">Substitution codée en dur</h3>
+### Substitution codée en dur
-<p>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 :</p>
+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 :
-<pre class="brush: json">"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);</pre>
"content": "https://developer.mozilla.org/"
}
}
-}</pre>
-
-<p>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 <code>$1</code>. 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.</p>
-
-<p>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.</p>
-
-<h2 id="Sélection_de_chaîne_localisée">Sélection de chaîne localisée</h2>
-
-<p>Les paramètres régionaux peuvent être spécifiés en utilisant uniquement un code de langue, comme <code>fr</code> ou <code>en</code>, ou ils peuvent être qualifiés avec un code de région, comme <code>en_US</code> ou <code>en_GB</code>, 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:</p>
-
-<ol>
- <li>S'il existe un fichier <code>messages.json</code> pour l'environnement local actuel exact et qu'il contient la chaîne, renvoyez-le.</li>
- <li>Sinon, si l'environnement local actuel est qualifié avec une région (par exemple <code>en_US</code>) et qu'il existe un fichier <code>messages.json</code> pour la version sans région de cet environnement local (par exemple <code>en</code>), et que ce fichier contient la chaîne, renvoyez-le.</li>
- <li>Sinon, s'il existe un fichier <code>messages.json</code> pour l'argument <code>default_locale</code> défini dans <code>manifest.json</code>, et qu'il contient la chaîne, renvoyez-le.</li>
- <li>Sinon, renvoyez une chaîne vide.</li>
-</ol>
-
-<p>Prenons l'exemple suivant :</p>
-
-<ul>
- <li>extension-root-directory/
- <ul>
- <li>_locales
- <ul>
- <li>en_GB
- <ul>
- <li>messages.json
- <ul>
- <li><code>{ "colorLocalised": { "message": "colour", "description": "Color." }, ... }</code></li>
- </ul>
- </li>
- </ul>
+}
+```
+
+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
- <ul>
- <li>messages.json
- <ul>
- <li><code>{ "colorLocalised": { "message": "color", "description": "Color." }, ... }</code></li>
- </ul>
- </li>
- </ul>
- </li>
- <li>fr
- <ul>
- <li>messages.json
- <ul>
- <li><code>{ "colorLocalised": { "message": "couleur", "description": "Color." }, ...}</code></li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
-</ul>
+ - messages.json
+
+ - `{ "colorLocalised": { "message": "color", "description": "Color." }, ... }`
-<p>Supposons que <code>default_locale</code> soit défini sur <code>fr</code>, et que les paramètres régionaux actuels du navigateur soient <code>en_GB</code> :</p>
+ - fr
-<ul>
- <li>Si l'extension appelle <code>getMessage("colorLocalised")</code>, elle retournera "couleur".</li>
- <li>Si "colorLocalised" n'était pas présent dans <code>en_GB</code>, alors <code>getMessage("colorLocalised")</code>, retournerait "color", pas "couleur".</li>
-</ul>
+ - messages.json
-<h2 id="Messages_prédéfinis">Messages prédéfinis</h2>
+ - `{ "colorLocalised": { "message": "couleur", "description": "Color." }, ...}`
-<p>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 :</p>
+Supposons que `default_locale` soit défini sur `fr`, et que les paramètres régionaux actuels du navigateur soient `en_GB` :
-<pre>__MSG_extensionName__</pre>
+- 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".
-<p>Les messages prédéfinis utilisent exactement la même syntaxe, sauf avec <code>@@</code> avant le nom du message, par exemple</p>
+## Messages prédéfinis
-<pre>__MSG_@@ui_locale__</pre>
+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 :
-<p>Le tableau suivant montre les différents messages prédéfinis disponibles :</p>
+ __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 :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Nom du message</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>@@extension_id</code></td>
- <td>
- <p>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.</p>
-
- <p>Vous ne pouvez pas utiliser ce message dans un fichier manifest.</p>
-
- <p>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é <a href="/fr/Add-ons/WebExtensions/manifest.json/applications">applications</a> 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  <code>extensionId</code> 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")}}.</p>
- </td>
- </tr>
- <tr>
- <td><code>@@ui_locale</code></td>
- <td>Les paramètres régionaux actuels vous pouvez utiliser cette chaîne pour créer des URL spécifiques aux paramètres régionaux.</td>
- </tr>
- <tr>
- <td><code>@@bidi_dir</code></td>
- <td>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.</td>
- </tr>
- <tr>
- <td><code>@@bidi_reversed_dir</code></td>
- <td>Si le <code>@@bidi_dir</code> est "ltr", alors il s'agit de "rtl"; sinon, c'est "ltr".</td>
- </tr>
- <tr>
- <td><code>@@bidi_start_edge</code></td>
- <td>Si le <code>@@bidi_dir</code> est "ltr", alors c'est "gauche"; sinon, c'est "droite".</td>
- </tr>
- <tr>
- <td><code>@@bidi_end_edge</code></td>
- <td>Si le <code>@@bidi_dir</code> est "ltr", alors c'est "droite"; sinon, c'est "gauche".</td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Nom du message</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>@@extension_id</code></td>
+ <td>
+ <p>
+ 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.
+ </p>
+ <p>Vous ne pouvez pas utiliser ce message dans un fichier manifest.</p>
+ <p>
+ 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é
+ <a href="/fr/Add-ons/WebExtensions/manifest.json/applications"
+ >applications</a
+ >
+ 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  <code>extensionId</code> 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")}}.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>@@ui_locale</code></td>
+ <td>
+ Les paramètres régionaux actuels vous pouvez utiliser cette chaîne pour
+ créer des URL spécifiques aux paramètres régionaux.
+ </td>
+ </tr>
+ <tr>
+ <td><code>@@bidi_dir</code></td>
+ <td>
+ 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.
+ </td>
+ </tr>
+ <tr>
+ <td><code>@@bidi_reversed_dir</code></td>
+ <td>
+ Si le <code>@@bidi_dir</code> est "ltr", alors il s'agit de "rtl";
+ sinon, c'est "ltr".
+ </td>
+ </tr>
+ <tr>
+ <td><code>@@bidi_start_edge</code></td>
+ <td>
+ Si le <code>@@bidi_dir</code> est "ltr", alors c'est "gauche"; sinon,
+ c'est "droite".
+ </td>
+ </tr>
+ <tr>
+ <td><code>@@bidi_end_edge</code></td>
+ <td>
+ Si le <code>@@bidi_dir</code> est "ltr", alors c'est "droite"; sinon,
+ c'est "gauche".
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Pour en revenir à notre exemple, il serait plus logique de l'écrire comme ceci :</p>
+Pour en revenir à notre exemple, il serait plus logique de l'écrire comme ceci :
-<pre class="brush: css">header {
+```css
+header {
background-image: url(../images/__MSG_@@ui_locale__/header.png);
-}</pre>
+}
+```
-<p>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.</p>
+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.
-<p>Regardons un exemple d'utilisation des messages <code>@@bidi_*</code> dans un fichier CSS :</p>
+Regardons un exemple d'utilisation des messages `@@bidi_*` dans un fichier CSS :
-<pre class="brush: 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;
-}</pre>
+}
+```
-<p>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 :</p>
+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 :
-<pre class="brush: css">direction: ltr;
+```css
+direction: ltr;
padding-left: 0;
padding-right: 1.5em;
-</pre>
+```
-<p>Pour une langue de droite à gauche comme l'arabe, vous obtiendrez :</p>
+Pour une langue de droite à gauche comme l'arabe, vous obtiendrez :
-<pre class="brush: css">direction: rtl;
+```css
+direction: rtl;
padding-right: 0;
-padding-left: 1.5em;</pre>
-
-<h2 id="Tester_votre_extension">Tester votre extension</h2>
+padding-left: 1.5em;
+```
-<p>Depuis Firefox 45, vous pouvez installer temporairement des extensions à partir du disque — voir <a href="/fr/Add-ons/WebExtensions/Packaging_and_installation#Loading_from_disk">Chargement depuis le disque</a>. Pour ce faire, puis essayez de tester notre extension <a href="https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n">notify-link-clicks-i18n</a>. 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é.</p>
+## Tester votre extension
-<p>Ensuite, changez les paramètres régionaux de Firefox en un supporté dans l'extension que vous voulez tester.</p>
+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é.
-<ol>
- <li>Ouvrez "about:config" dans Firefox, et recherchez la préférence  <code>intl.locale.requested</code>  (gardez à l'esprit qu'avant Firefox 59, cette préférence s'appellait <code>general.useragent.locale</code>).</li>
- <li>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.</li>
- <li>Recherchez <code>intl.locale.matchOS</code> et double-cliquez sur la préférence pour qu'elle soit définie sur <code>false</code>.</li>
- <li>Redémarrez votre navigateur pour terminer la modification.</li>
-</ol>
+Ensuite, changez les paramètres régionaux de Firefox en un supporté dans l'extension que vous voulez tester.
-<div class="note">
-<p><strong>Note :</strong> Cela fonctionne pour modifier les paramètres régionaux du navigateur, même si vous n'avez pas installé le <a href="/fr/firefox/language-tools/">pack de language</a> pour cette langue. Vous obtiendrez simplement l'interface du navigateur dans votre langue par défaut si c'est le cas.</p>
-</div>
+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.
-<ol>
-</ol>
+> **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.
-<p>Chargez l'extension temporairement à partir du disque, puis testez vos nouveaux paramètres régionaux:</p>
+Chargez l'extension temporairement à partir du disque, puis testez vos nouveaux paramètres régionaux:
-<ul>
- <li>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.</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>{{EmbedYouTube("R7--fp5pPGg")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td>chaîne de caractères</td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"author": "Walt Whitman"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td>chaîne de caractères</td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td><pre class="brush: json">"author": "Walt Whitman"</pre></td>
+ </tr>
+ </tbody>
</table>
-<p>L'auteur de l'extension, destiné à être visualisé dans l'interface utilisateur du navigateur. Si la clé du <a href="/fr/Add-ons/WebExtensions/manifest.json/developer">developpeur</a> 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.</p>
+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.
-<p>Notez que Firefox ne supporte cette clé qu'à partir de la version 52 et que cette clé est obligatoire dans Microsoft Edge.</p>
+Notez que Firefox ne supporte cette clé qu'à partir de la version 52 et que cette clé est obligatoire dans Microsoft Edge.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"author": "Walt Whitman"</pre>
+```json
+"author": "Walt Whitman"
+```
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.manifest.author")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Object</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>No</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>No</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"background": {
"scripts": ["background.js"]
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> nécessaires.</p>
+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.
-<p>Voir la section "Pages arrière-plan" dans <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_pages">l'anatomie d'une WebExtension</a> pour plus de détails.</p>
+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.
-<p>La clé background est un objet qui peut avoir l'une des deux propriétés suivantes, toutes deux facultatives :</p>
+La clé background est un objet qui peut avoir l'une des deux propriétés suivantes, toutes deux facultatives :
<table class="standard-table">
- <tbody>
- <tr>
- <td><code>"scripts"</code></td>
- <td>
- <p>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.</p>
-
- <p>Les scripts partagent la même fenêtre globale.</p>
-
- <p>Les scripts sont chargés dans l'ordre où 'ils apparaissent dans le tableau.</p>
-
- <p><strong>Notez qu'il y a un bug affectant les versions de Firefox antérieures à la version 50 </strong>: 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 &lt;script&gt;. 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.</p>
- </td>
- </tr>
- <tr>
- <td><code>"page"</code></td>
- <td>
- <div class="note">
- <p><strong>Note :</strong> Si vous souhaitez récupérer un script à partir d'un emplacement distant avec la balise &lt;script&gt; (par exemple : &lt;script src = "https://code.jquery.com/jquery-1.7.1.min.js"&gt; ), vous devrez également modifier la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_security_policy">content_security_policy</a></code> dans le fichier manifest.json de votre extension.</p>
- </div>
-
- <p>Si vous spécifiez des "scripts", une page vide sera créée pour que vos scripts s'exécutent.</p>
-
- <p>Si vous avez besoin de contenu particulier dans la page, vous pouvez définir votre propre page en utilisant l'option "page".</p>
-
- <p>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.</p>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <td><code>"scripts"</code></td>
+ <td>
+ <p>
+ 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.
+ </p>
+ <p>Les scripts partagent la même fenêtre globale.</p>
+ <p>
+ Les scripts sont chargés dans l'ordre où 'ils apparaissent dans le
+ tableau.
+ </p>
+ <p>
+ <strong
+ >Notez qu'il y a un bug affectant les versions de Firefox
+ antérieures à la version 50 </strong
+ >: 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 &#x3C;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.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>"page"</code></td>
+ <td>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Si vous souhaitez récupérer un script à
+ partir d'un emplacement distant avec la balise &#x3C;script> (par
+ exemple : &#x3C;script src =
+ "https://code.jquery.com/jquery-1.7.1.min.js"> ), vous devrez
+ également modifier la clé
+ <code
+ ><a
+ href="/fr/Add-ons/WebExtensions/manifest.json/content_security_policy"
+ >content_security_policy</a
+ ></code
+ >
+ dans le fichier manifest.json de votre extension.
+ </p>
+ </div>
+ <p>
+ Si vous spécifiez des "scripts", une page vide sera créée pour que vos
+ scripts s'exécutent.
+ </p>
+ <p>
+ Si vous avez besoin de contenu particulier dans la page, vous pouvez
+ définir votre propre page en utilisant l'option "page".
+ </p>
+ <p>
+ 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.
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2>Exemple</h2>
+## Exemple
-<pre class="brush: json"> "background": {
+```json
+ "background": {
"scripts": ["jquery.js", "my-background.js"]
- }</pre>
+ }
+```
-<p>Chargez deux scripts de fond.</p>
+Chargez deux scripts de fond.
-<pre class="brush: json"> "background": {
+```json
+ "background": {
"page": "my-background.html"
- }</pre>
+ }
+```
-<p>Chargez une page d'arrière-plan personnalisée.</p>
+Chargez une page d'arrière-plan personnalisée.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.background", 10)}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Object</code></td>
- </tr>
- <tr>
- <th scope="row">Mandatory</th>
- <td>No</td>
- </tr>
- <tr>
- <th scope="row">Example</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Mandatory</th>
+ <td>No</td>
+ </tr>
+ <tr>
+ <th scope="row">Example</th>
+ <td>
+ <pre class="brush: json">
"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
}]
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>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.</p>
+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.
-<p>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 <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">scripts d'arrière-plan</a> de votre extension lorsque l'utilisateur clique sur le bouton.</p>
+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.
-<p>Vous pouvez également créer et manipuler des actions de navigateur de manière programmée à l'aide de l'<a href="/fr/Add-ons/WebExtensions/API/browserAction">API browserAction</a>.</p>
+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).
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<p>La clé <code>browser_action</code> est un objet qui peut avoir l'une des propriétés suivantes, toutes optionnelles :</p>
+La clé `browser_action` est un objet qui peut avoir l'une des propriétés suivantes, toutes optionnelles :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>browser_style</code></td>
- <td><code>Booléen</code></td>
- <td>
- <p>Facultatif, par défaut à <code>false</code>.</p>
-
- <p>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é <code>browser_style</code>. Bien que cette touche par défaut soit <code>false</code>, il est recommandé de l'inclure et de la mettre à <code>true</code> afin de rendre vos fenêtres contextuelles cohérentes avec l'apparence du reste de l'interface utilisateur du navigateur.</p>
-
- <p>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  <code>box-sizing: border-box</code> (voir <a href="/docs/Web/CSS/box-sizing">box-sizing</a>).</p>
-
- <p>Les <a href="/fr/Add-ons/WebExtensions/user_interface/Browser_styles">Browser styles</a> décrivent les classes que vous pouvez appliquer aux éléments dans le popup afin d'obtenir des styles particuliers.</p>
-
- <p>L'extension de l'exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/latest-download">latest-download</a> utilise <code>browser_style</code> dans son popup.</p>
- </td>
- </tr>
- <tr>
- <td><code>default_area</code></td>
- <td>Chaîne de caractères</td>
- <td>
-
- <p>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:</p>
-
- <ul>
- <li>"navbar" : le bouton est placé dans la barre d'outils principale du navigateur, à côté de la barre d'URL.</li>
- <li>"menupanel" : le bouton est placé dans un panneau contextuel.</li>
- <li>"tabstrip" : le bouton est placé dans la barre d'outils qui contient les onglets du navigateur.</li>
- <li>"personaltoolbar" : le bouton est placé dans la barre d'outils des signets</li>
- </ul>
-
- <p>Cette propriété est seulement supportée dans Firefox.</p>
-
- <p>Cett propriété est facultative, et defaut à "navbar".</p>
-
- <p>Firefox se souvient des paramètres <code>default_area</code> 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  <code>default_area</code>, l'identifiant de l'extension doit être modifié.</p>
-
- <p>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.</p>
- </td>
- </tr>
- <tr>
- <td><code>default_icon</code></td>
- <td><code>Objet</code> ou chaîne de caractères</td>
- <td>
- <p>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.</p>
-
- <p>Les icônes sont spécifiées comme des URL relatives dans le fichier manifest.json lui-même.</p>
-
- <p>Vous pouvez spécifier un seul fichier d'icône en fournissant une chaîne ici:</p>
-
- <pre class="brush: json">
-"default_icon": "path/to/geo.svg"</pre>
-
- <p>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:</p>
-
- <pre class="brush: json">
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>browser_style</code></td>
+ <td><code>Booléen</code></td>
+ <td>
+ <p>Facultatif, par défaut à <code>false</code>.</p>
+ <p>
+ 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é
+ <code>browser_style</code>. Bien que cette touche par défaut soit
+ <code>false</code>, il est recommandé de l'inclure et de la mettre à
+ <code>true</code> afin de rendre vos fenêtres contextuelles cohérentes
+ avec l'apparence du reste de l'interface utilisateur du navigateur.
+ </p>
+ <p>
+ 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  <code>box-sizing: border-box</code> (voir
+ <a href="/docs/Web/CSS/box-sizing">box-sizing</a>).
+ </p>
+ <p>
+ Les
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Browser_styles"
+ >Browser styles</a
+ >
+ décrivent les classes que vous pouvez appliquer aux éléments dans le
+ popup afin d'obtenir des styles particuliers.
+ </p>
+ <p>
+ L'extension de l'exemple
+ <a
+ href="https://github.com/mdn/webextensions-examples/tree/master/latest-download"
+ >latest-download</a
+ >
+ utilise <code>browser_style</code> dans son popup.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_area</code></td>
+ <td>Chaîne de caractères</td>
+ <td>
+ <p>
+ 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:
+ </p>
+ <ul>
+ <li>
+ "navbar" : le bouton est placé dans la barre d'outils principale du
+ navigateur, à côté de la barre d'URL.
+ </li>
+ <li>"menupanel" : le bouton est placé dans un panneau contextuel.</li>
+ <li>
+ "tabstrip" : le bouton est placé dans la barre d'outils qui contient
+ les onglets du navigateur.
+ </li>
+ <li>
+ "personaltoolbar" : le bouton est placé dans la barre d'outils des
+ signets
+ </li>
+ </ul>
+ <p>Cette propriété est seulement supportée dans Firefox.</p>
+ <p>Cett propriété est facultative, et defaut à "navbar".</p>
+ <p>
+ Firefox se souvient des paramètres <code>default_area</code> 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  <code>default_area</code>, l'identifiant de l'extension
+ doit être modifié.
+ </p>
+ <p>
+ 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.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_icon</code></td>
+ <td><code>Objet</code> ou chaîne de caractères</td>
+ <td>
+ <p>
+ 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.
+ </p>
+ <p>
+ Les icônes sont spécifiées comme des URL relatives dans le fichier
+ manifest.json lui-même.
+ </p>
+ <p>
+ Vous pouvez spécifier un seul fichier d'icône en fournissant une
+ chaîne ici:
+ </p>
+ <pre class="brush: json">"default_icon": "path/to/geo.svg"</pre>
+ <p>
+ 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:
+ </p>
+ <pre class="brush: json">
"default_icon": {
"16": "path/to/geo-16.png",
"32": "path/to/geo-32.png"
- }</pre>
-
- <p>Vous ne pouvez pas spécifier plusieurs icônes de la même taille.</p>
-
- <p>Voir <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes">Choisir les tailles des icones</a> pour plus de conseils à ce sujet.</p>
- </td>
- </tr>
- <tr>
- <td><code>default_popup</code></td>
- <td>chaîne de caractères</td>
- <td>
- <p>Le chemin d'accès à un fichier HTML contenant la spécification de la fenêtre contextuelle.</p>
-
- <p>Le fichier HTML peut inclure des fichiers CSS et JavaScript en utilisant des éléments <code><a href="/fr/docs/Web/HTML/Element/link">&lt;link&gt;</a></code> et <code><a href="/fr/docs/Web/HTML/Element/script">&lt;script&gt;</a></code>, tout comme une page Web normale. Cependant, <code><a href="/fr/docs/Web/HTML/Element/script">&lt;script&gt;</a></code> doit avoir l'attribut <code><a href="/fr/docs/Web/HTML/Element/script">src</a></code> pour charger un fichier. N'utilisez pas <code><a href="/fr/docs/Web/HTML/Element/script">&lt;script&gt;</a></code> avec du code intégré, car vous obtiendrez une erreur de politique de violation de contenu confuse.</p>
-
- <p>Contrairement à une page Web normale, JavaScript en cours d'exécution dans la fenêtre contextuelle peut accéder à toutes les <a href="/fr/Add-ons/WebExtensions/API">APIs WebExtension</a> (soumis, bien sûr, à l'extension possédant les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> appropriées).</p>
-
- <p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
- </td>
- </tr>
- <tr>
- <td><code>default_title</code></td>
- <td>chaîne de caractères</td>
- <td>
- <p>Info-bulle pour le bouton, affichée lorsque l'utilisateur passe sa souris dessus.</p>
-
- <p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
- </td>
- </tr>
- <tr>
- <td><code>theme_icons</code></td>
- <td><code>Tableau</code></td>
- <td>
- <p>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.</p>
-
- <p>Si cette propriété est présente, il s'agit d'un tableau contenant au moins un objet <code>ThemeIcons</code>. Un objet <code>ThemeIcons</code> contient trois propriétés obligatoires :</p>
-
- <dl>
- <dt><code>"dark"</code></dt>
- <dd>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é).</dd>
- <dt><code>"light"</code></dt>
- <dd>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).</dd>
- <dt><code>"size"</code></dt>
- <dd>La taille des deux icônes en pixels.</dd>
- </dl>
-
- <p>Les icônes sont spécifiées en tant qu'URL par rapport au fichier manifest.json lui-même.</p>
-
- <p>Vous devez fournir un <code>ThemeIcons</code> en taille 16x16 et un en taille 32x32 (pour l'affichage de la rétine).</p>
- </td>
- </tr>
- </tbody>
+ }</pre
+ >
+ <p>Vous ne pouvez pas spécifier plusieurs icônes de la même taille.</p>
+ <p>
+ Voir
+ <a
+ href="/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes"
+ >Choisir les tailles des icones</a
+ >
+ pour plus de conseils à ce sujet.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_popup</code></td>
+ <td>chaîne de caractères</td>
+ <td>
+ <p>
+ Le chemin d'accès à un fichier HTML contenant la spécification de la
+ fenêtre contextuelle.
+ </p>
+ <p>
+ Le fichier HTML peut inclure des fichiers CSS et JavaScript en
+ utilisant des éléments
+ <code><a href="/fr/docs/Web/HTML/Element/link">&#x3C;link></a></code>
+ et
+ <code
+ ><a href="/fr/docs/Web/HTML/Element/script">&#x3C;script></a></code
+ >, tout comme une page Web normale. Cependant,
+ <code
+ ><a href="/fr/docs/Web/HTML/Element/script">&#x3C;script></a></code
+ >
+ doit avoir l'attribut
+ <code><a href="/fr/docs/Web/HTML/Element/script">src</a></code> pour
+ charger un fichier. N'utilisez pas
+ <code
+ ><a href="/fr/docs/Web/HTML/Element/script">&#x3C;script></a></code
+ >
+ avec du code intégré, car vous obtiendrez une erreur de politique de
+ violation de contenu confuse.
+ </p>
+ <p>
+ Contrairement à une page Web normale, JavaScript en cours d'exécution
+ dans la fenêtre contextuelle peut accéder à toutes les
+ <a href="/fr/Add-ons/WebExtensions/API">APIs WebExtension</a> (soumis,
+ bien sûr, à l'extension possédant les
+ <a
+ href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions"
+ >permissions</a
+ >
+ appropriées).
+ </p>
+ <p>
+ Ceci est une
+ <a
+ href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json"
+ >propriété localisable</a
+ >.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_title</code></td>
+ <td>chaîne de caractères</td>
+ <td>
+ <p>
+ Info-bulle pour le bouton, affichée lorsque l'utilisateur passe sa
+ souris dessus.
+ </p>
+ <p>
+ Ceci est une
+ <a
+ href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json"
+ >propriété localisable</a
+ >.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>theme_icons</code></td>
+ <td><code>Tableau</code></td>
+ <td>
+ <p>
+ 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.
+ </p>
+ <p>
+ Si cette propriété est présente, il s'agit d'un tableau contenant au
+ moins un objet <code>ThemeIcons</code>. Un objet
+ <code>ThemeIcons</code> contient trois propriétés obligatoires :
+ </p>
+ <dl>
+ <dt><code>"dark"</code></dt>
+ <dd>
+ 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é).
+ </dd>
+ <dt><code>"light"</code></dt>
+ <dd>
+ 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).
+ </dd>
+ <dt><code>"size"</code></dt>
+ <dd>La taille des deux icônes en pixels.</dd>
+ </dl>
+ <p>
+ Les icônes sont spécifiées en tant qu'URL par rapport au fichier
+ manifest.json lui-même.
+ </p>
+ <p>
+ Vous devez fournir un <code>ThemeIcons</code> en taille 16x16 et un en
+ taille 32x32 (pour l'affichage de la rétine).
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Choisir_les_tailles_des_icônes">Choisir les tailles des icônes</h2>
+## Choisir les tailles des icônes
-<p>L'icône de l'action du navigateur peut devoir être affichée dans différentes tailles dans différents contextes:</p>
+L'icône de l'action du navigateur peut devoir être affichée dans différentes tailles dans différents contextes:
-<ul>
- <li>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.</li>
- <li>Sur un écran haute densité comme un écran Retina, les icônes doivent être deux fois plus grandes.</li>
-</ul>
+- 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.
-<p>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.</p>
+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.
-<p>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 :</p>
+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 :
-<pre class="brush: json">"default_icon": "path/to/geo.svg"</pre>
+```json
+"default_icon": "path/to/geo.svg"
+```
-<p>Ou vous pouvez fournir plusieurs icônes dans différentes tailles, et le navigateur choisira la meilleure.</p>
+Ou vous pouvez fournir plusieurs icônes dans différentes tailles, et le navigateur choisira la meilleure.
-<p>Dans Firefox:</p>
+Dans Firefox:
-<ul>
- <li>La hauteur par défaut des icônes dans la barre d'outils est 16 * <code><a href="/fr/docs/Web/API/Window/devicePixelRatio">window.devicePixelRatio</a></code>.</li>
- <li>La hauteur par défaut pour les icônes dans le panneau de menu est 32 * <code><a href="/fr/docs/Web/API/Window/devicePixelRatio">window.devicePixelRatio</a></code>.</li>
-</ul>
+- 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).
-<p>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:</p>
+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:
-<pre class="brush: json"> "default_icon": {
+```json
+ "default_icon": {
"16": "path/to/geo-16.png",
"32": "path/to/geo-32.png",
"64": "path/to/geo-64.png"
- }</pre>
+ }
+```
-<p>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.</p>
+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.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"browser_action": {
+```json
+"browser_action": {
"default_icon": {
"16": "button/geo-16.png",
"32": "button/geo-32.png"
}
-}</pre>
+}
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js"> browser.browserAction.onClicked.addListener(handleClick);</pre>
+```js
+ browser.browserAction.onClicked.addListener(handleClick);
+```
-<pre class="brush: json">"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"
-}</pre>
+}
+```
-<p>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.</p>
+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.
-<p>Pour une extension simple, mais complète, qui utilise une action de navigateur, consultez le <a href="/fr/Add-ons/WebExtensions/Your_second_WebExtension">tutoriel pas à pas</a>.</p>
+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).
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.browser_action", 10)}}</p>
+{{Compat("webextensions.manifest.browser_action", 10)}}
-<h2 id="See_also">See also</h2>
+## See also
-<ul>
- <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/page_action">page_action</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a></code></li>
- <li><a href="/fr/Add-ons/WebExtensions/user_interface/Browser_styles">Browser styles</a></li>
-</ul>
+- [`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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Object</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>
- <p>Habituellement, non (mais voir aussi <a href="/fr/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID#When_do_you_need_an_Add-on_ID">Quand avec-vous besoin d'une ID Complémentaire</a><a href="/fr/Add-ons/WebExtensions/manifest.json/applications#When_do_I_need_the_applications_key">?</a>). Obligatoire avant Firefox 48 (desktop) et Firefox pour Android.</p>
- </td>
- </tr>
- <tr>
- <th scope="row">Example</th>
- <td>
- <pre class="brush: json;">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>
+ <p>
+ Habituellement, non (mais voir aussi
+ <a
+ href="/fr/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID#When_do_you_need_an_Add-on_ID"
+ >Quand avec-vous besoin d'une ID Complémentaire</a
+ ><a
+ href="/fr/Add-ons/WebExtensions/manifest.json/applications#When_do_I_need_the_applications_key"
+ >?</a
+ >). Obligatoire avant Firefox 48 (desktop) et Firefox pour Android.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Example</th>
+ <td>
+ <pre class="brush: json;">
"browser_specific_settings": {
"gecko": {
"id": "addon@example.com",
"strict_min_version": "42.0"
}
}
-</pre>
- </td>
- </tr>
- </tbody>
+</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Description">Description</h2>
+## Description
-<p>La clé <code>browser_specific_settings</code> contient des clés qui sont spécifiques à certaines applications hôtes.</p>
+La clé `browser_specific_settings` contient des clés qui sont spécifiques à certaines applications hôtes.
-<h3 id="Propriétés_Gecko_Firefox">Propriétés (Gecko) Firefox</h3>
+### Propriétés (Gecko) Firefox
-<p>Actuellement, elle contient uniquement une clé, <code>gecko</code>, qui est structurée ainsi :</p>
+Actuellement, elle contient uniquement une clé, `gecko`, qui est structurée ainsi :
-<ul>
- <li><code>id</code> est l'ID de l'extension. Facultatif à partir de Firefox 48, obligatoire avant Firefox 48. Voir les <a href="/fr/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID">WebExtensions et l'ID des extensions</a> pour voir quand vous devez spécifier un identifiant complémentaire.</li>
- <li><code>strict_min_version </code>: la version minimum de Gecko supportée. Les versions contenant un "*" ne sont pas valides dans ce domaine. Par défaut, c'est "42a1".</li>
- <li><code>strict_max_version</code> : 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.</li>
- <li>
- <p><code>update_url</code> est lien vers un <a href="/fr-FR/Add-ons/Install_Manifests#updateURL">manifeste de mise à jour personnalisé</a>. 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).</p>
- </li>
-</ul>
+- `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).
-<p>Vois la liste des <a href="https://addons.mozilla.org/en-US/firefox/pages/appversions/">versions Gecko valides</a>.</p>
+Vois la liste des [versions Gecko valides](https://addons.mozilla.org/en-US/firefox/pages/appversions/).
-<h4 id="Format_dID_dextension">Format d'ID d'extension</h4>
+#### Format d'ID d'extension
-<p>L'ID d'extension doit être l'un des suivants :</p>
+L'ID d'extension doit être l'un des suivants :
-<ul>
- <li><a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">GUID</a></li>
- <li>Une chaîne formatée comme une adresse e-mail : <code>extensionname@example.org</code></li>
-</ul>
+- [GUID](https://en.wikipedia.org/wiki/Universally_unique_identifier)
+- Une chaîne formatée comme une adresse e-mail : `extensionname@example.org`
-<p>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.</p>
+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.
-<p>Par exemple :</p>
+Par exemple :
-<pre class="brush: json">"id": "extensionname@example.org"</pre>
+```json
+"id": "extensionname@example.org"
+```
-<pre class="brush: json">"id": "{daf44bf7-a45e-4450-979c-91cf07434c3d}"</pre>
+```json
+"id": "{daf44bf7-a45e-4450-979c-91cf07434c3d}"
+```
-<h3 id="Propriétés_Microsoft_Edge">Propriétés Microsoft Edge</h3>
+### Propriétés Microsoft Edge
-<div class="warning">
-<p><strong>Attention :</strong> 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.</p>
-</div>
+> **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.
-<p>Microsoft Edge stocke les paramètres spécifiques à son navigateur dans la sous-clé <code>edge</code>, qui possède les propriétés suivantes :</p>
+Microsoft Edge stocke les paramètres spécifiques à son navigateur dans la sous-clé `edge`, qui possède les propriétés suivantes :
-<dl>
- <dt><code>browser_action_next_to_addressbar</code></dt>
- <dd>
- <p>Propriété booléenne qui contrôle le placement de l'<a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_actions">action du navigateur</a>.</p>
+- `browser_action_next_to_addressbar`
- <ul>
- <li><code>true</code> est équivalent à la définition <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action#Syntax">browser_action.default_area</a></code> à <code>navbar</code>.</li>
- <li><code>false</code> is équivalent à la définition <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action#Syntax">browser_action.default_area</a></code> à <code>menupanel</code>.</li>
- </ul>
- </dd>
-</dl>
+ - : Propriété booléenne qui contrôle le placement de l'[action du navigateur](/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_actions).
-<h2 id="Exemples">Exemples</h2>
+ - `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`.
-<p>Exemple avec toutes les clés possibles. Notez que vous n'incluez normalement ni une version <code>strict_max_version</code> ni une clé <code>update_url</code>.</p>
+## Exemples
-<pre class="brush: json">"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
}
-}</pre>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
+}
+```
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.manifest.browser_specific_settings")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Utilisez la clé <code>chrome_settings_overrides</code> pour remplacer certains paramètres du navigateur. Deux paramètres sont disponibles :</p>
+Utilisez la clé `chrome_settings_overrides` pour remplacer certains paramètres du navigateur. Deux paramètres sont disponibles :
-<ul>
- <li><code>"homepage"</code>, qui vous permet de remplacer la page d'accueil du navigateur.</li>
- <li><code>"search_provider"</code>, qui vous permet d'ajouter un nouveau moteur de recherche.</li>
-</ul>
+- `"homepage"`, qui vous permet de remplacer la page d'accueil du navigateur.
+- `"search_provider"`, qui vous permet d'ajouter un nouveau moteur de recherche.
-<pre class="brush: json">"chrome_settings_overrides" : {
+```json
+"chrome_settings_overrides" : {
"homepage": "https://developer.mozilla.org/"
-}</pre>
+}
+```
-<pre class="brush: json">"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"
}
-}</pre>
+}
+```
<table>
- <tbody>
- <tr>
- <th colspan="2" scope="row">clé de manifeste : <code>chrome_settings_overrides</code></th>
- </tr>
- <tr>
- <th scope="row">Type</th>
- <td><code>Objet</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th colspan="2" scope="row">
+ clé de manifeste : <code>chrome_settings_overrides</code>
+ </th>
+ </tr>
+ <tr>
+ <th scope="row">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<p>La clé <code>chrome_settings_overrides</code> est un objet qui peut avoir les propriétés suivantes:</p>
+La clé `chrome_settings_overrides` est un objet qui peut avoir les propriétés suivantes:
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Nom</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>homepage</code></td>
- <td>Chaîne de caractères</td>
- <td>
- <p>Définit la page à utiliser comme page d'accueil du navigateur.</p>
-
- <p>Le remplacement est donné comme une URL. L'URL peut :</p>
-
- <ul>
- <li>pointer sur un fichier regroupé avec l'extension, auquel cas il est donné comme une URL relative au fichier manifest.json</li>
- <li>être une URL distante comme "https://developer.mozilla.org/".</li>
- </ul>
-
- <p>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é.</p>
-
- <p>Pour éviter de nouveaux onglets, utilisez à la place "<a href="/fr/Add-ons/WebExtensions/manifest.json/chrome_url_overrides">chrome_url_overrides</a>".</p>
-
- <p>C'est une  <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
- </td>
- </tr>
- <tr>
- <td><code>search_provider</code></td>
- <td><code>Objet</code></td>
- <td>
- <p>Définit un moteur de recherche à ajouter au navigateur.</p>
-
- <p>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 "<code>{searchTerms}</code>" pour interpoler le terme de recherche  dans l'URL, comme : <code>https://www.discogs.com/search/?q={searchTerms}</code>. Vous pouvez également fournir des paramètres POST à envoyer avec la recherche.</p>
-
- <p>Le moteur de recherche sera présenté à l'utilisateur à côté de ceux fournis dans l'interface. Si vous incluez la propriété <code>is_default</code>et le configurez avec <code>true</code>, le nouveau moteur de recherche devient l'option par défaut. Avec l'utilisation de la propriété<code>keyword</code>, 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é.</p>
-
- <p>C'est un objet avec les propriétés listées ci-dessous. Toutes les propriétés chaîne de caractères sont <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">localisable</a>s.</p>
-
- <dl>
- <dt><code>name</code></dt>
- <dd>Chaîne de caractères : le nom du moteur de recherche, affiché pour l'utilisateur.</dd>
- <dt><code>search_url</code></dt>
- <dd>Chaîne de caractères : l'URL utilisée par le moteur de recherche. Il peut être une URL HTTPS.</dd>
- <dt><code>is_default</code></dt>
- <dd>Booléen: "True" si le moteur de recherch doit être le choix par défaut.</dd>
- <dt><code>alternate_urls {{optional_inline}}</code></dt>
- <dd>Tableau de chaînes de caractères : un éventail d'URL alternatives, qui peut être utilisé à la place de<code>search_url</code>.</dd>
- <dt><code>encoding {{optional_inline}}</code></dt>
- <dd>Chaîne de caractères : codage du terme de recherche, spécifié comme un <a href="https://www.iana.org/assignments/character-sets/character-sets.xhtml">standard character encoding name</a>, voir "UTF-8".</dd>
- <dt><code>favicon_url {{optional_inline}}</code></dt>
- <dd>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.</dd>
- <dt><code>image_url {{optional_inline}}</code></dt>
- <dd>Chaîne de caractères : URL utilisée pour une recherche d'images.</dd>
- <dt><code>image_url_post_params {{optional_inline}}</code></dt>
- <dd>Chaîne de caractères : paramètres POST à envoyer à<code>image_url</code>.</dd>
- <dt><code>instant_url {{optional_inline}}</code></dt>
- <dd>Chaîne de caractères : URL utilisée pour une recherche instantanée.</dd>
- <dt><code>instant_url_post_params {{optional_inline}}</code></dt>
- <dd>Chaîne de caractères : paramètres POST à envoyer à <code>instant_url</code>.</dd>
- <dt><code>keyword {{optional_inline}}</code></dt>
- <dd>Chaîne de caractères : mots-clés de la barre d'adresse pour le moteur de recherche.</dd>
- <dt><code>prepopulated_id {{optional_inline}}</code></dt>
- <dd>L'ID d'un moteur de recherche intégré à utiliser.</dd>
- <dt><code>search_url_post_params {{optional_inline}}</code></dt>
- <dd>Chaîne de caractères : paramètres POST à envoyer à<code>search_url</code>.</dd>
- <dt><code>suggest_url {{optional_inline}}</code></dt>
- <dd>Chaîne de caractères : URL utilisée pour les suggestions de recherche. Ceci doit être une URL HTTPS</dd>
- <dt><code>suggest_url_post_params {{optional_inline}}</code></dt>
- <dd>Chaîne de caractères : paramètres POST à envoyer à<code>suggest_url</code>.</dd>
- </dl>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>homepage</code></td>
+ <td>Chaîne de caractères</td>
+ <td>
+ <p>Définit la page à utiliser comme page d'accueil du navigateur.</p>
+ <p>Le remplacement est donné comme une URL. L'URL peut :</p>
+ <ul>
+ <li>
+ pointer sur un fichier regroupé avec l'extension, auquel cas il est
+ donné comme une URL relative au fichier manifest.json
+ </li>
+ <li>être une URL distante comme "https://developer.mozilla.org/".</li>
+ </ul>
+ <p>
+ 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é.
+ </p>
+ <p>
+ Pour éviter de nouveaux onglets, utilisez à la place "<a
+ href="/fr/Add-ons/WebExtensions/manifest.json/chrome_url_overrides"
+ >chrome_url_overrides</a
+ >".
+ </p>
+ <p>
+ C'est une 
+ <a
+ href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json"
+ >propriété localisable</a
+ >.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>search_provider</code></td>
+ <td><code>Objet</code></td>
+ <td>
+ <p>Définit un moteur de recherche à ajouter au navigateur.</p>
+ <p>
+ 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 "<code>{searchTerms}</code>" pour interpoler le
+ terme de recherche  dans l'URL, comme :
+ <code>https://www.discogs.com/search/?q={searchTerms}</code>. Vous
+ pouvez également fournir des paramètres POST à envoyer avec la
+ recherche.
+ </p>
+ <p>
+ Le moteur de recherche sera présenté à l'utilisateur à côté de ceux
+ fournis dans l'interface. Si vous incluez la propriété
+ <code>is_default</code>et le configurez avec <code>true</code>, le
+ nouveau moteur de recherche devient l'option par défaut. Avec
+ l'utilisation de la propriété<code>keyword</code>, 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é.
+ </p>
+ <p>
+ C'est un objet avec les propriétés listées ci-dessous. Toutes les
+ propriétés chaîne de caractères sont
+ <a
+ href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json"
+ >localisable</a
+ >s.
+ </p>
+ <dl>
+ <dt><code>name</code></dt>
+ <dd>
+ Chaîne de caractères : le nom du moteur de recherche, affiché pour
+ l'utilisateur.
+ </dd>
+ <dt><code>search_url</code></dt>
+ <dd>
+ Chaîne de caractères : l'URL utilisée par le moteur de recherche. Il
+ peut être une URL HTTPS.
+ </dd>
+ <dt><code>is_default</code></dt>
+ <dd>
+ Booléen: "True" si le moteur de recherch doit être le choix par
+ défaut.
+ </dd>
+ <dt><code>alternate_urls {{optional_inline}}</code></dt>
+ <dd>
+ Tableau de chaînes de caractères : un éventail d'URL alternatives,
+ qui peut être utilisé à la place de<code>search_url</code>.
+ </dd>
+ <dt><code>encoding {{optional_inline}}</code></dt>
+ <dd>
+ Chaîne de caractères : codage du terme de recherche, spécifié comme
+ un
+ <a
+ href="https://www.iana.org/assignments/character-sets/character-sets.xhtml"
+ >standard character encoding name</a
+ >, voir "UTF-8".
+ </dd>
+ <dt><code>favicon_url {{optional_inline}}</code></dt>
+ <dd>
+ 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.
+ </dd>
+ <dt><code>image_url {{optional_inline}}</code></dt>
+ <dd>
+ Chaîne de caractères : URL utilisée pour une recherche d'images.
+ </dd>
+ <dt><code>image_url_post_params {{optional_inline}}</code></dt>
+ <dd>
+ Chaîne de caractères : paramètres POST à envoyer
+ à<code>image_url</code>.
+ </dd>
+ <dt><code>instant_url {{optional_inline}}</code></dt>
+ <dd>
+ Chaîne de caractères : URL utilisée pour une recherche instantanée.
+ </dd>
+ <dt><code>instant_url_post_params {{optional_inline}}</code></dt>
+ <dd>
+ Chaîne de caractères : paramètres POST à envoyer à
+ <code>instant_url</code>.
+ </dd>
+ <dt><code>keyword {{optional_inline}}</code></dt>
+ <dd>
+ Chaîne de caractères : mots-clés de la barre d'adresse pour le
+ moteur de recherche.
+ </dd>
+ <dt><code>prepopulated_id {{optional_inline}}</code></dt>
+ <dd>L'ID d'un moteur de recherche intégré à utiliser.</dd>
+ <dt><code>search_url_post_params {{optional_inline}}</code></dt>
+ <dd>
+ Chaîne de caractères : paramètres POST à envoyer
+ à<code>search_url</code>.
+ </dd>
+ <dt><code>suggest_url {{optional_inline}}</code></dt>
+ <dd>
+ Chaîne de caractères : URL utilisée pour les suggestions de
+ recherche. Ceci doit être une URL HTTPS
+ </dd>
+ <dt><code>suggest_url_post_params {{optional_inline}}</code></dt>
+ <dd>
+ Chaîne de caractères : paramètres POST à envoyer
+ à<code>suggest_url</code>.
+ </dd>
+ </dl>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Compatibilité_de_navigateur">Compatibilité de navigateur</h2>
+## Compatibilité de navigateur
-<p>{{Compat("webextensions.manifest.chrome_settings_overrides", 10)}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Objet</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
  "chrome_url_overrides" : {
    "newtab": "my-new-tab.html"
-  }</pre>
- </td>
- </tr>
- </tbody>
+  }</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez la clé <code>chrome_url_overrides</code> 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.</p>
+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.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<p>La clé <code>chrome_url_overrides</code> est un objet qui peut avoir les propriétés suivantes:</p>
+La clé `chrome_url_overrides` est un objet qui peut avoir les propriétés suivantes:
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Nom</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>bookmarks</code></td>
- <td>Chaîne de caractères</td>
- <td>
- <p>Remplace la page qui affiche les signets.</p>
- </td>
- </tr>
- <tr>
- <td><code>history</code></td>
- <td>chaîne de caractères</td>
- <td>
- <p>Remplace la page qui affiche l'historique de navigation.</p>
- </td>
- </tr>
- <tr>
- <td><code>newtab</code></td>
- <td>chaîne de caractères</td>
- <td>
- <p>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 <kbd>Ctrl</kbd>/<kbd>Command</kbd>+<kbd>T</kbd>.</p>
-
- <p>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".</p>
-
- <p>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 <a href="/fr/Add-ons/WebExtensions/API">API privilégiées "browser.*" </a>comme une extension d'arrière-plan.</p>
-
- <p>Il est très pratique d'inclure un <a href="/fr/docs/Web/HTML/Element/title">&lt;title&gt;</a> pour la page, ou le titre de l'onglet sera l'URL "moz-extension://..." .</p>
-
- <p>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.</p>
-
- <p>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.</p>
-
- <p>Pour remplacer la page d'accueil du navigateur, utilisez plutôt "<a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/chrome_settings_overrides">chrome_settings_overrides</a>".</p>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>bookmarks</code></td>
+ <td>Chaîne de caractères</td>
+ <td><p>Remplace la page qui affiche les signets.</p></td>
+ </tr>
+ <tr>
+ <td><code>history</code></td>
+ <td>chaîne de caractères</td>
+ <td><p>Remplace la page qui affiche l'historique de navigation.</p></td>
+ </tr>
+ <tr>
+ <td><code>newtab</code></td>
+ <td>chaîne de caractères</td>
+ <td>
+ <p>
+ 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 <kbd>Ctrl</kbd>/<kbd>Command</kbd>+<kbd>T</kbd>.
+ </p>
+ <p>
+ 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".
+ </p>
+ <p>
+ 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
+ <a href="/fr/Add-ons/WebExtensions/API"
+ >API privilégiées "browser.*" </a
+ >comme une extension d'arrière-plan.
+ </p>
+ <p>
+ Il est très pratique d'inclure un
+ <a href="/fr/docs/Web/HTML/Element/title">&#x3C;title></a> pour la
+ page, ou le titre de l'onglet sera l'URL "moz-extension://..." .
+ </p>
+ <p>
+ 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.
+ </p>
+ <p>
+ 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.
+ </p>
+ <p>
+ Pour remplacer la page d'accueil du navigateur, utilisez plutôt "<a
+ href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/chrome_settings_overrides"
+ >chrome_settings_overrides</a
+ >".
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Toutes les propriétés sont <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">localisables</a>.</p>
+Toutes les propriétés sont [localisables](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json).
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"chrome_url_overrides" : {
+```json
+"chrome_url_overrides" : {
"newtab": "my-new-tab.html"
-}</pre>
+}
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.chrome_url_overrides")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Objet</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"commands": {
"toggle-feature": {
"suggested_key": {
@@ -32,44 +32,42 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/commands
},
"description": "Send a 'toggle-feature' event"
}
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez la clé <strong><code>commands</code></strong> pour définir un ou plusieurs raccourcis clavier pour votre extension.</p>
+Utilisez la clé **`commands`** pour définir un ou plusieurs raccourcis clavier pour votre extension.
-<p>Chaque raccourci clavier est défini avec un <strong>nom</strong>, une <strong>combination de clé</strong>, et un <strong>description</strong>. Une fois que vous avez défini des commandes dans le fichier <code>manifest.json</code>, de votre extension, vous pouvez écouter leurs combinaisons de touches associées avec l'API JavaScript  {{WebExtAPIRef("commands")}}.</p>
+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")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<p>La clé <code>commands</code> est un objet et chaque raccourci est une propriété de celui-ci. <strong>Le nom de la propriété est le nom du raccourci</strong>.</p>
+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**.
-<p>Chaque raccourci est lui-même un objet, qui possède jusqu'à deux propriétés :</p>
+Chaque raccourci est lui-même un objet, qui possède jusqu'à deux propriétés :
-<ul>
- <li><code>suggested_key</code> : définit la combinaison de touches</li>
- <li><code>description</code> : une chaîne qui décrit ce raccourci</li>
-</ul>
+- `suggested_key` : définit la combinaison de touches
+- `description` : une chaîne qui décrit ce raccourci
-<p>La propriété <code>suggested_key</code> est elle-même un objet pouvant avoir l'une des propriétés suivantes et qui sont toutes des chaînes :</p>
+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 :
-<ul>
- <li><code>"default"</code></li>
- <li><code>"mac"</code></li>
- <li><code>"linux"</code></li>
- <li><code>"windows"</code></li>
- <li><code>"chromeos"</code></li>
- <li><code>"android"</code></li>
- <li><code>"ios"</code></li>
-</ul>
+- `"default"`
+- `"mac"`
+- `"linux"`
+- `"windows"`
+- `"chromeos"`
+- `"android"`
+- `"ios"`
-<p>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 "<code>+</code>". La valeur de <code>"default"</code> est utilisée sur toutes les plateformes qui ne sont pas listées explicitement.</p>
+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.
-<p>Par exemple :</p>
+Par exemple :
-<pre class="brush: json">"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"
}
}
-}</pre>
+}
+```
+
+Cela définit deux raccourcis :
+
+- une nommée `"toggle-feature"`, accessible à l'aide de
+
+ <kbd>Ctrl</kbd>
+
+ \+
+
+ <kbd>Shift</kbd>
+
+ \+
+
+ <kbd>U</kbd>
+
+ sur Linux et
+
+ <kbd>Alt</kbd>
+
+ \+
+
+ <kbd>Shift</kbd>
-<p>Cela définit deux raccourcis :</p>
+ \+
-<ul>
- <li>une nommée <code>"toggle-feature"</code>, accessible à l'aide de <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>U</kbd> sur Linux et <kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>U</kbd> sur toutes les autres plateformes</li>
- <li>une nommée <code>"do-another-thing"</code>, accessible à l'aide de <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Y</kbd> sur toutes les plateformes.</li>
-</ul>
+ <kbd>U</kbd>
-<p>Vous pouvez alors écouter la commande <code>"toggle-feature"</code> avec un code comme celui-ci :</p>
+ sur toutes les autres plateformes
-<pre class="brush: js">browser.commands.onCommand.addListener(function(command) {
+- une nommée `"do-another-thing"`, accessible à l'aide de
+
+ <kbd>Ctrl</kbd>
+
+ \+
+
+ <kbd>Shift</kbd>
+
+ \+
+
+ <kbd>Y</kbd>
+
+ 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!");
}
-});</pre>
+});
+```
-<h3 id="Raccourcis_spéciaux">Raccourcis spéciaux</h3>
+### Raccourcis spéciaux
-<p>Il existe 3 <strong>raccourci spéciaux avec des actions par défaut</strong>, pour lesquels l'événement  {{WebExtAPIRef("commands.onCommand")}} n'est pas déclenché :</p>
+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é :
-<ul>
- <li><code>_execute_browser_action</code>: fonctionne comme un clic sur une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_action">action de navigateur</a> de l'extension.</li>
- <li><code>_execute_page_action</code>: fonctionne comme un clic sur une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Page_actions">action de page</a> de l'extension.</li>
- <li><code>_execute_sidebar_action</code>: ouvre le <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Sidebars">panneau latéral</a> de l'extension. Uniquement pris en charge par Firefox et uniquement à partir de Firefox version 54.</li>
-</ul>
+- `_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.
-<p>Par exemple, ce JSON définit une combinaison de touches qui clique sur l'action du navigateur de l'extension :</p>
+Par exemple, ce JSON définit une combinaison de touches qui clique sur l'action du navigateur de l'extension :
-<pre class="brush: js">"commands": {
+```js
+"commands": {
"_execute_browser_action": {
"suggested_key": {
"default": "Ctrl+Shift+Y"
}
}
-}</pre>
+}
+```
-<h2 id="Les_valeurs_de_raccourci">Les valeurs de raccourci</h2>
+## Les valeurs de raccourci
-<p>Il existe deux formats valides pour les touches de raccourci : comme une combinaison de touches ou comme une clé multimédia.</p>
+Il existe deux formats valides pour les touches de raccourci : comme une combinaison de touches ou comme une clé multimédia.
-<h3 id="Combinaisons_de_touches">Combinaisons de touches</h3>
+### Combinaisons de touches
-<p>Sur Mac, <code>"Ctrl"</code> est interprété comme <code>"Command"</code>, donc si vous avez réellement besoin de <code>"Ctrl"</code>, spécifiez <code>"MacCtrl"</code>.</p>
+Sur Mac, `"Ctrl"` est interprété comme `"Command"`, donc si vous avez réellement besoin de `"Ctrl"`, spécifiez `"MacCtrl"`.
-<p>Les combinaisons de touches doivent être composées de deux ou trois touches :</p>
+Les combinaisons de touches doivent être composées de deux ou trois touches :
-<ol>
- <li><strong>modificateur</strong> (obligatoire, à l'exception des touches de fonction). Il peut s'agir de <code>"Ctrl"</code>, <code>"Alt"</code>, <code>"Command"</code>, ou <code>"MacCtrl"</code>.</li>
- <li><strong>second modificateur</strong> (facultatif). S'il est fourni, il doit être <code>"Shift"</code> ou (pour Firefox ≥ 63) l'un quelconque des <code>"Ctrl"</code>, <code>"Alt"</code>, <code>"Command"</code>, ou <code>"MacCtrl"</code>. Ne doit pas être le modificateur déjà utilisé comme modificateur principal.</li>
- <li><strong>touche </strong>(obligatoire). Ce peut être l'une des touches :
- <ul>
- <li>lettres <code>A</code>–<code>Z</code></li>
- <li>chiffres <code>0</code>–<code>9</code></li>
- <li>fonctions <code>F1</code>–<code>F12</code></li>
- <li><code>Comma</code>(virgule), <code>Period</code>(point), <code>Home</code> (début), <code>End</code> (Fin), <code>PageUp</code>(page précédente), <code>PageDown</code> (page suivante), <code>Space</code> (espace), <code>Insert</code>(inser), <code>Delete</code>(Suppr), <code>Up</code> (haut), <code>Down</code> (bas), <code>Left</code>(gauche), <code>Right</code> (droite)</li>
- </ul>
- </li>
-</ol>
+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 :
-<p>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 "<code>+</code>". Par exemple, <code>"Ctrl+Shift+Z"</code>.</p>
+ - 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)
-<p>Si une combinaison de touches est déjà utilisée par le navigateur (comme <code>"Ctrl+P"</code>) 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.</p>
+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"`.
-<h3 id="Touches_médias">Touches médias</h3>
+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.
-<p>Une alternative est de spécifier le raccourci comme l'une des touches de média suivantes :</p>
+### Touches médias
-<ul>
- <li><code>"MediaNextTrack"</code></li>
- <li><code>"MediaPlayPause"</code></li>
- <li><code>"MediaPrevTrack"</code></li>
- <li><code>"MediaStop"</code></li>
-</ul>
+Une alternative est de spécifier le raccourci comme l'une des touches de média suivantes :
-<h2 id="Mise_à_jour_des_raccourcis">Mise à jour des raccourcis</h2>
+- `"MediaNextTrack"`
+- `"MediaPlayPause"`
+- `"MediaPrevTrack"`
+- `"MediaStop"`
-<p>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 <code>about:addons</code> dans Firefox, comme montré dans <a href="https://bug1303384.bmoattachments.org/attachment.cgi?id=9051647">cette video</a>. Dans Chrome, les utilisateurs peuvent modifier les raccourcis sur <code>chrome://extensions/shortcuts</code>.</p>
+## Mise à jour des raccourcis
-<h2 id="Exemple">Exemple</h2>
+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`.
-<p>Définissez un seul raccourci clavier en utilisant uniquement la combinaison de touches par défaut :</p>
+## Exemple
-<pre class="brush: json">"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"
}
-}</pre>
+}
+```
-<p>Définissez deux raccourcis clavier, l'un avec une combinaison de touches spécifique à la plate-forme :</p>
+Définissez deux raccourcis clavier, l'un avec une combinaison de touches spécifique à la plate-forme :
-<pre class="brush: json">"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"
}
}
-}</pre>
+}
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.commands")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row">Type</th>
- <td>{{ jsxref("array", "Tableau") }}</td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row">Type</th>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"content_scripts": [
{
"matches": ["*://*.mozilla.org/*"],
"js": ["borderify.js"]
}
-]</pre>
- </td>
- </tr>
- </tbody>
+]</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Ordonne au navigateur de charger des <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">scripts de contenu</a> dans les pages web dont l’URL correspond à un modèle donné.</p>
+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é.
-<p>Cette clé est un tableau. Chaque élément est un objet qui :</p>
+Cette clé est un tableau. Chaque élément est un objet qui :
-<ul>
- <li><strong>doit</strong> contenir une clé nommée <strong><code>matches</code></strong>, qui spécifie les modèles d’URL à reconnaître afin que les scripts soient chargés ;</li>
- <li><strong>peut</strong> contenir des clés nommées <strong><code>js</code></strong> et <strong><code>css</code></strong>, qui listent les scripts à charger dans les pages correspondantes ;</li>
- <li><strong>peut</strong> 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.</li>
-</ul>
+- **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.
-<p>Le tableau ci-dessous présente le détail de toutes les clés que vous pouvez inclure.</p>
+Le tableau ci-dessous présente le détail de toutes les clés que vous pouvez inclure.
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Nom</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>all_frames</code></td>
- <td>{{ jsxref("boolean", "Booléen") }}</td>
- <td>
- <p><code>true</code> : 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.</p>
-
- <p><code>false</code> : injecte seulement dans le cadre le plus haut de l’onglet qui répond aux exigences d’URL.</p>
-
- <p>Par défaut à <code>false</code>.</p>
- </td>
- </tr>
- <tr>
- <td><code>css</code></td>
- <td>{{ jsxref("array", "Tableau") }}</td>
- <td>
- <p>Un tableau de chemins, relatifs à <em>manifest.json</em>, référençant les fichiers CSS qui seront injectés dans les pages correspondantes.</p>
-
- <p>Les fichiers sont injectés dans l’ordre donné, et avant que le DOM ne soit chargé.</p>
-
- <div class="note">
- <p><strong>Note :</strong> 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é.</p>
- </div>
- </td>
- </tr>
- <tr>
- <td><code>exclude_globs</code></td>
- <td>{{ jsxref("array", "Tableau") }}</td>
- <td>
- <p>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.</p>
- </td>
- </tr>
- <tr>
- <td><code>exclude_matches</code></td>
- <td>{{ jsxref("array", "Tableau") }}</td>
- <td>
- <p>Un tableau de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">modèles de correspondance</a>. Voir les {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} ci-dessous.</p>
- </td>
- </tr>
- <tr>
- <td><code>include_globs</code></td>
- <td>{{ jsxref("array", "Tableau") }}</td>
- <td>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.</td>
- </tr>
- <tr>
- <td><code>js</code></td>
- <td>{{ jsxref("array", "Tableau") }}</td>
- <td>
- <p>Un tableau de chemins, relatifs au fichier <em>manifest.json</em>, référençant les fichiers JavaScript qui seront injectés dans les pages correspondantes.</p>
-
- <p>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 :</p>
-
- <pre class="brush: json">"js": ["jquery.js", "my-content-script.js"]</pre>
-
- <p>alors <em>my-content-script.js</em> peut utiliser jQuery.</p>
-
- <p>Les fichiers sont injectés au moment spécifié par {{ anch("run_at") }}.</p>
- </td>
- </tr>
- <tr>
- <td><code>match_about_blank</code></td>
- <td>{{ jsxref("boolean", "Booléen") }}</td>
- <td>
- <p>Insère les scripts de contenu dans les pages dont l’URL est <code>about:blank</code> ou <code>about:srcdoc</code>, 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é <code>content_scripts</code>.</p>
-
- <p>Ceci est particulièrement utile pour exécuter des scripts dans des {{ htmlelement("iframe", "iframes") }} vides, dont l’URL est <code>about:blank</code>. Pour ce faire, vous devez également définir la clé <code>all_frames</code>.</p>
-
- <p>Par exemple, supposons que vous disposiez d’une clé de <code>content_scripts</code> comme ceci :</p>
-
- <pre class="brush: json">
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>all_frames</code></td>
+ <td>{{ jsxref("boolean", "Booléen") }}</td>
+ <td>
+ <p>
+ <code>true</code> : 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.
+ </p>
+ <p>
+ <code>false</code> : injecte seulement dans le cadre le plus haut de
+ l’onglet qui répond aux exigences d’URL.
+ </p>
+ <p>Par défaut à <code>false</code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>css</code></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ <p>
+ Un tableau de chemins, relatifs à <em>manifest.json</em>, référençant
+ les fichiers CSS qui seront injectés dans les pages correspondantes.
+ </p>
+ <p>
+ Les fichiers sont injectés dans l’ordre donné, et avant que le DOM ne
+ soit chargé.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> 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é.
+ </p>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td><code>exclude_globs</code></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ <p>
+ 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.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>exclude_matches</code></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ <p>
+ Un tableau de
+ <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns"
+ >modèles de correspondance</a
+ >. Voir les
+ {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }}
+ ci-dessous.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>include_globs</code></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ 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.
+ </td>
+ </tr>
+ <tr>
+ <td><code>js</code></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ <p>
+ Un tableau de chemins, relatifs au fichier <em>manifest.json</em>,
+ référençant les fichiers JavaScript qui seront injectés dans les pages
+ correspondantes.
+ </p>
+ <p>
+ 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 :
+ </p>
+ <pre class="brush: json">
+"js": ["jquery.js", "my-content-script.js"]</pre
+ >
+ <p>alors <em>my-content-script.js</em> peut utiliser jQuery.</p>
+ <p>
+ Les fichiers sont injectés au moment spécifié par
+ {{ anch("run_at") }}.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>match_about_blank</code></td>
+ <td>{{ jsxref("boolean", "Booléen") }}</td>
+ <td>
+ <p>
+ Insère les scripts de contenu dans les pages dont l’URL est
+ <code>about:blank</code> ou <code>about:srcdoc</code>, 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é <code>content_scripts</code>.
+ </p>
+ <p>
+ Ceci est particulièrement utile pour exécuter des scripts dans des
+ {{ htmlelement("iframe", "iframes") }} vides, dont l’URL
+ est <code>about:blank</code>. Pour ce faire, vous devez également
+ définir la clé <code>all_frames</code>.
+ </p>
+ <p>
+ Par exemple, supposons que vous disposiez d’une clé de
+ <code>content_scripts</code> comme ceci :
+ </p>
+ <pre class="brush: json">
"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
}
-]</pre>
-
- <p>Si l’utilisateur ou l’utilisatrice charge <code>https://example.org/</code>, et si cette page intègre une iframe vide, alors <em>my-script.js</em> sera chargé dans l’iframe.</p>
-
- <p><code>match_about_blank</code> 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 à <code>"document_start"</code> même si vous spécifiez cette valeur dans {{ anch("run_at") }}.</p>
- </td>
- </tr>
- <tr>
- <td><code>matches</code></td>
- <td>{{ jsxref("array", "Tableau") }}</td>
- <td>
- <p>Un ensemble de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">modèles de correspondance</a>. Voir les {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} ci-dessous.</p>
-
- <p>C’est la seule clé obligatoire.</p>
- </td>
- </tr>
- <tr>
- <td><code>run_at</code></td>
- <td>{{ jsxref("string", "Chaîne") }}</td>
- <td>
- <p>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")}} :</p>
-
- <ul>
- <li><code>"document_start"</code> : correspond à <code>"loading"</code>. Le DOM est toujours en cours de chargement.</li>
- <li><code>"document_end"</code> : correspond à <code>"interactive"</code>. Le DOM a fini de charger, mais des ressources telles que des scripts et des images peuvent toujours être en cours de chargement.</li>
- <li><code>"document_idle"</code> : correspond à <code>"complete"</code>. Le document et toutes ses ressources ont terminé de charger.</li>
- </ul>
-
- <p>La valeur par défaut est <code>"document_idle"</code>.</p>
-
- <p>Dans tous les cas, les fichiers dans {{ anch("js") }} sont injectés après les fichiers dans {{ anch("css") }}.</p>
- </td>
- </tr>
- </tbody>
+]</pre
+ >
+ <p>
+ Si l’utilisateur ou l’utilisatrice charge
+ <code>https://example.org/</code>, et si cette page intègre une iframe
+ vide, alors <em>my-script.js</em> sera chargé dans l’iframe.
+ </p>
+ <p>
+ <code>match_about_blank</code> 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 à
+ <code>"document_start"</code> même si vous spécifiez cette valeur dans
+ {{ anch("run_at") }}.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>matches</code></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ <p>
+ Un ensemble de
+ <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns"
+ >modèles de correspondance</a
+ >. Voir les
+ {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }}
+ ci-dessous.
+ </p>
+ <p>C’est la seule clé obligatoire.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>run_at</code></td>
+ <td>{{ jsxref("string", "Chaîne") }}</td>
+ <td>
+ <p>
+ 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")}} :
+ </p>
+ <ul>
+ <li>
+ <code>"document_start"</code> : correspond à <code>"loading"</code>.
+ Le DOM est toujours en cours de chargement.
+ </li>
+ <li>
+ <code>"document_end"</code> : correspond à
+ <code>"interactive"</code>. Le DOM a fini de charger, mais des
+ ressources telles que des scripts et des images peuvent toujours
+ être en cours de chargement.
+ </li>
+ <li>
+ <code>"document_idle"</code> : correspond à <code>"complete"</code>.
+ Le document et toutes ses ressources ont terminé de charger.
+ </li>
+ </ul>
+ <p>La valeur par défaut est <code>"document_idle"</code>.</p>
+ <p>
+ Dans tous les cas, les fichiers dans {{ anch("js") }} sont
+ injectés après les fichiers dans {{ anch("css") }}.
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Les_modèles_de_correspondance_d’URL">Les modèles de correspondance d’URL</h2>
+## Les modèles de correspondance d’URL
-<p>La clé <code>content_scripts</code> 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 <code>content_scripts</code> que vous pouvez utiliser pour cette spécification :</p>
+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 :
-<ul>
- <li><code>matches</code> : un tableau de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">match patterns</a> (modèles).</li>
- <li><code>exclude_matches</code> : un tableau de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">match patterns</a>.</li>
- <li><code>include_globs</code> : un tableau de {{ anch("globs") }} (caractères génériques).</li>
- <li><code>exclude_globs</code> : un tableau de {{ anch("globs") }}.</li>
-</ul>
+- `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") }}.
-<p>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 :</p>
+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 :
-<pre class="brush: json">"matches": ["*://*.example.org/*", "*://*.example.com/*"]</pre>
+```json
+"matches": ["*://*.example.org/*", "*://*.example.com/*"]
+```
-<p>Les deux adresses <code>http://example.org/</code> et <code>http://example.com/</code> correspondront.</p>
+Les deux adresses `http://example.org/` et `http://example.com/` correspondront.
-<p>Étant donné que <code>matches</code> 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 :</p>
+É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 :
-<ol>
- <li>Correspondre à la propriété <code>matches</code> ;</li>
- <li>ET associer à la propriété <code>include_globs</code>, si présent ;</li>
- <li>ET NE PAS correspondre à la propriété <code>exclude_matches</code>, si présent ;</li>
- <li>ET NE PAS correspondre à la propriété <code>exclude_globs</code>, si présent.</li>
-</ol>
+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.
-<h3 id="globs">globs</h3>
+### globs
-<p>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 :</p>
+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 :
-<ul>
- <li><code>"*"</code> correspond à zéro ou plus de caractères</li>
- <li><code>"?"</code> correspond exactement à un caractère.</li>
-</ul>
+- `"*"` correspond à zéro ou plus de caractères
+- `"?"` correspond exactement à un caractère.
-<p>Par exemple : <code>"*na?i"</code> correspond à <code>"illuminati"</code> et à <code>"annunaki"</code>, mais pas à <code>"sagnarelli"</code>.</p>
+Par exemple : `"*na?i"` correspond à `"illuminati"` et à `"annunaki"`, mais pas à `"sagnarelli"`.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"content_scripts": [
+```json
+"content_scripts": [
{
"matches": ["*://*.mozilla.org/*"],
"js": ["borderify.js"]
}
-]</pre>
+]
+```
-<p>Cela injecte un seul script de contenu <em>borderify.js</em> dans toutes les pages sous <code>mozilla.org</code> ou l’un de ses sous-domaines, qu’ils soient fournis via HTTP ou HTTPS.</p>
+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.
-<pre class="brush: json">"content_scripts": [
+```json
+"content_scripts": [
{
"exclude_matches": ["*://developer.mozilla.org/*"],
"matches": ["*://*.mozilla.org/*"],
"js": ["jquery.js", "borderify.js"]
}
-]</pre>
+]
+```
-<p>Cela implique deux scripts de contenu dans toutes les pages sous <code>mozilla.org</code> ou l’un de ses sous-domaines, à l’exception de <code>developer.mozilla.org</code>, qu’il s’agisse de HTTP ou HTTPS.</p>
+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.
-<p>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 <em>borderify.js</em> peut voir les variables globales ajoutées par <em>jquery.js</em>.</p>
+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_.
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<div>{{Compat("webextensions.manifest.content_scripts")}}</div>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>String</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"content_security_policy": "default-src 'self'"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>String</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
+"content_security_policy": "default-src 'self'"</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>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 <a href="/fr/docs/HTML/Element/script">&lt;script&gt;</a> et <a href="/docs/Web/HTML/Element/object">&lt;object&gt;</a>, et interdit les pratiques potentiellement dangereuses telles que l’utilisation d’<code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/eval">eval()</a></code>. Voir la <a href="/fr/Add-ons/WebExtensions/Content_Security_Policy#Default_content_security_policy">politique de sécurité de contenu par défaut</a> pour en savoir plus sur ces implications.</p>
+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>](/fr/docs/HTML/Element/script) et [\<object>](/docs/Web/HTML/Element/object), et interdit les pratiques potentiellement dangereuses telles que l’utilisation d’[`eval()`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/eval). Voir la [politique de sécurité de contenu par défaut](/fr/Add-ons/WebExtensions/Content_Security_Policy#Default_content_security_policy) pour en savoir plus sur ces implications.
-<p>Vous pouvez utiliser la clé <code>"content_security_policy"</code> pour desserrer ou resserrer la politique par défaut. Cette clé est spécifiée de la même manière que l’en-tête HTTP Content-Security-Policy. Voir l’<a href="/fr/docs/HTTP/CSP">utilisation de la politique de sécurité de contenu</a> pour une description générale de la syntaxe de CSP.</p>
+Vous pouvez utiliser la clé `"content_security_policy"` pour desserrer ou resserrer la politique par défaut. Cette clé est spécifiée de la même manière que l’en-tête HTTP Content-Security-Policy. Voir l’[utilisation de la politique de sécurité de contenu](/fr/docs/HTTP/CSP) pour une description générale de la syntaxe de CSP.
-<p>Par exemple, vous pouvez utiliser cette clé pour :</p>
+Par exemple, vous pouvez utiliser cette clé pour :
-<ul>
- <li>permettre à l’extension de charger des scripts et des objets hors de son paquet, en fournissant leurs URL dans les directives {{CSP("script-src")}} or {{CSP("object-src")}} ;</li>
- <li>permettre à l’extension d’exécuter des scripts en ligne, en <a href="/fr/docs/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script">fournissant le hash du script dans la directive <code>"script-src"</code></a> ;</li>
- <li>permettre à l’extension d’utiliser <code>eval()</code> et des fonctionnalités similaires, en incluant <code>'unsafe-eval'</code> dans la directive {{CSP("script-src")}} ;</li>
- <li>limiter les sources autorisées pour d’autres types de contenu, tels que les images et les feuilles de style, en utilisant la <a href="https://publicsuffix.org/list/">directive de politique</a> appropriée.</li>
-</ul>
+- permettre à l’extension de charger des scripts et des objets hors de son paquet, en fournissant leurs URL dans les directives {{CSP("script-src")}} or {{CSP("object-src")}} ;
+- permettre à l’extension d’exécuter des scripts en ligne, en [fournissant le hash du script dans la directive `"script-src"`](/fr/docs/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script) ;
+- permettre à l’extension d’utiliser `eval()` et des fonctionnalités similaires, en incluant `'unsafe-eval'` dans la directive {{CSP("script-src")}} ;
+- limiter les sources autorisées pour d’autres types de contenu, tels que les images et les feuilles de style, en utilisant la [directive de politique](https://publicsuffix.org/list/) appropriée.
-<p>Il existe des restrictions sur la politique que vous pouvez spécifier ici :</p>
+Il existe des restrictions sur la politique que vous pouvez spécifier ici :
-<ul>
- <li>La politique doit inclure au moins les directives {{CSP("script-src")}} et les {{CSP("object-src")}}, et la directive {{CSP("script-src")}} doit contenir le mot-clé <code>'self'</code>.</li>
- <li>Les sources distantes doivent utiliser le schéma <code>https:</code>.</li>
- <li>Les sources distantes ne doivent pas utiliser de caractères génériques pour les domaines dans la <a href="https://publicsuffix.org/list/">liste des suffixes publics</a> (ainsi, « *.co.uk » et « *.blogspot.com » ne sont pas autorisés, même si « *.foo.blogspot.com » est autorisé).</li>
- <li>Toutes les sources doivent spécifier un hôte.</li>
- <li>Les seuls schémas autorisés pour les sources sont : <code>blob:</code>, <code>filesystem:</code>, <code>moz-extension:</code>, et <code>https:</code>.</li>
- <li>Les seuls <a href="/fr/docs/HTTP/Headers/Content-Security-Policy/default-src#Sources">mots-clés</a> autorisés sont : <code>'none'</code>, <code>'self'</code>, et <code>'unsafe-eval'</code>.</li>
-</ul>
+- La politique doit inclure au moins les directives {{CSP("script-src")}} et les {{CSP("object-src")}}, et la directive {{CSP("script-src")}} doit contenir le mot-clé `'self'`.
+- Les sources distantes doivent utiliser le schéma `https:`.
+- Les sources distantes ne doivent pas utiliser de caractères génériques pour les domaines dans la [liste des suffixes publics](https://publicsuffix.org/list/) (ainsi, « \*.co.uk » et « \*.blogspot.com » ne sont pas autorisés, même si « \*.foo.blogspot.com » est autorisé).
+- Toutes les sources doivent spécifier un hôte.
+- Les seuls schémas autorisés pour les sources sont : `blob:`, `filesystem:`, `moz-extension:`, et `https:`.
+- Les seuls [mots-clés](/fr/docs/HTTP/Headers/Content-Security-Policy/default-src#Sources) autorisés sont : `'none'`, `'self'`, et `'unsafe-eval'`.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<h3 id="Examples_valides">Examples valides</h3>
+### Examples valides
-<p>Autoriser les scripts distants de "https://example.com" : <sup>(<em>voir note</em> <a href="/fr/Add-ons/WebExtensions/manifest.json/content_security_policy$edit#exampleNote_1">1</a>)</sup></p>
+Autoriser les scripts distants de "https\://example.com" : <sup>(<em>voir note</em> <a href="/fr/Add-ons/WebExtensions/manifest.json/content_security_policy$edit#exampleNote_1">1</a>)</sup>
-<pre class="brush: json">"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"</pre>
+```json
+"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"
+```
-<p>Autoriser les scripts distants depuis n’importe quel sous-domaine de « jquery.com » :</p>
+Autoriser les scripts distants depuis n’importe quel sous-domaine de « jquery.com » :
-<pre class="brush: json">"content_security_policy": "script-src 'self' https://*.jquery.com; object-src 'self'"</pre>
+```json
+"content_security_policy": "script-src 'self' https://*.jquery.com; object-src 'self'"
+```
-<p>Autoriser <a href="/fr/Add-ons/WebExtensions/Content_Security_Policy#eval()_et_amis"><code>eval()</code> et ses amis </a>:</p>
+Autoriser [`eval()` et ses amis ](</fr/Add-ons/WebExtensions/Content_Security_Policy#eval()_et_amis>):
-<pre class="brush: json">"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self';"</pre>
+```json
+"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self';"
+```
-<p>Autoriser le script en ligne : <code>"&lt;script&gt;alert('Hello, world.');&lt;/script&gt;"</code> :</p>
+Autoriser le script en ligne : `"<script>alert('Hello, world.');</script>"` :
-<pre class="brush: json">"content_security_policy": "script-src 'self' 'sha256-qznLcsROx4GACP2dm0UCKCzCG+HiZ1guq6ZZDob/Tng='; object-src 'self'"</pre>
+```json
+"content_security_policy": "script-src 'self' 'sha256-qznLcsROx4GACP2dm0UCKCzCG+HiZ1guq6ZZDob/Tng='; object-src 'self'"
+```
-<p>Conserver le reste de la politique, mais exiger également que les images soient empaquetées avec l’extension :</p>
+Conserver le reste de la politique, mais exiger également que les images soient empaquetées avec l’extension :
-<pre class="brush: json">"content_security_policy": "script-src 'self'; object-src 'self'; img-src 'self'"</pre>
+```json
+"content_security_policy": "script-src 'self'; object-src 'self'; img-src 'self'"
+```
-<p>Exiger que tous les types de contenu soient empaquetés avec l’extension :</p>
+Exiger que tous les types de contenu soient empaquetés avec l’extension :
-<pre class="brush: json">"content_security_policy": "default-src 'self'"
-</pre>
+```json
+"content_security_policy": "default-src 'self'"
+```
-<h3 id="Exemples_non_valides">Exemples non valides</h3>
+### Exemples non valides
-<p>Politique qui omet la directive <code>"object-src"</code> :</p>
+Politique qui omet la directive `"object-src"` :
-<pre class="brush: json">"content_security_policy": "script-src 'self' https://*.jquery.com;"</pre>
+```json
+"content_security_policy": "script-src 'self' https://*.jquery.com;"
+```
-<p>Politique qui omet le mot-clé <code>"self"</code> dans la directive <code>"script-src"</code> :</p>
+Politique qui omet le mot-clé `"self"` dans la directive `"script-src"` :
-<pre class="brush: json">"content_security_policy": "script-src https://*.jquery.com; object-src 'self'"</pre>
+```json
+"content_security_policy": "script-src https://*.jquery.com; object-src 'self'"
+```
-<p>Le schéma pour une source distante n’est pas <code>https:</code> :</p>
+Le schéma pour une source distante n’est pas `https:` :
-<pre class="brush: json">"content_security_policy": "script-src 'self' http://code.jquery.com; object-src 'self'"</pre>
+```json
+"content_security_policy": "script-src 'self' http://code.jquery.com; object-src 'self'"
+```
-<p>Le caractère générique est utilisé avec un domaine générique :</p>
+Le caractère générique est utilisé avec un domaine générique :
-<pre class="brush: json">"content_security_policy": "script-src 'self' https://*.blogspot.com; object-src 'self'"</pre>
+```json
+"content_security_policy": "script-src 'self' https://*.blogspot.com; object-src 'self'"
+```
-<p>La source spécifie un schéma mais aucun hôte :</p>
+La source spécifie un schéma mais aucun hôte :
-<pre class="brush: json">"content_security_policy": "script-src 'self' https:; object-src 'self'"</pre>
+```json
+"content_security_policy": "script-src 'self' https:; object-src 'self'"
+```
-<p>La directive inclut le mot-clé non pris en charge <code>'unsafe-inline'</code> :</p>
+La directive inclut le mot-clé non pris en charge `'unsafe-inline'` :
-<pre class="brush: json">"content_security_policy": "script-src 'self' 'unsafe-inline'; object-src 'self'"</pre>
+```json
+"content_security_policy": "script-src 'self' 'unsafe-inline'; object-src 'self'"
+```
-<p>1. <em>Note : l</em><em>es exemples valides montrent l’utilisation correcte des clés dans CSP. Toutefois, les extensions avec </em><em><code>'unsafe-eval'</code>, <code>'unsafe-inline'</code>, 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.</em></p>
+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._
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.manifest.content_security_policy")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td>chaîne</td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>
- <p>Il doit être présent si le sous-répertoire _locales est présent, sinon il doit être absent.</p>
- </td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"default_locale": "fr"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td>chaîne</td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>
+ <p>
+ Il doit être présent si le sous-répertoire _locales est présent, sinon
+ il doit être absent.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td><pre class="brush: json">"default_locale": "fr"</pre></td>
+ </tr>
+ </tbody>
</table>
-<p>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.</p>
+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.
-<p>Voir <a href="/fr/Add-ons/WebExtensions/Internationalization">Internationalisation</a>.</p>
+Voir [Internationalisation](/fr/Add-ons/WebExtensions/Internationalization).
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"default_locale": "fr"</pre>
+```json
+"default_locale": "fr"
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.default_locale")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td>chaîne</td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"description": "Remplace des images par des portraits de chats."</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td>chaîne</td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
+"description": "Remplace des images par des portraits de chats."</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Une brève description de l'extension, destinée à être affichée dans l'interface utilisateur du navigateur.</p>
+Une brève description de l'extension, destinée à être affichée dans l'interface utilisateur du navigateur.
-<p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+Ceci est une [propriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json).
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"description": "Remplace des images par des portraits de chats."</pre>
+```json
+"description": "Remplace des images par des portraits de chats."
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.description")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Objet</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"developer": {
"name": "Walt Whitman",
"url": "https://en.wikipedia.org/wiki/Walt_Whitman"
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>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.</p>
+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.
-<p>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/author">author</a> et <a href="/fr/Add-ons/WebExtensions/manifest.json/homepage_url">homepage_url</a>. Cet objet ne permet qu'un seul nom de développeur et une URL à spécifier.</p>
+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.
-<p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+Ceci est une [propriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json).
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"developer": {
+```json
+"developer": {
"name": "Walt Whitman",
"url": "https://en.wikipedia.org/wiki/Walt_Whitman"
-}</pre>
+}
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.developer")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td>chaîne</td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"devtools_page": "devtools/my-page.html"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td>chaîne</td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">"devtools_page": "devtools/my-page.html"</pre>
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez cette clé pour activer votre extension et intégrer les outils de développement du navigateur.</p>
+Utilisez cette clé pour activer votre extension et intégrer les outils de développement du navigateur.
-<p>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.</p>
+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.
-<p>Voir <a href="/fr/Add-ons/WebExtensions/Extending_the_developer_tools">Extension des outils développeurs</a> pour plus d'informations.</p>
+Voir [Extension des outils développeurs](/fr/Add-ons/WebExtensions/Extending_the_developer_tools) pour plus d'informations.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"devtools_page": "devtools/my-page.html"</pre>
+```json
+"devtools_page": "devtools/my-page.html"
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.devtools_page")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Object</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"dictionaries": {
"en-US": "dictionaries/en-US.dic"
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Les clés des <code>dictionaries</code> specifie le <code>locale_code</code> pour lequel votre extension fournit un dictionnaire. Bien que le dictionnaire se compose de deux fichiers, l'un avec une extension  <code>.dic</code> et l'autre avec une extension <code>.aff</code>, seul celui avec l'extension <code>.dic</code> est référencé dans le fichier manifest.json.</p>
+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.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"dictionaries": {
+```json
+"dictionaries": {
"en-US": "dictionaries/en-US.dic"
-}</pre>
+}
+```
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.manifest.dictionaries")}}</p>
+{{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
---
-<p>{{AddonSidebar}}{{SeeCompatTable}}</p>
+{{AddonSidebar}}{{SeeCompatTable}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row">Type</th>
- <td><code>Object</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre>
+ <tbody>
+ <tr>
+ <th scope="row">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre>
"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/*"
  ]
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>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 <code>externally_connectable</code> n'est pas spécifié, toutes les extensions peuvent communiquer entre elles, mais pas avec les pages Web.</p>
+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.
-<h3 id="attribut_ids">attribut "ids"</h3>
+### attribut "ids"
-<p><code>ids</code> active la communication entre cette extension et les autres extensions installées spécifiées par les identificateurs d'extension. Utilisez le motif <code>"*"</code> si vous souhaitez communiquer avec toutes les extensions. </p>
+`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.
-<h3 id="attribut_matches">attribut "matches"</h3>
+### attribut "matches"
-<p>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.</p>
+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.
-<div class="note">
-<p><strong>Note :</strong> Si <code>browser_action</code> n'est pas spécifié, la communication entre les extensions est toujours autorisée, comme si <code>browser_action</code> était <code>{"ids": ["*"] }</code>, par conséquent, si vous spécifiez <code>browser_action.matches</code> n'oubliez pas d'ajouter des identifiants si vous souhaitez toujours communiquer. avec d'autres extensions.</p>
-</div>
+> **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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.externally_connectable")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td>chaîne</td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"homepage_url": "https://example.org/my-addon"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td>chaîne</td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
+"homepage_url": "https://example.org/my-addon"</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>URL pour la page d'accueil de l'extension.</p>
+URL pour la page d'accueil de l'extension.
-<p>Si la clé <a href="/fr/Add-ons/WebExtensions/manifest.json/developer">dévelopeur</a> est fournie et qu'elle contient la propriété "url", cela remplacera la clé "homepage_url".</p>
+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".
-<p>c'est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">proriété localisable</a>.</p>
+c'est une [proriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json).
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"homepage_url": "https://github.com/mdn/webextensions-examples/tree/master/beastify"</pre>
+```json
+"homepage_url": "https://github.com/mdn/webextensions-examples/tree/master/beastify"
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.homepage_url")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Objet</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"icons": {
"48": "icon.png",
"96": "icon@2x.png"
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>Si la clé icons n'est pas fournie, une icône d'extension standard sera utilisée par défaut.</p>
+Si la clé icons n'est pas fournie, une icône d'extension standard sera utilisée par défaut.
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<p>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.</p>
+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.
-<pre class="brush: json">"icons": {
+```json
+"icons": {
"48": "icon.png",
"96": "icon@2x.png"
-}</pre>
+}
+```
+
+## 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 :
-<h2 id="SVG">SVG</h2>
+ ```html
+ <svg viewBox="0 0 48 48" width="48" height="48" ...
+ ```
-<p>Vous pouvez utiliser SVG et le navigateur mettra à l'échelle appropriée votre icône. Il existe actuellement deux réserves :</p>
+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 :
-<ol>
- <li>Vous devez spécifier un "viewBox" dans l'image. Par exemple :
- <pre class="brush: html">&lt;svg viewBox="0 0 48 48" width="48" height="48" ...</pre>
- </li>
- <li>Même si vous pouvez utiliser un fichier, vous devez toujours spécifier différentes tailles de l'icône dans votre<code> manifest. </code>Par exemple :
- <pre class="brush: json">"icons": {
- "48": "icon.svg",
- "96": "icon.svg"
-}</pre>
- </li>
-</ol>
+ ```json
+ "icons": {
+ "48": "icon.svg",
+ "96": "icon.svg"
+ }
+ ```
-<div class="note">
-<p><strong>Note :</strong> 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.</p>
-</div>
+> **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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.icons")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td>chaîne</td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"incognito": "spanning"</pre>
-
- <pre class="brush: json">
-"incognito": "split"</pre>
-
- <pre class="brush: json">
-"incognito": "not_allowed"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td>chaîne</td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">"incognito": "spanning"</pre>
+ <pre class="brush: json">"incognito": "split"</pre>
+ <pre class="brush: json">"incognito": "not_allowed"</pre>
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez la clé <code>incognito</code> pour contrôler la façon dont l'extension fonctionne avec les fenêtres de navigation privées.</p>
+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:
-<p>Il s'agit d'une chaîne qui peut prendre l'une des valeurs suivantes:</p>
+- "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é :
-<ul>
- <li>
- <p>"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é <code>incognito</code> dans la <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/windows/Window">fenêtre</a></code> ou l'<code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/Tab">onglet </a></code>qui les représente. Cette propriété indique si l'objet est ou non privé :</p>
+ ```js
+ browser.windows.getLastFocused().then((windowInfo) => {
+ console.log(`Window is private: ${windowInfo.incognito}`);
+ });
+ ```
- <pre class="brush: js">browser.windows.getLastFocused().then((windowInfo) =&gt; {
- console.log(`Window is private: ${windowInfo.incognito}`);
-});</pre>
- </li>
- <li>"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, <code><a href="/fr/docs/Web/API/Storage/LocalStorage">localStorage</a></code> n'est pas partagé). Toutefois, l'API des WebExtension <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/local">storage.local</a></code> est partagé. (<strong>Note:</strong> ce paramètre n'est pas supporté par Firefox.)</li>
- <li>"not_allowed" : les onglets privés et les fenêtres sont invisibles pour l'extension.</li>
-</ul>
+- "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.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"incognito": "spanning"
-</pre>
+```json
+"incognito": "spanning"
+```
-<pre class="brush: json">"incognito": "split"
-</pre>
+```json
+"incognito": "split"
+```
-<pre class="brush: json">"incognito": "not_allowed"
-</pre>
+```json
+"incognito": "not_allowed"
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.incognito")}}</p>
+{{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<div class="note">
-<p><strong>Note :</strong> 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 <a href="/fr/docs/Web/Manifest">Web App Manifest</a>.</p>
-</div>
+> **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).
-<p>Le fichier <code>manifest.json</code> est le seul fichier que chaque extension utilisant les API WebExtension doit contenir.</p>
+Le fichier `manifest.json` est le seul fichier que chaque extension utilisant les API WebExtension doit contenir.
-<p>En utilisant <code>manifest.json</code>, 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).</p>
+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).
-<p>C'est un fichier au format <a href="/fr/docs/Glossaire/JSON">JSON</a> à une exception près : il peut contenir des commentaires de type "<code>//</code>".</p>
+C'est un fichier au format [JSON](/fr/docs/Glossaire/JSON) à une exception près : il peut contenir des commentaires de type "`//`".
-<h2 id="List_of_manifest.json_keys">List of manifest.json keys</h2>
+## List of manifest.json keys
-<p>Les clés <code>manifest.json</code> sont listées ci-dessous:</p>
+Les clés `manifest.json` sont listées ci-dessous:
-<div>{{ListSubpages("/en-US/Add-ons/WebExtensions/manifest.json")}}</div>
+{{ListSubpages("/en-US/Add-ons/WebExtensions/manifest.json")}}
-<h3 id="Notes_about_manifest.json_keys">Notes about manifest.json keys</h3>
+### Notes about manifest.json keys
-<ul>
- <li><code>"manifest_version"</code>, <code>"version"</code>, and <code>"name"</code> sont les seules clés obligatoires.</li>
- <li><code>"default_locale"</code> doit être présent si le répertoire "<code>_locales</code>" est présent et sinon doit être absent.</li>
- <li><code>"browser_specific_settings"</code> n'est pas prise en charge dans Google Chrome</li>
-</ul>
+- `"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
-<h3 id="Accessing_manifest.json_keys_at_runtime">Accessing manifest.json keys at runtime</h3>
+### Accessing manifest.json keys at runtime
-<p>Vous pouvez accéder au manifest de votre extension depuis le JavaScript de l'extension en utilisant la fonction {{WebExtAPIRef("runtime.getManifest()")}} :</p>
+Vous pouvez accéder au manifest de votre extension depuis le JavaScript de l'extension en utilisant la fonction {{WebExtAPIRef("runtime.getManifest()")}} :
-<pre class="brush: js;">browser.runtime.getManifest().version;</pre>
+```js
+browser.runtime.getManifest().version;
+```
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<p>Le bloc ci-dessous contient la syntaxe de base de certaines clés communes du manifest</p>
+Le bloc ci-dessous contient la syntaxe de base de certaines clés communes du manifest
-<div class="blockIndicator note">
-<p><strong>Note :</strong> 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.</p>
-</div>
+> **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.
-<p>Pour des exemples complets d'extensions, voir <a href="/fr/Add-ons/WebExtensions/Examples">Exemple d'extensions</a>.</p>
+Pour des exemples complets d'extensions, voir [Exemple d'extensions](/fr/Add-ons/WebExtensions/Examples).
-<pre class="brush: json;">{
+```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"]
-}</pre>
+}
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>Pour un aperçu complet de toutes les clés de manifeste et de leurs sous-clés, <a href="/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json">voir le tableau complet de compatibilité du navigateur manifest.json</a>.</p>
+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
-<p>{{Compat("webextensions.manifest")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<p>{{WebExtAPIRef("permissions")}} JavaScript API</p>
+{{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Numérique</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Oui</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"manifest_version": 2</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Numérique</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Oui</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td><pre class="brush: json">"manifest_version": 2</pre></td>
+ </tr>
+ </tbody>
</table>
-<p>Cette clé spécifie la version de manifest.json utilisée par cette extension.</p>
+Cette clé spécifie la version de manifest.json utilisée par cette extension.
-<p>Actuellement, cela doit toujours être 2.</p>
+Actuellement, cela doit toujours être 2.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"manifest_version": 2
-</pre>
+```json
+"manifest_version": 2
+```
-<h2 id="Comptabilité_des_navigateurs">Comptabilité des navigateurs</h2>
+## Comptabilité des navigateurs
-<p>{{Compat("webextensions.manifest.manifest_version")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td>chaîne</td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Oui</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"name": "Mon extension"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td>chaîne</td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Oui</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td><pre class="brush: json">"name": "Mon extension"</pre></td>
+ </tr>
+ </tbody>
</table>
-<p>Nom de l'extension. Ceci permet d'identifier l'extension dans l'interface utilisateur du navigateur et sur les sites comme addons.mozilla.org.</p>
+Nom de l'extension. Ceci permet d'identifier l'extension dans l'interface utilisateur du navigateur et sur les sites comme addons.mozilla.org.
-<p>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.</p>
+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.
-<p>C'est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+C'est une [propriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json).
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"name": "Mon extension"</pre>
+```json
+"name": "Mon extension"
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.name")}}</p>
+{{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>String</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"offline_enabled": true</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>String</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td><pre class="brush: json">"offline_enabled": true</pre></td>
+ </tr>
+ </tbody>
</table>
-<p>{{Non-standard_Header}}</p>
+{{Non-standard_Header}}
-<p>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.</p>
+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.
-<p>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 <code>"offline_enabled"</code> est <code>true</code> sauf si la permission <code>"webview"</code> est demandée.Dans ce cas, la connectivité réseau est supposée nécessaire et <code>"offline_enabled"</code> par défaut est <code>false</code>.</p>
+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`.
-<p>La valeur <code>"offline_enabled"</code> est également utilisée pour déterminer si un contrôle de connectivité réseau sera effectué lors du lancement d'une application en <a href="https://developer.chrome.com/apps/manifest/kiosk_enabled">mode Chrome OS kiosk</a>. 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.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-
-
-<p>{{Compat("webextensions.manifest.offline_enabled")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Objet</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"omnibox": {
  "keyword": "mdn"
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez la clé <code>omnibox</code> pour définir un mot-clé omnibox pour votre extension.</p>
+Utilisez la clé `omnibox` pour définir un mot-clé omnibox pour votre extension.
-<p>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 <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/omnibox">omnibox</a></code>. L'extension pourra ensuite remplir la liste de suggestions de la liste déroulante de la barre d'adresse avec ses propres suggestions.</p>
+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.
-<p>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.</p>
+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.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"omnibox": {
+```json
+"omnibox": {
"keyword": "mdn"
-}</pre>
+}
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.omnibox")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td>Tableau</td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td>Tableau</td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"optional_permissions": [
"*://developer.mozilla.org/*",
"webRequest"
-]</pre>
- </td>
- </tr>
- </tbody>
+]</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez la clé <code>optional_permissions</code> pour lister les permissions que vous souhaitez demander pour l'exécution, une fois que votre extension a été installée.</p>
+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.
-<p>La clé de <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code> énumère les permissions dont votre extension a besoin  si elle doit être installée. En revanche , <code>optional_permissions</code> 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.</p>
+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.
-<p>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/demander_les_bonnes_permissions#Demander_les_permissions_à_éxécuter">Demander les permissions à éxécuter</a>.</p>
+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).
-<p>La clé peut contenir deux types d'autorisations: les permissions d'hôte et les permissions d'API</p>
+La clé peut contenir deux types d'autorisations: les permissions d'hôte et les permissions d'API
-<h2 id="Permissions_dhôte">Permissions d'hôte</h2>
+## Permissions d'hôte
-<p>Ce sont les mêmes que les permissions d'hôte que vous pouvez spécifier dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions</a></code>.</p>
+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).
-<h2 id="Permissions_dAPI">Permissions d'API</h2>
+## Permissions d'API
-<p>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 :</p>
+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 :
-<div class="threecolumns">
-<ul>
- <li><code>activeTab</code></li>
- <li><code>background</code></li>
- <li><code>bookmarks</code></li>
- <li><code>browserSettings</code></li>
- <li><code>clipboardRead</code></li>
- <li><code>clipboardWrite</code></li>
- <li><code>contentSettings</code></li>
- <li><code>contextMenus</code></li>
- <li><code>cookies</code></li>
- <li><code>debugger</code></li>
- <li><code>downloads</code></li>
- <li><code>downloads.open</code></li>
- <li><code>find</code></li>
- <li><code>geolocation</code></li>
- <li><code>history</code></li>
- <li><code>idle</code></li>
- <li><code>management</code></li>
- <li><code>notifications</code></li>
- <li><code>pageCapture</code></li>
- <li><code>privacy</code></li>
- <li><code>tabHide</code></li>
- <li><code>tabs</code></li>
- <li><code>topSites</code></li>
- <li><code>webNavigation</code></li>
- <li><code>webRequest</code></li>
- <li><code>webRequestBlocking</code></li>
-</ul>
-</div>
+- `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`
-<p>Notez qu'il s'agit d'un sous-ensemble des permissions API permises dans les <code><a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permissions</a></code>.</p>
+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).
-<p>Dans cet ensemble, les permissions suivantes sont accordées en silence, sans invite de l'utilisateur : <code>activeTab</code>, <code>cookies</code>, <code>idle</code>, <code>webRequest</code>, <code>webRequestBlocking</code>.</p>
+Dans cet ensemble, les permissions suivantes sont accordées en silence, sans invite de l'utilisateur : `activeTab`, `cookies`, `idle`, `webRequest`, `webRequestBlocking`.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json"> "optional_permissions": ["*://developer.mozilla.org/*"]</pre>
+```json
+ "optional_permissions": ["*://developer.mozilla.org/*"]
+```
-<p>Activez l'extension pour demander un accès privilégié aux pages sous developer.mozilla.org.</p>
+Activez l'extension pour demander un accès privilégié aux pages sous developer.mozilla.org.
-<pre class="brush: json"> "optional_permissions": ["tabs"]</pre>
+```json
+ "optional_permissions": ["tabs"]
+```
-<p>Activez l'extension pour demander l'accès aux éléments privilégiés de l'API des onglets.</p>
+Activez l'extension pour demander l'accès aux éléments privilégiés de l'API des onglets.
-<pre class="brush: json"> "optional_permissions": ["*://developer.mozilla.org/*", "tabs"]</pre>
+```json
+ "optional_permissions": ["*://developer.mozilla.org/*", "tabs"]
+```
-<p>Activez l'extension pour demander les deux permissions ci-dessus.</p>
+Activez l'extension pour demander les deux permissions ci-dessus.
-<h2 id="Comptabilité_du_navigateur">Comptabilité du navigateur</h2>
+## Comptabilité du navigateur
-<p>{{Compat("webextensions.manifest.optional_permissions")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>String</code></td>
- </tr>
- <tr>
- <th scope="row">Mandatory</th>
- <td>No</td>
- </tr>
- <tr>
- <th scope="row">Example</th>
- <td>
- <pre class="brush: json;">
-"options_page": "options/options.html"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>String</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Mandatory</th>
+ <td>No</td>
+ </tr>
+ <tr>
+ <th scope="row">Example</th>
+ <td>
+ <pre class="brush: json;">"options_page": "options/options.html"</pre>
+ </td>
+ </tr>
+ </tbody>
</table>
-<div>{{Deprecated_Header}}
-<div class="warning">
- <p><strong>Attention :</strong>Cette clé du manifest a été dépréciée. Utilisez <code><a href="/fr/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code>à la place.</p></div>
-</div>
+{{Deprecated_Header}}
-<p>Utilisez la clé d'<code>options_page</code> pour définir une <a href="/fr/Add-ons/WebExtensions/Options_pages">page d'options</a> pour votre extension.</p>
+> **Attention :**Cette clé du manifest a été dépréciée. Utilisez [`options_ui`](/fr/Add-ons/WebExtensions/manifest.json/options_ui)à la place.
-<p>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()")}}.</p>
+Utilisez la clé d'`options_page` pour définir une [page d'options](/fr/Add-ons/WebExtensions/Options_pages) pour votre extension.
-<p>Contrairement aux pages d'options spécifiées à l'aide de la nouvelle clé <code>options_ui</code>, les pages d'options spécifiées à l'aide de la clé <code>options_page</code> obsolète ne reçoivent pas les styles de navigateur et s'ouvrent toujours dans un onglet normal du navigateur.</p>
+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()")}}.
-<h2 id="Exemple">Exemple</h2>
+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.
-<pre class="brush: json;">"options_page": "options/options.html"
-</pre>
+## Exemple
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+```json
+"options_page": "options/options.html"
+```
+## Compatibilité du navigateur
+{{Compat("webextensions.manifest.options_page")}}
-<p>{{Compat("webextensions.manifest.options_page")}}</p>
+## Voir aussi
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code></li>
- <li><a href="/fr/Add-ons/WebExtensions/user_interface/Options_pages">Options pages</a></li>
-</ul>
+- [`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
---
-<div>{{AddonSidebar}}</div>
-
-<table class="standard-table" style="height: 166px; width: 852px;">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Objet</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json;">
+{{AddonSidebar}}
+
+<table class="standard-table" style="height: 166px; width: 852px">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json;">
"options_ui": {
"page": "options/options.html"
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez la clé <code>options_ui</code> pour définir une <a href="/fr/Add-ons/WebExtensions/Options_pages">page d'options</a> pour votre extension.</p>
+Utilisez la clé `options_ui` pour définir une [page d'options](/fr/Add-ons/WebExtensions/Options_pages) pour votre extension.
-<p>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()")}}.</p>
+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()")}}.
-<p>Vous spécifiez <code>options_ui</code> 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 <a href="/fr/Add-ons/WebExtensions/API">APIs WebExtension</a> pour lesquelles l'extension possède des <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a>. Cependant, il fonctionne dans un "scope" différent de celui de vos scripts d'arrière plan.</p>
+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.
-<p>Si vous souhaitez <strong>partager</strong> des données ou des fonctions, entre JavaScript sur votre <strong>page d'options</strong> et vos <strong>scripts d'arrière-plan</strong>, vous pouvez le faire directement en obtenant une référence à la <a href="/fr/docs/Web/API/Window">fenêtre</a> 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()")}}.</p>
+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()")}}.
-<p>Ces derniers (ou les équivalents {{WebExtAPIRef("runtime.Port")}}  peuvent également être utilisés pour partager des options entre vos <a href="/fr/Add-frs/WebExtensions/Background_scripts">scripts d'arrière-plan</a> et vos <strong><a href="/fr/Add-ons/WebExtensions/Content_scripts">scripts de contenu.</a></strong></p>
+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)**
-<p>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) <a href="/fr/Add-ons/WebExtensions/Background_scripts">scripts d'arrière plan</a> (ou <a href="/fr/docs/">script(s) de contenus</a>)  doit connaître le changement, votre (vos) script(s) d'arrière plan pourra choisir d'ajouter un auditeur à {{WebExtAPIRef("storage.onChanged")}}.</p>
+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")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<p>La clé <code>options_ui</code> est un objet avec le contenu suivant :</p>
+La clé `options_ui` est un objet avec le contenu suivant :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>browser_style</code><br>
- {{optional_inline}}</td>
- <td><code>Booléen</code></td>
- <td>
- <p>Facultatif, par défaut : <code>true</code> .</p>
-
- <p>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é <code>browser_style</code> . Bien qu'il contienne par défaut <code>true</code> , il est recommandé d'inclure cette propriété.</p>
-
- <p>Dans Firefox, la feuille de style peut être vue sur <code>chrome://browser/content/extension.css</code>, ou <code>chrome://browser/content/extension-mac.css</code> sur macOS. Lorsque vous fixez les dimensions, sachez que cette feuille de style fixe actuellement <code>box-sizing: border-box</code> (voir <a href="/docs/Web/CSS/box-sizing">box-sizing</a>).</p>
-
- <p>Le <a href="http://design.firefox.com/photon/">guide de style Firefox</a> décrit les classes que vous pouvez appliquer aux éléments de la fenêtre contextuelle afin d'obtenir des styles particuliers.</p>
- </td>
- </tr>
- <tr>
- <td><code>open_in_tab</code><br>
- {{optional_inline}}</td>
- <td><code>Booléen</code></td>
- <td>
- <p>par défaut : <code>false</code>.</p>
-
- <p>Si c'est <code>true</code> , 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.</p>
- </td>
- </tr>
- <tr>
- <td><code>page</code></td>
- <td><code>Chaîne de caractères</code></td>
- <td>
- <p>Obligatoire</p>
-
- <p>Le chemin d'accès au fichier HTML contenant la spécification de votre page d'options.</p>
-
- <p>Le chemin est relatif à l'emplacement du <code>manifest.json</code> lui-même.</p>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>browser_style</code><br />{{optional_inline}}</td>
+ <td><code>Booléen</code></td>
+ <td>
+ <p>Facultatif, par défaut : <code>true</code> .</p>
+ <p>
+ 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é
+ <code>browser_style</code> . Bien qu'il contienne par défaut
+ <code>true</code> , il est recommandé d'inclure cette propriété.
+ </p>
+ <p>
+ Dans Firefox, la feuille de style peut être vue sur
+ <code>chrome://browser/content/extension.css</code>, ou
+ <code>chrome://browser/content/extension-mac.css</code> sur macOS.
+ Lorsque vous fixez les dimensions, sachez que cette feuille de style
+ fixe actuellement <code>box-sizing: border-box</code> (voir
+ <a href="/docs/Web/CSS/box-sizing">box-sizing</a>).
+ </p>
+ <p>
+ Le
+ <a href="http://design.firefox.com/photon/">guide de style Firefox</a>
+ décrit les classes que vous pouvez appliquer aux éléments de la
+ fenêtre contextuelle afin d'obtenir des styles particuliers.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>open_in_tab</code><br />{{optional_inline}}</td>
+ <td><code>Booléen</code></td>
+ <td>
+ <p>par défaut : <code>false</code>.</p>
+ <p>
+ Si c'est <code>true</code> , 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.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>page</code></td>
+ <td><code>Chaîne de caractères</code></td>
+ <td>
+ <p>Obligatoire</p>
+ <p>
+ Le chemin d'accès au fichier HTML contenant la spécification de votre
+ page d'options.
+ </p>
+ <p>
+ Le chemin est relatif à l'emplacement du
+ <code>manifest.json</code> lui-même.
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json;">  "options_ui": {
+```json
+  "options_ui": {
    "page": "options/options.html"
-  }</pre>
+  }
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
+{{Compat("webextensions.manifest.options_ui")}}
+## Voir aussi
-<p>{{Compat("webextensions.manifest.options_ui")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/options_page">options_page</a></code> {{deprecated_inline}}</li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles">Browser styles</a></li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Options_pages">Options pages</a></li>
-</ul>
+- [`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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Objet</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"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"
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Une action de page est une icône que votre extension ajoute dans la barre d'URL du navigateur.</p>
+Une action de page est une icône que votre extension ajoute dans la barre d'URL du navigateur.
-<p>Votre extension peut éventuellement fournir une fenêtre contextuelle associée dont le contenu est spécifié en utilisant HTML, CSS et JavaScript.</p>
+Votre extension peut éventuellement fournir une fenêtre contextuelle associée dont le contenu est spécifié en utilisant HTML, CSS et JavaScript.
-<p>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 <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_pages">scripts d'arrière plan</a> quand l'utilisateur clique sur l'icône.</p>
+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.
-<p>Vous pouvez également créer et activer des actions de page par programme en utilisant l'<a href="/fr/Add-ons/WebExtensions/API/pageAction">API pageAction</a>.</p>
+Vous pouvez également créer et activer des actions de page par programme en utilisant l'[API pageAction](/fr/Add-ons/WebExtensions/API/pageAction).
-<p>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.</p>
+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.
-<p>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 <code><a href="/fr/Add-ons/WebExtensions/API/pageAction/show">pageAction.show()</a></code>, en passant dans l'ID de l'onglet. Vous pouvez également modifier ce comportement par défaut en utilisant la propriété <code>show_matches</code>.</p>
+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`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<p>La clé <code>page_action</code> est un objet qui peut avoir l'une des trois propriétés, toutes optionnelles:</p>
+La clé `page_action` est un objet qui peut avoir l'une des trois propriétés, toutes optionnelles:
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>browser_style</code></td>
- <td><code>Booléen</code></td>
- <td>
- <p>Facultatif, par defaut : <code>false</code>.</p>
-
- <p>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é <code>browser_style</code>. Bien que cette touche par défaut soit <code>false</code>, il est recommandé de l'inclure et de la mettre à <code>true</code> afin de rendre vos fenêtres contextuelles cohérentes avec l'apparence du reste de l'interface utilisateur du navigateur.</p>
-
- <p>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.</p>
-
- <p>Le <a href="https://firefoxux.github.io/StyleGuide/#/controls">guide de style Firefox</a> décrit les classes que vous pouvez appliquer aux éléments de la fenêtre contextuelle afin d'obtenir des styles particuliers.</p>
-
- <p>L'extension exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/latest-download">latest-download</a> utilise <code>browser_style</code> dans sa fenêtre contextuelle.</p>
- </td>
- </tr>
- <tr>
- <td><code>default_icon</code></td>
- <td><code>Objet</code> ou <code>Chaîne de caractères</code></td>
- <td>
- <p>Utilisez cette option pour spécifier une icône pour l'action.</p>
-
- <p>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:</p>
-
- <pre class="brush: json">
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>browser_style</code></td>
+ <td><code>Booléen</code></td>
+ <td>
+ <p>Facultatif, par defaut : <code>false</code>.</p>
+ <p>
+ 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é
+ <code>browser_style</code>. Bien que cette touche par défaut soit
+ <code>false</code>, il est recommandé de l'inclure et de la mettre à
+ <code>true</code> afin de rendre vos fenêtres contextuelles cohérentes
+ avec l'apparence du reste de l'interface utilisateur du navigateur.
+ </p>
+ <p>
+ 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.
+ </p>
+ <p>
+ Le
+ <a href="https://firefoxux.github.io/StyleGuide/#/controls"
+ >guide de style Firefox</a
+ >
+ décrit les classes que vous pouvez appliquer aux éléments de la
+ fenêtre contextuelle afin d'obtenir des styles particuliers.
+ </p>
+ <p>
+ L'extension exemple
+ <a
+ href="https://github.com/mdn/webextensions-examples/tree/master/latest-download"
+ >latest-download</a
+ >
+ utilise <code>browser_style</code> dans sa fenêtre contextuelle.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_icon</code></td>
+ <td><code>Objet</code> ou <code>Chaîne de caractères</code></td>
+ <td>
+ <p>Utilisez cette option pour spécifier une icône pour l'action.</p>
+ <p>
+ 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:
+ </p>
+ <pre class="brush: json">
"default_icon": {
"19": "geo-19.png",
"38": "geo-38.png"
- }</pre>
-
- <p>Si vous faites cela, le navigateur choisira l'icône de la bonne taille selon la densité des pixels de l'écran.</p>
-
- <p>Vous pouvez simplement fournir une chaîne ici :</p>
-
- <pre class="brush: json">
-"default_icon": "geo.png"</pre>
-
- <p>Si vous faites cela, l'icône sera mise à l'échelle pour correspondre à la barre d'outils et peut sembler floue.</p>
- </td>
- </tr>
- <tr>
- <td><code>default_popup</code></td>
- <td><code>Chaîne de caractères</code></td>
- <td>
- <p>Le chemin d'accès à un fichier HTML contenant la spécification de la fenêtre contextuelle.</p>
-
- <p>Le fichier HTML peut inclure des fichiers CSS et JavaScript utilisant des éléments <code><a href="/fr/docs/Web/HTML/Element/link">&lt;link&gt;</a></code> et <code><a href="/fr/docs/Web/HTML/Element/script">&lt;script&gt;</a></code>, tout comme une page Web normale. Cependant, n'utilisez pas <code><a href="/fr/docs/Web/HTML/Element/script">&lt;script&gt;</a></code> avec du code intégré, car vous obtiendrez une erreur de politique de violation de contenu. Au lieu de cela, <code><a href="/fr/docs/Web/HTML/Element/script">&lt;script&gt;</a></code> doit utiliser l'attribut <code><a href="/fr/docs/Web/HTML/Element/script">src</a></code> pour charger un fichier script séparé.</p>
-
- <p>Contrairement à une page Web normale, JavaScript en cours d'exécution dans la fenêtre contextuelle peut accéder à toutes les <a href="/fr/Add-ons/WebExtensions/API">APIs WebExtension</a> (à condition, bien sûr, que l'extension ait les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> appropriées).</p>
-
- <p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
- </td>
- </tr>
- <tr>
- <td><code>default_title</code></td>
- <td><code>Chaîne de caractères</code></td>
- <td>
- <p>Info-bulle pour l'icône, affichée lorsque l'utilisateur passe sa souris dessus.</p>
-
- <p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
- </td>
- </tr>
- <tr>
- <td><code>hide_matches</code></td>
- <td><code>Tableau de Match Pattern sauf </code> <code>&lt;all_urls&gt;</code></td>
- <td>
- <p>Masquer l'action de page par défaut pour les pages dont les URLs correspondent des <a href="/fr/Add-ons/WebExtensions/match_patterns">modèles de correspondance</a> données.</p>
-
- <p>Notez que les actions de page sont toujours cachées par défaut à moins que <code>show_matches</code> ne soit donné. Par conséquent, il est logique d'inclure cette propriété uniquement si <code>show_matches</code> est également donné, et dans ce casil remplacera les patterns dans <code>show_matches</code>. Par exemple, considérez une valeur comme :</p>
-
- <pre class="brush: json">
+ }</pre
+ >
+ <p>
+ Si vous faites cela, le navigateur choisira l'icône de la bonne taille
+ selon la densité des pixels de l'écran.
+ </p>
+ <p>Vous pouvez simplement fournir une chaîne ici :</p>
+ <pre class="brush: json">"default_icon": "geo.png"</pre>
+ <p>
+ Si vous faites cela, l'icône sera mise à l'échelle pour correspondre à
+ la barre d'outils et peut sembler floue.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_popup</code></td>
+ <td><code>Chaîne de caractères</code></td>
+ <td>
+ <p>
+ Le chemin d'accès à un fichier HTML contenant la spécification de la
+ fenêtre contextuelle.
+ </p>
+ <p>
+ Le fichier HTML peut inclure des fichiers CSS et JavaScript utilisant
+ des éléments
+ <code><a href="/fr/docs/Web/HTML/Element/link">&#x3C;link></a></code>
+ et
+ <code
+ ><a href="/fr/docs/Web/HTML/Element/script">&#x3C;script></a></code
+ >, tout comme une page Web normale. Cependant, n'utilisez pas
+ <code
+ ><a href="/fr/docs/Web/HTML/Element/script">&#x3C;script></a></code
+ >
+ avec du code intégré, car vous obtiendrez une erreur de politique de
+ violation de contenu. Au lieu de cela,
+ <code
+ ><a href="/fr/docs/Web/HTML/Element/script">&#x3C;script></a></code
+ >
+ doit utiliser l'attribut
+ <code><a href="/fr/docs/Web/HTML/Element/script">src</a></code> pour
+ charger un fichier script séparé.
+ </p>
+ <p>
+ Contrairement à une page Web normale, JavaScript en cours d'exécution
+ dans la fenêtre contextuelle peut accéder à toutes les
+ <a href="/fr/Add-ons/WebExtensions/API">APIs WebExtension</a> (à
+ condition, bien sûr, que l'extension ait les
+ <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions"
+ >permissions</a
+ >
+ appropriées).
+ </p>
+ <p>
+ Ceci est une
+ <a
+ href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json"
+ >propriété localisable</a
+ >.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_title</code></td>
+ <td><code>Chaîne de caractères</code></td>
+ <td>
+ <p>
+ Info-bulle pour l'icône, affichée lorsque l'utilisateur passe sa
+ souris dessus.
+ </p>
+ <p>
+ Ceci est une
+ <a
+ href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json"
+ >propriété localisable</a
+ >.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>hide_matches</code></td>
+ <td>
+ <code>Tableau de Match Pattern sauf </code> <code>&#x3C;all_urls></code>
+ </td>
+ <td>
+ <p>
+ Masquer l'action de page par défaut pour les pages dont les URLs
+ correspondent des
+ <a href="/fr/Add-ons/WebExtensions/match_patterns"
+ >modèles de correspondance</a
+ >
+ données.
+ </p>
+ <p>
+ Notez que les actions de page sont toujours cachées par défaut à moins
+ que <code>show_matches</code> ne soit donné. Par conséquent, il est
+ logique d'inclure cette propriété uniquement si
+ <code>show_matches</code> est également donné, et dans ce casil
+ remplacera les patterns dans <code>show_matches</code>. Par exemple,
+ considérez une valeur comme :
+ </p>
+ <pre class="brush: json">
"page_action": {
"show_matches": ["https://*.mozilla.org/*"],
"hide_matches": ["https://developer.mozilla.org/*"]
-}</pre>
-
- <p>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".</p>
- </td>
- </tr>
- <tr>
- <td><code>show_matches</code></td>
- <td><code>Tableau de Match Pattern</code></td>
- <td>
- <p>Affiche l'action de page par défaut pour les pages dont les URLs correspondent à l'un des modèles donnés.</p>
-
- <p>Voir aussi <code>hide_matches</code>.</p>
- </td>
- </tr>
- <tr>
- <td><code>pinned</code></td>
- <td><code>Boolean</code></td>
- <td>
- <p>Facultatif, par défaut à <code>true</code>.</p>
-
- <p>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.</p>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ <p>
+ 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".
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>show_matches</code></td>
+ <td><code>Tableau de Match Pattern</code></td>
+ <td>
+ <p>
+ Affiche l'action de page par défaut pour les pages dont les URLs
+ correspondent à l'un des modèles donnés.
+ </p>
+ <p>Voir aussi <code>hide_matches</code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>pinned</code></td>
+ <td><code>Boolean</code></td>
+ <td>
+ <p>Facultatif, par défaut à <code>true</code>.</p>
+ <p>
+ 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.
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"page_action": {
+```json
+"page_action": {
"default_icon": {
"19": "button/geo-19.png",
"38": "button/geo-38.png"
}
-}</pre>
+}
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js"> browser.pageAction.onClicked.addListener(handleClick);</pre>
+```js
+ browser.pageAction.onClicked.addListener(handleClick);
+```
-<pre class="brush: json">"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"
-}</pre>
-
-<p>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.</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+}
+```
+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
-<p>{{Compat("webextensions.manifest.page_action")}}</p>
+{{Compat("webextensions.manifest.page_action")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code></li>
- <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a></code></li>
- <li><a href="/fr/Add-ons/WebExtensions/user_interface/Browser_styles">Browser styles</a></li>
-</ul>
+- [`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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Tableau</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Tableau</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"permissions": [
"*://developer.mozilla.org/*",
"webRequest"
-]</pre>
- </td>
- </tr>
- </tbody>
+]</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez la clé <code>permissions</code> 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.</p>
+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.
-<p>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.</p>
+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.
-<p>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 <a href="/fr/Add-ons/WebExtensions/Request_the_right_permissions">Demander les bonnes permissions</a>.</p>
+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).
-<p>La clé peut contenir trois types d'autorisations:</p>
+La clé peut contenir trois types d'autorisations:
-<ul>
- <li>Les permissions d'hôte</li>
- <li>Les permissions API</li>
- <li>La permission activeTab</li>
-</ul>
+- Les permissions d'hôte
+- Les permissions API
+- La permission activeTab
-<h2 id="Les_permissions_d'hôte">Les permissions d'hôte</h2>
+## Les permissions d'hôte
-<p>Les permissions d'hôte sont spécifiées comme <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">modèles de correspondance</a>, 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 <code>"*://developer.mozilla.org/*"</code>.</p>
+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/*"`.
-<p>Les privilèges supplémentaires incluent :</p>
+Les privilèges supplémentaires incluent :
-<ul>
- <li><a href="/fr/docs/Web/API/XMLHttpRequest">XMLHttpRequest</a> et l'accès <a href="/fr/docs/Web/API/Fetch_API">fetch</a> à ces origines sans restrictions d'origine croisée (même pour les demandes faites à partir de scripts de contenu)</li>
- <li>La possibilité d'injecter des scripts par programme (à l'aide de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript">tabs.executeScript</a>) dans les pages issues de ces origines</li>
- <li>La possibilité de recevoir des événements de l'API <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/webRequest">webRequest</a> pour ces hôtes</li>
- <li>La possibilité d'accéder aux cookies de cet hôte à l'aide de l'API <a href="/fr/Add-ons/WebExtensions/API/cookies">cookies</a>, tant que la permission de cet API est également incluse.</li>
- <li>Contourne la protection de suivi si l'hôte est un domaine complet sans caractères génériques. Ne fonctionne pas avec &lt;all_urls&gt;.</li>
-</ul>
+- [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 \<all_urls>.
-<p>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 :</p>
+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 :
-<pre>moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/</pre>
+ moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/
-<p>Où <code>60a20a9b-1ad4-af49-9b6c-c64c98c37920</code> est l'ID interne de l'extension. L'extension peut obtenir cette URL par programmation en appelant <a href="/fr/Add-ons/WebExtensions/API/extension/getURL">extension.getURL() </a>:</p>
+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):
-<pre class="brush: js;">browser.extension.getURL("");
+```js
+browser.extension.getURL("");
// moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/
-</pre>
-
-<h2 id="Les_permissions_API">Les permissions API</h2>
-
-<p>Les autorisations API sont spécifiées comme des mots-clés, et chaque mot clé nomme une <a href="/fr/docs/">API WebExtension</a> que l'extension souhaite utiliser.</p>
-
-<p>Les mots clés suivants sont actuellement disponibles:</p>
-
-<ul>
- <li><code>activeTab</code></li>
- <li><code>alarms</code></li>
- <li><code>background</code></li>
- <li><code>bookmarks</code></li>
- <li><code>browserSettings</code></li>
- <li><code>browsingData</code></li>
- <li><code>clipboardRead</code></li>
- <li><code>clipboardWrite</code></li>
- <li><code>contentSettings</code></li>
- <li><code>contextMenus</code></li>
- <li><code>contextualIdentities</code></li>
- <li><code>cookies</code></li>
- <li><code>debugger</code></li>
- <li><code>dns</code></li>
- <li><code>downloads</code></li>
- <li><code>downloads.open</code></li>
- <li><code>find</code></li>
- <li><code>geolocation</code></li>
- <li><code>history</code></li>
- <li><code>identity</code></li>
- <li><code>idle</code></li>
- <li><code>management</code></li>
- <li><code>menus</code></li>
- <li><code>menus.overrideContext</code></li>
- <li><code>nativeMessaging</code></li>
- <li><code>notifications</code></li>
- <li><code>pageCapture</code></li>
- <li><code>pkcs11</code></li>
- <li><code>privacy</code></li>
- <li><code>proxy</code></li>
- <li><code>search</code></li>
- <li><code>sessions</code></li>
- <li><code>storage</code></li>
- <li><code>tabHide</code></li>
- <li><code>tabs</code></li>
- <li><code>theme</code></li>
- <li><code>topSites</code></li>
- <li><code>unlimitedStorage</code></li>
- <li><code>webNavigation</code></li>
- <li><code>webRequest</code></li>
- <li><code>webRequestBlocking</code></li>
-</ul>
+```
-<p>Dans la plupart des cas, la permission accorde uniquement l'accès à l'API, avec les exceptions suivantes :</p>
+## Les permissions API
-<ul>
- <li><code>tabs</code> vous permet d'accéder aux <a href="/fr/Add-ons/WebExtensions/API/tabs">parties privilégiées des API de l'onglet </a>: <code>Tab.url</code>, <code>Tab.title</code>, et <code>Tab.faviconUrl</code>. Dans Firefox, vous avez également besoin de  <code>tabs</code> si vous souhaitez inclure <code>url</code> dans le paramètre <code>queryInfo</code> dans <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query">tabs.query()</a></code>. Le reste de l'API <code>tabs</code> peut être utilisé sans demander aucune permission.</li>
- <li><code>webRequestBlocking</code> vous permet d'utiliser l'argument "blocage", afin que vous puissiez <a href="/fr/Add-ons/WebExtensions/API/WebRequest">modifier et annuler les requêtes</a>.</li>
- <li><code>downloads.open</code> vous permet d'utiliser l'API {{WebExtAPIRef("downloads.open()")}}.</li>
- <li><code>tabHide</code> vous permet d'utiliser l'API {{WebExtAPIRef("tabs.hide()")}}.</li>
-</ul>
+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.
-<h2 id="Permission_activeTab">Permission activeTab</h2>
+Les mots clés suivants sont actuellement disponibles:
-<p>Cette autorisation est spécifiée comme " <code>activeTab</code> " (<em>onglet actif</em>). Si une extension possède la permission <code>activeTab</code> , lorsque l'utilisateur interagit avec l'extension, celle-ci reçoit des privilèges supplémentaires uniquement pour l'onglet actif.</p>
+- `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`
-<p>"L'interaction utilisateur" comprend :</p>
+Dans la plupart des cas, la permission accorde uniquement l'accès à l'API, avec les exceptions suivantes :
-<ul>
- <li>L'utilisateur clique sur l'action du navigateur de l'extension ou sur l'action de la page</li>
- <li>L'utilisateur sélectionne un élément de son menu contextuel</li>
- <li>L'utilisateur active un raccourci clavier défini par l'extension</li>
-</ul>
+- `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()")}}.
-<p>Les privilèges supplémentaires sont les suivants :</p>
+## Permission activeTab
-<ul>
- <li>La capacité d'injecter du JavaScript ou du CSS dans l'onglet par programme, en utilisant <code><a href="/fr/Add-ons/WebExtensions/API/tabs/executeScript">browser.tabs.executeScript</a></code> et  <code><a href="/fr/Add-ons/WebExtensions/API/tabs/insertCSS">browser.tabs.insertCSS</a></code></li>
- <li>L'accès aux parties privilégiées des onglets de l'API pour l'onglet actuel : Tab.url, Tab.title et Tab.faviconUrl.</li>
-</ul>
+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.
-<p>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 <code>activeTab</code> n'existait pas, l'extension devrait demander une permission d'hôte &lt;all_urls&gt;. 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.</p>
+"L'interaction utilisateur" comprend :
-<p>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.</p>
+- 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
-<p>Habituellement, l'onglet qui est accordé à <code>activeTab</code> est juste l'onglet actuellement actif, sauf dans un cas. L'API <code><a href="/fr/Add-ons/WebExtensions/API/menus">menus</a></code>  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 <code>activeTab</code> 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)}}).</p>
+Les privilèges supplémentaires sont les suivants :
-<h2 id="Accès_au_presse-papiers">Accès au presse-papiers</h2>
+- 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.
-<p>Il existe deux permissions qui permettent aux extensions d'interagir avec le Presse-papiers :</p>
+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.
-<ul>
- <li><code>clipboardWrite</code>: écrivez dans le presse-papiers à l'aide de {{DOMxRef("Clipboard.write()")}}, {{DOMxRef("Clipboard.writeText()")}}, <code>document.execCommand("copy")</code> ou <code>document.execCommand("cut")</code></li>
- <li><code>clipboardRead</code>: lisez le presse-papiers à l'aide de  {{DOMxRef("Clipboard.read()")}}, {{DOMxRef("Clipboard.readText()")}} ou <code>document.execCommand("paste")</code></li>
-</ul>
+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.
-<p>Voir <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard">Intérargir avec le presse-papiers </a>pour tous les détails de ce sujet.***</p>
+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)}}).
-<h2 id="Stockage_illimité">Stockage illimité</h2>
+## Accès au presse-papiers
-<p>La permission <code>unlimitedStorage</code> :</p>
+Il existe deux permissions qui permettent aux extensions d'interagir avec le Presse-papiers :
-<ul>
- <li>permet aux extensions de dépasser tout quota imposé par l'API  {{WebExtAPIRef("storage.local")}}</li>
- <li>dans Firefox, permet aux extensions de créer une base de données <a href="/fr/docs/Web/API/API_IndexedDB/Browser_storage_limits_and_eviction_criteria#Les_différents_types_de_stockage_des_données">bases de données Indexed DB "persistante"</a>, sans que le navigateur ne demande à l'utilisateur la permission au moment de la création de la base.</li>
-</ul>
+- `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")`
-<h2 id="Exemple">Exemple</h2>
-
-<pre class="brush: json;">"permissions": ["*://developer.mozilla.org/*"]</pre>
-
-<p>Demande d'accès privilégié aux pages sous developer.mozilla.org.</p>
-
-<pre class="brush: json">"permissions": ["tabs"]</pre>
+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.\*\*\*
-<p>Demande d'accès aux éléments privilégiés de l'API <code>tabs.</code></p>
+## Stockage illimité
-<pre class="brush: json">"permissions": ["*://developer.mozilla.org/*", "tabs"]</pre>
+La permission `unlimitedStorage` :
-<p>Demande des deux permissions ci-dessus.</p>
+- 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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Exemple
-<p>{{Compat("webextensions.manifest.permissions")}}</p>
+```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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Tableau</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Tableau</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"protocol_handlers": [
{
"protocol": "ircs",
"name": "IRC Mozilla Extension",
"uriTemplate": "https://irccloud.mozilla.com/#!/%s"
}
-]</pre>
- </td>
- </tr>
- </tbody>
+]</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez cette clé pour enregistrer un ou plusieurs gestionnaires de protocole basés sur le Web.</p>
+Utilisez cette clé pour enregistrer un ou plusieurs gestionnaires de protocole basés sur le Web.
-<p>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).</p>
+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).
-<p>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 <code><a href="/fr/docs/Web/API/Navigator/registerProtocolHandler">Navigator.registerProtocolHandler()</a></code>, excepté que avec <code>registerProtocolHandler()</code> un site Web ne peut s'inscrire lui-même comme un gestionnaire.</p>
+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.
-<p>Chaque gestionnaire de protocole possède trois propriétés, toutes obligatoires :</p>
+Chaque gestionnaire de protocole possède trois propriétés, toutes obligatoires :
-<dl>
- <dt><code>protocol</code></dt>
- <dd>Une chaîne définissant le protocole. Cela doit être soit:
- <ul>
- <li>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".</li>
- <li>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+".</li>
- </ul>
- </dd>
- <dt><code>name</code></dt>
- <dd>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.</dd>
- <dt><code>uriTemplate</code></dt>
- <dd>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 <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</dd>
-</dl>
+- `protocol`
-<h2 id="Exemple">Exemple</h2>
+ - : Une chaîne définissant le protocole. Cela doit être soit:
-<pre class="brush: json ">"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"
  }
-]</pre>
+]
+```
-<p>Les gestionnaires peuvent également être des <a href="/fr/Add-ons/WebExtensions/user_interface/Extension_pages">pages d'extension</a>.</p>
+Les gestionnaires peuvent également être des [pages d'extension](/fr/Add-ons/WebExtensions/user_interface/Extension_pages).
-<pre class="brush: json ">"protocol_handlers": [
+```json
+"protocol_handlers": [
{
"protocol": "magnet",
"name": "Magnet Extension",
"uriTemplate": "/example.xhtml#!/%s"
}
-]</pre>
+]
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.protocol_handlers")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Chaîne</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"short_name": "MonExtension"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Chaîne</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td><pre class="brush: json">"short_name": "MonExtension"</pre></td>
+ </tr>
+ </tbody>
</table>
-<p>Nom abrégé de l'extension. S'il est donné, il sera utilisé dans des contextes où le champ <a href="/fr/Add-ons/WebExtensions/manifest.json/name">name</a> 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é. </p>
+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é.
-<p>C'est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+C'est une [propriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json).
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"short_name": "MonExtension"</pre>
+```json
+"short_name": "MonExtension"
+```
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.short_name")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Objet</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"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
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Une <a href="/fr/Add-ons/WebExtensions/Sidebars">barre latérale</a> 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.</p>
+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.
-<p>La clé <code>sidebar_action</code> 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")}}.</p>
+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")}}.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<p>La clé <code>sidebar_action</code> est un objet qui peut avoir l'une des propriétés listées ci-dessous. La seule propriété obligatoire est <code>default_panel</code>.</p>
+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`.
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Nom</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles">browser_style</a></code></td>
- <td><code>Booléen</code></td>
- <td>
- <p>Facultatif, par défaut : <code>true</code> .</p>
-
- <p>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é <code>browser_style</code>.</p>
-
- <p>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 <code>box-sizing: border-box</code> (see <a href="/docs/Web/CSS/box-sizing">box-sizing</a>).</p>
-
- <p>Le <a href="https://firefoxux.github.io/StyleGuide/#/controls">guide de style de Firefox</a> décrit les classes que vous pouvez appliquer aux éléments de la barre latérale afin d'obtenir des styles particuliers.</p>
- </td>
- </tr>
- <tr>
- <td><code>default_icon</code></td>
- <td><code>Objet</code> ou <code>Chaîne de caractères</code></td>
- <td>
- <p>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.</p>
-
- <p>Les icônes sont spécifiées comme des URL relatives au fichier manifest.json lui-même.</p>
-
- <p>Vous pouvez spécifier un seul fichier d'icône en fournissant une chaîne ici :</p>
-
- <pre class="brush: json">
-"default_icon": "path/to/geo.svg"</pre>
-
- <p>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:</p>
-
- <pre class="brush: json">
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <code
+ ><a
+ href="/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles"
+ >browser_style</a
+ ></code
+ >
+ </td>
+ <td><code>Booléen</code></td>
+ <td>
+ <p>Facultatif, par défaut : <code>true</code> .</p>
+ <p>
+ 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é <code>browser_style</code>.
+ </p>
+ <p>
+ 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 <code>box-sizing: border-box</code> (see
+ <a href="/docs/Web/CSS/box-sizing">box-sizing</a>).
+ </p>
+ <p>
+ Le
+ <a href="https://firefoxux.github.io/StyleGuide/#/controls"
+ >guide de style de Firefox</a
+ >
+ décrit les classes que vous pouvez appliquer aux éléments de la barre
+ latérale afin d'obtenir des styles particuliers.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_icon</code></td>
+ <td><code>Objet</code> ou <code>Chaîne de caractères</code></td>
+ <td>
+ <p>
+ 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.
+ </p>
+ <p>
+ Les icônes sont spécifiées comme des URL relatives au fichier
+ manifest.json lui-même.
+ </p>
+ <p>
+ Vous pouvez spécifier un seul fichier d'icône en fournissant une
+ chaîne ici :
+ </p>
+ <pre class="brush: json">"default_icon": "path/to/geo.svg"</pre>
+ <p>
+ 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:
+ </p>
+ <pre class="brush: json">
"default_icon": {
"16": "path/to/geo-16.png",
"32": "path/to/geo-32.png"
- }</pre>
-
- <p>Voir <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes">Choix de la taille d'icones</a> pour plus de conseils sur ce sujet.</p>
-
- <p>Cette propriété est optionnelle : si elle est omise, la barre latérale n'obtient pas d'icône.</p>
- </td>
- </tr>
- <tr>
- <td><code>default_panel</code></td>
- <td><code>Chaîne de caractères</code></td>
- <td>
- <p>Le chemin d'accès à un fichier HTML qui spécifie le contenu de la barre latérale.</p>
-
- <p>Le fichier HTML peut inclure des fichiers CSS et JavaScript à l'aide des éléments <code><a href="/fr/docs/Web/HTML/Element/link">&lt;link&gt;</a></code> et <code><a href="/fr/docs/Web/HTML/Element/script">&lt;script&gt;</a></code>, tout comme une page Web normale.</p>
-
- <p> Contrairement à une page Web normale, JavaScript en cours d'exécution dans le panneau peut accéder à toutes les <a href="/fr/Add-ons/WebExtensions/API">APIs des WebExtension</a> (à condition, bien sûr, que l'extension ait les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> appropriées).</p>
-
- <p>Cette propriété est obligatoire.</p>
-
- <p>C'est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
- </td>
- </tr>
- <tr>
- <td><code>default_title</code></td>
- <td><code>String</code></td>
- <td>
- <p>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.</p>
-
- <p>Cette propriété est facultative : si elle est omise, le titre de la barre latérale est le <code><a href="/fr/Add-ons/WebExtensions/manifest.json/name">nom</a></code> de l'extension.</p>
-
- <p>C'est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable.</a></p>
- </td>
- </tr>
- <tr>
- <td><code>open_at_install</code></td>
- <td>Boolean</td>
- <td>Facultatif, par défaut à <code>true</code>. 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.</td>
- </tr>
- </tbody>
+ }</pre
+ >
+ <p>
+ Voir
+ <a
+ href="/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes"
+ >Choix de la taille d'icones</a
+ >
+ pour plus de conseils sur ce sujet.
+ </p>
+ <p>
+ Cette propriété est optionnelle : si elle est omise, la barre latérale
+ n'obtient pas d'icône.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_panel</code></td>
+ <td><code>Chaîne de caractères</code></td>
+ <td>
+ <p>
+ Le chemin d'accès à un fichier HTML qui spécifie le contenu de la
+ barre latérale.
+ </p>
+ <p>
+ Le fichier HTML peut inclure des fichiers CSS et JavaScript à l'aide
+ des éléments
+ <code><a href="/fr/docs/Web/HTML/Element/link">&#x3C;link></a></code>
+ et
+ <code
+ ><a href="/fr/docs/Web/HTML/Element/script">&#x3C;script></a></code
+ >, tout comme une page Web normale.
+ </p>
+ <p>
+  Contrairement à une page Web normale, JavaScript en cours d'exécution
+ dans le panneau peut accéder à toutes les
+ <a href="/fr/Add-ons/WebExtensions/API">APIs des WebExtension</a> (à
+ condition, bien sûr, que l'extension ait les
+ <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions"
+ >permissions</a
+ >
+ appropriées).
+ </p>
+ <p>Cette propriété est obligatoire.</p>
+ <p>
+ C'est une
+ <a
+ href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json"
+ >propriété localisable</a
+ >.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_title</code></td>
+ <td><code>String</code></td>
+ <td>
+ <p>
+ 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.
+ </p>
+ <p>
+ Cette propriété est facultative : si elle est omise, le titre de la
+ barre latérale est le
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/manifest.json/name"
+ >nom</a
+ ></code
+ >
+ de l'extension.
+ </p>
+ <p>
+ C'est une
+ <a
+ href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json"
+ >propriété localisable.</a
+ >
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>open_at_install</code></td>
+ <td>Boolean</td>
+ <td>
+ Facultatif, par défaut à <code>true</code>. 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.
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"sidebar_action": {
+```json
+"sidebar_action": {
  "default_icon": "sidebar.svg",
  "default_title": "Ma barre latérale !",
  "default_panel": "sidebar.html",
"browser_style": true
-}</pre>
-
-<p>Pour un exemple simple d'une extension qui utilise une barre latérale, regarder  <a href="https://github.com/mdn/webextensions-examples/tree/master/annotate-page">annotate-page</a>.</p>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+}
+```
+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
-<p>{{Compat("webextensions.manifest.sidebar_action")}}</p>
+{{Compat("webextensions.manifest.sidebar_action")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code></li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action">page_action</a></code></li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles">Browser styles</a></li>
-</ul>
+- [`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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Object</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"storage": {
"managed_schema": "schema.json"
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez la clé <code>storage</code> pour spécifier le nom du fichier de schéma qui définit la structure des données dans le stockage géré.</p>
+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é.
-<p>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.</p>
+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.
-<p>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 <code>storage.managed</code>. Il appartient à l'application d'appliquer les politiques configurées par l'administrateur.</p>
+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.
-<div class="note">
-<p><strong>Note :</strong> Firefox ne définit pas de schéma pour le stockage géré, soir {{WebExtAPIRef("storage.managed")}} pour plus de détails.</p>
-</div>
+> **Note :** Firefox ne définit pas de schéma pour le stockage géré, soir {{WebExtAPIRef("storage.managed")}} pour plus de détails.
-<p>La clé de <code>storage</code> est un objet qui possède les propriétés requises suivantes:</p>
+La clé de `storage` est un objet qui possède les propriétés requises suivantes:
<table class="standard-table">
- <tbody>
- <tr>
- <td><code>managed_schema</code></td>
- <td>
- <p>Un <code>String</code> spécifiant le chemin complet du fichier dans l'extension qui définit le schéma de gestion du stockage..</p>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <td><code>managed_schema</code></td>
+ <td>
+ <p>
+ Un <code>String</code> spécifiant le chemin complet du fichier dans
+ l'extension qui définit le schéma de gestion du stockage..
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.storage", 10)}}</p>
+{{Compat("webextensions.manifest.storage", 10)}}
-<div class="note">
-<p><strong>Note :</strong></p>
-
-<p>Cette page comprend les détails de la page du site web des développeurs de Chrome <a href="https://developer.chrome.com/apps/manifest/storage">Manifeste pour les zones de stockage</a> incluses ici sous la licence Creative Commons Attribution 3.0 United States License.</p>
-</div>
+> **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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Object</code></td>
- </tr>
- <tr>
- <th scope="row">Mandatory</th>
- <td>No</td>
- </tr>
- <tr>
- <th scope="row">Example</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Mandatory</th>
+ <td>No</td>
+ </tr>
+ <tr>
+ <th scope="row">Example</th>
+ <td>
+ <pre class="brush: json">
"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"
}
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Utilisez la clé du thème pour définir un thème statique à appliquer à Firefox.</p>
+Utilisez la clé du thème pour définir un thème statique à appliquer à Firefox.
-<div class="note">
-<p><strong>Note :</strong> Si vous voulez inclure un thème avec une extension, veuillez voir l'API  {{WebExtAPIRef("theme")}}.</p>
-</div>
+> **Note :** Si vous voulez inclure un thème avec une extension, veuillez voir l'API  {{WebExtAPIRef("theme")}}.
-<div class="note">
-<p><strong>Note :</strong> Depuis mai 2019, les thèmes doivent être signés pour être installés ({{bug(1545109)}}). Voir <a href="/fr/docs/Mozilla/Add-ons/Distribution">Signature et distribution votre extension</a> pour plus de détails.</p>
-</div>
+> **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.
-<div class="note">
-<p><strong>Note :</strong> 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 <a href="https://play.google.com/store/apps/details?id=org.mozilla.fenix" rel="noreferrer nofollow">pré-version</a> ne support pas les thèmes.</p>
-</div>
+> **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.
-<h2 id="Formats_des_images">Formats des images</h2>
+## Formats des images
-<p>Les formats d'image suivants sont pris en charge dans toutes les propriétés de l'image du thème :</p>
+Les formats d'image suivants sont pris en charge dans toutes les propriétés de l'image du thème :
-<ul>
- <li>JPEG</li>
- <li>PNG</li>
- <li>APNG</li>
- <li>SVG (SVG animé est pris en charge à partir de Firefox 59)</li>
- <li>GIF (Le GIF animé n'est pas supporté)</li>
-</ul>
+- JPEG
+- PNG
+- APNG
+- SVG (SVG animé est pris en charge à partir de Firefox 59)
+- GIF (Le GIF animé n'est pas supporté)
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<p>La clé du thème est un objet qui prend les propriétés suivantes:</p>
+La clé du thème est un objet qui prend les propriétés suivantes:
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Nom</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>images</code></td>
- <td><code>Objet</code></td>
- <td>
- <p>Facultatif à partir de Firefox 60. Obligatoire avant Firefox 60.</p>
-
- <p>Un objet JSON dont les propriétés représentent les images à afficher dans différentes parties du navigateur. Voir les <code><a href="/fr/Add-ons/WebExtensions/manifest.json/theme#images">images</a></code> pour plus de détails sur les propriétés que cet objet peut contenir.</p>
- </td>
- </tr>
- <tr>
- <td><code>colors</code></td>
- <td><code>Objet</code></td>
- <td>
- <p>Obligatoire.</p>
-
- <p>Un objet JSON dont les propriétés représentent les couleurs de différentes parties du navigateur. Voir <code><a href="/fr/Add-ons/WebExtensions/manifest.json/theme#couleurs">couleurs</a></code> pour plus de détails sur les propriétés que cet objet peut contenir.</p>
- </td>
- </tr>
- <tr>
- <td><code>properties</code></td>
- <td><code>Objet</code></td>
- <td>
- <p>Optionnel</p>
-
- <p>This object has two properties that affect how the <code>"additional_backgrounds"</code> images are displayed. See <code><a href="/fr/Add-ons/WebExtensions/manifest.json/theme#properties">properties</a></code> for details on the properties that this object can contain.</p>
-
- <ul>
- <li><code>"additional_backgrounds_alignment":</code> un tableau énumérant les valeurs définissant l'alignement des éléments correspondants du tableau  <code>"additional_backgrounds":</code>.<br>
- Les options d'alignement comprennent  : <code>"bottom" <em>(bas)</em></code>, <code>"center" <em>(centre)</em></code>, <code>"left" <em>(gauche)</em></code>, <code>"right" <em>(droite)</em></code>, <code>"top" <em>(haut)</em></code>, <code>"</code><code>center bottom</code><code>"</code><em>(centre bas)</em>, <code>"center center" <em>(centre milieu)</em></code>, <code>"center top" <em>(centre haut)</em></code>, <code>"left bottom" <em>(gauche bas)</em></code>, <code>"left center" <em>(gauche milieu)</em></code>, <code>"left top" <em>(gauche haut)</em></code>, <code>"right bottom" <em>(droite bas)</em></code>, <code>"right center" <em>(droite milieu)</em></code>, et <code>"right top" <em>(droite haut)</em></code>. Si elle n'est pas spécifiée, par défaut, <code>"right top"</code>.<br>
- Facultatif</li>
- <li><code>"additional_backgrounds_tiling":</code> un tableau énumérant les valeurs de répétition des éléments correspondants du tableau <code>"additional_backgrounds":</code>, avec le support de <code>"no-repeat" <em>(pas de répétition)</em></code>, <code>"repeat" <em>(répétition)</em></code>, <code>"repeat-x"</code> et <code>"repeat-y"</code>. Si elle n'est pas spécifiée, par défaut, "<code>no-repeat"</code>.<br>
- Facultatif</li>
- </ul>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>images</code></td>
+ <td><code>Objet</code></td>
+ <td>
+ <p>Facultatif à partir de Firefox 60. Obligatoire avant Firefox 60.</p>
+ <p>
+ Un objet JSON dont les propriétés représentent les images à afficher
+ dans différentes parties du navigateur. Voir les
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/manifest.json/theme#images"
+ >images</a
+ ></code
+ >
+ pour plus de détails sur les propriétés que cet objet peut contenir.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>colors</code></td>
+ <td><code>Objet</code></td>
+ <td>
+ <p>Obligatoire.</p>
+ <p>
+ Un objet JSON dont les propriétés représentent les couleurs de
+ différentes parties du navigateur. Voir
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/manifest.json/theme#couleurs"
+ >couleurs</a
+ ></code
+ >
+ pour plus de détails sur les propriétés que cet objet peut contenir.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>properties</code></td>
+ <td><code>Objet</code></td>
+ <td>
+ <p>Optionnel</p>
+ <p>
+ This object has two properties that affect how the
+ <code>"additional_backgrounds"</code> images are displayed. See
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/manifest.json/theme#properties"
+ >properties</a
+ ></code
+ >
+ for details on the properties that this object can contain.
+ </p>
+ <ul>
+ <li>
+ <code>"additional_backgrounds_alignment":</code> un tableau
+ énumérant les valeurs définissant l'alignement des éléments
+ correspondants du tableau 
+ <code>"additional_backgrounds":</code>.<br />Les options
+ d'alignement comprennent  : <code>"bottom" <em>(bas)</em></code
+ >, <code>"center" <em>(centre)</em></code
+ >, <code>"left" <em>(gauche)</em></code
+ >, <code>"right" <em>(droite)</em></code
+ >, <code>"top" <em>(haut)</em></code
+ >, <code>"</code><code>center bottom</code><code>"</code
+ ><em>(centre bas)</em>,
+ <code>"center center" <em>(centre milieu)</em></code
+ >, <code>"center top" <em>(centre haut)</em></code
+ >, <code>"left bottom" <em>(gauche bas)</em></code
+ >, <code>"left center" <em>(gauche milieu)</em></code
+ >, <code>"left top" <em>(gauche haut)</em></code
+ >, <code>"right bottom" <em>(droite bas)</em></code
+ >, <code>"right center" <em>(droite milieu)</em></code
+ >, et <code>"right top" <em>(droite haut)</em></code
+ >. Si elle n'est pas spécifiée, par défaut,
+ <code>"right top"</code>.<br />Facultatif
+ </li>
+ <li>
+ <code>"additional_backgrounds_tiling":</code> un tableau énumérant
+ les valeurs de répétition des éléments correspondants du tableau
+ <code>"additional_backgrounds":</code>, avec le support de
+ <code>"no-repeat" <em>(pas de répétition)</em></code
+ >, <code>"repeat" <em>(répétition)</em></code
+ >, <code>"repeat-x"</code> et <code>"repeat-y"</code>. Si elle n'est
+ pas spécifiée, par défaut, "<code>no-repeat"</code>.<br />Facultatif
+ </li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h3 id="images">images</h3>
+### images
-<p>Toutes les URL sont relatives au fichier manifest.json et ne peuvent pas référencer une URL externe.</p>
+Toutes les URL sont relatives au fichier manifest.json et ne peuvent pas référencer une URL externe.
-<p>Les images doivent avoir une hauteur de 200 pixels pour garantir qu'elles remplissent toujours l'espace d'en-tête verticalement.</p>
+Les images doivent avoir une hauteur de 200 pixels pour garantir qu'elles remplissent toujours l'espace d'en-tête verticalement.
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>
- <p>headerURL <code>{{Deprecated_Inline}}</code></p>
- </td>
- <td><code>String</code></td>
- <td>
- <div class="warning">
- <p><strong>Attention :</strong> <code>headerURL</code> 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 <code>theme_frame</code> à la place.</p>
- </div>
-
- <p>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.</p>
-
- <p>En option à partir de Firefox 60. Un de <code>theme_frame</code> ou <code>headerURL</code> 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 <code>headerURL</code> n'est spécifié (voir {{bug(1404688)}}).</p>
-
- <p>Dans Firefox pour Android, <code>headerURL</code> ou <code>theme_frame</code> doit être spécifié.</p>
-
- <ul>
- </ul>
- </td>
- </tr>
- <tr>
- <td><code>theme_frame</code></td>
- <td><code>String</code></td>
- <td>
- <p>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.</p>
-
- <div class="note">
- <p><strong>Note :</strong> 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.</p>
- </div>
-
- <p>Optionnel à partir de Firefox 60. Un de <code>theme_frame</code> ou <code>headerURL</code> devait être spécifié avant Firefox 60.</p>
-
- <p>Dans Firefox pour Android, <code>headerURL</code> ou <code>theme_frame</code> doit être spécifié.</p>
- </td>
- </tr>
- <tr>
- <td><code>additional_backgrounds</code></td>
- <td><code>Array </code>de <code>String</code></td>
- <td>
- <div class="warning">
- <p><strong>Attention :</strong> La propriété <code>additional_backgrounds</code> est experimentale.  Il est actuellement accepté dans les versions finale de Firefox, mais son comportement est sujet à changement.</p>
- </div>
-
- <p>Un tableau d'URLs pour les images de fond supplémentaires à ajouter à la zone d'en-tête et à afficher derrière l'image <code>"theme_frame"</code> :  Ces images superposent la première image du tableau en haut, la dernière image du tableau en bas.</p>
-
- <p>Optionel.</p>
-
- <p>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 <code>"properties"</code>.</p>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>headerURL <code>{{Deprecated_Inline}}</code></p>
+ </td>
+ <td><code>String</code></td>
+ <td>
+ <div class="warning">
+ <p>
+ <strong>Attention :</strong> <code>headerURL</code> 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 <code>theme_frame</code> à la place.
+ </p>
+ </div>
+ <p>
+ 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.
+ </p>
+ <p>
+ En option à partir de Firefox 60. Un de <code>theme_frame</code> ou
+ <code>headerURL</code> 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 <code>headerURL</code> n'est spécifié (voir
+ {{bug(1404688)}}).
+ </p>
+ <p>
+ Dans Firefox pour Android, <code>headerURL</code> ou
+ <code>theme_frame</code> doit être spécifié.
+ </p>
+ <ul></ul>
+ </td>
+ </tr>
+ <tr>
+ <td><code>theme_frame</code></td>
+ <td><code>String</code></td>
+ <td>
+ <p>
+ 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.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> 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.
+ </p>
+ </div>
+ <p>
+ Optionnel à partir de Firefox 60. Un de <code>theme_frame</code> ou
+ <code>headerURL</code> devait être spécifié avant Firefox 60.
+ </p>
+ <p>
+ Dans Firefox pour Android, <code>headerURL</code> ou
+ <code>theme_frame</code> doit être spécifié.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>additional_backgrounds</code></td>
+ <td><code>Array </code>de <code>String</code></td>
+ <td>
+ <div class="warning">
+ <p>
+ <strong>Attention :</strong> La propriété
+ <code>additional_backgrounds</code> est experimentale.  Il est
+ actuellement accepté dans les versions finale de Firefox, mais son
+ comportement est sujet à changement.
+ </p>
+ </div>
+ <p>
+ Un tableau d'URLs pour les images de fond supplémentaires à ajouter à
+ la zone d'en-tête et à afficher derrière l'image
+ <code>"theme_frame"</code> :  Ces images superposent la première image
+ du tableau en haut, la dernière image du tableau en bas.
+ </p>
+ <p>Optionel.</p>
+ <p>
+ 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
+ <code>"properties"</code>.
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h3 id="Couleurs">Couleurs</h3>
+### Couleurs
-<p>Ces propriétés définissent les couleurs utilisées pour les différentes parties du navigateur. Ils sont tous facultatifs (mais notez que <code>"accentcolor"</code> et <code>"textcolor"</code>  é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:</p>
+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:
<table class="standard-table">
- <tbody>
- <tr>
- <td>
- <p><img src="themes_components_annotations.png"></p>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <td>
+ <p><img src="themes_components_annotations.png" /></p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<div class="note">
-<p><strong>Note :</strong> Lorsqu'un composant est affecté par plusieurs propriétés de couleur, les propriétés sont listées par ordre de priorité.</p>
-</div>
+> **Note :** Lorsqu'un composant est affecté par plusieurs propriétés de couleur, les propriétés sont listées par ordre de priorité.
-<p>Toutes ces propriétés peuvent être spécifiées sous la forme d'une chaîne contenant un <a href="/fr/docs/Web/CSS/color_value">code de couleur CSS</a>, ou un tableau RVB tel que <code>"tab_background_text": [ 107 , 99 , 23 ]</code>, ou en héxadécimal, tel que <code>"tab_background_text": #6b6317</code>.</p>
+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`.
-<div class="note">
-<p><strong>Note :</strong> <a href="/fr/Add-ons/WebExtensions/manifest.json/theme#Chrome_compatibility">Dans Chrome, les couleurs ne peuvent être spécifiées que sous forme de tableau RVB</a>.</p>
-
-<p>Dans Firefox pour Android, les couleurs peuvent être spécifiées en utilisant:</p>
-
-<ul>
- <li>La notation hexadecimale complète, c'est à dire #RRGGBB uniquement. Les syntaxes <em>alpha</em> et abrégée, comme dans #RGB[A], ne sont pas supportées.</li>
- <li><a href="/fr/docs/Web/CSS/Type_color#Syntaxe">Notation fonctionnelle</a> (tableau RVB) pour les thèmes ciblant Firefox 68.2 ou supérieur.</li>
-</ul>
-
-<p>Les couleurs pour les thèmes Firefox pour Android ne peuvent pas être spécifiées à l'aide des noms de couleurs.</p>
-</div>
+> **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.
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>accentcolor</code><code> {{Deprecated_Inline}}</code></td>
- <td>
- <div class="warning">
- <p><strong>Attention :</strong> <code>accentcolor</code> 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  <code>frame</code> à la place.</p>
- </div>
-
- <p>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 <code>"headerURL"</code> et <code>"additional_backgrounds"</code>.</p>
-
- <pre class="brush: json">
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <code>accentcolor</code><code> {{Deprecated_Inline}}</code>
+ </td>
+ <td>
+ <div class="warning">
+ <p>
+ <strong>Attention :</strong> <code>accentcolor</code> 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  <code>frame</code> à la place.
+ </p>
+ </div>
+ <p>
+ 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 <code>"headerURL"</code> et
+ <code>"additional_backgrounds"</code>.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"accentcolor": "red",
"tab_background_text": "white"
}
-}</pre>
-
-
- <p><img alt="" src="theme-accentcolor.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>bookmark_text</code></td>
- <td>
- <p>La couleur du texte et des icônes dans le signet et les barres de recherche. De plus, si <code>tab_text</code> n'est pas défini, il définit la couleur du texte de l'onglet actif et si les <code>icons</code> 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 <code>toolbar_text</code>.</p>
-
- <div class="note">
- <p><strong>Note :</strong> Assurez-vous que toute couleur utilisée contraste bien avec celles utilisées dans <code>frame</code> et <code>frame_inactive</code> ou <code>toolbar</code> si vous utilisez cette propriété.</p>
-
- <p>Là où les <code>icons</code> ne sont pas définis, assurez-vous également d'un bon contraste avec <code>button_background_active</code> et <code>button_background_hover</code>.</p>
- </div>
-
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-accentcolor.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>bookmark_text</code></td>
+ <td>
+ <p>
+ La couleur du texte et des icônes dans le signet et les barres de
+ recherche. De plus, si <code>tab_text</code> n'est pas défini, il
+ définit la couleur du texte de l'onglet actif et si les
+ <code>icons</code> 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 <code>toolbar_text</code>.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Assurez-vous que toute couleur utilisée
+ contraste bien avec celles utilisées dans <code>frame</code> et
+ <code>frame_inactive</code> ou <code>toolbar</code> si vous utilisez
+ cette propriété.
+ </p>
+ <p>
+ Là où les <code>icons</code> ne sont pas définis, assurez-vous
+ également d'un bon contraste avec
+ <code>button_background_active</code> et
+ <code>button_background_hover</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
@@ -271,201 +364,202 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"toolbar": "black",
"bookmark_text": "red"
}
-}</pre>
-
-
- <p><img src="theme-bookmark_text.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>button_background_active</code></td>
- <td>
- <p>La couleur de l'arrière-plan des boutons de la barre d'outils.</p>
-
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="theme-bookmark_text.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>button_background_active</code></td>
+ <td>
+ <p>La couleur de l'arrière-plan des boutons de la barre d'outils.</p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"tab_background_text": "white",
"button_background_active": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-button_background_active.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>button_background_hover</code></td>
- <td>
- <p>La couleur de l'arrière-plan des boutons de la barre d'outils au survol.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-button_background_active.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>button_background_hover</code></td>
+ <td>
+ <p>
+ La couleur de l'arrière-plan des boutons de la barre d'outils au
+ survol.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"tab_background_text": "white",
"button_background_hover": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-button_background_hover.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>icons</code></td>
- <td>
- <p>La couleur des icônes de la barre d'outils, à l'exclusion de celles de la barre d'outils de recherche.</p>
-
- <div class="note">
- <p><strong>Note :</strong> Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans <code>frame</code>,  <code>frame_inactive</code>, <code>button_background_active</code>, et  <code>button_background_hover</code>.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-button_background_hover.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>icons</code></td>
+ <td>
+ <p>
+ La couleur des icônes de la barre d'outils, à l'exclusion de celles de
+ la barre d'outils de recherche.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Assurez-vous que la couleur utilisée
+ contraste bien avec celles utilisées dans <code>frame</code>, 
+ <code>frame_inactive</code>, <code>button_background_active</code>,
+ et  <code>button_background_hover</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"tab_background_text": "white",
"icons": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-icons.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>icons_attention</code></td>
- <td>
- <p>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é.</p>
-
- <div class="note">
- <p><strong>Note :</strong> Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans <code>frame</code>,  <code>frame_inactive</code>, <code>button_background_active</code>, et  <code>button_background_hover</code>.</p>
- </div>
-
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-icons.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>icons_attention</code></td>
+ <td>
+ <p>
+ 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é.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Assurez-vous que la couleur utilisée
+ contraste bien avec celles utilisées dans <code>frame</code>, 
+ <code>frame_inactive</code>, <code>button_background_active</code>,
+ et  <code>button_background_hover</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"tab_background_text": "white",
"icons_attention": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-icons_attention.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>frame</code></td>
- <td>
- <p>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 <code>"theme_frame"</code> et <code>"additional_backgrounds"</code>.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-icons_attention.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>frame</code></td>
+ <td>
+ <p>
+ 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 <code>"theme_frame"</code> et
+ <code>"additional_backgrounds"</code>.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "red",
"tab_background_text": "white"
}
-}</pre>
-
-
- <p><img alt="" src="theme-accentcolor.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>frame_inactive</code></td>
- <td>
- <p>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 <code>"theme_frame"</code> et <code>"additional_backgrounds"</code>.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-accentcolor.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>frame_inactive</code></td>
+ <td>
+ <p>
+ 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
+ <code>"theme_frame"</code> et <code>"additional_backgrounds"</code>.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "red",
"frame_inactive": "gray",
"tab_text": "white"
}
-}</pre>
-
-
- <p><img src="theme-frame_inactive.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>ntp_background</code></td>
- <td>
- <p>La nouvelle couleur d'arrière-plan de la page à onglet.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="theme-frame_inactive.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>ntp_background</code></td>
+ <td>
+ <p>La nouvelle couleur d'arrière-plan de la page à onglet.</p>
+ <pre class="brush: json">
"theme": {
"colors": {
"ntp_background": "red",
"ntp_text": "white"
}
-}</pre>
-
-
- <p><img src="ntp_colors.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>ntp_text</code></td>
- <td>
- <p>La couleur du texte de la page nouvel onglet.</p>
-
- <div class="note">
- <p><strong>Note :</strong> Assurez-vous que la couleur utilisée contraste bien avec celle utilisée dans  <code>ntp_background</code>.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="ntp_colors.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>ntp_text</code></td>
+ <td>
+ <p>La couleur du texte de la page nouvel onglet.</p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Assurez-vous que la couleur utilisée
+ contraste bien avec celle utilisée dans 
+ <code>ntp_background</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"ntp_background": "red",
"ntp_text": "white"
}
-}</pre>
-
-
- <p><img src="ntp_colors.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>popup</code></td>
- <td>
- <p>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)</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="ntp_colors.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>popup</code></td>
+ <td>
+ <p>
+ 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)
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"tab_background_text": "white",
"popup": "red"
}
-}</pre>
-
-
- <p><img src="theme-popup.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>popup_border</code></td>
- <td>
- <p>La couleur de la bordure des popups.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="theme-popup.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>popup_border</code></td>
+ <td>
+ <p>La couleur de la bordure des popups.</p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
@@ -474,23 +568,27 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"popup_text": "white",
"popup_border": "red"
}
-}</pre>
-
-
- <p><img src="theme-popup_border.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>popup_highlight</code></td>
- <td>
- <p>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).</p>
-
- <div class="note">
- <p><strong>Note :</strong> Il est recommandé de définir <code>popup_highlight_text</code> pour remplacer la couleur de texte par défaut du navigateur sur différentes plateformes.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="theme-popup_border.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>popup_highlight</code></td>
+ <td>
+ <p>
+ 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).
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Il est recommandé de définir
+ <code>popup_highlight_text</code> pour remplacer la couleur de texte
+ par défaut du navigateur sur différentes plateformes.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
@@ -498,24 +596,25 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"popup_highlight": "red",
"popup_highlight_text": "white",
}
-}</pre>
-
-
- <p><img src="theme-popup_highlight.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>popup_highlight_text</code></td>
- <td>
- <p>La couleur du texte des éléments mis en surbrillance dans les fenêtres contextuelles.</p>
-
- <div class="note">
- <p><strong>Note :</strong> S'assurer que la couleur utilisée contraste bien avec celle utilisée dans <code>popup_highlight</code>.</p>
- </div>
-
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="theme-popup_highlight.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>popup_highlight_text</code></td>
+ <td>
+ <p>
+ La couleur du texte des éléments mis en surbrillance dans les fenêtres
+ contextuelles.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> S'assurer que la couleur utilisée contraste
+ bien avec celle utilisée dans <code>popup_highlight</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
@@ -523,23 +622,22 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"popup_highlight": "black",
"popup_highlight_text": "red"
}
-}</pre>
-
-
- <p><img src="theme-popup_highlight_text.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>popup_text</code></td>
- <td>
- <p>La couleur du texte des popups.</p>
-
- <div class="note">
- <p><strong>Note :</strong> S'assurer que la couleur utilisée contraste bien avec celle utilisée dans <code>popup</code>.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="theme-popup_highlight_text.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>popup_text</code></td>
+ <td>
+ <p>La couleur du texte des popups.</p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> S'assurer que la couleur utilisée contraste
+ bien avec celle utilisée dans <code>popup</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
@@ -547,19 +645,16 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"popup": "black",
"popup_text": "red"
}
-}</pre>
-
-
- <p><img src="popup_text.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>sidebar</code></td>
- <td>
- <p>La couleur de fond des barres latérales intégrées.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="popup_text.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>sidebar</code></td>
+ <td>
+ <p>La couleur de fond des barres latérales intégrées.</p>
+ <pre class="brush: json">
"theme": {
"colors": {
"sidebar": "red",
@@ -567,80 +662,81 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"sidebar_highlight_text": "green",
"sidebar_text": "white"
}
-}</pre>
-
-
- <p><img alt="" src="sidebar_colors.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>sidebar_border</code></td>
- <td>
- <p>La couleur de la bordure et du séparateur de la barre latérale du navigateur.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="sidebar_colors.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>sidebar_border</code></td>
+ <td>
+ <p>
+ La couleur de la bordure et du séparateur de la barre latérale du
+ navigateur.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"sidebar_border": "red"
}
-}</pre>
-
-
- <p><img alt="" src="screen_shot_2018-09-16_at_6.13.31_pm.png" ></p>
- </td>
- </tr>
- <tr>
- <td><code>sidebar_highlight</code></td>
- <td>
- <p>La couleur d'arrière-plan des lignes en surbrillance dans les barres latérales intégrées.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="screen_shot_2018-09-16_at_6.13.31_pm.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>sidebar_highlight</code></td>
+ <td>
+ <p>
+ La couleur d'arrière-plan des lignes en surbrillance dans les barres
+ latérales intégrées.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"sidebar_highlight": "red",
"sidebar_highlight_text": "white"
}
-}</pre>
-
-
- <p><img src="screen_shot_2018-10-04_at_11.15.46_am.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>sidebar_highlight_text</code></td>
- <td>
- <p>La couleur du texte des lignes en surbrillance dans les barres latérales intégrées.</p>
-
- <div class="note">
- <p><strong>Note :</strong> S'assurer que la couleur utilisée contraste bien avec celle utilisée dans <code>sidebar_highlight</code>.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="screen_shot_2018-10-04_at_11.15.46_am.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>sidebar_highlight_text</code></td>
+ <td>
+ <p>
+ La couleur du texte des lignes en surbrillance dans les barres
+ latérales intégrées.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> S'assurer que la couleur utilisée contraste
+ bien avec celle utilisée dans <code>sidebar_highlight</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"sidebar_highlight": "pink",
"sidebar_highlight_text": "red",
}
-}</pre>
-
-
- <p><img src="screen_shot_2018-10-04_at_11.22.41_am.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>sidebar_text</code></td>
- <td>
- <p>La couleur du texte des barres latérales intégrées.</p>
-
- <div class="note">
- <p><strong>Note :</strong> S'assurer que la couleur utilisée contraste bien avec celle utilisée dans <code>sidebar</code>.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="screen_shot_2018-10-04_at_11.22.41_am.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>sidebar_text</code></td>
+ <td>
+ <p>La couleur du texte des barres latérales intégrées.</p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> S'assurer que la couleur utilisée contraste
+ bien avec celle utilisée dans <code>sidebar</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"sidebar": "red",
@@ -648,99 +744,99 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"sidebar_highlight_text": "green",
"sidebar_text": "white"
}
-}</pre>
-
-
- <p><img alt="" src="sidebar_colors.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>tab_background_separator</code></td>
- <td>
- <p>La couleur du séparateur vertical des onglets d'arrière-plan.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="sidebar_colors.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_background_separator</code></td>
+ <td>
+ <p>La couleur du séparateur vertical des onglets d'arrière-plan.</p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"tab_background_text": "white",
"tab_background_separator": "red"
}
-}</pre>
-
-
- <p><img src="theme-tab-background-separator.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>tab_background_text</code></td>
- <td>
- <p>La couleur du texte affiché dans les onglets des pages inactives. Si <code>tab_text</code> ou <code>bookmark_text</code> n'est pas spécifié, s'applique au texte de l'onglet actif.</p>
-
- <div class="note">
- <p><strong>Note :</strong> Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  <code>tab_selected</code> ou <code>frame</code> et  <code>frame_inactive</code>.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="theme-tab-background-separator.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_background_text</code></td>
+ <td>
+ <p>
+ La couleur du texte affiché dans les onglets des pages inactives. Si
+ <code>tab_text</code> ou <code>bookmark_text</code> n'est pas
+ spécifié, s'applique au texte de l'onglet actif.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Assurez-vous que la couleur utilisée
+ contraste bien avec celles utilisées dans 
+ <code>tab_selected</code> ou <code>frame</code> et 
+ <code>frame_inactive</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"toolbar": "white",
"tab_background_text": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-textcolor.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>tab_line</code></td>
- <td>
- <p>La couleur de la ligne de l'onglet sélectionnée.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-textcolor.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_line</code></td>
+ <td>
+ <p>La couleur de la ligne de l'onglet sélectionnée.</p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"tab_bckground_text": "white",
"tab_line": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-tab_line.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>tab_loading</code></td>
- <td>
- <p>La couleur de l'indicateur de chargement de l'onglet et de l'effet de vague.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-tab_line.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_loading</code></td>
+ <td>
+ <p>
+ La couleur de l'indicateur de chargement de l'onglet et de l'effet de
+ vague.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"tab_background_text": "white",
"tab_loading": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-tab_loading.gif"></p>
- </td>
- </tr>
- <tr>
- <td><code>tab_selected</code></td>
- <td>
- <p>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 <code>frame</code> et <code>frame_inactive</code>.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-tab_loading.gif" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_selected</code></td>
+ <td>
+ <p>
+ 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
+ <code>frame</code> et <code>frame_inactive</code>.
+ </p>
+ <pre class="brush: json">
"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"
}
-}</pre>
-
-
- <p><img alt="" src="theme-tab_selected.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>tab_text</code></td>
- <td>
- <p>Depuis Firefox 59, il représente la couleur du texte de l'onglet sélectionné. Si <code>tab_line</code> n'est pas spécifié, il définit également la couleur de la ligne de tabulation sélectionnée.</p>
-
- <div class="note">
- <p><strong>Note :</strong> Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  <code>tab_selected</code> ou <code>frame</code> et  <code>frame_inactive</code>.</p>
- </div>
-
- <p>De Firefox 55 à 58, il est incorrectement implémenté comme alias pour <code>"textcolor"</code></p>
-
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-tab_selected.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_text</code></td>
+ <td>
+ <p>
+ Depuis Firefox 59, il représente la couleur du texte de l'onglet
+ sélectionné. Si <code>tab_line</code> n'est pas spécifié, il définit
+ également la couleur de la ligne de tabulation sélectionnée.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Assurez-vous que la couleur utilisée
+ contraste bien avec celles utilisées dans 
+ <code>tab_selected</code> ou <code>frame</code> et 
+ <code>frame_inactive</code>.
+ </p>
+ </div>
+ <p>
+ De Firefox 55 à 58, il est incorrectement implémenté comme alias pour
+ <code>"textcolor"</code>
+ </p>
+ <pre class="brush: json">
"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"
}
-}</pre>
-
-
- <p><img alt="" src="theme-tab_text.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>textcolor {{Deprecated_Inline}}</code></td>
- <td>
- <div class="warning">
- <p><strong>Attention :</strong> <code>textcolor</code> 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 <code>tab_text</code> à la place.</p>
- </div>
-
- <p>La couleur du texte affiché dans la zone d'en-tête.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-tab_text.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>textcolor {{Deprecated_Inline}}</code></td>
+ <td>
+ <div class="warning">
+ <p>
+ <strong>Attention :</strong> <code>textcolor</code> 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 <code>tab_text</code> à la place.
+ </p>
+ </div>
+ <p>La couleur du texte affiché dans la zone d'en-tête.</p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"toolbar": "white",
"textcolor": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-textcolor.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar</code></td>
- <td>
- <p>La couleur de fond de la barre de navigation, de la barre de signets et de l'onglet sélectionné.</p>
-
- <p>Ceci définit également la couleur de fond de la barre "Rechercher".</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-textcolor.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar</code></td>
+ <td>
+ <p>
+ La couleur de fond de la barre de navigation, de la barre de signets
+ et de l'onglet sélectionné.
+ </p>
+ <p>
+ Ceci définit également la couleur de fond de la barre "Rechercher".
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"toolbar": "red",
"tab_background_text": "white"
}
-}</pre>
-
-
- <p><img alt="" src="toolbar.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_bottom_separator</code></td>
- <td>
- <p>La couleur de la ligne séparant le bas de la barre d'outils de la région en dessous.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="toolbar.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_bottom_separator</code></td>
+ <td>
+ <p>
+ La couleur de la ligne séparant le bas de la barre d'outils de la
+ région en dessous.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"tab_background_text": "white",
"toolbar_bottom_separator": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-toolbar_bottom_separator.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_field</code></td>
- <td>
- <p>La couleur d'arrière-plan des champs de la barre d'outils, comme la barre URL.</p>
-
- <p>Ceci définit également la couleur de fond du champ Rechercher dans la page.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-toolbar_bottom_separator.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field</code></td>
+ <td>
+ <p>
+ La couleur d'arrière-plan des champs de la barre d'outils, comme la
+ barre URL.
+ </p>
+ <p>
+ Ceci définit également la couleur de fond du champ Rechercher dans la
+ page.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
"tab_background_text": "white",
"toolbar_field": "red"
}
-}</pre>
-
-
- <p><img alt="" src="toolbar-field.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_field_border</code></td>
- <td>
- <p>La couleur de la bordure des champs de la barre d'outils.</p>
-
- <p>Ceci définit également la couleur de fond du champ Rechercher dans la page.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="toolbar-field.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_border</code></td>
+ <td>
+ <p>La couleur de la bordure des champs de la barre d'outils.</p>
+ <p>
+ Ceci définit également la couleur de fond du champ Rechercher dans la
+ page.
+ </p>
+ <pre class="brush: json">
"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"
}
-}</pre>
-
-
- <p><img alt="" src="toolbar-field-border.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_field_border_focus</code></td>
- <td>
- <p>La couleur de bordure pour les champs de la barre d'outils qui ont le focus.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="toolbar-field-border.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_border_focus</code></td>
+ <td>
+ <p>
+ La couleur de bordure pour les champs de la barre d'outils qui ont le
+ focus.
+ </p>
+ <pre class="brush: json">
"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"
}
-}</pre>
-
-
- <p><img alt="" src="theme-toolbar_field_border_focus.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_field_focus</code></td>
- <td>
- <p>La couleur de fond pour les champs de la barre d'outils qui ont le focus, tels que la barre d'URL.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-toolbar_field_border_focus.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_focus</code></td>
+ <td>
+ <p>
+ La couleur de fond pour les champs de la barre d'outils qui ont le
+ focus, tels que la barre d'URL.
+ </p>
+ <pre class="brush: json">
"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"
}
-}</pre>
-
-
- <p><img alt="" src="theme-toolbar_field_focus.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_field_highlight</code></td>
- <td>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).
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-toolbar_field_focus.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_highlight</code></td>
+ <td>
+ 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).
+ <pre class="brush: json">
"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)"
}
-}</pre>
-
-
- <p><img src="toolbar_field_highlight.png"></p>
-
- <p>Ici, le champ <code>toolbar_field_highlight</code> 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  <code>toolbar_field_highlight_text</code>.</p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_field_highlight_text</code></td>
- <td>
- <p>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).</p>
-
- <div class="note">
- <p><strong>Note :</strong> S'assurer que la couleur utilisée contraste bien avec celles utilisées dans  <code>toolbar_field_highlight</code>.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="toolbar_field_highlight.png" /></p>
+ <p>
+ Ici, le champ <code>toolbar_field_highlight</code> 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 
+ <code>toolbar_field_highlight_text</code>.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_highlight_text</code></td>
+ <td>
+ <p>
+ 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).
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> S'assurer que la couleur utilisée contraste
+ bien avec celles utilisées dans 
+ <code>toolbar_field_highlight</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"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)"
}
-}</pre>
-
-
- <p><img src="toolbar_field_highlight.png"></p>
-
- <p>Ici, le champ <code>toolbar_field_highlight_text</code> permet de régler la couleur du texte sur un vert foncé moyen foncé, tandis que la couleur de surbrillance est un vert clair.</p>
- </td>
- </tr>
- <tr>
- </tr>
- <tr>
- <td><code>toolbar_field_separator</code></td>
- <td>
- <p>La couleur des séparateurs à l'intérieur de la barre d'URL. Dans Firefox 58, cela a été implémenté en tant que <code>toolbar_vertical_separator</code>.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img src="toolbar_field_highlight.png" /></p>
+ <p>
+ Ici, le champ <code>toolbar_field_highlight_text</code> permet de
+ régler la couleur du texte sur un vert foncé moyen foncé, tandis que
+ la couleur de surbrillance est un vert clair.
+ </p>
+ </td>
+ </tr>
+ <tr></tr>
+ <tr>
+ <td><code>toolbar_field_separator</code></td>
+ <td>
+ <p>
+ La couleur des séparateurs à l'intérieur de la barre d'URL. Dans
+ Firefox 58, cela a été implémenté en tant que
+ <code>toolbar_vertical_separator</code>.
+ </p>
+ <pre class="brush: json">
"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"
}
-}</pre>
-
-
- <p><img alt="" src="theme-toolbar_field_separator.png"></p>
-
- <p>Dans cette capture d'écran, <code>"toolbar_vertical_separator"</code> est la ligne verticale blanche dans la barre URL qui sépare l'icône du mode lecture des autres icônes.</p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_field_text</code></td>
- <td>
- <p>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.</p>
-
- <div class="note">
- <p><strong>Note :</strong> Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  <code>toolbar_field</code>.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-toolbar_field_separator.png" /></p>
+ <p>
+ Dans cette capture d'écran,
+ <code>"toolbar_vertical_separator"</code> est la ligne verticale
+ blanche dans la barre URL qui sépare l'icône du mode lecture des
+ autres icônes.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_text</code></td>
+ <td>
+ <p>
+ 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.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Assurez-vous que la couleur utilisée
+ contraste bien avec celles utilisées dans 
+ <code>toolbar_field</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
@@ -1026,23 +1152,26 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"toolbar_field": "black",
"toolbar_field_text": "red"
}
-}</pre>
-
-
- <p><img alt="" src="toolbar-field-text.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_field_text_focus</code></td>
- <td>
- <p>La couleur du texte dans les champs de la barre d'outils qui ont le focus, tels que la barre d'URL.</p>
-
- <div class="note">
- <p><strong>Note :</strong> Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  <code>toolbar_field_focus</code>.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="toolbar-field-text.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_text_focus</code></td>
+ <td>
+ <p>
+ La couleur du texte dans les champs de la barre d'outils qui ont le
+ focus, tels que la barre d'URL.
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Assurez-vous que la couleur utilisée
+ contraste bien avec celles utilisées dans 
+ <code>toolbar_field_focus</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"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"
}
-}</pre>
-
-
- <p><img alt="" src="theme-toolbar_field_text_focus.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_text</code></td>
- <td>
- <p>La couleur du texte de la barre d'outils. Ceci définit également la couleur du texte dans la barre "Rechercher".</p>
-
- <div class="note">
- <p><strong>Note :</strong> Pour la compatibilité avec Chrome, utilisez l'alias <code>bookmark_text</code>.</p>
- </div>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-toolbar_field_text_focus.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_text</code></td>
+ <td>
+ <p>
+ La couleur du texte de la barre d'outils. Ceci définit également la
+ couleur du texte dans la barre "Rechercher".
+ </p>
+ <div class="note">
+ <p>
+ <strong>Note :</strong> Pour la compatibilité avec Chrome, utilisez
+ l'alias <code>bookmark_text</code>.
+ </p>
+ </div>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
@@ -1076,19 +1207,19 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"toolbar": "black",
"toolbar_text": "red"
}
-}</pre>
-
-
- <p><img alt="" src="toolbar-text.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_top_separator</code></td>
- <td>
- <p>La couleur de la ligne séparant le bas de la barre d'outils de la région en dessous.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="toolbar-text.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_top_separator</code></td>
+ <td>
+ <p>
+ La couleur de la ligne séparant le bas de la barre d'outils de la
+ région en dessous.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
@@ -1096,19 +1227,20 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"toolbar": "black",
"toolbar_top_separator": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-toolbar_top_separator.png"></p>
- </td>
- </tr>
- <tr>
- <td><code>toolbar_vertical_separator</code></td>
- <td>
- <p>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.</p>
-
-
- <pre class="brush: json">
+}</pre
+ >
+ <p><img alt="" src="theme-toolbar_top_separator.png" /></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_vertical_separator</code></td>
+ <td>
+ <p>
+ 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.
+ </p>
+ <pre class="brush: json">
"theme": {
"colors": {
"frame": "black",
@@ -1116,120 +1248,99 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
"toolbar": "black",
"toolbar_vertical_separator": "red"
}
-}</pre>
-
-
- <p><img alt="" src="theme-toolbar_vertical_separator.png"></p>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ <p><img alt="" src="theme-toolbar_vertical_separator.png" /></p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h4 id="Aliases">Aliases</h4>
+#### Aliases
-<p>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.</p>
+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.
-<div class="warning">
-<p><strong>Attention :</strong> A partir de Firefox 70, les propriétés suivantes sont supprimées : <code>accentcolor</code> et <code>textcolor</code>. Utilisez à la place <code>frame</code> et <code>tab_background_text</code>. L'utilisation de ces valeurs dans des thèmes chargés dans Firefox 65 ou une version ultérieure augmentera les avertissements.</p>
-</div>
+> **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.
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Nom</th>
- <th scope="col">Alias pour</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>bookmark_text</code></td>
- <td><code>toolbar_text {{Deprecated_Inline}}</code></td>
- </tr>
- <tr>
- <td><code>frame</code></td>
- <td><code>accentcolor {{Deprecated_Inline}}</code></td>
- </tr>
- <tr>
- <td><code>frame_inactive</code></td>
- <td><code>accentcolor {{Deprecated_Inline}}</code></td>
- </tr>
- <tr>
- <td><code>tab_background_text</code></td>
- <td><code>textcolor {{Deprecated_Inline}}</code></td>
- </tr>
- </tbody>
-</table>
+| Nom | Alias pour |
+| --------------------- | ------------------------------------------- |
+| `bookmark_text` | `toolbar_text {{Deprecated_Inline}}` |
+| `frame` | `accentcolor {{Deprecated_Inline}}` |
+| `frame_inactive` | `accentcolor {{Deprecated_Inline}}` |
+| `tab_background_text` | `textcolor {{Deprecated_Inline}}` |
-<h3 id="properties">properties</h3>
+### properties
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>additional_backgrounds_alignment</code></td>
- <td>
- <p><code>Array</code> of <code>String</code></p>
- </td>
- <td>
- <p>Optionel.</p>
-
- <p>Un tableau de valeurs d'énumération définissant l'alignement de l'élément <code>"additional_backgrounds":</code> élément de tableau.<br>
- Les options d'alignement comprennent:</p>
-
- <ul>
- <li><code>"bottom"</code></li>
- <li><code>"center"</code></li>
- <li><code>"left"</code></li>
- <li><code>"right"</code></li>
- <li><code>"top"</code></li>
- <li><code>"center bottom"</code></li>
- <li><code>"center center"</code></li>
- <li><code>"center top"</code></li>
- <li><code>"left bottom"</code></li>
- <li><code>"left center"</code></li>
- <li><code>"left top"</code></li>
- <li><code>"right bottom"</code></li>
- <li><code>"right center"</code></li>
- <li><code>"right top"</code>.</li>
- </ul>
-
- <p>Si non spécifié, par default <code>"right top"</code>.</p>
- </td>
- </tr>
- <tr>
- <td><code>additional_backgrounds_tiling</code></td>
- <td>
- <p><code>Array</code> of <code>String</code></p>
- </td>
- <td>
- <p>Optional.</p>
-
- <p>Un tableau de valeurs d'énumérations définissant, comme l'élément de tableau  <code>"additional_backgrounds":</code> correspondant de répétition. Les options comprennent :</p>
-
- <ul>
- <li><code>"no-repeat"</code></li>
- <li><code>"repeat"</code></li>
- <li><code>"repeat-x"</code></li>
- <li><code>"repeat-y"</code></li>
- </ul>
-
- <p>Si non spécifié, par default <code>"no-repeat"</code>.</p>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>additional_backgrounds_alignment</code></td>
+ <td>
+ <p><code>Array</code> of <code>String</code></p>
+ </td>
+ <td>
+ <p>Optionel.</p>
+ <p>
+ Un tableau de valeurs d'énumération définissant l'alignement de
+ l'élément <code>"additional_backgrounds":</code> élément de
+ tableau.<br />Les options d'alignement comprennent:
+ </p>
+ <ul>
+ <li><code>"bottom"</code></li>
+ <li><code>"center"</code></li>
+ <li><code>"left"</code></li>
+ <li><code>"right"</code></li>
+ <li><code>"top"</code></li>
+ <li><code>"center bottom"</code></li>
+ <li><code>"center center"</code></li>
+ <li><code>"center top"</code></li>
+ <li><code>"left bottom"</code></li>
+ <li><code>"left center"</code></li>
+ <li><code>"left top"</code></li>
+ <li><code>"right bottom"</code></li>
+ <li><code>"right center"</code></li>
+ <li><code>"right top"</code>.</li>
+ </ul>
+ <p>Si non spécifié, par default <code>"right top"</code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>additional_backgrounds_tiling</code></td>
+ <td>
+ <p><code>Array</code> of <code>String</code></p>
+ </td>
+ <td>
+ <p>Optional.</p>
+ <p>
+ Un tableau de valeurs d'énumérations définissant, comme l'élément de
+ tableau  <code>"additional_backgrounds":</code> correspondant de
+ répétition. Les options comprennent :
+ </p>
+ <ul>
+ <li><code>"no-repeat"</code></li>
+ <li><code>"repeat"</code></li>
+ <li><code>"repeat-x"</code></li>
+ <li><code>"repeat-y"</code></li>
+ </ul>
+ <p>Si non spécifié, par default <code>"no-repeat"</code>.</p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>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:</p>
+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:
-<pre class="brush: json"> "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"
}
- }</pre>
+ }
+```
-<p>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:</p>
+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:
-<pre class="brush: json"> "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"
}
- }</pre>
+ }
+```
-<p>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:</p>
+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:
-<pre class="brush: json"> "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"
}
- }</pre>
+ }
+```
-<p>L'exemple suivant utilise la plupart des différentes valeurs de <code>"theme.colors"</code>:</p>
+L'exemple suivant utilise la plupart des différentes valeurs de `"theme.colors"`:
-<pre class="brush: json"> "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"
}
- }</pre>
+ }
+```
-<p>Il vous donnera un navigateur qui ressemble à ceci :</p>
+Il vous donnera un navigateur qui ressemble à ceci :
-<p><img alt="" src="theme.png"></p>
+![](theme.png)
-<p>Dans cette capture d'écran, <code>"toolbar_vertical_separator"</code> est la ligne verticale blanche dans la barre d'URL divisant l'icône du mode Lecteur des autres icônes.</p>
+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.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.theme")}}</p>
+{{Compat("webextensions.manifest.theme")}}
-<h3 id="Couleurs_2">Couleurs</h3>
+### Couleurs
-<p>{{Compat("webextensions.manifest.theme.colors", 10)}}</p>
+{{Compat("webextensions.manifest.theme.colors", 10)}}
-<h3 id="Images">Images</h3>
+### Images
-<p>{{Compat("webextensions.manifest.theme.images", 10)}}</p>
+{{Compat("webextensions.manifest.theme.images", 10)}}
-<h3 id="Propriétés">Propriétés</h3>
+### Propriétés
-<p>{{Compat("webextensions.manifest.theme.properties", 10)}}</p>
+{{Compat("webextensions.manifest.theme.properties", 10)}}
-<h3 id="Compatibilité_de_Chrome">Compatibilité de Chrome</h3>
+### Compatibilité de Chrome
-<p>Dans Chrome:</p>
+Dans Chrome:
-<ul>
- <li><code>colors/toolbar_text</code> n'est pas utilisé, utilisez <code>colors/bookmark_text</code> à la place.</li>
- <li><code>images/theme_frame</code> 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.</li>
- <li>toutes les couleurs doivent être spécifiées sous la forme d'un tableau de valeurs RVB, comme ceci :</li>
-</ul>
+- `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 :
-<pre class="brush: json">"theme": {
+```json
+"theme": {
"colors": {
"frame": [255, 0, 0],
"tab_background_text": [0, 255, 0],
"bookmark_text": [0, 0, 255]
}
-}</pre>
+}
+```
-<p>A partir de Firefox 59, la forme tableau et la forme couleur CSS sont acceptées pour toutes les propriétés. Avant cela, <code>colors/frame</code> et <code>colors/tab_background_text</code> nécessitaient la forme tableau, alors que d'autres propriétés nécessitaient la forme couleur CSS.</p>
+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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Object</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"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"
}
-}</pre>
- </td>
- </tr>
- </tbody>
+}</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Cette clé permet de définir les propriétés de la clé expérimentale de <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code> 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:</p>
+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:
-<ul>
- <li>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 <code>colors</code>, <code>images</code>, et <code>properties</code> avec les nouvelles propriétés de clé de <code>theme</code>.</li>
- <li>(sans feuille de style) en utilisant <code>colors</code>, <code>images</code>, et <code>properties</code> pour mapper les sélecteurs CSS internes de Firefox, tels que <code>--arrowpanel-dimmed</code> vers les nouvelles propriétés de clé de <code>theme</code> key properties. Cette option limite l'expérimentation aux composants d'interface utilisateur associés à une variable CSS intégrée.</li>
-</ul>
+- 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.
-<p>Pour découvrir les sélecteurs CSS des éléments de l'interface utilisateur Firefox ou des variables CSS internes de Firefox, utilise la <a href="/fr/docs/Outils/Boîte_à_outils_du_navigateur">boite à outils du navigateur</a>.</p>
+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).
-<div class="note">
-<p><strong>Note :</strong> 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 <code>extensions.legacy.enabled</code>.</p>
-</div>
+> **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`.
-<div class="warning">
-<p><strong>Attention :</strong> Cette fonctionnalité est expérimentale et peut être sujette à modification.</p>
-</div>
+> **Attention :** Cette fonctionnalité est expérimentale et peut être sujette à modification.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<p>La clé theme_experiment est un objet qui prend les propriétés suivantes :</p>
+La clé theme_experiment est un objet qui prend les propriétés suivantes :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Nom</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>stylesheet</code></td>
- <td><code>String</code></td>
- <td>
- <p>Facultatif</p>
-
- <p>Nom d'une feuille de style fournissant le mappage des sélecteurs CSS des éléments de l'interface Firefox aux variables CSS.</p>
- </td>
- </tr>
- <tr>
- <td><code>images</code></td>
- <td><code>Object</code></td>
- <td>
- <p>Facultatif</p>
-
- <p>Mappings des variables CSS (telles que définies dans Firefox ou par la feuille de style définie dans la <code>stylesheet</code>) aux noms de propriétés <code>images</code> à utiliser dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code>.</p>
- </td>
- </tr>
- <tr>
- <td><code>colors</code></td>
- <td><code>Object</code></td>
- <td>
- <p>Facultatif</p>
-
- <p>Mappings des variables CSS (telles que définies dans Firefox ou par la feuille de style définie dans la <code>stylesheet</code>) aux noms de propriétés <code>colors</code> à utiliser dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code>.</p>
- </td>
- </tr>
- <tr>
- <td><code>properties</code></td>
- <td><code>Object</code></td>
- <td>
- <p>Facultatif</p>
-
- <p>Mappings des variables CSS (telles que définies dans Firefox ou par la feuille de style définie dans la <code>stylesheet</code>) aux noms de propriétés <code>properties</code> à utiliser dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code>.</p>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>stylesheet</code></td>
+ <td><code>String</code></td>
+ <td>
+ <p>Facultatif</p>
+ <p>
+ Nom d'une feuille de style fournissant le mappage des sélecteurs CSS
+ des éléments de l'interface Firefox aux variables CSS.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>images</code></td>
+ <td><code>Object</code></td>
+ <td>
+ <p>Facultatif</p>
+ <p>
+ Mappings des variables CSS (telles que définies dans Firefox ou par la
+ feuille de style définie dans la <code>stylesheet</code>) aux noms de
+ propriétés <code>images</code> à utiliser dans la clé
+ <code
+ ><a
+ href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme"
+ >theme</a
+ ></code
+ >.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>colors</code></td>
+ <td><code>Object</code></td>
+ <td>
+ <p>Facultatif</p>
+ <p>
+ Mappings des variables CSS (telles que définies dans Firefox ou par la
+ feuille de style définie dans la <code>stylesheet</code>) aux noms de
+ propriétés <code>colors</code> à utiliser dans la clé
+ <code
+ ><a
+ href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme"
+ >theme</a
+ ></code
+ >.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>properties</code></td>
+ <td><code>Object</code></td>
+ <td>
+ <p>Facultatif</p>
+ <p>
+ Mappings des variables CSS (telles que définies dans Firefox ou par la
+ feuille de style définie dans la <code>stylesheet</code>) aux noms de
+ propriétés <code>properties</code> à utiliser dans la clé
+ <code
+ ><a
+ href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme"
+ >theme</a
+ ></code
+ >.
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Ces exemples utilisent une feuille de style appelée <code>style.css</code> pour permettre de définir une couleur pour le bouton de recharge du navigateur dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code>.</p>
+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).
-<p>La feuille de style définit :</p>
+La feuille de style définit :
-<pre class="brush: css">#reload-button {
+```css
+#reload-button {
fill: var(--reload-button-color);
}
-</pre>
+```
-<p>où <code>#reload-button</code> est le sélecteur CSS interne de Firefox pour le bouton reload et  <code>--reload-button-color</code> est un nom arbitraire..</p>
+où `#reload-button` est le sélecteur CSS interne de Firefox pour le bouton reload et  `--reload-button-color` est un nom arbitraire..
-<p>Dans le fichier <code>manifest.json</code>, <code>--reload-button-color</code> est alors mappé au nom à utiliser dans la propriété <code>theme</code> <code>colors</code> :</p>
+Dans le fichier `manifest.json`, `--reload-button-color` est alors mappé au nom à utiliser dans la propriété `theme` `colors` :
-<pre class="brush: json">"theme_experiment": {
+```json
+"theme_experiment": {
"stylesheet": "style.css",
"colors": {
"reload_button": "--reload-button-color"
}
}
-</pre>
+```
-<p>L'argument <code>reload_button</code> est alors utilisé de la même manière que n'importe quelle autre propriété de <code>theme</code> .</p>
+L'argument `reload_button` est alors utilisé de la même manière que n'importe quelle autre propriété de `theme` .
-<pre class="brush: json">"theme": {
+```json
+"theme": {
"colors": {
"reload_button": "orange"
}
}
-</pre>
+```
-<p>Ceci a pour effet de rendre l'icône de recharge orange.</p>
-<img src="theme_experiment.png">
+Ceci a pour effet de rendre l'icône de recharge orange.
+![](theme_experiment.png)
-<p>Cette propriété peut également être utilisée dans <code>browser.theme.update()</code>. <code>images</code> et  <code>properties</code> travaillent de la même manière que <code>colors</code>.</p>
+Cette propriété peut également être utilisée dans `browser.theme.update()`. `images` et  `properties` travaillent de la même manière que `colors`.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.theme_experiment")}}</p>
+{{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Array</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json"> "user_scripts": {
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Array</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
+ "user_scripts": {
"api_script": "apiscript.js",
}
-</pre>
- </td>
- </tr>
- </tbody>
+</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Charge le navigateur de charger le script utilisateur nommé dans la propriété <code>"api_script"</code> .</p>
+Charge le navigateur de charger le script utilisateur nommé dans la propriété `"api_script"` .
-<p>La propriété <code>"api_script"</code> nomme le script utilisateur qui sera associé à cette extension.</p>
+La propriété `"api_script"` nomme le script utilisateur qui sera associé à cette extension.
-<p>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")}}.</p>
+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")}}.
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li>{{WebExtAPIRef("userScripts")}}</li>
- <li>{{WebExtAPIRef("contentScripts")}}</li>
-</ul>
+- {{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Chaîne</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Oui</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"version": "0.1"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Chaîne</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Oui</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td><pre class="brush: json">"version": "0.1"</pre></td>
+ </tr>
+ </tbody>
</table>
-<p>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 <a href="/fr/docs/Toolkit_version_format">Format de la version</a>.</p>
+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).
-<p>Vous pouvez inspecter le <a href="https://github.com/mozilla/addons-linter/blob/master/src/schema/formats.js#L10">code de linter des modules complémentaires </a>pour voir comment les versions d'extension pour Firefox sont validées.</p>
+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.
-<p>Notez que <a href="https://developer.chrome.com/extensions/manifest/version">la syntaxe définie pour la version de Chrome</a> est plus restrictive que celle utilisée par Firefox :</p>
+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 :
-<ul>
- <li>Les valeurs d'une <code>version</code> valide pour Chrome seront toujours valables pour Firefox</li>
- <li>Les valeurs d'une <code>version</code> valide pour Firefox peuvent ne pas être valides pour Chrome</li>
-</ul>
+- 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
-<p>Pour obtenir votre version d'extension dans votre code JavaScript, utilisez :</p>
+Pour obtenir votre version d'extension dans votre code JavaScript, utilisez :
-<pre class="brush: js">console.log(browser.runtime.getManifest().version);</pre>
+```js
+console.log(browser.runtime.getManifest().version);
+```
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<p>Si le manifest contient :</p>
+Si le manifest contient :
-<pre class="brush: js">"version": "0.1"</pre>
+```js
+"version": "0.1"
+```
-<p>Pour obtenir votre version d'extension dans votre code JavaScript, utilisez :</p>
+Pour obtenir votre version d'extension dans votre code JavaScript, utilisez :
-<pre class="brush: js">console.log(browser.runtime.getManifest().version);
+```js
+console.log(browser.runtime.getManifest().version);
// expected output: "0.1"
-</pre>
+```
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("webextensions.manifest.version")}}</p>
+{{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>String</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
-"version_name": "0.1 beta"</pre>
- </td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>String</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td><pre class="brush: json">"version_name": "0.1 beta"</pre></td>
+ </tr>
+ </tbody>
</table>
-<p>En plus du champ <a href="/fr/Add-ons/WebExtensions/manifest.json/version">version</a>, qui est utilisé à des fins de mise à jour, <a href="https://developer.chrome.com/extensions/manifest/version">version_name</a> peut être défini sur une chaîne de version descriptive et sera utilisé à des fins d'affichage s'il est présent.</p>
+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.
-<p>Si aucun <strong>version_name</strong> n'est présent, le champ de <strong>version</strong> sera également utilisé à des fins d'affichage.</p>
+Si aucun **version_name** n'est présent, le champ de **version** sera également utilisé à des fins d'affichage.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.version_name")}}</p>
+{{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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
<table class="standard-table">
- <tbody>
- <tr>
- <th scope="row" style="width: 30%;">Type</th>
- <td><code>Tableau</code></td>
- </tr>
- <tr>
- <th scope="row">Obligatoire</th>
- <td>Non</td>
- </tr>
- <tr>
- <th scope="row">Exemple</th>
- <td>
- <pre class="brush: json">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%">Type</th>
+ <td><code>Tableau</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
"web_accessible_resources": [
"images/my-image.png"
-]</pre>
- </td>
- </tr>
- </tbody>
+]</pre
+ >
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Description">Description</h2>
+## Description
-<p>Parfois, vous souhaitez associer certaines ressources - par exemple, images, HTML, CSS ou JavaScript - avec votre extension pour les mettre à la disposition des pages Web.</p>
+Parfois, vous souhaitez associer certaines ressources - par exemple, images, HTML, CSS ou JavaScript - avec votre extension pour les mettre à la disposition des pages Web.
-<p>Par exemple, l'<a href="https://github.com/mdn/webextensions-examples/tree/master/beastify">extensions d'exemple "beastify"</a> 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  <code><a href="/fr/docs/Web/HTML/Element/img">&lt;img&gt;</a></code> des éléments dont l'attribut <code>src</code> 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.</p>
+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  [`<img>`](/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.
-<p>Avec la clé <code>web_accessible_resources</code> 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.</p>
+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.
-<p>Notez que les scripts de contenu n'ont pas besoin d'être listés comme ressources accessibles sur le Web.</p>
+Notez que les scripts de contenu n'ont pas besoin d'être listés comme ressources accessibles sur le Web.
-<p>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é <code>web_accessible_resources</code>.</p>
+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`.
-<h3 id="Utiliser_web_accessible_resources">Utiliser web_accessible_resources</h3>
+### Utiliser web_accessible_resources
-<p>Par exemple, supposons que votre extension inclut un fichier image sur images images/my-image.png, comme ceci :</p>
+Par exemple, supposons que votre extension inclut un fichier image sur images images/my-image.png, comme ceci :
-<pre>my-extension-files/
- manifest.json
- my-background-script.js
- images/
- my-image.png</pre>
+ my-extension-files/
+ manifest.json
+ my-background-script.js
+ images/
+ my-image.png
-<p>Pour permettre à une page Web d'utiliser un élément <code><a href="/fr/docs/Web/HTML/Element/img">&lt;img&gt;</a></code> dont l'attribut <code>src</code> pointe sur cette image, vous pouvez spécifier "web_accessible_resources" comme suit :</p>
+Pour permettre à une page Web d'utiliser un élément [`<img>`](/fr/docs/Web/HTML/Element/img) dont l'attribut `src` pointe sur cette image, vous pouvez spécifier "web_accessible_resources" comme suit :
-<pre class="brush: json">"web_accessible_resources": ["images/my-image.png"]</pre>
+```json
+"web_accessible_resources": ["images/my-image.png"]
+```
-<p>Le fichier sera alors disponible en utilisant une URL comme :</p>
+Le fichier sera alors disponible en utilisant une URL comme :
-<pre>moz-extension://&lt;extension-UUID&gt;/images/my-image.png"</pre>
+ moz-extension://<extension-UUID>/images/my-image.png"
-<p><code>&lt;extension-UUID&gt;</code> n'est <strong>pas</strong> 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.</p>
+`<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.
-<div class="note">
-<p><strong>Note :</strong> Dans Chrome, l'ID d'une extension est fixe. Quand une ressource est listée dans  <code>web_accessible_resources</code>, elle est accessible comme <code>chrome-extension://&lt;your-extension-id&gt;/&lt;path/to/resource&gt;</code>.  </p>
-</div>
+> **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>`.
-<p>L'approche recommandée pour obtenir l'URL de la ressource est d'utiliser <code><a href="/fr/Add-ons/WebExtensions/API/runtime/getURL">runtime.getURL</a></code> en passant le chemin relatif à manifest.json, par exemple :</p>
+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 :
-<pre class="brush: js">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</pre>
+// moz-extension://944cfddf-7a95-3c47-bd9a-663b3ce8d699/images/my-image.png
+```
-<p>Cette approche vous donne l'URL correcte quel que soit le navigateur sur lequel votre extension est lancée.</p>
+Cette approche vous donne l'URL correcte quel que soit le navigateur sur lequel votre extension est lancée.
-<h3 id="Caractères_génériques">Caractères génériques</h3>
+### Caractères génériques
-<p><code>web_accessible_resources</code> peuvent contenir des caractères génériques. Par exemple, l'entrée suivante fonctionnera également pour inclure la ressource à  "images/my-image.png":</p>
+`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":
-<pre class="brush: json"> "web_accessible_resources": ["images/*.png"]</pre>
+```json
+ "web_accessible_resources": ["images/*.png"]
+```
-<h3 id="Sécurité">Sécurité</h3>
+### Sécurité
-<p>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.</p>
+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.
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<pre class="brush: json">"web_accessible_resources": ["images/my-image.png"]</pre>
+```json
+"web_accessible_resources": ["images/my-image.png"]
+```
-<p>Crée un fichier dans "images/my-image.png" accessible sur le web.</p>
+Crée un fichier dans "images/my-image.png" accessible sur le web.
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.manifest.web_accessible_resources")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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 <a href="/fr/Add-ons/WebExtensions/Content_scripts">content scripts</a>, et pour spécifier les URL à ajouter aux auditeurs <code><a href="/fr/Add-ons/WebExtensions/API/webRequest">webRequest</a></code>.</p>
+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).
-<p>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é <code><a href="/fr/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code> dans manifest.json.</p>
+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.
-<h2 id="Structure_du_modèle_de_correspondance">Structure du modèle de correspondance</h2>
+## Structure du modèle de correspondance
-<div class="note">
-<p><strong>Note :</strong> Certains navigateurs ne prennent pas en charge certains schémas.<br>
- Consultez le <a href="#Browser_compatibility">tableau de compatibilité du navigateur</a> pour plus de détails.</p>
-</div>
+> **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.
-<p>Tous les modèles de correspondance sont spécifiés comme des chaînes. Outre le motif spécial « <a href="/fr/Add-ons/WebExtensions/Match_patterns#%3Call_urls%3E">&lt;all_urls&gt;</a> », les modèles de correspondance se composent de trois partie : <em>schéma</em>, l’hôte, et le <em>chemin d’accès.</em> Le schéma et l’hôte sont séparés par « :// ».</p>
+Tous les modèles de correspondance sont spécifiés comme des chaînes. Outre le motif spécial « [\<all_urls>](/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 « :// ».
-<pre>&lt;scheme&gt;://&lt;host&gt;&lt;path&gt;</pre>
+ <scheme>://<host><path>
-<h3 id="schéma">schéma</h3>
+### schéma
-<p>Le composant du <em>schéma</em> peut prendre l’une des deux formes suivantes :</p>
+Le composant du _schéma_ peut prendre l’une des deux formes suivantes :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col" style="width: 50%;">Valeur</th>
- <th scope="col">Correspondances</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>*</code></td>
- <td>Seulement "http" et "https" et dans certains navigateurs <a href="/fr/docs/Web/API/WebSockets_API">"ws" et "wss"</a> aussi.</td>
- </tr>
- <tr>
- <td>Une parmi <code>http</code>, <code>https</code>, <code>ws</code>, <code>wss</code>, <code>ftp</code>, <code>ftps</code>, <code>data</code> ou <code>file</code>.</td>
- <td>Seulement le schéma donné.</td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col" style="width: 50%">Valeur</th>
+ <th scope="col">Correspondances</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>*</code></td>
+ <td>
+ Seulement "http" et "https" et dans certains navigateurs
+ <a href="/fr/docs/Web/API/WebSockets_API">"ws" et "wss"</a> aussi.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Une parmi <code>http</code>, <code>https</code>, <code>ws</code>,
+ <code>wss</code>, <code>ftp</code>, <code>ftps</code>,
+ <code>data</code> ou <code>file</code>.
+ </td>
+ <td>Seulement le schéma donné.</td>
+ </tr>
+ </tbody>
</table>
-<h3 id="hôte">hôte</h3>
+### hôte
-<p>Le composant <em>hôte</em> peut prendre l'une des trois formes suivantes :</p>
+Le composant _hôte_ peut prendre l'une des trois formes suivantes :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col" style="width: 50%;">Valeur</th>
- <th scope="col">Correspondances</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>*</code></td>
- <td>Tout hôte</td>
- </tr>
- <tr>
- <td><code>*.</code> Suivi d’une partie du nom d’hôte</td>
- <td>L’hôte donné et l’un de ses sous-domaines</td>
- </tr>
- <tr>
- <td>Un nom d’hôte complet, sans caractères génériques</td>
- <td>Seul l’hôte donné</td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col" style="width: 50%">Valeur</th>
+ <th scope="col">Correspondances</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>*</code></td>
+ <td>Tout hôte</td>
+ </tr>
+ <tr>
+ <td><code>*.</code> Suivi d’une partie du nom d’hôte</td>
+ <td>L’hôte donné et l’un de ses sous-domaines</td>
+ </tr>
+ <tr>
+ <td>Un nom d’hôte complet, sans caractères génériques</td>
+ <td>Seul l’hôte donné</td>
+ </tr>
+ </tbody>
</table>
-<p>L’<em>hôte</em> ne doit pas inclure un numéro de port.</p>
+L’_hôte_ ne doit pas inclure un numéro de port.
-<p>L’<em>hôte</em> est facultatif seulement si le <em>schéma</em> est un « fichier ».</p>
+L’_hôte_ est facultatif seulement si le _schéma_ est un « fichier ».
-<p>Notez que le caractère générique ne peut apparaître qu’au début.</p>
+Notez que le caractère générique ne peut apparaître qu’au début.
-<h3 id="chemin">chemin</h3>
+### chemin
-<p>Le composant du chemin d’accès doit commencer par un <code>/</code>.</p>
+Le composant du chemin d’accès doit commencer par un `/`.
-<p>Ensuite, il peut contenir éventuellement toute combinaison du caractère générique <code>*</code> et de l’un des caractères autorisés dans les chemins d’URL ou chaînes de requête. Contrairement à l’<em>hôte</em>, le composant du <em>chemin</em> peut contenir le caractère générique <code>*</code> au milieu ou à la fin, et le caractère <code>*</code> peut apparaître plusieurs fois.</p>
+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_.
-<p>La valeur du <em>chemin</em> matches correspond à la chaîne de caractères qui est le chemin plus la  <a href="https://en.wikipedia.org/wiki/Query_string">chaine de requête URL</a>. Ceci inclut le signe <code>?</code> 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 <code>foo.bar</code>, alors vous devez utiliser un tableau de Match Patterns comme <code>['*://*/*foo.bar', '*://*/*foo.bar?*']</code>. Le <code>?*</code> est nécessaire, plutôt que juste la <code>bar*</code>, afin d'ancrer la fin <code>*</code> comme s'appliquant à la chaîne de requête URL et non à une partie du chemin URL.</p>
+> **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/\*\*"
-<p>Ni l'<a href="https://en.wikipedia.org/wiki/Fragment_identifier">identificateur de fragment d'URL</a>, ni le <code>#</code> qui le précède, ne sont considérés comme faisant partie du <em>chemin</em>.</p>
+### \<all_urls>
-<div class="note">
-<p><strong>Note :</strong> 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 : <em>"http://localhost:1234/*" </em>fait que le motif de match est ignoré. Cependant, "<em>http://localhost:1234</em>" correspondra avec "<em>http://localhost/*</em>"</p>
-</div>
+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".
-<h3 id="&lt;all_urls>">&lt;all_urls&gt;</h3>
-
-<p>La valeur spéciale <code>&lt;all_urls&gt;</code> correspond à toutes les URL sous l’un des schémas pris en charge, c’est‐à‐dire : "http", "https", "ws", "wss", "ftp", "data" et "file".</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col" style="width: 33%;">Modèle</th>
- <th scope="col" style="width: 33%;">Exemples de correspondances</th>
- <th scope="col" style="width: 33%;">Exemples de non-correspondances</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>
- <p><code>&lt;all_urls&gt;</code></p>
-
- <p>Correspondance à toutes les URL</p>
- </td>
- <td>
- <p><code>http://example.org/</code></p>
-
- <p><code>https://a.org/some/path/</code></p>
-
- <p><code>ws://sockets.somewhere.org/</code></p>
-
- <p><code>wss://ws.example.com/stuff/</code></p>
-
- <p><code>ftp://files.somewhere.org/</code></p>
-
- <p><code>ftps://files.somewhere.org/</code></p>
- </td>
- <td>
- <p><code>resource://a/b/c/</code><br>
- (schéma sans équivalent)</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>*://*/*</code></p>
-
- <p>Correspondance à toutes les URLs HTTP, HTTPS et WebSocket</p>
- </td>
- <td>
- <p><code>http://example.org/</code></p>
-
- <p><code>https://a.org/some/path/</code></p>
-
- <p><code>ws://sockets.somewhere.org/</code></p>
-
- <p><code>wss://ws.example.com/stuff/</code></p>
- </td>
- <td>
- <p><code>ftp://ftp.example.org/</code><br>
- (schéma sans équivalent)</p>
-
- <p><code>ftps://ftp.example.org/</code><br>
- (schéma sans équivalent)</p>
-
- <p><code>file:///a/</code><br>
- (schéma sans équivalent)</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>*://*.mozilla.org/*</code></p>
-
- <p>Correspondance à toutes les URLs HTTP, HTTPS et WebSocket URLs qui sont hébergés sur "mozilla.org" ou l’un de ses sous-domaines.</p>
- </td>
- <td>
- <p><code>http://mozilla.org/</code></p>
-
- <p><code>https://mozilla.org/</code></p>
-
- <p><code>http://a.mozilla.org/</code></p>
-
- <p><code>http://a.b.mozilla.org/</code></p>
-
- <p><code>https://b.mozilla.org/path/</code></p>
-
- <p><code>ws://ws.mozilla.org/</code></p>
-
- <p><code>wss://secure.mozilla.org/something</code></p>
- </td>
- <td>
- <p><code>ftp://mozilla.org/</code><br>
- (schéma sans équivalent)</p>
-
- <p><code>http://mozilla.com/</code><br>
- (hôte sans équivalent)</p>
-
- <p><code>http://firefox.org/</code><br>
- (hôte sans équivalent)</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>*://mozilla.org/</code></p>
-
- <p>Correspondance à toutes les URLs HTTP, HTTPS and WebSocket qui sont hébergés exactement chez "mozilla.org/"</p>
- </td>
- <td>
- <p><code>http://mozilla.org/</code></p>
-
- <p><code>https://mozilla.org/</code></p>
-
- <p><code>ws://mozilla.org/</code></p>
-
- <p><code>wss://mozilla.org/</code></p>
- </td>
- <td>
- <p><code>ftp://mozilla.org/</code><br>
- (schéma sans équivalent)</p>
-
- <p><code>http://a.mozilla.org/</code><br>
- (hôte sans équivalent)</p>
-
- <p><code>http://mozilla.org/a</code><br>
- (chemin sans équivalent)</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>ftp://mozilla.org/</code></p>
-
- <p>Correspondance seulement à "ftp://mozilla.org/".</p>
- </td>
- <td><code>ftp://mozilla.org</code></td>
- <td>
- <p><code>http://mozilla.org/</code><br>
- (schéma sans équivalent)</p>
-
- <p><code>ftp://sub.mozilla.org/</code><br>
- (hôte sans équivalent)</p>
-
- <p><code>ftp://mozilla.org/path</code><br>
- (chemin sans équivalent)</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>https://*/path</code></p>
-
- <p>Correspondance aux URLs  HTTPS sur n'importe quel hôte, dont le chemin est "path".</p>
- </td>
- <td>
- <p><code>https://mozilla.org/path</code></p>
-
- <p><code>https://a.mozilla.org/path</code></p>
-
- <p><code>https://something.com/path</code></p>
- </td>
- <td>
- <p><code>http://mozilla.org/path</code><br>
- (schéma sans équivalent)</p>
-
- <p><code>https://mozilla.org/path/</code><br>
- (chemin sans équivalent)</p>
-
- <p><code>https://mozilla.org/a</code><br>
- (chemin sans équivalent)</p>
-
- <p><code>https://mozilla.org/</code><br>
- (chemin sans équivalent)</p>
-
- <p><code>https://mozilla.org/path?foo=1</code><br>
- (chemin d'accès inégalé grâce à la chaîne d'interrogation URL)</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>https://*/path/</code></p>
-
- <p>Correspondance aux URLs HTTPS sur n’importe quel hôte, dont le chemin est "path/".</p>
- </td>
- <td>
- <p><code>https://mozilla.org/path/</code></p>
-
- <p><code>https://a.mozilla.org/path/</code></p>
-
- <p><code>https://something.com/path</code>/</p>
- </td>
- <td>
- <p><code>http://mozilla.org/path/</code><br>
- (schéma sans équivalent)</p>
-
- <p><code>https://mozilla.org/path</code><br>
- (chemin sans équivalent)</p>
-
- <p><code>https://mozilla.org/a</code><br>
- (chemin sans équivalent)</p>
-
- <p><code>https://mozilla.org/</code><br>
- (chemin sans équivalent)</p>
-
- <p><code>https://mozilla.org/path/</code><code>?foo=1</code><br>
- (chemin d'accès inégalé grâce à la chaîne d'interrogation URL)</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>https://mozilla.org/*</code></p>
-
- <p>Correspondance sur toutes les URLs HTTPS uniquement sur "mozilla.org", avec n’importe quel chemin</p>
- </td>
- <td>
- <p><code>https://mozilla.org/</code></p>
-
- <p><code>https://mozilla.org/path</code></p>
-
- <p><code>https://mozilla.org/another</code></p>
-
- <p><code>https://mozilla.org/path/to/doc</code></p>
-
- <p><code>https://mozilla.org/path/to/doc?foo=1</code></p>
- </td>
- <td>
- <p><code>http://mozilla.org/path</code><br>
- (chemin sans équivalent)</p>
-
- <p><code>https://mozilla.com/path</code><br>
- (hôte sans équivalent)</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>https://mozilla.org/a/b/c/</code></p>
-
- <p>Correspondance seulement pour cet URL.</p>
- </td>
- <td>
- <p><code>https://mozilla.org/a/b/c/</code></p>
-
- <p><code>https://mozilla.org/a/b/c/#section1</code></p>
- </td>
- <td>N'importe quoi d'autre.</td>
- </tr>
- <tr>
- <td>
- <p><code>https://mozilla.org/*/b/*/</code></p>
-
- <p>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 <code>/</code>.</p>
- </td>
- <td>
- <p><code>https://mozilla.org/a/b/c/</code></p>
-
- <p><code>https://mozilla.org/d/b/f/</code></p>
-
- <p><code>https://mozilla.org/a/b/c/d/</code></p>
-
- <p><code>https://mozilla.org/a/b/c/d/#section1</code></p>
-
- <p><code>https://mozilla.org/a/b/c/d/?foo=/</code></p>
-
- <p><code>https://mozilla.org/a?foo=21314&amp;bar=/b/&amp;extra=c/</code></p>
- </td>
- <td>
- <p><code>https://mozilla.org/b/*/</code><br>
- (chemin sans équivalent)</p>
-
- <p><code>https://mozilla.org/a/b/</code><br>
- (chemin sans équivalent)</p>
-
- <p><code>https://mozilla.org/a/b/c/d/?foo=bar</code><br>
- (chemin d'accès inégalé grâce à la chaîne d'interrogation URL)</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>file:///blah/*</code></p>
-
- <p>Correspondance à n’importe quelle URL FILE dont le chemin commence par "blah".</p>
- </td>
- <td>
- <p><code>file:///blah/</code></p>
-
- <p><code>file:///blah/bleh</code></p>
- </td>
- <td><code>file:///bleh/</code><br>
- (chemin sans équivalent)</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modèles_de_correspondance_invalides">Modèles de correspondance invalides</h3>
+## Exemples
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Modèle invalide</th>
- <th scope="col">Raison</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>resource://path/</code></td>
- <td>schéma non pris en charge.</td>
- </tr>
- <tr>
- <td><code>https://mozilla.org</code></td>
- <td>pas de chemin.</td>
- </tr>
- <tr>
- <td><code>https://mozilla.*.org/</code></td>
- <td>"*" dans <em>hôte</em> doit être au départ.</td>
- </tr>
- <tr>
- <td><code>https://*zilla.org/</code></td>
- <td>"*" dans <em>hôte</em> doit être le seul caractère ou être suivi de « . ».</td>
- </tr>
- <tr>
- <td><code>http*://mozilla.org/</code></td>
- <td>"*" dans le schéma doit être le seul caractère.</td>
- </tr>
- <tr>
- <td><code>https://mozilla.org:80/</code></td>
- <td>L’hôte ne doit pas inclure un numéro de port.</td>
- </tr>
- <tr>
- <td><code>*://*</code></td>
- <td>Chemin vide : il doit être "<code>*://*/*</code>".</td>
- </tr>
- <tr>
- <td><code>file://*</code></td>
- <td>Chemin vide : il doit être "<code>file:///*</code>".</td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col" style="width: 33%">Modèle</th>
+ <th scope="col" style="width: 33%">Exemples de correspondances</th>
+ <th scope="col" style="width: 33%">Exemples de non-correspondances</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p><code>&#x3C;all_urls></code></p>
+ <p>Correspondance à toutes les URL</p>
+ </td>
+ <td>
+ <p><code>http://example.org/</code></p>
+ <p><code>https://a.org/some/path/</code></p>
+ <p><code>ws://sockets.somewhere.org/</code></p>
+ <p><code>wss://ws.example.com/stuff/</code></p>
+ <p><code>ftp://files.somewhere.org/</code></p>
+ <p><code>ftps://files.somewhere.org/</code></p>
+ </td>
+ <td>
+ <p><code>resource://a/b/c/</code><br />(schéma sans équivalent)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>*://*/*</code></p>
+ <p>Correspondance à toutes les URLs HTTP, HTTPS et WebSocket</p>
+ </td>
+ <td>
+ <p><code>http://example.org/</code></p>
+ <p><code>https://a.org/some/path/</code></p>
+ <p><code>ws://sockets.somewhere.org/</code></p>
+ <p><code>wss://ws.example.com/stuff/</code></p>
+ </td>
+ <td>
+ <p><code>ftp://ftp.example.org/</code><br />(schéma sans équivalent)</p>
+ <p>
+ <code>ftps://ftp.example.org/</code><br />(schéma sans équivalent)
+ </p>
+ <p><code>file:///a/</code><br />(schéma sans équivalent)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>*://*.mozilla.org/*</code></p>
+ <p>
+ Correspondance à toutes les URLs HTTP, HTTPS et WebSocket URLs qui
+ sont hébergés sur "mozilla.org" ou l’un de ses sous-domaines.
+ </p>
+ </td>
+ <td>
+ <p><code>http://mozilla.org/</code></p>
+ <p><code>https://mozilla.org/</code></p>
+ <p><code>http://a.mozilla.org/</code></p>
+ <p><code>http://a.b.mozilla.org/</code></p>
+ <p><code>https://b.mozilla.org/path/</code></p>
+ <p><code>ws://ws.mozilla.org/</code></p>
+ <p><code>wss://secure.mozilla.org/something</code></p>
+ </td>
+ <td>
+ <p><code>ftp://mozilla.org/</code><br />(schéma sans équivalent)</p>
+ <p><code>http://mozilla.com/</code><br />(hôte sans équivalent)</p>
+ <p><code>http://firefox.org/</code><br />(hôte sans équivalent)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>*://mozilla.org/</code></p>
+ <p>
+ Correspondance à toutes les URLs HTTP, HTTPS and WebSocket qui sont
+ hébergés exactement chez "mozilla.org/"
+ </p>
+ </td>
+ <td>
+ <p><code>http://mozilla.org/</code></p>
+ <p><code>https://mozilla.org/</code></p>
+ <p><code>ws://mozilla.org/</code></p>
+ <p><code>wss://mozilla.org/</code></p>
+ </td>
+ <td>
+ <p><code>ftp://mozilla.org/</code><br />(schéma sans équivalent)</p>
+ <p><code>http://a.mozilla.org/</code><br />(hôte sans équivalent)</p>
+ <p><code>http://mozilla.org/a</code><br />(chemin sans équivalent)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>ftp://mozilla.org/</code></p>
+ <p>Correspondance seulement à "ftp://mozilla.org/".</p>
+ </td>
+ <td><code>ftp://mozilla.org</code></td>
+ <td>
+ <p><code>http://mozilla.org/</code><br />(schéma sans équivalent)</p>
+ <p><code>ftp://sub.mozilla.org/</code><br />(hôte sans équivalent)</p>
+ <p><code>ftp://mozilla.org/path</code><br />(chemin sans équivalent)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>https://*/path</code></p>
+ <p>
+ Correspondance aux URLs  HTTPS sur n'importe quel hôte, dont le chemin
+ est "path".
+ </p>
+ </td>
+ <td>
+ <p><code>https://mozilla.org/path</code></p>
+ <p><code>https://a.mozilla.org/path</code></p>
+ <p><code>https://something.com/path</code></p>
+ </td>
+ <td>
+ <p>
+ <code>http://mozilla.org/path</code><br />(schéma sans équivalent)
+ </p>
+ <p>
+ <code>https://mozilla.org/path/</code><br />(chemin sans équivalent)
+ </p>
+ <p><code>https://mozilla.org/a</code><br />(chemin sans équivalent)</p>
+ <p><code>https://mozilla.org/</code><br />(chemin sans équivalent)</p>
+ <p>
+ <code>https://mozilla.org/path?foo=1</code><br />(chemin d'accès
+ inégalé grâce à la chaîne d'interrogation URL)
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>https://*/path/</code></p>
+ <p>
+ Correspondance aux URLs HTTPS sur n’importe quel hôte, dont le chemin
+ est "path/".
+ </p>
+ </td>
+ <td>
+ <p><code>https://mozilla.org/path/</code></p>
+ <p><code>https://a.mozilla.org/path/</code></p>
+ <p><code>https://something.com/path</code>/</p>
+ </td>
+ <td>
+ <p>
+ <code>http://mozilla.org/path/</code><br />(schéma sans équivalent)
+ </p>
+ <p>
+ <code>https://mozilla.org/path</code><br />(chemin sans équivalent)
+ </p>
+ <p><code>https://mozilla.org/a</code><br />(chemin sans équivalent)</p>
+ <p><code>https://mozilla.org/</code><br />(chemin sans équivalent)</p>
+ <p>
+ <code>https://mozilla.org/path/</code><code>?foo=1</code><br />(chemin
+ d'accès inégalé grâce à la chaîne d'interrogation URL)
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>https://mozilla.org/*</code></p>
+ <p>
+ Correspondance sur toutes les URLs HTTPS uniquement sur "mozilla.org",
+ avec n’importe quel chemin
+ </p>
+ </td>
+ <td>
+ <p><code>https://mozilla.org/</code></p>
+ <p><code>https://mozilla.org/path</code></p>
+ <p><code>https://mozilla.org/another</code></p>
+ <p><code>https://mozilla.org/path/to/doc</code></p>
+ <p><code>https://mozilla.org/path/to/doc?foo=1</code></p>
+ </td>
+ <td>
+ <p>
+ <code>http://mozilla.org/path</code><br />(chemin sans équivalent)
+ </p>
+ <p><code>https://mozilla.com/path</code><br />(hôte sans équivalent)</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>https://mozilla.org/a/b/c/</code></p>
+ <p>Correspondance seulement pour cet URL.</p>
+ </td>
+ <td>
+ <p><code>https://mozilla.org/a/b/c/</code></p>
+ <p><code>https://mozilla.org/a/b/c/#section1</code></p>
+ </td>
+ <td>N'importe quoi d'autre.</td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>https://mozilla.org/*/b/*/</code></p>
+ <p>
+ 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 <code>/</code>.
+ </p>
+ </td>
+ <td>
+ <p><code>https://mozilla.org/a/b/c/</code></p>
+ <p><code>https://mozilla.org/d/b/f/</code></p>
+ <p><code>https://mozilla.org/a/b/c/d/</code></p>
+ <p><code>https://mozilla.org/a/b/c/d/#section1</code></p>
+ <p><code>https://mozilla.org/a/b/c/d/?foo=/</code></p>
+ <p>
+ <code
+ >https://mozilla.org/a?foo=21314&#x26;bar=/b/&#x26;extra=c/</code
+ >
+ </p>
+ </td>
+ <td>
+ <p>
+ <code>https://mozilla.org/b/*/</code><br />(chemin sans équivalent)
+ </p>
+ <p>
+ <code>https://mozilla.org/a/b/</code><br />(chemin sans équivalent)
+ </p>
+ <p>
+ <code>https://mozilla.org/a/b/c/d/?foo=bar</code><br />(chemin d'accès
+ inégalé grâce à la chaîne d'interrogation URL)
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>file:///blah/*</code></p>
+ <p>
+ Correspondance à n’importe quelle URL FILE dont le chemin commence par
+ "blah".
+ </p>
+ </td>
+ <td>
+ <p><code>file:///blah/</code></p>
+ <p><code>file:///blah/bleh</code></p>
+ </td>
+ <td><code>file:///bleh/</code><br />(chemin sans équivalent)</td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+### Modèles de correspondance invalides
-<h3 id="schéma_2">schéma</h3>
+| 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
-<p>{{Compat("webextensions.match_patterns.scheme",10)}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Il existe deux façons de le faire avec WebExtensions :</p>
+Il existe deux façons de le faire avec WebExtensions :
-<ul>
- <li><strong>Déclarativement </strong>: 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</li>
- <li><strong>Par programme </strong>: en utilisant une API JavaScript, chargez un script dans la page hébergée par un onglet particulier.</li>
-</ul>
+- **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.
-<p>Quoi qu'il en soit, ces scripts sont appelés <em>scripts de contenu</em>, et sont différents des autres scripts qui forment un WebExtension :</p>
+Quoi qu'il en soit, ces scripts sont appelés _scripts de contenu_, et sont différents des autres scripts qui forment un WebExtension :
-<ul>
- <li>Ils n'ont accès qu'à un petit sous-ensemble des API WebExtension.</li>
- <li>Ils ont un accès direct à la page Web dans laquelle ils sont chargés.</li>
- <li>Ils communiquent avec le reste de WebExtension en utilisant une API de messagerie.</li>
-</ul>
+- 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.
-<p>Dans cet article, nous examinerons les deux méthodes de chargement d'un script.</p>
+Dans cet article, nous examinerons les deux méthodes de chargement d'un script.
-<h2 id="Modification_des_pages_qui_correspondent_à_un_modèle_dURL">Modification des pages qui correspondent à un modèle d'URL</h2>
+## Modification des pages qui correspondent à un modèle d'URL
-<p>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 :</p>
+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 :
-<pre class="brush: json">{
+```json
+{
"manifest_version": 2,
"name": "modify-page",
@@ -43,41 +40,39 @@ translation_of: Mozilla/Add-ons/WebExtensions/Modify_a_web_page
}
]
-}</pre>
+}
+```
-<p>La clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>  est la façon dont vous chargez les scripts dans des pages qui correspondent aux modèles d'URL. Dans ce cas, les instructions <code>content_scripts demandent au navigateur de charger un script appelé</code>  "page-eater.js" dans toutes les pages sous <a href="/">https://developer.mozilla.org/</a>.</p>
+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/](/).
-<div class="note">
-<p><strong>Note :</strong> 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.</p>
-</div>
+> **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.
-<div class="note">
-<p><strong>Note :</strong> La clé content_scripts possède également une propriété "css" que vous pouvez utiliser pour injecter des feuilles de style CSS.</p>
-</div>
+> **Note :** La clé content_scripts possède également une propriété "css" que vous pouvez utiliser pour injecter des feuilles de style CSS.
-<p>Ensuite, créez un fichier appelé "page-eater.js" dans le dossier "modify-page" et donnez-lui le contenu suivant :</p>
+Ensuite, créez un fichier appelé "page-eater.js" dans le dossier "modify-page" et donnez-lui le contenu suivant :
-<pre class="brush: js">document.body.textContent = "";
+```js
+document.body.textContent = "";
var header = document.createElement('h1');
header.textContent = "This page has been eaten";
-document.body.appendChild(header);</pre>
+document.body.appendChild(header);
+```
-<p>Maintenant <a href="/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox">installer la WebExtension</a>, et visiter <a href="/">https://developer.mozilla.org/</a>:</p>
+Maintenant [installer la WebExtension](/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox), et visiter [https://developer.mozilla.org/](/):
-<p>{{EmbedYouTube("lxf2Tkg6U1M")}}</p>
+{{EmbedYouTube("lxf2Tkg6U1M")}}
-<div class="note">
- <p><strong>Note :</strong> Cette vidéo montre le script de contenu fonctionnant dans <a href="/fr/firefox/">addons.mozilla.org</a>, les scripts de contenu sont actuellement bloqués pour ce site.</p>
-</div>
+> **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.
-<h2 id="Modification_des_pages_par_programme">Modification des pages par programme</h2>
+## Modification des pages par programme
-<p>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.</p>
+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.
-<p>Tout d'abord, mettez à jour "manifest.json" pour qu'il contienne les contenus suivants:</p>
+Tout d'abord, mettez à jour "manifest.json" pour qu'il contienne les contenus suivants:
-<pre class="brush: json">{
+```json
+{
"manifest_version": 2,
"name": "modify-page",
@@ -92,18 +87,18 @@ document.body.appendChild(header);</pre>
"scripts": ["background.js"]
}
-}</pre>
+}
+```
-<p>Ici, nous avons supprimé la clé content_scripts et ajouté deux nouvelles clés:</p>
+Ici, nous avons supprimé la clé content_scripts et ajouté deux nouvelles clés:
-<ul>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code>: Pour injecter dans des pages, nous avons besoin de permissions pour la page que nous modifions. La <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission"><code>permission activeTab</code></a> 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.</li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/background">background</a></code>: Nous utilisons ceci pour charger un <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">"script de fond"</a> persistant appelé "background.js", dans lequel nous configurons le menu contextuel et injectons le script de contenu.</li>
-</ul>
+- [`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.
-<p>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 :</p>
+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 :
-<pre class="brush: js">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) {
});
}
});
-</pre>
+```
-<p>Dans ce script, nous créons un <a href="/fr/Add-ons/WebExtensions/API/ContextMenus/create">élément de menu contextuel</a>, 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 <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript">tabs.executeScript()</a></code>. 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.</p>
+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.
-<p>A ce stade, l'extension devrait ressembler à ceci :</p>
+A ce stade, l'extension devrait ressembler à ceci :
-<pre class="brush: html">modify-page/
+```html
+modify-page/
background.js
manifest.json
- page-eater.js</pre>
+ page-eater.js
+```
-<p>Maintenant <a href="/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox#Reloading_a_temporary_add-on">rechargeons la WebExtension</a>, Ouvrez une page (n'importe quelle page, cette fois) activez le menu contextuel et sélectionnez "Eat this page":</p>
+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":
-<p>{{EmbedYouTube("zX4Bcv8VctA")}}</p>
+{{EmbedYouTube("zX4Bcv8VctA")}}
-<div class="note">
- <p><strong>Note :</strong> Bien que cette vidéo montre le script de contenu fonctionnant dans  <a href="/fr/firefox/">addons.mozilla.org</a>, les scripts de contenu sont actuellement bloqués pour ce site.</p>
-</div>
+> **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.
-<h2 id="Messagerie">Messagerie</h2>
+## Messagerie
-<p>Les scripts de contenu et les scripts de fond ne peuvent pas accéder directement à l'état de l'autre.</p>
+Les scripts de contenu et les scripts de fond ne peuvent pas accéder directement à l'état de l'autre.
-<p>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é:</p>
+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é:
<table class="standard-table">
- <thead>
- <tr>
- <th scope="row"></th>
- <th scope="col">Dans le script de contenu</th>
- <th scope="col">Dans le script d'arrière plan</th>
- </tr>
- <tr>
- <th scope="row">Envoyer un message</th>
- <td><code><a href="/fr/Add-ons/WebExtensions/API/runtime#sendMessage()">browser.runtime.sendMessage()</a></code></td>
- <td><code><a href="/fr/Add-ons/WebExtensions/API/Tabs/sendMessage">browser.tabs.sendMessage()</a></code></td>
- </tr>
- <tr>
- <th scope="row">Reçevoir un message</th>
- <td><code><a href="/fr/Add-ons/WebExtensions/API/runtime/onMessage">browser.runtime.onMessage</a></code></td>
- <td><code><a href="/fr/Add-ons/WebExtensions/API/runtime#onMessage">browser.runtime.onMessage</a></code></td>
- </tr>
- </thead>
+ <thead>
+ <tr>
+ <th scope="row"></th>
+ <th scope="col">Dans le script de contenu</th>
+ <th scope="col">Dans le script d'arrière plan</th>
+ </tr>
+ <tr>
+ <th scope="row">Envoyer un message</th>
+ <td>
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/API/runtime#sendMessage()"
+ >browser.runtime.sendMessage()</a
+ ></code
+ >
+ </td>
+ <td>
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/API/Tabs/sendMessage"
+ >browser.tabs.sendMessage()</a
+ ></code
+ >
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Reçevoir un message</th>
+ <td>
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/API/runtime/onMessage"
+ >browser.runtime.onMessage</a
+ ></code
+ >
+ </td>
+ <td>
+ <code
+ ><a href="/fr/Add-ons/WebExtensions/API/runtime#onMessage"
+ >browser.runtime.onMessage</a
+ ></code
+ >
+ </td>
+ </tr>
+ </thead>
</table>
-<div class="note">
- <p><strong>Note :</strong> En ajoutant à cette méthode de communication, qui envoie des messages uniques, vous pouvez également utiliser une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#Communication_avec_les_scripts_darri%C3%A8re-plan">approche basée sur la connexion pour échanger des messages</a>.</p>
-</div>
+> **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).
-<p>Mettons à jour notre exemple pour montrer comment envoyer un message à partir du script en arrière-plan.</p>
+Mettons à jour notre exemple pour montrer comment envoyer un message à partir du script en arrière-plan.
-<p>D'abord, éditez "background.js" pour qu'il contienne ces contenus:</p>
+D'abord, éditez "background.js" pour qu'il contienne ces contenus:
-<pre class="brush: js">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);
}
});
-</pre>
+```
-<p>Maintenant, après avoir injecté "page-eater.js", nous utilisons <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query">tabs.query()</a></code> pour obtenir l'onglet actuellement actif, puis utilisez <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/sendMessage">tabs.sendMessage()</a></code> pour envoyer un message aux scripts de contenu chargés dans cet onglet. Le message comporte la charge utile <code>{remplacement: "Message from the add-on!"}</code>.</p>
+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!"}`.
-<p>Ensuite, mettez à jour "page-eater.js" comme ceci :</p>
+Ensuite, mettez à jour "page-eater.js" comme ceci :
-<pre class="brush: js">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);
-</pre>
-
-<p>Maintenant, au lieu de simplement d'afficher la page tout de suite, le script de contenu écoute un message en utilisant <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage">runtime.onMessage</a></code>. 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 <code>request.replacement</code>.</p>
-
-<p>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 <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage">runtime.sendMessage()</a></code> dans le script de contenu.</p>
-
-<div class="note">
- <p><strong>Note :</strong> Ces exemples injectent JavaScript; Vous pouvez également injecter CSS par programme en utilisant la fonction <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/insertCSS">tabs.insertCSS()</a></code>.</p>
-</div>
-
-<h2 id="Apprendre_plus">Apprendre plus</h2>
-
-<ul>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">Content scripts</a> guide</li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code> manifest key</li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code> manifest key</li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript">tabs.executeScript()</a></code></li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/insertCSS">tabs.insertCSS()</a></code></li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/sendMessage">tabs.sendMessage()</a></code></li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage">runtime.sendMessage()</a></code></li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage">runtime.onMessage</a></code></li>
- <li>Examples using <code>content_scripts</code>:
- <ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/borderify">borderify</a></li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/emoji-substitution" rel="noopener">emoji-substitution</a></li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n">notify-link-clicks-i18n</a></li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/page-to-extension-messaging">page-to-extension-messaging</a></li>
- </ul>
- </li>
- <li>Examples using <code>tabs.executeScript()</code>:
- <ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/beastify">beastify</a></li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/context-menu-copy-link-with-types">context-menu-copy-link-with-types</a></li>
- </ul>
- </li>
-</ul>
+```
+
+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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Il existe trois types différents de manifest natif :</p>
+Il existe trois types différents de manifest natif :
<table class="standard-table">
- <tbody>
- <tr>
- <td style="width: 40%;"><a href="#Native_messaging_manifests">Les manifests de messagerie natif</a></td>
- <td>Activez une fonctionnalité appelée <a href="/fr/Add-ons/WebExtensions/Native_messaging">native messaging</a>, dans laquelle une extension peut communiquer avec une application native installée sur l'appareil.</td>
- </tr>
- <tr>
- <td><a href="#Managed_storage_manifests">Manifest de gestion de stockage</a></td>
- <td>Définissez les données en lecture seule auxquelles une extension peut accéder à l'aide de l'API {{WebExtAPIRef("storage.managed")}}.</td>
- </tr>
- <tr>
- <td><a href="#PKCS_11_manifests">PKCS #11 manifests</a></td>
- <td>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.</td>
- </tr>
- </tbody>
+ <tbody>
+ <tr>
+ <td style="width: 40%">
+ <a href="#Native_messaging_manifests"
+ >Les manifests de messagerie natif</a
+ >
+ </td>
+ <td>
+ Activez une fonctionnalité appelée
+ <a href="/fr/Add-ons/WebExtensions/Native_messaging">native messaging</a
+ >, dans laquelle une extension peut communiquer avec une application
+ native installée sur l'appareil.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="#Managed_storage_manifests">Manifest de gestion de stockage</a>
+ </td>
+ <td>
+ Définissez les données en lecture seule auxquelles une extension peut
+ accéder à l'aide de l'API
+ {{WebExtAPIRef("storage.managed")}}.
+ </td>
+ </tr>
+ <tr>
+ <td><a href="#PKCS_11_manifests">PKCS #11 manifests</a></td>
+ <td>
+ 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.
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Pour tous les manifests natifs, vous devez arranger les choses afin que le navigateur puisse trouver le manifest. La section sur l'<a href="#Manifest_location">emplacement du manifest</a> décrit ces règles.</p>
+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.
-<h2 id="Les_manifests_de_messagerie_natif">Les manifests de messagerie natif</h2>
+## Les manifests de messagerie natif
-<p>Le manifest de messagerie natif contient un seul objet JSON avec les propriétés suivantes :</p>
+Le manifest de messagerie natif contient un seul objet JSON avec les propriétés suivantes :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>name</code></td>
- <td>String</td>
- <td>
- <p>Nom de l'application native.</p>
-
- <p>Cela doit correspondre au nom passé dans  {{WebExtAPIRef("runtime.connectNative()")}} ou {{WebExtAPIRef("runtime.sendNativeMessage()")}} par l'extension.</p>
-
- <p>Sur OS X et Linux, il doit également correspondre au nom de fichier du manifest de messagerie natif (à l'exclusion de l'extension ".json").</p>
-
- <p>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.</p>
-
- <p>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.</p>
- </td>
- </tr>
- <tr>
- <td><code>description</code></td>
- <td>String</td>
- <td>Description de l'application native.</td>
- </tr>
- <tr>
- <td><code>path</code></td>
- <td>String</td>
- <td>
- <p>Chemin vers l'application native.</p>
-
- <p>Sous Windows, cela peut être relatif au manifest lui-même. Sur OS X et Linux, il doit être absolu.</p>
- </td>
- </tr>
- <tr>
- <td><code>type</code></td>
- <td>String</td>
- <td>
- <p>Décrit la méthode utilisée pour connecter l'extension à l'application.</p>
-
- <p>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).</p>
- </td>
- </tr>
- <tr>
- <td><code>allowed_extensions</code></td>
- <td>Array of String</td>
- <td>
- <p>Un tableau de valeurs d'<a href="/fr/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID">ID d'extensions</a>. Chaque valeur représente une extension qui est autorisée à communiquer avec cette application native.</p>
-
- <p>Notez que cela signifie que vous voudrez probablement inclure la clé des <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_specific_settings">browser_specific_settings</a> dans le fichier manifest.json de votre extension, afin de pouvoir définir un identifiant explicite lors du développement..</p>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>name</code></td>
+ <td>String</td>
+ <td>
+ <p>Nom de l'application native.</p>
+ <p>
+ Cela doit correspondre au nom passé dans 
+ {{WebExtAPIRef("runtime.connectNative()")}} ou
+ {{WebExtAPIRef("runtime.sendNativeMessage()")}} par
+ l'extension.
+ </p>
+ <p>
+ Sur OS X et Linux, il doit également correspondre au nom de fichier du
+ manifest de messagerie natif (à l'exclusion de l'extension ".json").
+ </p>
+ <p>
+ 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.
+ </p>
+ <p>
+ 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.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>description</code></td>
+ <td>String</td>
+ <td>Description de l'application native.</td>
+ </tr>
+ <tr>
+ <td><code>path</code></td>
+ <td>String</td>
+ <td>
+ <p>Chemin vers l'application native.</p>
+ <p>
+ Sous Windows, cela peut être relatif au manifest lui-même. Sur OS X et
+ Linux, il doit être absolu.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>type</code></td>
+ <td>String</td>
+ <td>
+ <p>
+ Décrit la méthode utilisée pour connecter l'extension à l'application.
+ </p>
+ <p>
+ 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).
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>allowed_extensions</code></td>
+ <td>Array of String</td>
+ <td>
+ <p>
+ Un tableau de valeurs d'<a
+ href="/fr/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID"
+ >ID d'extensions</a
+ >. Chaque valeur représente une extension qui est autorisée à
+ communiquer avec cette application native.
+ </p>
+ <p>
+ Notez que cela signifie que vous voudrez probablement inclure la clé
+ des
+ <a
+ href="/fr/Add-ons/WebExtensions/manifest.json/browser_specific_settings"
+ >browser_specific_settings</a
+ >
+ dans le fichier manifest.json de votre extension, afin de pouvoir
+ définir un identifiant explicite lors du développement..
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Par exemple, voici un manifest pour l'application native "ping_pong":</p>
+Par exemple, voici un manifest pour l'application native "ping_pong":
-<pre class="brush: json">{
+```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" ]
-}</pre>
+}
+```
-<p>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".</p>
+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".
-<h2 id="Manifest_de_gestion_de_stockage">Manifest de gestion de stockage</h2>
+## Manifest de gestion de stockage
-<p>Le manifest de stockage géré contient un seul objet JSON avec les propriétés suivantes :</p>
+Le manifest de stockage géré contient un seul objet JSON avec les propriétés suivantes :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>name</code></td>
- <td>String</td>
- <td>
- <p>ID de l'extension pouvant accéder à ce stockage, donné comme ID que vous avez spécifié dans la clé d'<a href="/fr/Add-ons/WebExtensions/manifest.json/applications">application</a> de l'extension.</p>
- </td>
- </tr>
- <tr>
- <td><code>description</code></td>
- <td>String</td>
- <td>Description lisible par l'homme, ignorée par Firefox</td>
- </tr>
- <tr>
- <td><code>type</code></td>
- <td>String</td>
- <td>
- <p>Cela doit être "storage".</p>
- </td>
- </tr>
- <tr>
- <td><code>data</code></td>
- <td>Object</td>
- <td>
- <p>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 <code>browser.storage.managed</code> storage area.</p>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>name</code></td>
+ <td>String</td>
+ <td>
+ <p>
+ ID de l'extension pouvant accéder à ce stockage, donné comme ID que
+ vous avez spécifié dans la clé d'<a
+ href="/fr/Add-ons/WebExtensions/manifest.json/applications"
+ >application</a
+ >
+ de l'extension.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>description</code></td>
+ <td>String</td>
+ <td>Description lisible par l'homme, ignorée par Firefox</td>
+ </tr>
+ <tr>
+ <td><code>type</code></td>
+ <td>String</td>
+ <td><p>Cela doit être "storage".</p></td>
+ </tr>
+ <tr>
+ <td><code>data</code></td>
+ <td>Object</td>
+ <td>
+ <p>
+ 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
+ <code>browser.storage.managed</code> storage area.
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Par exemple :</p>
+Par exemple :
-<pre class="brush: json">{
+```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!"
}
-}</pre>
+}
+```
-<p>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:</p>
+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:
-<pre class="brush: js">var storageItem = browser.storage.managed.get('colour');
-storageItem.then((res) =&gt; {
+```js
+var storageItem = browser.storage.managed.get('colour');
+storageItem.then((res) => {
console.log(`Managed colour is: ${res.colour}`);
-});</pre>
+});
+```
-<h2 id="PKCS_11_manifests">PKCS #11 manifests</h2>
+## PKCS #11 manifests
-<p>Le manifest PKCS #11 est un fichier contenant un objet JSON avec les propriétés suivantes :</p>
+Le manifest PKCS #11 est un fichier contenant un objet JSON avec les propriétés suivantes :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Type</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>name</code></td>
- <td>String</td>
- <td>
- <p>Nom du module PKCS #11.</p>
-
- <p>Cela doit correspondre au nom utilisé dans l'API <code>pkcs11</code> .</p>
-
- <p>Sur OS X et Linux, il doit également correspondre au nom de fichier du manifest (à l'exclusion de l'extension).</p>
-
- <p>Sous Windows, il doit correspondre au nom de la clé de registre que vous créez, qui contient l'emplacement du manifest.</p>
-
- <p>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.</p>
- </td>
- </tr>
- <tr>
- <td><code>description</code></td>
- <td>String</td>
- <td>
- <p>Description du module.</p>
-
- <p>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).</p>
- </td>
- </tr>
- <tr>
- <td><code>path</code></td>
- <td>String</td>
- <td>
- <p>Chemin d'accès au module.</p>
-
- <p>Sous Windows, cela peut être relatif au manifest lui-même. Sur OS X et Linux, il doit être absolu</p>
- </td>
- </tr>
- <tr>
- <td><code>type</code></td>
- <td>String</td>
- <td>Cela doit être "pkcs11".</td>
- </tr>
- <tr>
- <td><code>allowed_extensions</code></td>
- <td>Array of String</td>
- <td>
- <p>Un tableau de valeurs d'<a href="/fr/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID">ID de l'extension</a>. Chaque valeur représente une extension qui est autorisée à interagir avec le module.</p>
-
- <p>Notez que cela signifie que vous voudrez probablement inclure la clé des <a href="/fr/Add-ons/WebExtensions/manifest.json/applications">applications</a> dans le fichier manifest.json de votre extension, afin de pouvoir définir un identifiant explicite lors du développement.</p>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>name</code></td>
+ <td>String</td>
+ <td>
+ <p>Nom du module PKCS #11.</p>
+ <p>
+ Cela doit correspondre au nom utilisé dans l'API <code>pkcs11</code> .
+ </p>
+ <p>
+ Sur OS X et Linux, il doit également correspondre au nom de fichier du
+ manifest (à l'exclusion de l'extension).
+ </p>
+ <p>
+ Sous Windows, il doit correspondre au nom de la clé de registre que
+ vous créez, qui contient l'emplacement du manifest.
+ </p>
+ <p>
+ 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.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>description</code></td>
+ <td>String</td>
+ <td>
+ <p>Description du module.</p>
+ <p>
+ 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).
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>path</code></td>
+ <td>String</td>
+ <td>
+ <p>Chemin d'accès au module.</p>
+ <p>
+ Sous Windows, cela peut être relatif au manifest lui-même. Sur OS X et
+ Linux, il doit être absolu
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>type</code></td>
+ <td>String</td>
+ <td>Cela doit être "pkcs11".</td>
+ </tr>
+ <tr>
+ <td><code>allowed_extensions</code></td>
+ <td>Array of String</td>
+ <td>
+ <p>
+ Un tableau de valeurs d'<a
+ href="/fr/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID"
+ >ID de l'extension</a
+ >. Chaque valeur représente une extension qui est autorisée à
+ interagir avec le module.
+ </p>
+ <p>
+ Notez que cela signifie que vous voudrez probablement inclure la clé
+ des
+ <a href="/fr/Add-ons/WebExtensions/manifest.json/applications"
+ >applications</a
+ >
+ dans le fichier manifest.json de votre extension, afin de pouvoir
+ définir un identifiant explicite lors du développement.
+ </p>
+ </td>
+ </tr>
+ </tbody>
</table>
-<p>Par exemple :</p>
+Par exemple :
-<pre class="brush: json">{
+```json
+{
  "name": "my_module",
  "description": "My test module",
  "type": "pkcs11",
  "path": "/path/to/libpkcs11testmodule.dylib",
  "allowed_extensions": ["my-extension@mozilla.org"]
-}</pre>
+}
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">browser.pkcs11.installModule("my_module");</pre>
+```js
+browser.pkcs11.installModule("my_module");
+```
-<h2 id="Emplacement_du_manifest">Emplacement du manifest</h2>
+## Emplacement du manifest
-<p>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.</p>
+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.
-<p>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, <em>&lt;name&gt;</em> est la valeur de la propriété <code>name</code> dans le manifest.</p>
+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.
-<h3 id="Windows">Windows</h3>
+### Windows
-<p>Pour une visibilité globale, créez une clé de registre avec le nom suivant :</p>
+Pour une visibilité globale, créez une clé de registre avec le nom suivant :
-<pre>HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\&lt;name&gt;
-HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\ManagedStorage\&lt;name&gt;
-HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\PKCS11Modules\&lt;name&gt;</pre>
+ HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\<name>
+ HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\ManagedStorage\<name>
+ HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\PKCS11Modules\<name>
-<p>La clé doit avoir une seule valeur par défaut, qui est le chemin d'accès au manifest.</p>
+La clé doit avoir une seule valeur par défaut, qui est le chemin d'accès au manifest.
-<p>A partir de Firefox 64, la vue registre 32 bits (<a href="https://en.wikipedia.org/wiki/WoW64#Registry_and_file_system">Wow6432Node) </a>sera d'abord vérifiée pour ces clés, puis la vue registre "native". Utilisez celui qui convient le mieux à votre application. </p>
+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.
-<p>Pour Firefox 63 et les versions antérieures, cette clé ne doit pas être créée sous <a href="https://en.wikipedia.org/wiki/WoW64#Registry_and_file_system">Wow6432Node</a>, 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 <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa384129(v=vs.85).aspx">Accès à une autre vue de registre</a>.</p>
+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](<https://msdn.microsoft.com/en-us/library/windows/desktop/aa384129(v=vs.85).aspx>).
-<p>Pour une visibilité par utilisateur, créez une clé de registre avec le nom suivant :</p>
+Pour une visibilité par utilisateur, créez une clé de registre avec le nom suivant :
-<pre>HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts\&lt;name&gt;
-HKEY_CURRENT_USER\SOFTWARE\Mozilla\ManagedStorage\&lt;name&gt;
-HKEY_CURRENT_USER\SOFTWARE\Mozilla\PKCS11Modules\&lt;name&gt;</pre>
+ HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts\<name>
+ HKEY_CURRENT_USER\SOFTWARE\Mozilla\ManagedStorage\<name>
+ HKEY_CURRENT_USER\SOFTWARE\Mozilla\PKCS11Modules\<name>
-<p>La clé doit avoir une seule valeur par défaut, qui est le chemin d'accès au manifest.</p>
+La clé doit avoir une seule valeur par défaut, qui est le chemin d'accès au manifest.
-<h3 id="Mac_OS_X">Mac OS X</h3>
+### Mac OS X
-<p>Pour une visibilité globale, stockez le manifest dans :</p>
+Pour une visibilité globale, stockez le manifest dans :
-<pre>/Library/Application Support/Mozilla/NativeMessagingHosts/&lt;name&gt;.json
-/Library/Application Support/Mozilla/ManagedStorage/&lt;name&gt;.json
-/Library/Application Support/Mozilla/PKCS11Modules/&lt;name&gt;.json</pre>
+ /Library/Application Support/Mozilla/NativeMessagingHosts/<name>.json
+ /Library/Application Support/Mozilla/ManagedStorage/<name>.json
+ /Library/Application Support/Mozilla/PKCS11Modules/<name>.json
-<p>Pour la visibilité par utilisateur, stockez le manifest dans :</p>
+Pour la visibilité par utilisateur, stockez le manifest dans :
-<pre>~/Library/Application Support/Mozilla/NativeMessagingHosts/&lt;name&gt;.json
-~/Library/Application Support/Mozilla/ManagedStorage/&lt;name&gt;.json
-~/Library/Application Support/Mozilla/PKCS11Modules/&lt;name&gt;.json
-</pre>
+ ~/Library/Application Support/Mozilla/NativeMessagingHosts/<name>.json
+ ~/Library/Application Support/Mozilla/ManagedStorage/<name>.json
+ ~/Library/Application Support/Mozilla/PKCS11Modules/<name>.json
-<h3 id="Linux">Linux</h3>
+### Linux
-<p>Pour une visibilité globale, stockez le manifest dans :</p>
+Pour une visibilité globale, stockez le manifest dans :
-<pre>/usr/lib/mozilla/native-messaging-hosts/&lt;name&gt;.json
-/usr/lib/mozilla/managed-storage/&lt;name&gt;.json
-/usr/lib/mozilla/pkcs11-modules/&lt;name&gt;.json
-</pre>
+ /usr/lib/mozilla/native-messaging-hosts/<name>.json
+ /usr/lib/mozilla/managed-storage/<name>.json
+ /usr/lib/mozilla/pkcs11-modules/<name>.json
-<p>ou :</p>
+ou :
-<pre>/usr/lib64/mozilla/native-messaging-hosts/&lt;name&gt;.json
-/usr/lib64/mozilla/managed-storage/&lt;name&gt;.json
-/usr/lib64/mozilla/pkcs11-modules/&lt;name&gt;.json</pre>
+ /usr/lib64/mozilla/native-messaging-hosts/<name>.json
+ /usr/lib64/mozilla/managed-storage/<name>.json
+ /usr/lib64/mozilla/pkcs11-modules/<name>.json
-<p>Pour la visibilité par utilisateur, stockez le manifest dans :</p>
+Pour la visibilité par utilisateur, stockez le manifest dans :
-<pre>~/.mozilla/native-messaging-hosts/&lt;name&gt;.json
-~/.mozilla/managed-storage/&lt;name&gt;.json
-~/.mozilla/pkcs11-modules/&lt;name&gt;.json</pre>
+ ~/.mozilla/native-messaging-hosts/<name>.json
+ ~/.mozilla/managed-storage/<name>.json
+ ~/.mozilla/pkcs11-modules/<name>.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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>L'extension doit demander l'<a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">autorisation</a> « 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.</p>
+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.
-<p>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).</p>
+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).
-<p><img alt="" src="native-messaging.png"></p>
+![](native-messaging.png)
-<p>Le support de native messaging dans les extensions est généralement compatible avec Chrome, avec deux grandes différences :</p>
+Le support de native messaging dans les extensions est généralement compatible avec Chrome, avec deux grandes différences :
-<ul>
- <li>La liste <code>allowed_extensions</code> du manifest de l'application est un tableau d'ID d'applications, tandis que Chrome liste <code>allowed_origins</code>, sous la forme d'un tableau d'URL "chrome-extension".</li>
- <li>Le manifeste de l'application est stocké dans un emplacement différent <a href="https://developer.chrome.com/extensions/nativeMessaging#native-messaging-host-location">comparé à Chrome</a>.</li>
-</ul>
+- 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).
-<p>Il y a un exemple complet (en anglais) dans le répertoire « <a href="https://github.com/mdn/webextensions-examples/tree/master/native-messaging">native‐messaging</a> » du dépôt « webextensions‐examples » sur GitHub. La plus grande partie du code de cet article est repris de cet exemple.</p>
+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.
-<h2 id="Mise_en_œuvre">Mise en œuvre</h2>
+## Mise en œuvre
-<h3 id="Le_manifest_de_l'extension_Extension_manifest">Le manifest de l'extension (Extension manifest)</h3>
+### Le manifest de l'extension (Extension manifest)
-<p>Si vous souhaitez que votre extension puisse communiquer avec une application native, alors :</p>
+Si vous souhaitez que votre extension puisse communiquer avec une application native, alors :
-<ul>
- <li>Vous devez ajouter la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> dans son fichier <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a>.</li>
- <li>Vous devriez probablement spécifier explicitement l'id de votre add‐on, en utilisant la clé de manifest des <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings">applications</a> ( 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).</li>
-</ul>
+- 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).
-<p>Voici un exemple de fichier « manifest.json » :</p>
+Voici un exemple de fichier « manifest.json » :
-<pre class="brush: json">{
+```json
+{
"description": "Native messaging example extension",
"manifest_version": 2,
@@ -66,84 +63,83 @@ translation_of: Mozilla/Add-ons/WebExtensions/Native_messaging
"permissions": ["nativeMessaging"]
-}</pre>
+}
+```
-<h3 id="Le_manifest_de_l'application_App_manifest">Le manifest de l'application (App manifest)</h3>
+### Le manifest de l'application (App manifest)
-<p>Le manifest de l'application décrit au navigateur la manière avec laquelle il peut se connecter à l'application native.</p>
+Le manifest de l'application décrit au navigateur la manière avec laquelle il peut se connecter à l'application native.
-<p>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.</p>
+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.
-<p>Pour plus de détails sur la syntaxe et l'emplacement du manifeste des applications natives, voir <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Native_manifests">manifest natifs</a>.</p>
+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).
-<p>Par exemple, voici un manifeste pour l'application native "ping_pong" :</p>
+Par exemple, voici un manifeste pour l'application native "ping_pong" :
-<pre class="brush: json">{
+```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" ]
-}</pre>
-
-<p>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 ».</p>
-
-<div class="note">
-<p><strong>Note :</strong> 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 :</p>
-
-<pre class="brush: 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" ]
-}</pre>
-
-<p>Le fichier batch invoquera alors le script Python :</p>
-
-<pre class="brush: bash">@echo off
+}
+```
-python -u "c:\\path\\to\\native-messaging\\app\\ping_pong.py"</pre>
-</div>
+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 ».
-<h2 id="Opérations_d'échange_des_messages">Opérations d'échange des messages</h2>
+> **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"
+> ```
-<p>Ayant appliqué la configuration de ci‐dessus, une extension peut échanger des messages JSON avec une application native.</p>
+## Opérations d'échange des messages
-<h3 id="Du_côté_de_l'extension">Du côté de l'extension</h3>
+Ayant appliqué la configuration de ci‐dessus, une extension peut échanger des messages JSON avec une application native.
-<p>La messagerie native ne peut pas être utilisée directement dans les scripts de contenu ; vous devrez le <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#communicating_with_background_scripts">faire indirect via des scripts d'arrière plan</a>.</p>
+### Du côté de l'extension
-<p>Il y a deux modèles à utiliser ici : la messagerie basée sur la connexion et la messagerie sans connexion.</p>
+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).
-<h4 id="Messagerie_basée_sur_une_connexion">Messagerie basée sur une connexion</h4>
+Il y a deux modèles à utiliser ici : la messagerie basée sur la connexion et la messagerie sans connexion.
-<p>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.</p>
+#### Messagerie basée sur une connexion
-<p>L'application native passe deux arguments lorsqu'elle démarre :</p>
+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.
-<ul>
- <li>le chemin complet du manifest de l'application</li>
- <li>(nouveau dans Firefox 55) l'ID (tel qu'indiqué dans la clé du manifest.json de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings">browser_specific_settings</a>) of the add-on that started it.</li>
-</ul>
+L'application native passe deux arguments lorsqu'elle démarre :
-<div class="note">
-
-<p><strong>Note :</strong> Chrome gère différemment les arguments passés :</p>
+- 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.
-<ul>
- <li>Sous Linux et Mac, Chrome passe un argument, l'origine de l'extension qui l'a lancé sous la forme : <code>chrome-extension://[extensionID]</code>. Ceci permet à l'application d'identifier l'extension.</li>
- <li>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.</li>
-</ul>
-</div>
+> **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.
-<p>L'aplication continue de fonctionner jusqu'à ce que l'extension invoque <code>Port.disconnect()</code> ou jusqu'à ce que la page connectée soit fermée.</p>
+L'aplication continue de fonctionner jusqu'à ce que l'extension invoque `Port.disconnect()` ou jusqu'à ce que la page connectée soit fermée.
-<p>Pour envoyer des messages en utilisant <code>Port</code>, utilisez sa fonction <code>postMessage()</code>, en passant le message JSON à envoyer. Pour écouter les messages en utilisant <code>Port</code>, ajouter un écouteur (<em>listener</em>) en utilisant sa fonction <code>onMessage.addListener()</code>.</p>
+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()`.
-<p>Voici un exemple de script « <em>background</em> » 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 (<em>browser action</em>) :</p>
+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_) :
-<pre class="brush: js">/*
+```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) =&gt; {
+port.onMessage.addListener((response) => {
console.log("Received: " + response);
});
/*
On a click on the browser action, send the app a message.
*/
-browser.browserAction.onClicked.addListener(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
console.log("Sending: ping");
port.postMessage("ping");
-});</pre>
+});
+```
-<h4 id="Messagerie_sans_connexion">Messagerie sans connexion</h4>
+#### Messagerie sans connexion
-<p>Avec cette manière de faire, vous invoquez la fonction {{WebExtAPIRef("runtime.sendNativeMessage()")}}, en lui passant comme arguments :</p>
+Avec cette manière de faire, vous invoquez la fonction {{WebExtAPIRef("runtime.sendNativeMessage()")}}, en lui passant comme arguments :
-<ul>
- <li>le nom de l'application,</li>
- <li>le message JSON à envoyer,</li>
- <li>et optionnellement un callback.</li>
-</ul>
+- le nom de l'application,
+- le message JSON à envoyer,
+- et optionnellement un callback.
-<p>Une nouvelle instance de l'application sera créée pour chaque message. L'application native passe deux arguments lorsqu'elle démarre :</p>
+Une nouvelle instance de l'application sera créée pour chaque message. L'application native passe deux arguments lorsqu'elle démarre :
-<ul>
- <li>le chemin complet du manifest de l'application</li>
- <li>(nouveau dans Firefox 55), l'ID (tel qu'indiqué dans la clé du manifest.json de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings">browser_specific_settings</a>) de l'add‐on qui l'a démarré.</li>
-</ul>
+- 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é.
-<p>Le premier message envoyé par l'application est traité comme une réponse à l'invocation de la fonction <code>sendNativeMessage()</code>, et sera passé dans le callback.</p>
+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.
-<p>Voici l'exemple précédent réécrit en utilisant <code>runtime.sendNativeMessage()</code>:</p>
+Voici l'exemple précédent réécrit en utilisant `runtime.sendNativeMessage()`:
-<pre class="brush: js">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(() =&gt; {
+browser.browserAction.onClicked.addListener(() => {
console.log("Sending: ping");
var sending = browser.runtime.sendNativeMessage(
"ping_pong",
"ping");
sending.then(onResponse, onError);
});
-</pre>
+```
-<h3 id="Du_côté_de_l'application">Du côté de l'application</h3>
+### Du côté de l'application
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>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 :</p>
+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 :
-<pre class="brush: python">#!/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"))</pre>
+ send_message(encode_message("pong"))
+```
-<p>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 :</p>
+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 :
-<pre class="brush: python line-numbers">#!/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"))</pre>
+ 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](<https://msdn.microsoft.com/fr-fr/library/windows/desktop/ms684161(v=vs.85).aspx>) 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`](<https://msdn.microsoft.com/fr/library/windows/desktop/ms684863(v=vs.85).aspx>).
+
+## 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.
-<h2 id="Fermeture_de_l'application_native">Fermeture de l'application native</h2>
+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.
-<p>Si vous vous êtes connecté à l'application native en utilisant <code>runtime.connectNative()</code>, alors elle continuera de fonctionner jusqu'à ce que l'extension appelle <code>Port.disconnect()</code> ou que la page qui s'y est connectée soit fermée. Si vous avez démarré l'application native en utilisant <code>runtime.sendNativeMessage()</code>, alors elle sera fermée après qu'elle aura reçu le message et envoyé une réponse.</p>
+ "No such native application <name>"
-<p>Pour fermer l'application native :</p>
+- 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.
-<ul>
- <li>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.</li>
- <li>Sous windows, le navigateur met le processus de l'application native dans un <a href="https://msdn.microsoft.com/fr-fr/library/windows/desktop/ms684161(v=vs.85).aspx">Job object</a> 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 <code><a href="https://msdn.microsoft.com/fr/library/windows/desktop/ms684863(v=vs.85).aspx">CREATE_BREAKAWAY_FROM_JOB</a></code>.</li>
-</ul>
+<!---->
-<h2 id="Dépannage">Dépannage</h2>
+ "Error: Invalid application <name>"
-<p>Si quelque chose se passe mal, vérifier dans la <a href="https://extensionworkshop.com/documentation/develop/debugging/#viewing_log_output">console du navigateur</a>. 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.</p>
+- Vérifier que le nom de l'application ne contient pas de caractères invalides.
-<p>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.</p>
+<!---->
-<pre>"No such native application &lt;name&gt;"</pre>
+ "'python' is not recognized as an internal or external command, ..."
-<ul>
- <li>Vérifiez que le nom passé comme argument à la fonction <code>runtime.connectNative()</code> correspond au nom dans le manifest de l'application</li>
- <li>OS X / Linux : vérifiez que le nom du fichier de manifest de l'application est &lt;name&gt;.json.</li>
- <li>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.</li>
- <li>Windows : vérifiez que le chemin donné dans la clé de registre pointe vers le manifest de l'application.</li>
-</ul>
+- 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.
-<pre>"Error: Invalid application &lt;name&gt;"</pre>
+<!---->
-<ul>
- <li>Vérifier que le nom de l'application ne contient pas de caractères invalides.</li>
-</ul>
+ "File at path <path> does not exist, or is not executable"
-<pre>"'python' is not recognized as an internal or external command, ..."</pre>
+- 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.
-<ul>
- <li>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.</li>
-</ul>
+<!---->
-<pre>"File at path &lt;path&gt; does not exist, or is not executable"</pre>
+ "This extension does not have permission to use native application <name>"
-<ul>
- <li>Si vous voyez ce message, alors le fichier de manifest de l'application a été trouvé.</li>
- <li>Vérifier que le « chemin » dans le manifest de l'application est correct.</li>
- <li>Windows : vérifiez que vous avez « échappé » les séparateurs du chemin ("c:\\path\\to\\file").</li>
- <li>Vérifiez que l'application se trouve bien à l'endroit indiqué par la propriété « path » dans le manifest de l'application.</li>
- <li>Vérifiez que l'application est exécutable.</li>
-</ul>
+- Vérifier que le tableau « allowed_extensions » dans le manifest de l'application contient l'ID de l'add‐on.
-<pre>"This extension does not have permission to use native application &lt;name&gt;"</pre>
+<!---->
-<ul>
- <li>Vérifier que le tableau « allowed_extensions » dans le manifest de l'application contient l'ID de l'add‐on.</li>
-</ul>
+ "TypeError: browser.runtime.connectNative is not a function"
-<pre>"TypeError: browser.runtime.connectNative is not a function"</pre>
+- Vérifiez que l'extension à la permission « nativeMessaging »
-<ul>
- <li>Vérifiez que l'extension à la permission « nativeMessaging »</li>
-</ul>
+<!---->
-<pre>"[object Object] NativeMessaging.jsm:218"</pre>
+ "[object Object] NativeMessaging.jsm:218"
-<ul>
- <li>Il y a eu un problème lors du démarrage de l'application.</li>
-</ul>
+- Il y a eu un problème lors du démarrage de l'application.
-<h2 id="chrome_incompatibilities">Incompatibilités avec Chrome</h2>
+## Incompatibilités avec Chrome
-<p>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 <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities#native_messaging">Incompatibilités Chrome > Messagerie native</a>.</p>
+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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Tout ce dont vous avez besoin pour Firefox 45 ou supérieur. Voir <a href="/fr/Add-ons/WebExtensions/Your_first_WebExtension">votre première extension</a> pour commencer.</p>
+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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>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 <code>&lt;script&gt;&lt;/script&gt;</code>. 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.</p>
+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.
-<p>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.</p>
+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.
-<p>Cet article examine comment travailler en toute sécurité avec des données distantes et l'ajouter à un DOM.</p>
+Cet article examine comment travailler en toute sécurité avec des données distantes et l'ajouter à un DOM.
-<h2 id="Travailler_avec_des_chaînes_arbitraires">Travailler avec des chaînes arbitraires</h2>
+## Travailler avec des chaînes arbitraires
-<p>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.</p>
+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.
-<h3 id="Méthodes_de_création_de_noeud_DOM">Méthodes de création de noeud DOM</h3>
+### Méthodes de création de noeud DOM
-<p>Une approche légère pour insérer des chaînes dans une page consiste à utiliser les méthodes de manipulation DOM natives : <a href="/fr/docs/Web/API/Document/createElement"><code>document.createElement</code></a>, <a href="/fr/docs/Web/API/Element/setAttribute"><code>Element.setAttribute</code></a>, et <a href="/fr/docs/Web/API/Node/textContent"><code>Node.textContent</code></a>. L'approche sécurisée consiste à créer les nœuds séparément et à affecter leur contenu à l'aide de textContent :</p>
+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 :
-<pre class="brush: js example-good">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);</pre>
+addonElement.appendChild(div);
+```
-<p>Cette approche est sûre car l'utilisation de <code>.textContent</code> échappe automatiquement à tout code HTML distant dans <code>data.color</code>.</p>
+Cette approche est sûre car l'utilisation de `.textContent` échappe automatiquement à tout code HTML distant dans `data.color`.
-<p>Cependant, attention, vous pouvez utiliser des méthodes natives qui ne sont pas sécurisées. Prenez le code suivant :</p>
+Cependant, attention, vous pouvez utiliser des méthodes natives qui ne sont pas sécurisées. Prenez le code suivant :
-<pre class="brush: js example-bad">var data = JSON.parse(responseText);
-addonElement.innerHTML = "&lt;div class='" + data.className + "'&gt;" +
+```js example-bad
+var data = JSON.parse(responseText);
+addonElement.innerHTML = "<div class='" + data.className + "'>" +
"Your favorite color is now " + data.color +
- "&lt;/div&gt;";</pre>
+ "</div>";
+```
-<p>Ici, le contenu de <code>data.className</code> ou de <code>data.color</code> peut contenir du HTML qui peut fermer le tag plus tôt, insérer du contenu HTML arbitraire, puis ouvrir une autre balise.</p>
+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.
-<h3 id="jQuery">jQuery</h3>
+### jQuery
-<p>Lors de l'utilisation de jQuery, des fonctions telles que <code>attr()</code> et <code>text()</code> é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:</p>
+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:
-<pre class="brush: js example-good">var node = $("&lt;/div&gt;");
+```js example-good
+var node = $("</div>");
node.addClass(data.className);
-node.text("Your favorite color is now " + data.color); </pre>
+node.text("Your favorite color is now " + data.color);
+```
-<h2 id="Travailler_avec_du_contenu_HTML">Travailler avec du contenu HTML</h2>
+## Travailler avec du contenu HTML
-<p>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.</p>
+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.
-<h3 id="Désinfection_HTML">Désinfection HTML</h3>
+### Désinfection HTML
-<p>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. <a href="https://github.com/cure53/DOMPurify">DOMPurify</a>, qui a été examiné par divers experts en sécurité, est une bibliothèque appropriée pour cette tâche dans les extensions.</p>
+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.
-<p>Pour l'utilisation en production, <a href="https://github.com/cure53/DOMPurify">DOMPurify</a> 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 :</p>
+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 :
-<pre class="brush: json">"content_scripts": [
+```json
+"content_scripts": [
{
- "matches" : ["&lt;all_urls&gt;"],
+ "matches" : ["<all_urls>"],
"js": ["purify.min.js", "myinjectionscript.js"]
}
-]</pre>
+]
+```
-<p>Ensuite, dans myinjectionscript.js, vous pouvez lire le code HTML externe, le désinfecter et l'ajouter au DOM d'une page :</p>
+Ensuite, dans myinjectionscript.js, vous pouvez lire le code HTML externe, le désinfecter et l'ajouter au DOM d'une page :
-<pre class="brush: js">var elem = document.createElement("div");
+```js
+var elem = document.createElement("div");
var cleanHTML = DOMPurify.sanitize(externalHTML);
-elem.innerHTML = cleanHTML;</pre>
+elem.innerHTML = cleanHTML;
+```
-<p>Vous pouvez utiliser n'importe quelle méthode pour ajouter le HTML aseptisé à votre DOM, par exemple la fonction <code>.html()</code> de jQuery’s. Souvenez-vous cependant que le drapeau <code>SAFE_FOR_JQUERY</code> doit être utilisé dans ce cas :</p>
+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 :
-<pre class="brush: js">var elem = $("&lt;div/&gt;");
+```js
+var elem = $("<div/>");
var cleanHTML = DOMPurify.sanitize(externalHTML, { SAFE_FOR_JQUERY: true });
-elem.html(cleanHTML);</pre>
+elem.html(cleanHTML);
+```
-<h3 id="Moteur_de_modèle">Moteur de modèle</h3>
+### Moteur de modèle
-<p>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.</p>
+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.
-<p>Par exemple, lorsque vous utilisez des <a href="https://mustache.github.io/">modèles moustache</a>, vous devez utiliser la double moustache, <code>\{{variable}}</code>, qui échappe à tout code HTML. L'utilisation de la triple moustache, <code>\{\{{variable}}}</code>, doit être évitée car cela injecte une chaîne HTML brute et pourrait ajouter du code exécutable à votre modèle. <a href="http://handlebarsjs.com/">Handlebars</a> fonctionne d'une manière similaire, avec des variables dans le double guidon, <code>\{{variable}}</code>, é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  <code>Handlebars.SafeString</code> utilisez <code>Handlebars.escapeExpression()</code> pour échapper tous les paramètres dynamiques transmis à l'assistant. C'est une exigence car la variable résultante de <code>Handlebars.SafeString</code> est considérée comme sûre et elle n'est pas échappée lorsqu'elle est insérée avec des guidons doubles.</p>
+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.
-<p>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.</p>
+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.
-<h2 id="Lecture_supplémentaire">Lecture supplémentaire</h2>
+## Lecture supplémentaire
-<p>Pour plus d'informations sur ce sujet, consultez les articles suivants :</p>
+Pour plus d'informations sur ce sujet, consultez les articles suivants :
-<ul>
- <li>
- <p><a href="https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet">XSS (Cross Site Scripting) Prévention Cheat Sheet</a></p>
- </li>
-</ul>
+- [XSS (Cross Site Scripting) Prévention Cheat Sheet](<https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_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
---
-<div>{{AddonSidebar}}
-<div class="note">
-<p><strong>Note :</strong> Les techniques décrites dans cette section sont uniquement disponibles dans Firefox, et seulement à partir de Firefox 49</p>
-</div>
+{{AddonSidebar}}
-<div class="warning">
-<p><strong>Attention :</strong> 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.</p>
+> **Note :** Les techniques décrites dans cette section sont uniquement disponibles dans Firefox, et seulement à partir de Firefox 49
-<p>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.</p>
+> **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.
-<p>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.</p>
-</div>
-</div>
+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.
-<p>Comme les <a href="/fr/Add-ons/WebExtensions/Content_scripts#DOM_access">notes du guide de scripts de contenu</a>, 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.</p>
+Cependant, Firefox fournit des API qui permettent aux scripts de contenu de :
-<p>Cependant, Firefox fournit des API qui permettent aux scripts de contenu de :</p>
+- accéder aux objets JavaScript créés par les scripts de page
+- exposer leurs propres objets JavaScript aux scripts de pages.
-<ul>
- <li>accéder aux objets JavaScript créés par les scripts de page</li>
- <li>exposer leurs propres objets JavaScript aux scripts de pages.</li>
-</ul>
+## Vision Xray dans Firefox
-<h2 id="Vision_Xray_dans_Firefox">Vision Xray dans Firefox</h2>
+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.
-<p>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 <a href="/fr/docs/Glossary/Expando">expando</a> 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.</p>
+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.
-<p>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.</p>
+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 .
-<p>Par exemple, lorsqu'un script de contenu accède à la <a href="/fr/docs/Web/API/Window">fenêtre</a> 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 .</p>
+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).
-<p>Pour l'histoire complète sur la vision Xray, voir les articles sur <a href="en-US/docs/Mozilla/Tech/Xray_vision">Vision Xray</a> et la <a href="en-US/docs/Mozilla/Gecko/Script_security">securité des Scripts</a>.</p>
+## Accès aux objets de script de page à partir de scripts de contenu
-<h2 id="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</h2>
+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.
-<p>Dans Firefox, les objets DOM dans les scripts de contenu obtiennent une propriété supplémentaire <code>wrappedJSObject</code>. C'est une version "déballée" de l'objet, qui inclut toutes les modifications apportées à cet objet par les scripts de page.</p>
+Prenons un exemple simple. Supposons qu'une page Web charge un script:
-<p>Prenons un exemple simple. Supposons qu'une page Web charge un script:</p>
+```html
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="UTF-8">
+ </head>
+ <body>
+ <script type="text/javascript" src="main.js"></script>
+ </body>
+</html>
+```
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta charset="UTF-8"&gt;
- &lt;/head&gt;
- &lt;body&gt;
- &lt;script type="text/javascript" src="main.js"&gt;&lt;/script&gt;
- &lt;/body&gt;
-&lt;/html&gt;</pre>
+Le script ajoute une propriété expando à la `fenêtre` globale :
-<p>Le script ajoute une propriété expando à la <code>fenêtre</code> globale :</p>
+```js
+// main.js
-<pre class="brush: js">// main.js
+var foo = "I'm defined in a page script!";
+```
-var foo = "I'm defined in a page script!";</pre>
+La vision Xray signifie que si un script de contenu tente d'accéder à `foo`, il sera indéfini:
-<p>La vision Xray signifie que si un script de contenu tente d'accéder à <code>foo</code>, il sera indéfini:</p>
+```js
+// content-script.js
-<pre class="brush: js">// content-script.js
+console.log(window.foo); // undefined
+```
-console.log(window.foo); // undefined</pre>
+Dans Firefox, les scripts de contenu peuvent utiliser `window.wrappedJSObject` pour voir la propriété expando :
-<p>Dans Firefox, les scripts de contenu peuvent utiliser <code>window.wrappedJSObject</code> pour voir la propriété expando :</p>
+```js
+// content-script.js
-<pre class="brush: 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!"</pre>
+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.
-<p>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.</p>
+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:
-<p>Notez également que le déballage est transitif: lorsque vous utilisez <code>wrappedJSObject</code>, 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:</p>
+ XPCNativeWrapper(window.wrappedJSObject.foo);
-<pre>XPCNativeWrapper(window.wrappedJSObject.foo);</pre>
+voir le document [vision Xray](/fr/Tech/Xray_vision) pour plus de détails à ce sujet.
-<p>voir le document <a href="/fr/Tech/Xray_vision">vision Xray</a> pour plus de détails à ce sujet.</p>
+## Partage d'objets de script de contenu avec des scripts de page
-<h2 id="Partage_dobjets_de_script_de_contenu_avec_des_scripts_de_page">Partage d'objets de script de contenu avec des scripts de page</h2>
+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:
-<p>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:</p>
+- [`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
-<ul>
- <li><code><a href="#exportFunction">exportFunction()</a></code>: exporte une fonction vers des scripts de page</li>
- <li><code><a href="#cloneInto">cloneInto()</a></code>: exporte un objet vers des scripts de page.</li>
- <li>constructeurs du contexte de la page</li>
-</ul>
+### exportFunction
-<h3 id="exportFunction">exportFunction</h3>
+É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.
-<p>Étant donné une fonction définie dans le script de contenu, <code>exportFunction()</code> l'exporte vers la portée du script de page, afin que le script de page puisse l'appeler.</p>
+Par exemple, considérons une extension qui a un script d'arrière-plan comme ceci :
-<p>Par exemple, considérons une extension qui a un script d'arrière-plan comme ceci :</p>
-
-<pre class="brush: js">/*
+```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) =&gt; {
+browser.runtime.onMessage.addListener((message) => {
browser.notifications.create({
type: "basic",
title: "Message from the page",
message: message.content
});
-});</pre>
+});
+```
-<p>Cela fait deux choses :</p>
+Cela fait deux choses :
-<ul>
- <li>exécuter un script de contenu dans l'onglet en cours, lorsque l'utilisateur clique sur une action du navigateur</li>
- <li>écouter les messages du script de contenu et afficher une <a href="/fr/Add-ons/WebExtensions/API/notifications">notification</a>  lorsque le message arrive.</li>
-</ul>
+- 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.
-<p>Le script de contenu ressemble à ceci :</p>
+Le script de contenu ressemble à ceci :
-<pre class="brush: js">/*
+```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'});</pre>
+exportFunction(notify, window, {defineAs:'notify'});
+```
-<p>Cela définit une fonction <code>notify()</code>, 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:</p>
+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:
-<pre class="brush: js">window.notify("Message from the page script!");</pre>
+```js
+window.notify("Message from the page script!");
+```
-<p>Pour l'histoire complète, voir <code><a href="/fr/Tech/XPCOM/Language_Bindings/Components.utils.exportFunction">Components.utils.exportFunction</a></code>.</p>
+Pour l'histoire complète, voir [`Components.utils.exportFunction`](/fr/Tech/XPCOM/Language_Bindings/Components.utils.exportFunction).
-<h3 id="cloneInto">cloneInto</h3>
+### cloneInto
-<p>É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 <a href="/fr/docs/Web/API/Web_Workers_API/Structured_clone_algorithm">l'agorithme clone structuré</a> 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 <code>cloneFunctions</code>.</p>
+É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`.
-<p>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 :</p>
+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 :
-<pre class="brush: js">/*
+```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});</pre>
+ {cloneFunctions: true});
+```
-<p>Maintenant les scripts de page vont voir une nouvelle propriété sur la fenêtre, <code>messenger</code>, qui a une fonction <code>notify()</code>:</p>
+Maintenant les scripts de page vont voir une nouvelle propriété sur la fenêtre, `messenger`, qui a une fonction `notify()`:
-<pre class="brush: js">window.messenger.notify("Message from the page script!");</pre>
+```js
+window.messenger.notify("Message from the page script!");
+```
-<p>Pour l'histoire complète, voir <code><a href="/fr/Tech/XPCOM/Language_Bindings/Components.utils.cloneInto">Components.utils.cloneInto</a></code>.</p>
+Pour l'histoire complète, voir [`Components.utils.cloneInto`](/fr/Tech/XPCOM/Language_Bindings/Components.utils.cloneInto).
-<h3 id="Constructeurs_du_contexte_de_la_page">Constructeurs du contexte de la page</h3>
+### Constructeurs du contexte de la page
-<p>Sur l'objet fenêtre de xrayed, des constructeurs immaculés pour certains objets javascript intégrés tels que <code>Object</code>, <code>Function</code> ou <code>Proxy</code> et différentes classe DOM sont disponibles. <code>XMLHttpRequest</code> ne se comporte pas de cette manière, voir la section <a href="/fr/Add-ons/WebExtensions/Content_scripts#XHR_and_Fetch">XHR and fetch</a> 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.</p>
+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.
-<p>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.</p>
+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.
-<pre class="brush: js">/* 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) =&gt; {
+ document.addEventListener("click", (e) => {
console.log(e instanceof Event, e.propA, e.propB, e.propC);
});
`);
-document.dispatchEvent(ev); // true, undefined, "unwrapped", "propC"</pre>
+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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>Cette page contient divers conseils et astuces qui devraient être utiles à beaucoup de personnes développant des extensions à l'aide des API WebExtension.</p>
+Cette page contient divers conseils et astuces qui devraient être utiles à beaucoup de personnes développant des extensions à l'aide des API WebExtension.
-<h2 id="Utilisation_des_fonctionnalités_JavaScript_avancées_d'ECMAScript_2015_et_2016">Utilisation des fonctionnalités JavaScript avancées d'ECMAScript 2015 et 2016</h2>
+## Utilisation des fonctionnalités JavaScript avancées d'ECMAScript 2015 et 2016
-<p>Firefox prend <a href="/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla">en charge de nombreuses fonctionnalités de ECMAScript 2015</a> 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 <a href="https://babeljs.io/">Babel</a>.</p>
+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/).
-<p>Attention, tout ce qui se trouve en dessous de cette ligne est obsolète et a été retiré de Babel 6.</p>
+Attention, tout ce qui se trouve en dessous de cette ligne est obsolète et a été retiré de Babel 6.
-<p>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 <code>.babelrc</code>, ou une section <code>babel</code> dans le fichier <code>package.json</code> de votre projet contenant les éléments suivants :</p>
+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 :
-<pre class="brush: js">{
+```js
+{
"env": {
"firefox": {
"sourceMaps": "inline",
@@ -43,14 +44,12 @@ translation_of: Mozilla/Add-ons/WebExtensions/Tips
}
}
}
-</pre>
+```
-<p>Ensuite, pour compiler un script individuel, lancez simplement :</p>
+Ensuite, pour compiler un script individuel, lancez simplement :
-<pre>BABEL_ENV=firefox babel &lt;filename&gt;
-</pre>
+ BABEL_ENV=firefox babel <filename>
-<p>Ou, pour compiler chaque fichier JavaScript sous le répertoire <code>src</code> et placer les fichiers compilés dans la <code>compilation</code>, en copiant les fichiers non-JavaScript dans le processus, lancez:</p>
+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:
-<pre>BABEL_ENV=firefox babel -Dd compiled src
-</pre>
+ 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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Certaines API WebExtension exécutent des fonctions qui sont généralement exécutées à la suite d'une action utilisateur. Par exemple:</p>
+Certaines API WebExtension exécutent des fonctions qui sont généralement exécutées à la suite d'une action utilisateur. Par exemple:
-<ul>
- <li>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.</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>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 :</p>
+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 :
-<ul>
- <li>Cliquez sur l'action du navigateur ou de la page de l'extension.</li>
- <li>Sélection d'un élément de menu contextuel défini par l'extension.</li>
- <li>Activation d'un raccourci clavier défini par l'extension (traité uniquement comme une action utilisateur à partir de Firefox 63).</li>
- <li>Cliquer sur un bouton dans une page fournie avec l'extension.</li>
-</ul>
+- 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.
-<p>Par exemple:</p>
+Par exemple:
-<pre class="brush: js">function handleClick() {
+```js
+function handleClick() {
browser.sidebarAction.open();
}
-browser.browserAction.onClicked.addListener(handleClick);</pre>
+browser.browserAction.onClicked.addListener(handleClick);
+```
-<p>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.</p>
+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.
-<p>De plus, si un gestionnaire d'entrée utilisateur attend une <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">promise</a>, alors son statut de gestionnaire d'entrée utilisateur est perdu. Par exemple :</p>
+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 :
-<pre class="brush: js">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);</pre>
+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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Généralement appelé comme une <a href="/fr/Add-ons/WebExtensions/API/browserAction">action de navigateur</a>, 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.<br>
- <img alt="" src="browser-action.png"></p>
+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)
-<p>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 <a href="/fr/Add-ons/WebExtensions/user_interface/Page_actions#Page_actions_and_browser_actions">les actions de page et les actions du navigateur</a>.</p>
+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).
-<h2 id="Spécification_de_l'action_du_navigateur">Spécification de l'action du navigateur</h2>
+## Spécification de l'action du navigateur
-<p>Vous définissez les propriétés de l'action du navigateur à l'aide de la clé  <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code> dans manifest.json:</p>
+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:
-<pre class="brush: json">"browser_action": {
+```json
+"browser_action": {
"default_icon": {
"19": "button/geo-19.png",
"38": "button/geo-38.png"
},
"default_title": "Whereami?"
-}</pre>
+}
+```
-<p>La seule clé obligatoire est <code>default_icon</code>.</p>
+La seule clé obligatoire est `default_icon`.
-<p>Il existe deux façons de spécifier une action du navigateur: avec ou sans <a href="/fr/Add-ons/WebExtensions/Popups">popup</a>. 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  <a href="/fr//Add-ons/WebExtensions/API/BrowserAction/onClicked"><code>browserAction.onClicked</code></a> :</p>
+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) :
-<pre class="brush: js">browser.browserAction.onClicked.addListener(handleClick);</pre>
+```js
+browser.browserAction.onClicked.addListener(handleClick);
+```
-<p>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 <a href="/fr/Add-ons/WebExtensions/Popups">Popup </a>pour plus de détails sur la création et la gestion des fenêtres pop-up.</p>
+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.
-<p>Notez que votre extension ne peut avoir qu'une seule action de navigateur.</p>
+Notez que votre extension ne peut avoir qu'une seule action de navigateur.
-<p>Vous pouvez modifier plusieurs propriétés d'action du navigateur de manière programmée à l'aide de l'API <code><a href="/fr/Add-ons/WebExtensions/API/browserAction">action du navigateur</a></code>.</p>
+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).
-<h2 id="Icônes">Icônes</h2>
+## Icônes
-<p>Pour plus d'informations sur la création d'icônes à utiliser avec l'action de votre navigateur, voir <a href="https://design.firefox.com/photon/visuals/iconography.html">Iconographie </a>dans la documentation <a href="https://design.firefox.com/photon/index.html">Photon Design System</a>.</p>
+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).
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le dépôt <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples de WebExtensions qui utilisent les actions du navigateur:</p>
+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:
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/blob/master/bookmark-it/">bookmark-it</a> utilise il utilise une action de navigateur sans popup</li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/beastify">beastify</a> utilise une action de navigateur avec un popup.</li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Certains composants de l'interface utilisateur - les <a href="/fr/Add-ons/WebExtensions/user_interface/Popups">fenêtres contextuelles</a>, <a href="/fr/Add-ons/WebExtensions/user_interface/Sidebars">fenêtres latérales</a>, et les <a href="/fr/Add-ons/WebExtensions/user_interface/Options_pages">pages d'options</a> du navigateur et de la page - sont spécifiés par votre extension de la même manière  :</p>
+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  :
-<ol>
- <li>créer un fichier HTML définissant la structure de l'élément d'interface utilisateur</li>
- <li>ajoutez une clé manifest.json (<code><a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code>, <code><a href="/fr/Add-ons/WebExtensions/manifest.json/page_action">page_action</a></code>, <code><a href="/fr/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a></code>, ou <code><a href="/fr/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code>) pointant vers ce fichier HTML.</li>
-</ol>
+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.
-<p>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.<br>
- Pour aider à cela, les clés manifest.json keys incluent une propriété optionnelle supplémentaire : <code>browser_style</code>.<br>
- Si cela est inclus et défini sur <code>true</code>, 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é <code>browser_style</code>.</p>
+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`.
-<p>Lorsque vous envisagez d'utiliser le <code>browser_style: true</code>, 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..</p>
+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..
-<div class="warning">
-<p><strong>Attention :</strong> Quand <code>browser_style: true</code> 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.</p>
-</div>
+> **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.
-<div class="note">
-<p><strong>Note :</strong> <strong>Google Chrome</strong> et <strong>Opera</strong> utilisent <code>chrome_style</code> au lieu de <code>browser_style</code>, donc si vous souhaitez les prendre en charge, vous devez ajouter les deux clés.</p>
-</div>
+> **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.
-<p>Dans Firefox, la feuille de style peut être vue sur <code>chrome://browser/content/extension.css</code>. La feuille de style peut être vue sur <code>chrome://browser/content/extension-mac.css</code> est également incluse sur OS X.</p>
+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.
-<p>La plupart des styles sont automatiquement appliqués, mais certains éléments nécessitent que vous ajoutiez la classe  <code>browser-style</code> non standard pour obtenir leur style, comme indiqué dans le tableau ci-dessous :</p>
+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 :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Element</th>
- <th scope="col">Exemple</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code><a href="/fr/docs/Web/HTML/Element/button">&lt;button&gt;</a></code></td>
- <td>
- <pre class="brush: html">
-&lt;button class="browser-style"&gt;Click me&lt;/button&gt;{{non-standard_inline}}</pre>
- </td>
- </tr>
- <tr>
- <td>
- <p><code><a href="/fr/docs/Web/HTML/Element/select">&lt;select&gt;</a></code></p>
- </td>
- <td>
- <pre class="brush: html">
-&lt;select class="browser-style" name="select"&gt;
- &lt;option value="value1"&gt;Value 1&lt;/option&gt;
- &lt;option value="value2" selected&gt;Value 2&lt;/option&gt;
- &lt;option value="value3"&gt;Value 3&lt;/option&gt;
-&lt;/select&gt;</pre>
- </td>
- </tr>
- <tr>
- <td><code><a href="/fr/docs/Web/HTML/Element/textarea">&lt;textarea&gt;</a></code></td>
- <td>
- <pre class="brush: html">
-&lt;textarea class="browser-style"&gt;Write here&lt;/textarea&gt;</pre>
- </td>
- </tr>
- <tr>
- <td>Parent d'un <code><a href="/fr/docs/Web/HTML/Element/input">&lt;input&gt;</a></code></td>
- <td>
- <pre class="brush: html">
-&lt;div class="browser-style"&gt;
- &lt;input type="radio" id="op1" name="choices" value="op1"&gt;
- &lt;label for="op1"&gt;Option 1&lt;/label&gt;
-
- &lt;input type="radio" id="op2" name="choices" value="op2"&gt;
- &lt;label for="op2"&gt;Option 2&lt;/label&gt;
-&lt;/div&gt;</pre>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Element</th>
+ <th scope="col">Exemple</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <code
+ ><a href="/fr/docs/Web/HTML/Element/button">&#x3C;button></a></code
+ >
+ </td>
+ <td>
+ <pre class="brush: html">
+&#x3C;button class="browser-style">Click me&#x3C;/button>{{non-standard_inline}}</pre
+ >
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code
+ ><a href="/fr/docs/Web/HTML/Element/select">&#x3C;select></a></code
+ >
+ </p>
+ </td>
+ <td>
+ <pre class="brush: html">
+&#x3C;select class="browser-style" name="select">
+ &#x3C;option value="value1">Value 1&#x3C;/option>
+ &#x3C;option value="value2" selected>Value 2&#x3C;/option>
+ &#x3C;option value="value3">Value 3&#x3C;/option>
+&#x3C;/select></pre
+ >
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <code
+ ><a href="/fr/docs/Web/HTML/Element/textarea"
+ >&#x3C;textarea></a
+ ></code
+ >
+ </td>
+ <td>
+ <pre class="brush: html">
+&#x3C;textarea class="browser-style">Write here&#x3C;/textarea></pre
+ >
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Parent d'un
+ <code><a href="/fr/docs/Web/HTML/Element/input">&#x3C;input></a></code>
+ </td>
+ <td>
+ <pre class="brush: html">
+&#x3C;div class="browser-style">
+ &#x3C;input type="radio" id="op1" name="choices" value="op1">
+ &#x3C;label for="op1">Option 1&#x3C;/label>
+
+&#x3C;input type="radio" id="op2" name="choices" value="op2">
+&#x3C;label for="op2">Option 2&#x3C;/label>
+&#x3C;/div></pre
+ >
+</td>
+</tr>
+
+ </tbody>
</table>
-<div class="note">
-<p><strong>Note :</strong> Voir le {{bug(1465256)}} pour la suppression de cette exigence inutile.</p>
-</div>
-
-<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
-
+> **Note :** Voir le {{bug(1465256)}} pour la suppression de cette exigence inutile.
+## Compatibilité du navigateur
-<p>{{Compat("webextensions.browser_style")}}</p>
+{{Compat("webextensions.browser_style")}}
-<h2 id="Composants_du_panneau_Firefox">Composants du panneau Firefox</h2>
+## Composants du panneau Firefox
-<div class="warning">
-<p><strong>Attention :</strong> Cette fonctionnalité est non standard et ne fonctionne que dans Firefox.</p>
-</div>
+> **Attention :** Cette fonctionnalité est non standard et ne fonctionne que dans Firefox.
-<p>La feuille de style <code>chrome://browser/content/extension.css</code> contient également les styles des composants du panneau Firefox.</p>
+La feuille de style `chrome://browser/content/extension.css` contient également les styles des composants du panneau Firefox.
-<p>L'<a href="https://firefoxux.github.io/StyleGuide/#/navigation">ancien guide de style de Firefox</a> documente l'utilisation appropriée.</p>
+L'[ancien guide de style de Firefox](https://firefoxux.github.io/StyleGuide/#/navigation) documente l'utilisation appropriée.
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Element</th>
- <th scope="col">Exemple</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>Header</td>
- <td>
- <pre class="brush: html">
-&lt;header class="panel-section panel-section-header"&gt;
- &lt;div class="icon-section-header"&gt;&lt;img src="image.svg"/&gt;&lt;/div&gt;
- &lt;div class="text-section-header"&gt;Header&lt;/div&gt;
-&lt;/header&gt;</pre>
- </td>
- </tr>
- <tr>
- <td>Footer</td>
- <td>
- <pre class="brush: html">
-&lt;footer class="panel-section panel-section-footer"&gt;
- &lt;button class="panel-section-footer-button"&gt;Cancel&lt;/button&gt;
- &lt;div class="panel-section-footer-separator"&gt;&lt;/div&gt;
- &lt;button class="panel-section-footer-button default"&gt;Confirm&lt;/button&gt;
-&lt;/footer&gt;</pre>
- </td>
- </tr>
- <tr>
- <td>Tabs</td>
- <td>
- <pre class="brush: html">
-&lt;div class="panel-section panel-section-tabs"&gt;
- &lt;button class="panel-section-tabs-button selected"&gt;Tab&lt;/button&gt;
- &lt;div class="panel-section-tabs-separator"&gt;&lt;/div&gt;
- &lt;button class="panel-section-tabs-button"&gt;Tab&lt;/button&gt;
- &lt;div class="panel-section-tabs-separator"&gt;&lt;/div&gt;
- &lt;button class="panel-section-tabs-button"&gt;Tab&lt;/button&gt;
-&lt;/div&gt;</pre>
- </td>
- </tr>
- <tr>
- <td>Form</td>
- <td>
- <pre class="brush: html">
-&lt;div class="panel-section panel-section-formElements"&gt;
- &lt;div class="panel-formElements-item"&gt;
- &lt;label for="name01"&gt;Label:&lt;/label&gt;
- &lt;input type="text" value="Name" id="name01" /&gt;
- &lt;/div&gt;
- &lt;div class="panel-formElements-item"&gt;
- &lt;label for="picker01"&gt;Label:&lt;/label&gt;
- &lt;select id="picker01"&gt;
- &lt;option value="value1" selected="true"&gt;Dropdown&lt;/option&gt;
- &lt;option value="value2"&gt;List Item&lt;/option&gt;
- &lt;option value="value3"&gt;List Item&lt;/option&gt;
- &lt;/select&gt;
- &lt;/div&gt;
- &lt;div class="panel-formElements-item"&gt;
- &lt;label for="placeholder01"&gt;Label:&lt;/label&gt;
- &lt;input type="text" placeholder="Placeholder" id="placeholder01" /&gt;
- &lt;button name="expander" class="expander"&gt;&lt;/button&gt;
- &lt;/div&gt;
-&lt;/div&gt;</pre>
- </td>
- </tr>
- <tr>
- <td>Menu</td>
- <td>
- <pre class="brush: html">
-&lt;div class="panel-section panel-section-list"&gt;
- &lt;div class="panel-list-item"&gt;
- &lt;div class="icon"&gt;&lt;/div&gt;
- &lt;div class="text"&gt;List Item&lt;/div&gt;
- &lt;div class="text-shortcut"&gt;Ctrl-L&lt;/div&gt;
- &lt;/div&gt;
-
- &lt;div class="panel-list-item"&gt;
- &lt;div class="icon"&gt;&lt;/div&gt;
- &lt;div class="text"&gt;List Item&lt;/div&gt;
- &lt;div class="text-shortcut"&gt;&lt;/div&gt;
- &lt;/div&gt;
-
- &lt;div class="panel-section-separator"&gt;&lt;/div&gt;
-
- &lt;div class="panel-list-item disabled"&gt;
- &lt;div class="icon"&gt;&lt;/div&gt;
- &lt;div class="text"&gt;Disabled List Item&lt;/div&gt;
- &lt;div class="text-shortcut"&gt;&lt;/div&gt;
- &lt;/div&gt;
-
- &lt;div class="panel-section-separator"&gt;&lt;/div&gt;
-
- &lt;div class="panel-list-item"&gt;
- &lt;div class="icon"&gt;&lt;/div&gt;
- &lt;div class="text"&gt;List Item&lt;/div&gt;
- &lt;div class="text-shortcut"&gt;&lt;/div&gt;
- &lt;/div&gt;
-
- &lt;div class="panel-list-item"&gt;
- &lt;div class="icon"&gt;&lt;/div&gt;
- &lt;div class="text"&gt;List Item&lt;/div&gt;
- &lt;div class="text-shortcut"&gt;&lt;/div&gt;
- &lt;/div&gt;
-&lt;/div&gt;</pre>
- </td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Element</th>
+ <th scope="col">Exemple</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Header</td>
+ <td>
+ <pre class="brush: html">
+&#x3C;header class="panel-section panel-section-header">
+ &#x3C;div class="icon-section-header">&#x3C;img src="image.svg"/>&#x3C;/div>
+ &#x3C;div class="text-section-header">Header&#x3C;/div>
+&#x3C;/header></pre
+ >
+ </td>
+ </tr>
+ <tr>
+ <td>Footer</td>
+ <td>
+ <pre class="brush: html">
+&#x3C;footer class="panel-section panel-section-footer">
+ &#x3C;button class="panel-section-footer-button">Cancel&#x3C;/button>
+ &#x3C;div class="panel-section-footer-separator">&#x3C;/div>
+ &#x3C;button class="panel-section-footer-button default">Confirm&#x3C;/button>
+&#x3C;/footer></pre
+ >
+ </td>
+ </tr>
+ <tr>
+ <td>Tabs</td>
+ <td>
+ <pre class="brush: html">
+&#x3C;div class="panel-section panel-section-tabs">
+ &#x3C;button class="panel-section-tabs-button selected">Tab&#x3C;/button>
+ &#x3C;div class="panel-section-tabs-separator">&#x3C;/div>
+ &#x3C;button class="panel-section-tabs-button">Tab&#x3C;/button>
+ &#x3C;div class="panel-section-tabs-separator">&#x3C;/div>
+ &#x3C;button class="panel-section-tabs-button">Tab&#x3C;/button>
+&#x3C;/div></pre
+ >
+ </td>
+ </tr>
+ <tr>
+ <td>Form</td>
+ <td>
+ <pre class="brush: html">
+&#x3C;div class="panel-section panel-section-formElements">
+ &#x3C;div class="panel-formElements-item">
+ &#x3C;label for="name01">Label:&#x3C;/label>
+ &#x3C;input type="text" value="Name" id="name01" />
+ &#x3C;/div>
+ &#x3C;div class="panel-formElements-item">
+ &#x3C;label for="picker01">Label:&#x3C;/label>
+ &#x3C;select id="picker01">
+ &#x3C;option value="value1" selected="true">Dropdown&#x3C;/option>
+ &#x3C;option value="value2">List Item&#x3C;/option>
+ &#x3C;option value="value3">List Item&#x3C;/option>
+ &#x3C;/select>
+ &#x3C;/div>
+ &#x3C;div class="panel-formElements-item">
+ &#x3C;label for="placeholder01">Label:&#x3C;/label>
+ &#x3C;input type="text" placeholder="Placeholder" id="placeholder01" />
+ &#x3C;button name="expander" class="expander">&#x3C;/button>
+ &#x3C;/div>
+&#x3C;/div></pre
+ >
+ </td>
+ </tr>
+ <tr>
+ <td>Menu</td>
+ <td>
+ <pre class="brush: html">
+&#x3C;div class="panel-section panel-section-list">
+ &#x3C;div class="panel-list-item">
+ &#x3C;div class="icon">&#x3C;/div>
+ &#x3C;div class="text">List Item&#x3C;/div>
+ &#x3C;div class="text-shortcut">Ctrl-L&#x3C;/div>
+ &#x3C;/div>
+
+&#x3C;div class="panel-list-item">
+&#x3C;div class="icon">&#x3C;/div>
+&#x3C;div class="text">List Item&#x3C;/div>
+&#x3C;div class="text-shortcut">&#x3C;/div>
+&#x3C;/div>
+
+&#x3C;div class="panel-section-separator">&#x3C;/div>
+
+&#x3C;div class="panel-list-item disabled">
+&#x3C;div class="icon">&#x3C;/div>
+&#x3C;div class="text">Disabled List Item&#x3C;/div>
+&#x3C;div class="text-shortcut">&#x3C;/div>
+&#x3C;/div>
+
+&#x3C;div class="panel-section-separator">&#x3C;/div>
+
+&#x3C;div class="panel-list-item">
+&#x3C;div class="icon">&#x3C;/div>
+&#x3C;div class="text">List Item&#x3C;/div>
+&#x3C;div class="text-shortcut">&#x3C;/div>
+&#x3C;/div>
+
+&#x3C;div class="panel-list-item">
+&#x3C;div class="icon">&#x3C;/div>
+&#x3C;div class="text">List Item&#x3C;/div>
+&#x3C;div class="text-shortcut">&#x3C;/div>
+&#x3C;/div>
+&#x3C;/div></pre
+ >
+</td>
+</tr>
+
+ </tbody>
</table>
-<h3 id="Exemple">Exemple</h3>
-
-<h4 id="HTML">HTML</h4>
-
-<pre class="brush: html">&lt;header class="panel-section panel-section-header"&gt;
- &lt;div class="icon-section-header"&gt;&lt;!-- An image goes here. --&gt;&lt;/div&gt;
- &lt;div class="text-section-header"&gt;Header&lt;/div&gt;
-&lt;/header&gt;
-
-&lt;div class="panel-section panel-section-list"&gt;
- &lt;div class="panel-list-item"&gt;
- &lt;div class="icon"&gt;&lt;/div&gt;
- &lt;div class="text"&gt;List Item&lt;/div&gt;
- &lt;div class="text-shortcut"&gt;Ctrl-L&lt;/div&gt;
- &lt;/div&gt;
-
- &lt;div class="panel-list-item"&gt;
- &lt;div class="icon"&gt;&lt;/div&gt;
- &lt;div class="text"&gt;List Item&lt;/div&gt;
- &lt;div class="text-shortcut"&gt;&lt;/div&gt;
- &lt;/div&gt;
-
- &lt;div class="panel-section-separator"&gt;&lt;/div&gt;
-
- &lt;div class="panel-list-item disabled"&gt;
- &lt;div class="icon"&gt;&lt;/div&gt;
- &lt;div class="text"&gt;Disabled List Item&lt;/div&gt;
- &lt;div class="text-shortcut"&gt;&lt;/div&gt;
- &lt;/div&gt;
-
- &lt;div class="panel-section-separator"&gt;&lt;/div&gt;
-
- &lt;div class="panel-list-item"&gt;
- &lt;div class="icon"&gt;&lt;/div&gt;
- &lt;div class="text"&gt;List Item&lt;/div&gt;
- &lt;div class="text-shortcut"&gt;&lt;/div&gt;
- &lt;/div&gt;
-
- &lt;div class="panel-list-item"&gt;
- &lt;div class="icon"&gt;&lt;/div&gt;
- &lt;div class="text"&gt;List Item&lt;/div&gt;
- &lt;div class="text-shortcut"&gt;&lt;/div&gt;
- &lt;/div&gt;
-&lt;/div&gt;
-
-&lt;footer class="panel-section panel-section-footer"&gt;
- &lt;button class="panel-section-footer-button"&gt;Cancel&lt;/button&gt;
- &lt;div class="panel-section-footer-separator"&gt;&lt;/div&gt;
- &lt;button class="panel-section-footer-button default"&gt;Confirm&lt;/button&gt;
-&lt;/footer&gt;</pre>
-
-<pre class="brush: css hidden">/* Global */
+### Exemple
+
+#### HTML
+
+```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>
+```
+
+```css hidden
+/* Global */
html,
body {
background: white;
@@ -312,7 +331,7 @@ button.panel-section-tabs-button {
padding: 16px;
}
-.panel-section-header &gt; .icon-section-header {
+.panel-section-header > .icon-section-header {
background-position: center center;
background-repeat: no-repeat;
height: 32px;
@@ -321,7 +340,7 @@ button.panel-section-tabs-button {
width: 32px;
}
-.panel-section-header &gt; .text-section-header {
+.panel-section-header > .text-section-header {
align-self: center;
font-size: 1.385em;
font-weight: lighter;
@@ -355,16 +374,16 @@ button.panel-section-tabs-button {
color: #999;
}
-.panel-list-item &gt; .icon {
+.panel-list-item > .icon {
flex-grow: 0;
flex-shrink: 0;
}
-.panel-list-item &gt; .text {
+.panel-list-item > .text {
flex-grow: 10;
}
-.panel-list-item &gt; .text-shortcut {
+.panel-list-item > .text-shortcut {
color: #808080;
font-family: "Lucida Grande", caption;
font-size: .847em;
@@ -395,7 +414,7 @@ button.panel-section-tabs-button {
text-align: center;
}
-.panel-section-footer-button &gt; .text-shortcut {
+.panel-section-footer-button > .text-shortcut {
color: #808080;
font-family: "Lucida Grande", caption;
font-size: .847em;
@@ -429,9 +448,11 @@ button.panel-section-tabs-button {
background-color: rgba(0, 0, 0, 0.1);
width: 1px;
z-index: 99;
-}</pre>
+}
+```
-<pre class="brush: css">/* 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 &gt; body {
+html > body {
margin: auto;
}
.icon-section-header {
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj48Y2lyY2xlIGZpbGw9IiMzNjM5NTkiIGN4PSIxNSIgY3k9IjE1IiByPSIxNSIvPjwvc3ZnPg==");
-}</pre>
+}
+```
-<h4 id="Resultat">Resultat</h4>
+#### Resultat
-<p>{{EmbedLiveSample("Exemple","640","360")}}</p>
+{{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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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 <a href="/fr/Add-ons/WebExtensions/API/menus">browser.menus</a>.</p>
+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).
-<p><img src="context_menu_example.png"></p>
+![](context_menu_example.png)
-<p>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")}}.</p>
+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")}}.
-<p>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 "<a href="https://github.com/Rob--W/bookmark-container-tab">Open bookmark in Container Tab</a>" ajoute un élément de menu qui permet à l'utilisateur d'ouvrir une URL de signet dans un nouvel onglet de conteneur :</p>
+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 :
-<p><img alt="" src="extension_context_menu.png"></p>
+![](extension_context_menu.png)
-<h2 id="Spécification_des_éléments_du_menu_contextuel">Spécification des éléments du menu contextuel</h2>
+## Spécification des éléments du menu contextuel
-<p>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.</p>
+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"]
+```
-<pre class="brush: json">"permissions": ["contextMenus"]</pre>
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:
-<pre class="brush: js">browser.contextMenus.create({
+```js
+browser.contextMenus.create({
id: "log-selection",
title: browser.i18n.getMessage("contextMenuItemSelectionLogger"),
contexts: ["selection"]
-}, onCreated);</pre>
+}, onCreated);
+```
-<p>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.</p>
+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.
-<pre class="brush: js">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;
...
}
-})</pre>
+})
+```
-<h2 id="Icônes">Icônes</h2>
+## Icônes
-<p>Pour plus de détails sur la création d'icônes à utiliser avec votre menu contextuel, voir  <a href="https://design.firefox.com/photon/visuals/iconography.html">Iconography</a> dans la documentation du <a href="https://design.firefox.com/photon/index.html">Systeme de conception de Photon</a>.</p>
+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).
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le depot <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples de WebExtensions qui utilise les élements du menu contextuel :</p>
+Le depot [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilise les élements du menu contextuel :
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/menu-demo">menu-demo</a> ajoute différents éléments au menu contextuel.</li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/context-menu-copy-link-with-types">context-menu-copy-link-with-types</a> ajoute un élément de menu contextuel aux liens qui copient l'URL vers le presse-papiers, comme un texte brut et HTML enrichi.</li>
-</ul> \ 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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<div class="note">
-<p><strong>Note :</strong> Cette fonctionnalité deviendra disponible dans Firefox 54.</p>
-</div>
+> **Note :** Cette fonctionnalité deviendra disponible dans Firefox 54.
-<p>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.</p>
+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.
-<p><img src="developer_panel_tab.png"></p>
+![](developer_panel_tab.png)
-<h2 id="Spécification_d'un_panneau_d'outils_de_développement">Spécification d'un panneau d'outils de développement</h2>
+## Spécification d'un panneau d'outils de développement
-<p>Un panneau d'outils de développement est ajouté à l'aide de l'API <code><a href="/fr/Add-ons/WebExtensions/API/devtools.panels">devtools.panels</a></code>, qui, à son tour, doit être exécutée à partir d'une page spéciale devtools.</p>
+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.
-<p>Ajoutez la page devtools en incluant la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/devtools_page">devtools_page</a></code> dans l'extension <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a> et fournissez l'emplacement du fichier de la page HTML dans l'extension :</p>
+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 :
-<pre class="brush: json">"devtools_page": "devtools-page.html"</pre>
+```json
+"devtools_page": "devtools-page.html"
+```
-<p>Dans la page des devtools, appelez un script qui ajoutera un panneau dans devtools:</p>
+Dans la page des devtools, appelez un script qui ajoutera un panneau dans devtools:
-<pre class="brush: html">&lt;body&gt;
-  &lt;script src="devtools.js"&gt;&lt;/script&gt;
-&lt;/body&gt;</pre>
+```html
+<body>
+  <script src="devtools.js"></script>
+</body>
+```
-<p>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:</p>
+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:
-<pre class="brush: js">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) =&gt; {
+).then((newPanel) => {
newPanel.onShown.addListener(handleShown);
newPanel.onHidden.addListener(handleHidden);
-});</pre>
+});
+```
-<p>L'extension peut maintenant exécuter un code dans la fenêtre inspectée à l'aide de <a href="/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/eval"><code>devtools</code>.inspectedWindow.eval()</a> 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'<a href="/fr/Add-ons/WebExtensions/Extending_the_developer_tools">Extension des outils de développement.</a></p>
+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)
-<h2 id="Conception_du_panneau_de_développement">Conception du panneau de développement</h2>
+## Conception du panneau de développement
-<p>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 <a href="https://design.firefox.com/photon/index.html">Photon Design System</a>.</p>
+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).
-<h2 id="Icônes">Icônes</h2>
+## Icônes
-<p>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 <a href="https://design.firefox.com/photon/index.html">Photon Design System</a>.</p>
+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:
-<h2 id="Exemples">Exemples</h2>
-
-<p>Le depot <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples de WebExtensions qui utilisent les panneaux devtools:</p>
-
-<ul>
- <li>
- <p><a href="https://github.com/mdn/webextensions-examples/blob/master/devtools-panels/">devtools-panels</a> utilise la création d'un panneau dans devtools</p>
- </li>
-</ul>
+- [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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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.</p>
+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.
-<p><img src="bundled_page_as_panel_small.png"></p>
+![](bundled_page_as_panel_small.png)
-<p>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.</p>
+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.
-<p>Pensez à la page d'arrière-plan comme une « page cachée d’extension ».</p>
+Pensez à la page d'arrière-plan comme une « page cachée d’extension ».
-<h2 id="Spécification_des_pages_d’extension">Spécification des pages d’extension</h2>
+## Spécification des pages d’extension
-<p>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.***</p>
+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.\*\*\*
-<pre>/my-extension
- /manifest.json
- /my-page.html
- /my-page.js</pre>
+ /my-extension
+ /manifest.json
+ /my-page.html
+ /my-page.js
-<h2 id="Affichage_des_pages_d’extension">Affichage des pages d’extension</h2>
+## Affichage des pages d’extension
-<p>Il existe deux options pour afficher des pages d'extension :  {{WebExtAPIRef("windows.create()")}} et {{WebExtAPIRef("tabs.create()")}}.</p>
+Il existe deux options pour afficher des pages d'extension :  {{WebExtAPIRef("windows.create()")}} et {{WebExtAPIRef("tabs.create()")}}.
-<p>À l’aide de <code>windows.create()</code>, 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 :</p>
+À 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 :
-<pre class="brush: js">var createData = {
+```js
+var createData = {
type: "detached_panel",
url: "panel.html",
width: 250,
height: 100
};
-var creating = browser.windows.create(createData);</pre>
+var creating = browser.windows.create(createData);
+```
-<p>Lorsque la fenêtre n'est plus nécessaire, elle peut être fermée par programme.</p>
+Lorsque la fenêtre n'est plus nécessaire, elle peut être fermée par programme.
-<p>Par exemple, après que l’utilisateur a cliqué sur un bouton, en passant l’ID de la fenêtre actuelle à {{WebExtAPIRef("windows.remove()")}} :</p>
+Par exemple, après que l’utilisateur a cliqué sur un bouton, en passant l’ID de la fenêtre actuelle à {{WebExtAPIRef("windows.remove()")}} :
-<pre class="brush: js">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);
-});</pre>
+});
+```
-<h2 id="Pages_d’extension_et_historique">Pages d’extension et historique</h2>
+## Pages d’extension et historique
-<p>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 :</p>
+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 :
-<pre class="brush: js">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);</pre>
+browser.history.onVisited.addListener(onVisited);
+```
-<p>Pour utiliser l’API historique, vous devez demander la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> « <code>history</code> » dans votre fichier <code><a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a></code>.</p>
+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).
-<h2 id="Conception_des_pages_Web">Conception des pages Web</h2>
+## Conception des pages Web
-<p>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 <a href="https://design.firefox.com/photon/index.html">système de conception Photon</a> et les <a href="/fr/Add-ons/WebExtensions/user_interface/Browser_styles">styles de navigateur</a>.</p>
+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).
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le dépôt <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples de WebExtensions qui utilise une action de navigateur :</p>
+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 :
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/window-manipulator">window-manipulator</a> utilise les options pour créer une fenêtre</li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<div class="note">
-<p><strong>Note :</strong> 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 <a href="/fr/Add-ons/WebExtensions/User_experience_best_practices">bonnes pratiques de l'expérience utilisateur</a>.</p>
-</div>
+> **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).
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">UI option</th>
- <th scope="col">Description</th>
- <th scope="col" style="width: 350px;">Exemple</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a href="/fr/Add-ons/WebExtensions/user_interface/Browser_action">Bouton de la barre d'outils (action du navigateur)</a></td>
- <td>
- <p>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.</p>
- </td>
- <td><img src="browser-action.png"></td>
- </tr>
- <tr>
- <td>Bouton de la barre d'outils du navigateur avec un <a href="/fr/Add-ons/WebExtensions/user_interface/Popups">popup</a></td>
- <td>
- <p>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.</p>
- </td>
- <td><img src="popup-shadow.png"></td>
- </tr>
- <tr>
- <td><a href="/fr/Add-ons/WebExtensions/user_interface/Page_actions">Bouton de la barre d'addresse</a> (action page)</td>
- <td>
- <p>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.</p>
- </td>
- <td><img src="address_bar_button.png"></td>
- </tr>
- <tr>
- <td>Bouton de la barre d'addresse avec un <a href="/fr/Add-ons/WebExtensions/user_interface/Popups">popup</a></td>
- <td>
- <p>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.</p>
- </td>
- <td><img src="page_action_popup.png"></td>
- </tr>
- <tr>
- <td><a href="/fr/Add-ons/WebExtensions/user_interface/Context_menu_items">Elément du menu contextuel</a></td>
- <td>
- <p>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.</p>
- </td>
- <td><img src="context_menu_example.png"></td>
- </tr>
- <tr>
- <td><a href="/fr/Add-ons/WebExtensions/user_interface/Sidebars">Barre latérale</a></td>
- <td>
- <p>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.</p>
- </td>
- <td><img src="bookmarks-sidebar.png"></td>
- </tr>
- <tr>
- <td><a href="/fr/Add-ons/WebExtensions/user_interface/Options_pages">page d'options</a></td>
- <td>
- <p>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.</p>
- </td>
- <td><img src="options_page.png"></td>
- </tr>
- <tr>
- <td><a href="/fr/Add-ons/WebExtensions/user_interface/extension_pages">Extension pages</a></td>
- <td>
- <p>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.</p>
- </td>
- <td><img src="bundled_page_as_panel_small.png"></td>
- </tr>
- <tr>
- <td><a href="/fr/Add-ons/WebExtensions/user_interface/Notifications">Notifications</a></td>
- <td>
- <p>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).</p>
- </td>
- <td><img src="notify-shadowed.png"></td>
- </tr>
- <tr>
- <td><a href="/fr/Add-ons/WebExtensions/user_interface/Omnibox">Suggestions de la barre d'addresse</a></td>
- <td>
- <p>Offrez des suggestions de barèmes d'adresses personnalisées lorsque l'utilisateur entre un mot-clé.</p>
- </td>
- <td><img src="omnibox_example_small.png"></td>
- </tr>
- <tr>
- <td><a href="/fr/Add-ons/WebExtensions/user_interface/devtools_panels">Panneaux d'outils de développement</a></td>
- <td>
- <p>Un onglet avec un document HTML associé qui s'affiche dans les outils de développement du navigateur.</p>
- </td>
- <td><img src="developer_panel_tab.png"></td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">UI option</th>
+ <th scope="col">Description</th>
+ <th scope="col" style="width: 350px">Exemple</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Browser_action"
+ >Bouton de la barre d'outils (action du navigateur)</a
+ >
+ </td>
+ <td>
+ <p>
+ 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.
+ </p>
+ </td>
+ <td><img src="browser-action.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ Bouton de la barre d'outils du navigateur avec un
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Popups">popup</a>
+ </td>
+ <td>
+ <p>
+ 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.
+ </p>
+ </td>
+ <td><img src="popup-shadow.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Page_actions"
+ >Bouton de la barre d'addresse</a
+ >
+ (action page)
+ </td>
+ <td>
+ <p>
+ 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.
+ </p>
+ </td>
+ <td><img src="address_bar_button.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ Bouton de la barre d'addresse avec un
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Popups">popup</a>
+ </td>
+ <td>
+ <p>
+ 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.
+ </p>
+ </td>
+ <td><img src="page_action_popup.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Context_menu_items"
+ >Elément du menu contextuel</a
+ >
+ </td>
+ <td>
+ <p>
+ 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.
+ </p>
+ </td>
+ <td><img src="context_menu_example.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Sidebars"
+ >Barre latérale</a
+ >
+ </td>
+ <td>
+ <p>
+ 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.
+ </p>
+ </td>
+ <td><img src="bookmarks-sidebar.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Options_pages"
+ >page d'options</a
+ >
+ </td>
+ <td>
+ <p>
+ 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.
+ </p>
+ </td>
+ <td><img src="options_page.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="/fr/Add-ons/WebExtensions/user_interface/extension_pages"
+ >Extension pages</a
+ >
+ </td>
+ <td>
+ <p>
+ 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.
+ </p>
+ </td>
+ <td><img src="bundled_page_as_panel_small.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Notifications"
+ >Notifications</a
+ >
+ </td>
+ <td>
+ <p>
+ 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).
+ </p>
+ </td>
+ <td><img src="notify-shadowed.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="/fr/Add-ons/WebExtensions/user_interface/Omnibox"
+ >Suggestions de la barre d'addresse</a
+ >
+ </td>
+ <td>
+ <p>
+ Offrez des suggestions de barèmes d'adresses personnalisées lorsque
+ l'utilisateur entre un mot-clé.
+ </p>
+ </td>
+ <td><img src="omnibox_example_small.png" /></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="/fr/Add-ons/WebExtensions/user_interface/devtools_panels"
+ >Panneaux d'outils de développement</a
+ >
+ </td>
+ <td>
+ <p>
+ Un onglet avec un document HTML associé qui s'affiche dans les outils
+ de développement du navigateur.
+ </p>
+ </td>
+ <td><img src="developer_panel_tab.png" /></td>
+ </tr>
+ </tbody>
</table>
-<p>Les guides pratiques suivants fournissent des conseils étape par étape pour créer certaines options d'interface utilisateur:</p>
+Les guides pratiques suivants fournissent des conseils étape par étape pour créer certaines options d'interface utilisateur:
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/user_interface/lignes_directrices_en_matiere_accessibilite">Lignes directrices en matière d'accessibilité</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/Add_a_button_to_the_toolbar">Ajouter un bouton à la barre d'outils</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/user_interface/Browser_styles">Styles des navigateurs</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/Extending_the_developer_tools">Extension des outils de développement</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/Implement_a_settings_page">Mettre en place une page de paramètres</a></li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Les notifications vous permettent d'afficher des informations sur votre extension ou son contenu en utilisant le système d'exploitation sous-jacent.</p>
+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)
-<p><img alt="" src="notify-shadowed.png"></p>
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.
-<h2 id="Spécification_des_notifications">Spécification des notifications</h2>
+## Spécification des notifications
-<p>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 :</p>
+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 :
-<pre class="brush: json">"permissions": ["notifications"]</pre>
+```json
+"permissions": ["notifications"]
+```
-<p>Vous utilisez ensuite {{WebExtAPIRef("notifications.create")}} pour créer vos notifications, comme dans cet exemple de <a href="https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n">notify-link-clicks-i18n</a> :</p>
+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) :
-<pre class="brush: js">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
-});</pre>
+});
+```
-<p>Ce code crée une notification avec un icône, un titre et un message.</p>
+Ce code crée une notification avec un icône, un titre et un message.
-<p>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:</p>
+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:
-<pre class="brush: js">browser.notifications.onClicked.addListener(handleClick);</pre>
+```js
+browser.notifications.onClicked.addListener(handleClick);
+```
-<p>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é.</p>
+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é.
-<h2 id="Icônes">Icônes</h2>
+## Icônes
-<p>Pour plus d'informations sur la création d'icônes à utiliser avec votre notification, reportez-vous à la section <a href="https://design.firefox.com/photon/visuals/iconography.html">Iconography</a> dans la documentation <a href="https://design.firefox.com/photon/index.html">Photon Design System</a>.</p>
+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).
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le dépôt <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples de WebExtensions qui utilise la création de notifications :</p>
+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 :
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n">notify-link-clicks-i18n</a> utilise la création de notifications.</li>
-</ul> \ 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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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é.</p>
+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é.
-<p><img src="omnibox_example_small.png"></p>
+![](omnibox_example_small.png)
-<p>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.</p>
+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.
-<h2 id="Spécification_de_la_personnalisation_Omnibox">Spécification de la personnalisation Omnibox</h2>
+## Spécification de la personnalisation Omnibox
-<p>Vous dites à votre extension qu'il va personnaliser les suggestions de la barre d'adresse en incluant la clé <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/omnibox">omnibox</a> et la définition du mot-clé de déclenchement dans son fichier <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a> :</p>
+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) :
-<pre class="brush: json"> "omnibox": { "keyword" : "cs" }</pre>
+```json
+ "omnibox": { "keyword" : "cs" }
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">browser.omnibox.setDefaultSuggestion({
+```js
+browser.omnibox.setDefaultSuggestion({
description: `Search the firefox codebase
(e.g. "hello world" | "path:omnibox.js onInputChanged")`
-});</pre>
+});
+```
+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 :
-<p>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 :</p>
-
-<pre class="brush: js">browser.omnibox.onInputChanged.addListener((text, addSuggestions) =&gt; {
+```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);
-});</pre>
-
-<p>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.</p>
+});
+```
+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.
-<p>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:</p>
+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:
-<pre class="brush: js">browser.omnibox.onInputEntered.addListener((text, disposition) =&gt; {
+```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;
}
-});</pre>
-
+});
+```
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le depot <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples de WebExtensions qui utilise la personnalisation de omnibox</p>
+Le depot [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilise la personnalisation de omnibox
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/firefox-code-search">firefox-code-search</a> utilise la personnalisation de omnibox</li>
-</ul> \ 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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<div>
-<p>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:</p>
+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:
-<p>{{EmbedYouTube("eODy24csH5M")}}</p>
+{{EmbedYouTube("eODy24csH5M")}}
-<p>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.</p>
+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.
-<p>Vous pouvez ouvrir la page en programmant en appelant  <a href="/fr/Add-ons/WebExtensions/API/Runtime/openOptionsPage"><code>runtime.openOptionsPage()</code></a>.</p>
+Vous pouvez ouvrir la page en programmant en appelant  [`runtime.openOptionsPage()`](/fr/Add-ons/WebExtensions/API/Runtime/openOptionsPage).
-<p>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 <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/eval">eval()</a></code>. Voir la <a href="/fr/Add-ons/WebExtensions/Content_Security_Policy">politique de sécurité de contenu</a> pour plus de détails.</p>
+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.
-<h2 id="Spécification_de_la_page_doptions">Spécification de la page d'options</h2>
+## Spécification de la page d'options
-<p>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 <a href="https://github.com/mdn/webextensions-examples/tree/master/favourite-colour">favourite-colour</a>, comprend un fichier :</p>
+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 :
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
+```html
+<!DOCTYPE html>
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta charset="utf-8" /&gt;
- &lt;/head&gt;
+<html>
+ <head>
+ <meta charset="utf-8" />
+ </head>
-&lt;body&gt;
- &lt;form&gt;
- &lt;label&gt;Favourite colour&lt;/label&gt;
- &lt;input type="text" id="colour" &gt;
- &lt;button type="submit"&gt;Save&lt;/button&gt;
- &lt;/form&gt;
- &lt;script src="options.js"&gt;&lt;/script&gt;
-&lt;/body&gt;
+<body>
+ <form>
+ <label>Favourite colour</label>
+ <input type="text" id="colour" >
+ <button type="submit">Save</button>
+ </form>
+ <script src="options.js"></script>
+</body>
-&lt;/html&gt;</pre>
+</html>
+```
-<p>JavaScript en cours d'exécution dans la page peut utiliser toutes les <a href="/fr/Add-ons/WebExtensions/API">APIs des WebExtension</a> auxquelles l'extension a des <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a>. En particulier, vous pouvez utiliser l'API <a href="/fr/Add-ons/WebExtensions/API/Storage"><code>storage</code></a> pour conserver les préférences.</p>
+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.
-<p>Insérez les fichiers de la page dans votre extension.</p>
+Insérez les fichiers de la page dans votre extension.
-<p>Vous devez également inclure une clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code> dans votre fichier manifest.json, en lui donnant l'URL de la page.</p>
+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.
-<pre class="brush: json">"options_ui": {
+```json
+"options_ui": {
"page": "options.html",
"browser_style": true
-},</pre>
+},
+```
-<div class="note">
-<p><strong>Note:</strong> <strong>Google Chrome</strong> et <strong>Opera</strong> utilisent <code>chrome_style</code> au lieu de <code>browser_style</code>, donc si vous souhaitez les prendre en charge, vous devez ajouter les deux clés.</p>
-</div>
+> **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.
-<p>Voir la page <code><a href="/fr/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code> pour les <strong>options de partage</strong> entre votre page d'options et les scripts d'arrière-plan ou de contenu.</p>
+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.
-<h2 id="Options_de_conception_de_contenu">Options de conception de contenu</h2>
+## Options de conception de contenu
-<p>Pour plus de détails sur la façon de concevoir le contenu de vos options en fonction du style de Firefox, voir le <a href="https://design.firefox.com/photon/index.html">system de conception Photon</a> et les <a href="/fr/Add-ons/WebExtensions/user_interface/Browser_styles">styles de navigateur</a> documentation.</p>
+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.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le depot <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples de WebExtensions qui utilisent les options de page :</p>
+Le depot [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilisent les options de page :
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/favourite-colour">favourite-colour</a> utilise les options de page</li>
-</ul>
-</div>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Généralement appelée <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/pageAction">action de page</a>, 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.</p>
+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.
-<p><img alt="" src="address_bar_button.png"></p>
+![](address_bar_button.png)
-<h2 id="Actions_de_pages_et_actions_du_navigateur">Actions de pages et actions du navigateur</h2>
+## Actions de pages et actions du navigateur
-<p>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).</p>
+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).
-<p>Les différences sont :</p>
+Les différences sont :
-<ul>
- <li><strong>L'emplacement du bouton :</strong>
+- **L'emplacement du bouton :**
- <ul>
- <li>L'action de la page s'affiche dans la barre d'adresse du navigateur.</li>
- <li>L'action du navigateur s'affiche en dehors de la barre d'adresse, dans la barre d'outils du navigateur.</li>
- </ul>
- </li>
- <li>La visibilité du bouton <strong>:</strong>
- <ul>
- <li>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/page_action">manifest </a>des clés <code>show_matches</code> et <code>hide_matches</code>), et vous appelez <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/PageAction/show"><code>pageAction.show()</code></a> et <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/PageAction/hide"><code>pageAction.hide()</code></a> pour l'afficher ou la masquer dans des onglets spécifiques.</li>
- <li>L'action du navigateur est toujours affichée.</li>
- </ul>
- </li>
-</ul>
+ - 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.
-<p>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 :</p>
+- La visibilité du bouton **:**
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="row">Type</th>
- <th scope="col">Bookmarks action</th>
- <th scope="col">Content action</th>
- <th scope="col">Tabs operation</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">page action</th>
- <td>Bookmark this page</td>
- <td>Reddit enhancement</td>
- <td>Send tab</td>
- </tr>
- <tr>
- <th scope="row">browser action</th>
- <td>Show all bookmarks</td>
- <td>Enable ad-blocking</td>
- <td>Sync all open tabs</td>
- </tr>
- </tbody>
-</table>
+ - 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 :
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="row">Type</th>
+ <th scope="col">Bookmarks action</th>
+ <th scope="col">Content action</th>
+ <th scope="col">Tabs operation</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th scope="row">page action</th>
+ <td>Bookmark this page</td>
+ <td>Reddit enhancement</td>
+ <td>Send tab</td>
+ </tr>
+ <tr>
+ <th scope="row">browser action</th>
+ <td>Show all bookmarks</td>
+ <td>Enable ad-blocking</td>
+ <td>Sync all open tabs</td>
+ </tr>
+ </tbody>
+</table>
-<h2 id="Spécification_de_l'action_de_la_page">Spécification de l'action de la page</h2>
+## Spécification de l'action de la page
-<p>Vous définissez les propriétés de la clé de l'<code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action">action de page</a></code> dans le manifest.json:</p>
+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:
-<pre class="brush: json">"page_action": {
+```json
+"page_action": {
"browser_style": true,
"default_icon": {
"19": "button/geo-19.png",
"38": "button/geo-38.png"
},
"default_title": "Whereami?",
-}</pre>
-
-<p>La seule clé obligatoire est <code>default_icon</code>.</p>
-
-<p>Il y a deux façons de spécifier une action de page : avec ou sans <a href="/fr/Add-ons/WebExtensions/Popups">popup</a>.</p>
+}
+```
-<ul>
- <li><strong>Sans popup:</strong> Lorsque l'utilisateur clique sur le bouton, un événement est envoyé à l'extension, que l'extension écoute pour utiliser <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/pageAction/onClicked"><code>pageAction.onClicked</code></a>:</li>
- <li>
- <pre class="brush: js">browser.pageAction.onClicked.addListener(handleClick);</pre>
- </li>
- <li><strong>Avec un popup:</strong> L'événement <code>click</code> 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 <a href="/fr/Add-ons/WebExtensions/Popups">Popup </a>pour plus de détails sur la création et la gestion des popups.</li>
-</ul>
+La seule clé obligatoire est `default_icon`.
-<p>Notez que votre extension ne peut avoir qu'une seule page action.</p>
+Il y a deux façons de spécifier une action de page : avec ou sans [popup](/fr/Add-ons/WebExtensions/Popups).
-<p>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 <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/pageAction">pageAction</a></code>.</p>
+- **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.
-<h2 id="Icônes">Icônes</h2>
+Notez que votre extension ne peut avoir qu'une seule page action.
-<p>Pour plus de détails sur la création d'icônes à utiliser avec l'action de votre page, voir   <a href="https://design.firefox.com/photon/visuals/iconography.html">Iconography</a> dans la documentation du <a href="https://design.firefox.com/photon/index.html">Photon Design System</a>.</p>
+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).
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le dépôt <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples de WebExtensions qui utilisent la page action :</p>
+Le dépôt [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilisent la page action :
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/chill-out">chill-out</a> utilise une action de navigateur sans popup</li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<div>
-<p>Une fenêtre contextuelle est une boîte de dialogue associée à un <a href="/fr/Add-ons/WebExtensions/Browser_action">bouton de la barre d'outils</a> ou à un <a href="/fr/Add-ons/WebExtensions/Page_actions">bouton de la barre d'adresse</a>. 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..</p>
+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..
-<p><img alt="" src="page_action_popup.png"></p>
+![](page_action_popup.png)
-<p>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 <code><a href="/fr/docs/Web/API/Window/close">window.close()</a></code> à 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.</p>
+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.
-<p>Vous pouvez définir un raccourci clavier qui ouvre la fenêtre contextuelle en utilisant les raccourcis <code>"_execute_browser_action"</code> et <code>"_execute_page_action"</code>. Consultez la clé de <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/commands">commande</a></code> de la documentation du manifest.json.</p>
+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.
-<h2 id="Spécification_dune_fenêtre_contextuelle">Spécification d'une fenêtre contextuelle</h2>
+## Spécification d'une fenêtre contextuelle
-<p>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 <a href="/fr/Add-ons/WebExtensions/API">APIs WebExtension</a> auxquelles l'extension possède des <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a>.</p>
+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).
-<p>Le fichier HTML est inclus dans la WebExtension et spécifié en partie à la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code> ou <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action">page_action</a> par <code>"default_popup"</code> dans le manifest.json :</p>
+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 :
-<pre class="brush: json"> "browser_action": {
+```json
+ "browser_action": {
"default_icon": "icons/beasts-32.png",
"default_title": "Beastify",
"default_popup": "popup/choose_beast.html"
- }</pre>
+ }
+```
-<p>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 <code>"browser_style": true</code> dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code> ou <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action">page_action</a>.</p>
+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).
-<p>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 <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/eval">eval()</a></code>. Voir la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy">politique de sécurité du contenu</a>  pour plus de détails à ce sujet.</p>
+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.
-<h2 id="Déboguer_des_fenêtres_pop-up">Déboguer des fenêtres pop-up</h2>
+## Déboguer des fenêtres pop-up
-<p>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. <a href="/fr/Add-ons/WebExtensions/Debugging#Debugging_popups">En savoir plus sur le débogage des fenêtres pop-up</a>.</p>
+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).
-<h2 id="Redimensionnement_contextuel">Redimensionnement contextuel</h2>
+## Redimensionnement contextuel
-<p>Le redimensionnement automatique des fenêtres contextuelles correspond à leur contenu.<br>
- L'algorithme pour cela peut être différent d'un navigateur à l'autre.</p>
+Le redimensionnement automatique des fenêtres contextuelles correspond à leur contenu.
+L'algorithme pour cela peut être différent d'un navigateur à l'autre.
-<p>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 <code><a href="/fr/docs/Web/HTML/Element/body">&lt;body&gt;</a></code>.</p>
+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>`](/fr/docs/Web/HTML/Element/body).
-<p>Pour le mode quirks, c'est l'élément <code><a href="/fr/docs/Web/HTML/Element/html">&lt;html&gt;</a></code>. 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 <strong>800x600 pixels</strong> au maximum si cela correspond à l'écran de l'utilisateur. (Avant Firefox 60, c'était seulement 680px.) . Si l'utilisateur <a href="https://support.mozilla.org/en-US/kb/customize-firefox-controls-buttons-and-toolbars#w_customize-the-menu-or-the-toolbar">déplace le bouton du complément dans le menu</a> 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.</p>
+Pour le mode quirks, c'est l'élément [`<html>`](/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.
-<p>Dans Firefox Android 57, la popup s'ouvre comme une page web dans un nouvel onglet.</p>
+Dans Firefox Android 57, la popup s'ouvre comme une page web dans un nouvel onglet.
-<h2 id="Design_de_la_popup">Design de la popup</h2>
+## Design de la popup
-<p>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 <a href="https://design.firefox.com/photon/index.html">Photon Design System</a>.</p>
+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).
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Le dépôt <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples de WebExtensions qui utilisent l'action du navigateur :</p>
+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 :
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/beastify">beastify</a> utilise l'action du navigateur.</li>
-</ul>
-</div>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>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 &gt; 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.</p>
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:
-<p><img alt="" src="bookmarks-sidebar.png">En utilisant la clé <code>sidebar_action</code> 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.</p>
+![](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.
-<p>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.</p>
+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.
-<p>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()")}} :</p>
+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()")}} :
-<pre class="brush: js">// sidebar.js
-browser.windows.getCurrent({populate: true}).then((windowInfo) =&gt; {
+```js
+// sidebar.js
+browser.windows.getCurrent({populate: true}).then((windowInfo) => {
myWindowId = windowInfo.id;
-});</pre>
+});
+```
-<p>Ceci est utile si une barre latérale veut afficher différents contenus pour différentes fenêtres. Par exemple, regardez l'<a href="https://github.com/mdn/webextensions-examples/tree/master/annotate-page">exemple "annotate-page"</a>.</p>
+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).
-<p>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()")}}.</p>
+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()")}}.
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<h2 id="Spécification_des_barres_latérales">Spécification des barres latérales</h2>
+## Spécification des barres latérales
-<p>Pour spécifier une barre latérale, définissez le document par défaut avec la clé du manifest.json  <code><a href="/fr/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a></code>, à côté d'un titre et d'une icône par défaut :</p>
+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 :
-<pre class="brush: json">"sidebar_action": {
+```json
+"sidebar_action": {
"default_title": "My sidebar",
"default_panel": "sidebar.html",
"default_icon": "sidebar_icon.png"
-}</pre>
+}
+```
-<p>Le titre, le panneau et l'icône peuvent être modifiés par programme en utilisant l'API {{WebExtAPIRef ("sidebarAction")}}.</p>
+Le titre, le panneau et l'icône peuvent être modifiés par programme en utilisant l'API {{WebExtAPIRef ("sidebarAction")}}.
-<p>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 &gt; Barre latérale" dans le menu Firefox.</p>
+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.
-<h2 id="Concept_de_la_barre_latérale">Concept de la barre latérale</h2>
+## Concept de la barre latérale
-<p>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 <a href="https://design.firefox.com/photon/index.html">Système de conception Photon</a>.</p>
+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).
-<h2 id="Exemple">Exemple</h2>
+## Exemple
-<p>Le dépôt <a href="https://github.com/mdn/webextensions-examples">webextensions-examples</a> sur GitHub contient plusieurs exemples de WebExtensions qu utilise une barre latérale:</p>
+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:
-<ul>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/annotate-page">annotate-page</a> utilise la barre latérale</li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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 :</p>
+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 :
-<p><strong>Améliorer ou compléter un site web</strong> : 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.</p>
+**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.
-<p><img alt="" src="amazon_add_on.png"></p>
+![](amazon_add_on.png)
-<p>Exemples: <a href="https://addons.mozilla.org/en-US/firefox/addon/amazon-browser-bar/">Amazon Assistant for Firefox</a>, <a href="https://addons.mozilla.org/en-US/firefox/addon/onenote-clipper/">OneNote Web Clipper</a>, and <a href="https://addons.mozilla.org/en-US/firefox/addon/grammarly-1/">Grammarly for Firefox</a></p>
+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/)
-<p><strong>Laissez les utilisateurs montrer leur personnalité </strong>: 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 <a href="/fr/Add-ons/Themes/Theme_concepts">add-ons de thème</a>.</p>
+**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).
-<p><img alt="" src="myweb_new_tab_add_on.png"></p>
+![](myweb_new_tab_add_on.png)
-<p>Exemples: <a href="https://addons.mozilla.org/en-US/firefox/addon/myweb-new-tab/">MyWeb New Tab</a>, <a href="https://addons.mozilla.org/en-US/firefox/addon/tabliss/">Tabliss</a>, et <a href="https://addons.mozilla.org/en-US/firefox/addon/vivaldifox/">VivaldiFox</a></p>
+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/)
-<p><strong>Ajouter ou supprimer du contenu de pages web </strong>: 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.</p>
+**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.
-<p><img alt="" src="ublock_origin_add_on.png"></p>
+![](ublock_origin_add_on.png)
-<p>Exemples : <a href="https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/">uBlock Origin</a>, <a href="https://addons.mozilla.org/en-US/firefox/addon/reader/">Reader</a>, et <a href="https://addons.mozilla.org/en-US/firefox/addon/toolbox-google-play-store/">Toolbox for Google Play Store™</a></p>
+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/)
-<p><strong>Ajout d'outils et de nouvelles fonctionnalités de navigation</strong>: 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 <a href="/fr/Add-ons/WebExtensions">APIs WebExtensions</a>, 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.</p>
+**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.
-<p><img alt="" src="qr_code_image_generator_add_on.png"></p>
+![](qr_code_image_generator_add_on.png)
-<p>Exemples: <a href="https://addons.mozilla.org/en-US/firefox/addon/qr-code-image-generator/">QR Code Image Generator</a>, <a href="https://addons.mozilla.org/en-US/firefox/addon/swimlanes-for-trello/">Swimlanes for Trello</a>, et <a href="https://addons.mozilla.org/en-US/firefox/addon/tomato-clock/">Tomato Clock</a></p>
+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/)
-<p><strong>Jeux </strong>: 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.)</p>
+**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.)
-<p><img alt="" src="asteroids_in_popup_add_on_.png"></p>
+![](asteroids_in_popup_add_on_.png)
-<p>Exemples: <a href="https://addons.mozilla.org/en-US/firefox/addon/asteroids-in-popup/">Asteroids in Popup</a>, <a href="https://addons.mozilla.org/en-US/firefox/addon/solitaire-card-game-new-tab/">Solitaire Card Game New Tab</a>, et <a href="https://addons.mozilla.org/en-US/firefox/addon/2048-prime/">2048 Prime</a>.</p>
+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/).
-<p><strong>Ajouter des outils de développement </strong>: 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.</p>
+**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.
-<p><img alt="" src="axe_developer_tools_add_on.png"></p>
+![](axe_developer_tools_add_on.png)
-<p>Exemples: <a href="https://addons.mozilla.org/en-US/firefox/addon/web-developer/">Web Developer</a>, <a href="https://addons.mozilla.org/en-US/firefox/addon/react-devtools/">Web React Developer Tools</a>, et <a href="https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/">aXe Developer Tools</a></p>
+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/)
-<p>Les Extensions pour Firefox sont construites à l'aide d'<a href="/fr/Add-ons/WebExtensions">APIs WebExtensions</a>, un système multi-navigateur pour développer des extensions. De manière générale, L'API est compatible avec l' <a href="https://developer.chrome.com/extensions">API d'extension</a> 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 <a href="/fr/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension">changements</a>. L'API est également entièrement compatible avec <a href="/fr/Firefox/Multiprocess_Firefox">Firefox multi-processus</a>.</p>
+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).
-<p>Si vous avez des idées ou des questions, ou si vous avez besoin d'aide pour <a href="https://extensionworkshop.com/documentation/develop/porting-a-legacy-firefox-extension/">migrer un module complémentaire hérité vers les API WebExtensions</a>, vous pouvez nous contacter via la  <a href="https://mail.mozilla.org/listinfo/dev-addons">la mailing-liste dev-addons</a> ou dans le <a href="https://chat.mozilla.org/#/room/#addons:mozilla.org">room des add-ons </a>sur <a href="https://wiki.mozilla.org/Matrix">Matrix</a>.</p>
+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).
-<h2 id="Pour_aller_plus_loin"> Pour aller plus loin?</h2>
+##  Pour aller plus loin?
-<ul>
- <li>Parcourez le développement d'une extension simple dans <a href="/fr/Add-ons/WebExtensions/Your_first_WebExtension">votre première extension</a>.</li>
- <li>En savoir plus sur la structure d'une extensions en consultant <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension">Architecture d'une extension</a>.</li>
- <li>Essayez quelques exemples d'extensions dans les <a href="/fr/Add-ons/WebExtensions/Examples">extensions exemples</a>.</li>
-</ul>
+- 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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Vous pouvez trouver plus d'informations sur de nombreux sujets abordés sur cette page sur <a href="https://extensionworkshop.com">l'atelier d'extension</a>, un site web dédié à vous aider à écrire, tester, publier et distribuer des extensions pour Firefox.</p>
+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.
-<h2 id="Votre_environnement_de_développement">Votre environnement de développement</h2>
+## Votre environnement de développement
-<p>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.</p>
+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.
-<p>Si vous utilisez des outils de minimisation ou d'obscurcissement pour fournir votre code final, vous devez fournir votre code source au <a href="#The_review_process">processus de révision AMO</a>. 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.</p>
+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.
-<p><a href="https://extensionworkshop.com/documentation/develop/browser-extension-development-tools/">En savoir plus sur les outils de développement sur l'atelier d'extensions</a></p>
+[En savoir plus sur les outils de développement sur l'atelier d'extensions](https://extensionworkshop.com/documentation/develop/browser-extension-development-tools/)
-<h2 id="Bibliothèques_tierces">Bibliothèques tierces</h2>
+## Bibliothèques tierces
-<p>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 <a href="#The_review_processv">processus de révision AMO</a>, 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.</p>
+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.
-<p><a href="https://extensionworkshop.com/documentation/publish/source-code-submission/">En savoir plus sur la soumission du code source sur l'atelier d'extensions</a></p>
+[En savoir plus sur la soumission du code source sur l'atelier d'extensions](https://extensionworkshop.com/documentation/publish/source-code-submission/)
-<h2 id="Laccord_de_distribution_des_modules_complémentaires_de_Firefox">L'accord de distribution des modules complémentaires de   Firefox</h2>
+## L'accord de distribution des modules complémentaires de   Firefox
-<p>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.</p>
+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.
-<p><a href="https://extensionworkshop.com/documentation/publish/firefox-add-on-distribution-agreement/">Lire l'accord sur l'atelier d'extensions</a></p>
+[Lire l'accord sur l'atelier d'extensions](https://extensionworkshop.com/documentation/publish/firefox-add-on-distribution-agreement/)
-<p><a href="https://extensionworkshop.com/documentation/publish/signing-and-distribution-overview/">En savoir plus sur la signature de l'atelier extensions</a></p>
+[En savoir plus sur la signature de l'atelier extensions](https://extensionworkshop.com/documentation/publish/signing-and-distribution-overview/)
-<h2 id="Le_processus_dexamen">Le processus d'examen</h2>
+## Le processus d'examen
-<p>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.</p>
+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.
-<p><a href="https://extensionworkshop.com/documentation/publish/add-on-policies/">Consultez la politique de révision et les lignes directrices sur l'atelier d'extensions</a></p>
+[Consultez la politique de révision et les lignes directrices sur l'atelier d'extensions](https://extensionworkshop.com/documentation/publish/add-on-policies/)
-<h2 id="AMO_a_présenté_des_extensions_de_navigateur">AMO a présenté des extensions de navigateur</h2>
+## AMO a présenté des extensions de navigateur
-<p>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.</p>
+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.
-<p><a href="https://extensionworkshop.com/documentation/publish/recommended-extensions/">En savoir plus sur la  façon de faire figurer vos modules complémentaires dans l'atelier d'extension</a></p>
+[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/)
-<h2 id="Continuez_votre_expérience_dapprentissage">Continuez votre expérience d'apprentissage</h2>
+## Continuez votre expérience d'apprentissage
-<p>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 :</p>
+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 :
-<ul>
- <li>En savoir plus sur les concepts fondamentaux des extensions de navigateur, en commençant par les détails sur l'<a href="/fr/Add-ons/WebExtensions/API">utilisation des APIs Javascript</a>.</li>
- <li>Un guide des <a href="/fr/Add-ons/WebExtensions/user_interface">composants de l'interface utilisateur</a> disponibles pour les extensions de votre navigateur.</li>
- <li>Une collection de guides pratiques sur la réalisation des tâches clés dans vos extensions ou l'utilisation des API JavaScript.</li>
- <li>Un guide de référence complet sur les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs">APIs JavaScript</a>.</li>
- <li>Un guide de référence complet sur les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json">clés du manifeste</a>.</li>
-</ul>
+- 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).
-<p>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 :</p>
+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 :
-<ul>
- <li><a href="https://extensionworkshop.com/#about">Un aperçu des fonctionnalités des extensions dans Firefox</a></li>
- <li><a href="https://extensionworkshop.com/documentation/develop/">Les détails des outils et des processus de développement et de tests</a></li>
- <li><a href="https://extensionworkshop.com/documentation/publish/">Comment publier votre extensions sur addons.mozilla.org ou la distribuer vous-même</a></li>
- <li><a href="https://extensionworkshop.com/documentation/manage/">Comment gérer votre extension publiée</a></li>
- <li><a href="https://extensionworkshop.com/documentation/enterprise/">Un guide entreprise pour le développement et l'utilisation des extensions</a></li>
- <li><a href="https://extensionworkshop.com/documentation/themes/">Comment développer des thèmes pour Firefox</a></li>
- <li><a href="https://extensionworkshop.com/community/">Des détails sur les communautés de développeurs de Firefox</a></li>
-</ul>
+- [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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<p>Pour plus d'informations sur cette fonctionnalité, voir :</p>
+Pour plus d'informations sur cette fonctionnalité, voir :
-<ul>
- <li><a href="https://blog.mozilla.org/firefox/introducing-firefox-multi-account-containers/">Mettez vos multiples personnalités en ligne dans Firefox Multi-Compte ContaYouiners (anglais)</a></li>
- <li><a href="https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers">Securité / Projet d'identité contextuelle / conteneurs (anglais)</a></li>
- <li><a href="https://support.mozilla.org/fr/kb/onglets-contextuels-avec-les-containers">Article de support Firefox sur les conteneurs (français)</a></li>
-</ul>
+- [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)
-<h2 id="API_pour_travailler_avec_des_identités_contextuelles">API pour travailler avec des identités contextuelles</h2>
+## API pour travailler avec des identités contextuelles
-<p>Pour utiliser les fonctionnalités d'identité contextuelle dans les extensions, vous utiliserez deux APIs :</p>
+Pour utiliser les fonctionnalités d'identité contextuelle dans les extensions, vous utiliserez deux APIs :
-<ul>
- <li>{{WebExtAPIRef("contextualIdentities")}} qui permet à une extension d'ajouter, d'interroger, de mettre à jour et de supprimer des identités contextuelles.</li>
- <li>{{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).</li>
-</ul>
+- {{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).
-<h2 id="Permissions">Permissions</h2>
+## Permissions
-<p>Pour utiliser l'API {{WebExtAPIRef("contextualIdentities")}} vous devez inclure la  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "contextualIdentities" dans votre fichier <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a>. 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.</p>
+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.
-<h2 id="Exemple_de_procédure_pas_à_pas">Exemple de procédure pas à pas</h2>
+## Exemple de procédure pas à pas
-<p>L'exemple d'extension <a href="https://github.com/mdn/webextensions-examples/tree/master/contextual-identities">contextual-identities</a> 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é.</p>
+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é.
-<p>Voici une courte vidéo de l'extension en action :</p>
+Voici une courte vidéo de l'extension en action :
-<p>{{EmbedYouTube("SgLCS7_ppas")}}</p>
+{{EmbedYouTube("SgLCS7_ppas")}}
-<h3 id="manifest.json">manifest.json</h3>
+### manifest.json
-<p>Les principales caractéristiques du fichier <a href="https://github.com/mdn/webextensions-examples/blob/master/contextual-identities/manifest.json">manifest.json</a> sont :</p>
+Les principales caractéristiques du fichier [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/contextual-identities/manifest.json) sont :
-<ul>
- <li>La demande de permissions :
- <pre class="brush: json">  "permissions": [
-      "contextualIdentities",
-      "cookies"
-  ],</pre>
- </li>
- <li>spécification du bouton de la barre d'outils (browseAction) donnant accès aux fonctionnalités de l'extension :
- <pre class="brush: json">  "browser_action": {
-    "browser_style": true,
-    "default_title": "Contextual Identities",
-    "default_popup": "context.html",
-    "default_icon": {
-      "128": "identity.svg"
-    }</pre>
- </li>
-</ul>
+- La demande de permissions :
-<h2 id="context.html">context.html</h2>
+ ```json
+   "permissions": [
+       "contextualIdentities",
+       "cookies"
+   ],
+ ```
-<p>Une fenêtre contextuelle sur le bouton de la barre d'outils fournit l'interface utilisateur de l'extension. <a href="https://github.com/mdn/webextensions-examples/blob/master/contextual-identities/context.html">context.html</a> 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.</p>
+- spécification du bouton de la barre d'outils (browseAction) donnant accès aux fonctionnalités de l'extension :
-<pre class="brush: html">  &lt;body&gt;
-    &lt;div class="panel"&gt;
-      &lt;div id="identity-list"&gt;&lt;/div&gt;
-    &lt;/div&gt;
-  &lt;script src="context.js"&gt;&lt;/script&gt;
-  &lt;/body&gt;</pre>
+ ```json
+   "browser_action": {
+     "browser_style": true,
+     "default_title": "Contextual Identities",
+     "default_popup": "context.html",
+     "default_icon": {
+       "128": "identity.svg"
+     }
+ ```
-<h2 id="context.js">context.js</h2>
+## context.html
-<p>Toutes les fonctionnalités de l'extension sont implémentées via <a href="https://github.com/mdn/webextensions-examples/blob/master/contextual-identities/context.js">context.js</a>, qui est appelée chaque fois que la barre d'outils est affichée.</p>
+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.
-<p>Le script obtient d'abord le div 'identity-list' depuis context.html.</p>
+```html
+  <body>
+    <div class="panel">
+      <div id="identity-list"></div>
+    </div>
+  <script src="context.js"></script>
+  </body>
+```
-<pre class="brush: json">var div = document.getElementById('identity-list');</pre>
+## context.js
-<p>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.</p>
+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.
-<pre class="brush: json">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 {</pre>
+} else {
+```
-<p>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.</p>
+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.
-<p>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.</p>
+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.
-<pre class="brush: json">  browser.contextualIdentities.query({})
-    .then((identities) =&gt; {
+```json
+  browser.contextualIdentities.query({})
+    .then((identities) => {
      if (!identities.length) {
        div.innerText = 'No identities returned from the API.';
        return;
-      }</pre>
+      }
+```
-<p>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 &lt;div&gt;. La fonction <code>createOptions()</code> ajoute ensuite les options à “create” ou  “close all” à la &lt;div&gt; avant qu'elle ne soit ajoutée au popup.</p>
+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.
-<pre class="brush: json">     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);
  }
-}</pre>
+}
+```
-<p>Le script attend maintenant que l'utilisateur sélectionne une option dans le popup.</p>
+Le script attend maintenant que l'utilisateur sélectionne une option dans le popup.
-<pre class="brush: js">function eventHandler(event) {</pre>
+```js
+function eventHandler(event) {
+```
-<p>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é.</p>
+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é.
-<pre class="brush: json">  if (event.target.dataset.action == 'create') {
+```json
+  if (event.target.dataset.action == 'create') {
    browser.tabs.create({
      url: 'about:blank',
      cookieStoreId: event.target.dataset.identity
    });
-  }</pre>
+  }
+```
-<p>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 à <code>tabs.remove</code>.</p>
+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`.
-<pre class="brush: json">  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) =&gt; {
-      browser.tabs.remove(tabs.map((i) =&gt; i.id));
+    }).then((tabs) => {
+      browser.tabs.remove(tabs.map((i) => i.id));
    });
  }
  event.preventDefault();
-}</pre>
+}
+```
+
+## Apprendre encore plus
+
+Si vous voulez en savoir plus sur l'API contextualIdentities, consultez :
-<h2 id="Apprendre_encore_plus">Apprendre encore plus</h2>
+- [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/).
-<p>Si vous voulez en savoir plus sur l'API contextualIdentities, consultez :</p>
+ 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.
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/API/contextualIdentities">contextualIdentities API reference</a>.</li>
- <li>code source de l'extension <a href="https://github.com/mozilla/multi-account-containers/#readme">Multi-Account Containers</a>. C'est le code pour l'extension <a href="/fr/firefox/addon/multi-account-containers/">Firefox Multi-Account Containers</a>.
- <p>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.</p>
- .</li>
-</ul>
+ .
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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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.</p>
+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
-<h2 id="Permissions">Permissions</h2>
+```json
+"permissions": [
+  "bookmarks"
+],
+```
-<p>Pour utiliser l'API Bookmarks, vous devez demander la permission <code>"bookmarks"</code> dans le fichier manifest.json de votre extension</p>
+## Caractéristiques
-<pre class="brush: json">"permissions": [
-  "bookmarks"
-],</pre>
-
-<h2 id="Caractéristiques">Caractéristiques</h2>
-
-<p>L'API Bookmarks permet à votre extension de faire ce que les utilisateurs peuvent faire avec les signets et inclut des fonctions pour :</p>
-
-<ul>
- <li>Manipulation élémentaire d'un signet, offrant :
- <ul>
- <li>Ajouter ({{WebExtAPIRef("bookmarks.create")}}).</li>
- <li>Récupérer ({{WebExtAPIRef("bookmarks.get")}}).</li>
- <li>Mettre à jour ({{WebExtAPIRef("bookmarks.update")}}).</li>
- <li>Déplacer ({{WebExtAPIRef("bookmarks.move")}}).</li>
- <li>Supprimer ({{WebExtAPIRef("bookmarks.remove")}}).</li>
- <li>Rechercher ({{WebExtAPIRef("bookmarks.search")}}).</li>
- </ul>
- </li>
- <li>Obtention d'une liste de signets récemment ajoutés ({{WebExtAPIRef("bookmarks.getRecent")}}).</li>
- <li>Signet la manipulation de l'arborescence des dossiers pour :
- <ul>
- <li>Obtenir des informations sur l'arborescence  ({{WebExtAPIRef("bookmarks.getTree")}}, {{WebExtAPIRef("bookmarks.getChildren")}}, and {{WebExtAPIRef("bookmarks.getSubTree")}}).</li>
- <li>Ajouter des branches ({{WebExtAPIRef("bookmarks.create")}}).</li>
- <li>Supprimer des noeuds ({{WebExtAPIRef("bookmarks.removeTree")}}).</li>
- <li>Déplacer des nœuds ({{WebExtAPIRef("bookmarks.move")}}).</li>
- </ul>
- </li>
- <li>Écoute des événements de signets (ou de dossiers d'arborescence de signets) qui :
- <ul>
- <li>Ajouter ({{WebExtAPIRef("bookmarks.onCreated")}}).</li>
- <li>Changer ({{WebExtAPIRef("bookmarks.onChanged")}}).</li>
- <li>Déplacer ({{WebExtAPIRef("bookmarks.onMoved")}}.</li>
- <li>Ré-order ({{WebExtAPIRef("bookmarks.onChildrenReordered")}}).</li>
- <li>Supprimer ({{WebExtAPIRef("bookmarks.onRemoved")}}).</li>
- </ul>
- </li>
- <li>Écoute des importations de signets, qui peuvent être utilisées pour suspendre le traitement d'un autre signet pendant l'importation :
- <ul>
- <li>Importer commencé ({{WebExtAPIRef("bookmarks.onImportBegan")}}).</li>
- <li>Importer terminé ({{WebExtAPIRef("bookmarks.onImportEnded")}}).</li>
- </ul>
- </li>
-</ul>
-
-<h2 id="Exemple_de_procédure_pas_à_pas">Exemple de procédure pas à pas</h2>
-
-<p>Pour comprendre comment utiliser l'API Bookmarks, jetons un coup d'œil à l'exemple  <a href="https://github.com/mdn/webextensions-examples/tree/master/bookmark-it">bookmark-it</a>. 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.</p>
-
-<p>Cette vidéo montre l'extension en action :</p>
-
-<p>{{EmbedYouTube("hCDN0FotiFw")}}</p>
-
-<h3 id="manifest.json">manifest.json</h3>
-
-<p>Le <a href="https://github.com/mdn/webextensions-examples/blob/master/bookmark-it/manifest.json">manifest.json</a> décrit l'extension :</p>
-
-<pre class="brush: 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",</pre>
+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 :
-<p>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.</p>
+ - 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.
-<pre class="brush: json">  "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"
-  },</pre>
+  },
+```
-<p>Demande des permissions. <code>"bookmarks"</code> est demandé pour permettre l'utilisation de l'API Bookmarks. Des <code>"onglets"</code> 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.</p>
+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.
-<pre class="brush: json">  "permissions": [
+```json
+  "permissions": [
    "bookmarks",
    "tabs"
-  ],</pre>
+  ],
+```
-<p>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.</p>
+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.
-<pre class="brush: json">  "browser_action": {
+```json
+  "browser_action": {
    "default_icon": "icons/star-empty-38.png",
    "default_title": "Bookmark it!"
-  },</pre>
+  },
+```
-<p>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.</p>
+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.
-<pre class="brush: json">  "background": {
+```json
+  "background": {
    "scripts": ["background.js"]
  }
-}</pre>
+}
+```
-<h3 id="background.js">background.js</h3>
+### background.js
-<p>Comme pour tout script d'arrière-plan, <a href="https://github.com/mdn/webextensions-examples/blob/master/bookmark-it/background.js">background.js</a>est exécuté dès que l'extension est démarrée. Initialement, le script appelle <code>updateActiveTab()</code> qui commence par obtenir l'objet <code>Tabs</code> pour l'onglet en cours, en utilisant {{WebExtAPIRef("tabs.query")}}, et en passant l'objet à <code>updatetab()</code> avec ce code :</p>
+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 :
-<pre class="brush: js">  var gettingActiveTab = browser.tabs.query({active: true, currentWindow: true});
-  gettingActiveTab.then(updateTab);</pre>
+```js
+  var gettingActiveTab = browser.tabs.query({active: true, currentWindow: true});
+  gettingActiveTab.then(updateTab);
+```
-<p><code>updatetab()</code> passe d'abord l'URL de l'onglet actif à <code>isSupportedProtocol()</code>:</p>
+`updatetab()` passe d'abord l'URL de l'onglet actif à `isSupportedProtocol()`:
-<pre class="brush: js">  function updateTab(tabs) {
+```js
+  function updateTab(tabs) {
    if (tabs[0]) {
      currentTab = tabs[0];
-      if (isSupportedProtocol(currentTab.url)) {</pre>
+      if (isSupportedProtocol(currentTab.url)) {
+```
-<p><code>isSupportedProtocol()</code> 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 <a href="/fr/docs/Web/API/HTMLHyperlinkElementUtils">HTMLHyperlinkElementUtils</a> by adding the tab’s URL to an <code>&lt;a&gt;</code> element and then getting the protocol using the <code>protocol</code> property.</p>
+`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 `<a>` element and then getting the protocol using the `protocol` property.
-<pre class="brush: js">  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;
-  }</pre>
+  }
+```
-<p>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 <code>updateIcon()</code>:</p>
+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()`:
-<pre class="brush: js">      var searching = browser.bookmarks.search({url: currentTab.url});
-      searching.then((bookmarks) =&gt; {
+```js
+      var searching = browser.bookmarks.search({url: currentTab.url});
+      searching.then((bookmarks) => {
        currentBookmark = bookmarks[0];
-        updateIcon();</pre>
+        updateIcon();
+```
-<p><code>updateIcon()</code> 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.</p>
+`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.
-<pre class="brush: js">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
  });
-}</pre>
+}
+```
-<p>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 <code>toggleBookmark()</code> lorsque cela se produit.</p>
+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.
-<pre class="brush: js">browser.browserAction.onClicked.addListener(toggleBookmark);</pre>
+```js
+browser.browserAction.onClicked.addListener(toggleBookmark);
+```
-<p><code>toggleBookmark()</code> utilise le résultat de la recherche effectuée par <code>updateTabs()</code>, 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.</p>
+`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.
-<pre class="brush: js">function toggleBookmark() {
+```js
+function toggleBookmark() {
  if (currentBookmark) {
    browser.bookmarks.remove(currentBookmark.id);
  } else {
    browser.bookmarks.create({title: currentTab.title, url: currentTab.url});
  }
-}</pre>
+}
+```
-<p>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.</p>
+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.
-<pre class="brush: js">// 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);</pre>
+browser.bookmarks.onRemoved.addListener(updateActiveTab);
+```
-<p>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.</p>
+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.
-<pre class="brush: js">// 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);</pre>
+browser.windows.onFocusChanged.addListener(updateActiveTab);
+```
-<h2 id="Apprendre_encore_plus">Apprendre encore plus</h2>
+## Apprendre encore plus
-<p>Si vous voulez en savoir plus, consultez la <a href="/fr/Add-ons/WebExtensions/API/bookmarks">référence de l'API Bookmarks</a>.</p>
+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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<div class="note">
-<p><strong>Note :</strong> Le comportement des cookies peut être contrôlé à l'aide de la propriété {{WebExtAPIRef("privacy.websites")}} <code>cookieConfig</code>. 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.</p>
-</div>
+> **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.
-<h2 id="Permissions">Permissions</h2>
+## Permissions
-<p>Pour utiliser l'API Cookies, vous devez demander à la fois la permission <code>"cookies"</code> et les  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôte</a> pour les protocoles, domaines, ou sites web auxquels vous souhaitez accéder ou utiliser <code>"&lt;all_urls&gt;"</code> 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.</p>
+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 `"<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.
-<div>
<table>
- <colgroup>
- <col>
- <col>
- <col>
- <col>
- <col>
- </colgroup>
- <tbody>
- <tr>
- <td rowspan="2">
- <p>Chaine de permission hôte</p>
- </td>
- <td colspan="2">
- <p>Lecture</p>
- </td>
- <td colspan="2">
- <p>Ecriture/Effacer</p>
- </td>
- </tr>
- <tr>
- <td>
- <p>Sécurisé</p>
- </td>
- <td>
- <p>Non-sécurisé</p>
- </td>
- <td>
- <p>Sécurisé</p>
- </td>
- <td>
- <p>Non-sécurisé</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>"http://*.example.com/"</code></p>
- </td>
- <td>
- <p>Non</p>
- </td>
- <td>
- <p>Principaux et sous domaines, avec n'importe quel chemin</p>
- </td>
- <td>
- <p>Principaux et sous domaines, avec n'importe quel chemin</p>
- </td>
- <td>
- <p>Principaux et sous domaines, avec n'importe quel chemin</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>"https://www.example.com/"</code></p>
- </td>
- <td>
- <p>www.example.com ou .example.com avec n'importe quel chemin, mais aucun sous domaine</p>
- </td>
- <td>
- <p>www.example.com ou .example.com avec n'importe quel chemin, mais aucun sous domaine</p>
- </td>
- <td>
- <p>www.example.com ou .example.com avec n'importe quel chemin, mais aucun sous domaine</p>
- </td>
- <td>
- <p>www.example.com ou .example.com avec n'importe quel chemin, mais aucun sous domaine</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>"*://*.example.com/"</code></p>
- </td>
- <td>
- <p>Principaux et sous domaines, avec n'importe quel chemin</p>
- </td>
- <td>
- <p>Principaux et sous domaines, avec n'importe quel chemin</p>
- </td>
- <td>
- <p>Principaux et sous domaines, avec n'importe quel chemin</p>
- </td>
- <td>
- <p>Principaux et sous domaines, avec n'importe quel chemin</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>"&lt;all_urls&gt;"</code></p>
- </td>
- <td>
- <p>Tout domaine avec un chemin</p>
- </td>
- <td>
- <p>Tout domaine avec un chemin</p>
- </td>
- <td>
- <p>Tout domaine avec un chemin</p>
- </td>
- <td>
- <p>Tout domaine avec un chemin</p>
- </td>
- </tr>
- </tbody>
+ <colgroup>
+ <col />
+ <col />
+ <col />
+ <col />
+ <col />
+ </colgroup>
+ <tbody>
+ <tr>
+ <td rowspan="2"><p>Chaine de permission hôte</p></td>
+ <td colspan="2"><p>Lecture</p></td>
+ <td colspan="2"><p>Ecriture/Effacer</p></td>
+ </tr>
+ <tr>
+ <td><p>Sécurisé</p></td>
+ <td><p>Non-sécurisé</p></td>
+ <td><p>Sécurisé</p></td>
+ <td><p>Non-sécurisé</p></td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>"http://*.example.com/"</code></p>
+ </td>
+ <td><p>Non</p></td>
+ <td><p>Principaux et sous domaines, avec n'importe quel chemin</p></td>
+ <td><p>Principaux et sous domaines, avec n'importe quel chemin</p></td>
+ <td><p>Principaux et sous domaines, avec n'importe quel chemin</p></td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>"https://www.example.com/"</code></p>
+ </td>
+ <td>
+ <p>
+ www.example.com ou .example.com avec n'importe quel chemin, mais aucun
+ sous domaine
+ </p>
+ </td>
+ <td>
+ <p>
+ www.example.com ou .example.com avec n'importe quel chemin, mais aucun
+ sous domaine
+ </p>
+ </td>
+ <td>
+ <p>
+ www.example.com ou .example.com avec n'importe quel chemin, mais aucun
+ sous domaine
+ </p>
+ </td>
+ <td>
+ <p>
+ www.example.com ou .example.com avec n'importe quel chemin, mais aucun
+ sous domaine
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>"*://*.example.com/"</code></p>
+ </td>
+ <td><p>Principaux et sous domaines, avec n'importe quel chemin</p></td>
+ <td><p>Principaux et sous domaines, avec n'importe quel chemin</p></td>
+ <td><p>Principaux et sous domaines, avec n'importe quel chemin</p></td>
+ <td><p>Principaux et sous domaines, avec n'importe quel chemin</p></td>
+ </tr>
+ <tr>
+ <td>
+ <p><code>"&#x3C;all_urls>"</code></p>
+ </td>
+ <td><p>Tout domaine avec un chemin</p></td>
+ <td><p>Tout domaine avec un chemin</p></td>
+ <td><p>Tout domaine avec un chemin</p></td>
+ <td><p>Tout domaine avec un chemin</p></td>
+ </tr>
+ </tbody>
</table>
-</div>
-<h2 id="Banque_de_cookies">Banque de cookies</h2>
+## Banque de cookies
-<p>Firefox fournit trois types de banque de cookies :</p>
+Firefox fournit trois types de banque de cookies :
-<ul>
- <li>La banque par défaut, qui stocke les cookies de la navigation normale.</li>
- <li>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.</li>
- <li>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 <a href="https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers">Sécurité/Projet d'identité contextuelle/Conteneurs</a> dans le wiki Mozilla.</li>
-</ul>
+- 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.
-<p>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.</p>
+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.
-<h2 id="Exemple_de_procédure_pas_à_pas">Exemple de procédure pas à pas</h2>
+## Exemple de procédure pas à pas
-<p>L'exemple d'extension <a href="https://github.com/mdn/webextensions-examples/tree/master/cookie-bg-picker">cookie-bg-picker</a> 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.</p>
+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.
-<p>Cette vidéo montre l'extension en action :</p>
+Cette vidéo montre l'extension en action :
-<p>{{EmbedYouTube("_rlp3eYqEMA")}}</p>
+{{EmbedYouTube("_rlp3eYqEMA")}}
-<p>Cet exemple utilise également les API Tabs et Runtime, mais nous ne discuterons de ces fonctionnalités qu'en passant.</p>
+Cet exemple utilise également les API Tabs et Runtime, mais nous ne discuterons de ces fonctionnalités qu'en passant.
-<h3 id="manifest.json">manifest.json</h3>
+### manifest.json
-<p>The key feature of the <a href="https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/manifest.json">manifest.json</a> file relating to the use of the Cookies API is the permissions request:</p>
+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:
-<pre class="brush: json">  "permissions": [
+```json
+  "permissions": [
      "tabs",
      "cookies",
-      "&lt;all_urls&gt;"
-],</pre>
+      "<all_urls>"
+],
+```
-<p>Ici, l'extension demande l'autorisation d'utiliser l'API Cookies (<code>"cookies"</code>) avec tous les sites Web (<code>"&lt;all_urls&gt;"</code>). Cela permet à l'extension d'enregistrer le choix de l'icône de couleur d'arrière-plan pour n'importe quel site Web.</p>
+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.
-<h3 id="Scripts—bgpicker.js">Scripts—bgpicker.js</h3>
+### Scripts—bgpicker.js
-<p>L'interface utilisateur de l'extension utilise un bouton de barre d'outils ({{WebExtAPIRef("browserAction")}}) implémenté avec <a href="https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/popup/bgpicker.html">bgpicker.html</a> qui appelle <a href="https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/popup/bgpicker.js">bgpicker.js</a>. 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.</p>
+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.
-<p><a href="https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/popup/bgpicker.js">bgpicker.js</a> 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.</p>
+[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.
-<p>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 :</p>
+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 :
-<pre class="brush: js">var bgBtns = document.querySelectorAll('.bg-container button');</pre>
+```js
+var bgBtns = document.querySelectorAll('.bg-container button');
+```
-<p>Il boucle ensuite à travers tous les boutons en leur assignant leur image et en créant un écouteur onclick pour chaque bouton :</p>
+Il boucle ensuite à travers tous les boutons en leur assignant leur image et en créant un écouteur onclick pour chaque bouton :
-<pre class="brush: js">for(var i = 0; i &lt; 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) {</pre>
+  bgBtns[i].onclick = function(e) {
+```
-<p>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 (<a href="https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/content_scripts/updatebg.js">updatebg.js</a>) en utilisant un message. Le script de contenu applique ensuite l'icône à l'arrière-plan de la page Web. Pendant ce temps, <a href="https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/popup/bgpicker.js">bgpicker.js</a> stocke les détails de l'icône appliquée à l'arrière-plan dans un cookie :</p>
+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 :
-<pre class="brush: js">    cookieVal.image = fullURL;
+```js
+    cookieVal.image = fullURL;
    browser.cookies.set({
    url: tabs[0].url,
    name: "bgpicker",
    value: JSON.stringify(cookieVal)
-  })</pre>
+  })
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">    cookieVal.color = currColor;
+```js
+    cookieVal.color = currColor;
    browser.cookies.set({
    url: tabs[0].url,
    name: "bgpicker",
-    value: JSON.stringify(cookieVal)</pre>
+    value: JSON.stringify(cookieVal)
+```
-<p>Lorsque l'utilisateur clique sur le bouton de réinitialisation qui a été affecté à la réinitialisation de la variable :</p>
+Lorsque l'utilisateur clique sur le bouton de réinitialisation qui a été affecté à la réinitialisation de la variable :
-<pre class="brush: js">var reset = document.querySelector('.color-reset button');</pre>
+```js
+var reset = document.querySelector('.color-reset button');
+```
-<p><code>reset.onclick</code> 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 (<a href="https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/content_scripts/updatebg.js">updatebg.js</a>) 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 :</p>
+`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 :
-<pre class="brush: js">    cookieVal = { image : '',
+```js
+    cookieVal = { image : '',
                  color : '' };
    browser.cookies.remove({
    url: tabs[0].url,
-    name: "bgpicker"</pre>
+    name: "bgpicker"
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js">browser.cookies.onChanged.addListener((changeInfo) =&gt; {
+```js
+browser.cookies.onChanged.addListener((changeInfo) => {
  console.log(`Cookie changed:\n
    * Cookie: ${JSON.stringify(changeInfo.cookie)}\n
    * Cause: ${changeInfo.cause}\n
    * Removed: ${changeInfo.removed}`);
-  });</pre>
+  });
+```
-<h3 id="Scripts—background.js">Scripts—background.js</h3>
+### Scripts—background.js
-<p>Un script d'arrière-plan (<a href="https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/background_scripts/background.js">background.js</a>) 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, <code>cookieUpdate()</code> est appelée.  <code>cookieUpdate()</code> utilise à son tour <code>getActiveTab()</code> 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 :</p>
+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 :
-<pre class="brush: js">    var gettingCookies = browser.cookies.get({
+```js
+    var gettingCookies = browser.cookies.get({
      url: tabs[0].url,
      name: "bgpicker"
-    });</pre>
+    });
+```
-<p>Si le cookie <code>"bgpicker"</code> 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 <a href="https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/content_scripts/updatebg.js">updatebg.js</a> à l'aide de messages :</p>
+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 :
-<pre class="brush: js">    gettingCookies.then((cookie) =&gt; {
+```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});
      }
-    });</pre>
+    });
+```
-<h2 id="Autres_caractéristiques">Autres caractéristiques</h2>
+## Autres caractéristiques
-<p>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.</p>
+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.
-<h2 id="Apprendre_encore_plus">Apprendre encore plus</h2>
+## Apprendre encore plus
-<p>Si vous voulez en savoir plus sur l'API Cookies, consultez :</p>
+Si vous voulez en savoir plus sur l'API Cookies, consultez :
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/API/cookies">Cookies API reference</a>.</li>
- <li><a href="https://github.com/mdn/webextensions-examples/tree/master/list-cookies">List-cookies</a> exemple.</li>
-</ul>
+- [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
---
-<div>{{AddonSidebar()}}</div>
+{{AddonSidebar()}}
-<p>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 :</p>
+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 :
-<ul>
- <li>Téléchargement de fichiers dans le dossier de téléchargement sélectionné de l'utilisateur.</li>
- <li>Ouverture de fichiers à l'aide d'un sélecteur de fichiers dans une page Web.</li>
- <li>Ouverture de fichiers par glisser-déposer sur une page Web.</li>
- <li>Enregistrement de fichiers ou de blobs localement avec IndexedDB à l'aide de la bibliothèque idb-file-storage.</li>
- <li>Transmission de fichiers à une application native sur l'ordinateur de l'utilisateur.</li>
-</ul>
+- 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.
-<p>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.</p>
+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.
-<h2 id="Téléchargement_de_fichiers_avec_l'API_de_téléchargement">Téléchargement de fichiers avec l'API de téléchargement</h2>
+## Téléchargement de fichiers avec l'API de téléchargement
-<p>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 :</p>
+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 :
-<pre class="brush: js">browser.downloads.download({ url : ‘https://example.org/image.png’ })</pre>
+```js
+browser.downloads.download({ url : ‘https://example.org/image.png’ })
+```
-<p>Vous pouvez laisser l'utilisateur télécharger à un endroit de son choix en précisant le paramètre<code>saveAs</code>.</p>
+Vous pouvez laisser l'utilisateur télécharger à un endroit de son choix en précisant le paramètre`saveAs`.
-<div class="note">
-<p><strong>Note :</strong> En utilisant <a href="/fr/docs/Web/API/URL/createObjectURL">URL.createObjectURL()</a>, vous pouvez également télécharger des fichiers et des blobs définis dans votre JavaScript, y compris le contenu local extrait de IndexedDB.</p>
-</div>
+> **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.
-<p>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.</p>
+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.
-<p>Pour utiliser cette API, vous devez avoir les <a href="/fr/docs/Web/API/Permissions#API_permissions">permissions API</a> "downloads" spécifiées dans votre fichier<a href="/fr/Add-ons/WebExtensions/manifest.json"> manifest.json</a>.</p>
+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).
-<p>Exemple : <a href="https://github.com/mdn/webextensions-examples/tree/master/latest-download">Latest download</a><br>
- API référence : <a href="/fr/Add-ons/WebExtensions/API/downloads">downloads API</a></p>
+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)
-<h2 id="Ouverture_de_fichiers_dans_une_extension_avec_un_sélecteur_de_fichiers">Ouverture de fichiers dans une extension avec un sélecteur de fichiers</h2>
+## Ouverture de fichiers dans une extension avec un sélecteur de fichiers
-<p>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 <code>file</code> de l'élément <code>input</code> 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 <a href="/fr/docs/Web/API/File">DOM File API</a>, de la même manière qu'une application web.</p>
+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.
-<p>Exemple : <a href="https://github.com/mdn/webextensions-examples/tree/master/imagify">Imagify</a><br>
- Guide : <a href="/fr/docs/Using_files_from_web_applications">Using files from web applications</a><br>
- API références : <a href="/fr/docs/Web/HTML/Element/input/file">HTML input element</a> | <a href="/fr/docs/Web/API/File">DOM File API</a></p>
+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)
-<div class="note">
-<p><strong>Note :</strong> Si vous souhaitez accéder ou traiter tous les fichiers dans un dossier sélectionné, vous pouvez le faire en utilisant <code>&lt;input type="file" webkitdirectory="true"/&gt;</code>pour sélectionner le dossier et récupérer tous les fichiers qu'il contient.</p>
-</div>
+> **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.
-<h2 id="Ouverture_de_fichiers_dans_une_extension_avec_glisser-déposer">Ouverture de fichiers dans une extension avec glisser-déposer</h2>
+## Ouverture de fichiers dans une extension avec glisser-déposer
-<p>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<a href="/fr/docs/Web/Events/dragenter"> dragenter</a> <em>(entrer)</em>,<a href="/fr/docs/Web/Events/dragover"> dragover</a> <em>(glisser)</em>, et<a href="/fr/docs/Web/Events/drop"> drop</a>  <em>(déposer)</em>. 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 <a href="/fr/docs/Web/API/DataTransfer/files">DataTransfer.files</a>. Votre code peut alors accéder aux fichiers et les traiter en utilisant le <a href="/fr/docs/Web/API/File">DOM File API</a>.</p>
+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).
-<p>Exemple : <a href="https://github.com/mdn/webextensions-examples/tree/master/imagify">Imagify</a><br>
- Guides : <a href="/fr/docs/Using_files_from_web_applications">Using files from web applications</a> | <a href="/fr/docs/Web/API/HTML_Drag_and_Drop_API/File_drag_and_drop">File drag and drop</a><br>
- API référence : <a href="/fr/docs/Web/API/File">DOM File API</a></p>
+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)
-<h2 id="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</h2>
+## Enregistrement de fichiers de données localement avec la bibliothèque de stockage de fichiers IndexedDB
-<p>Si votre extension doit enregistrer des fichiers localement, <a href="https://www.npmjs.com/package/idb-file-storage">idb-file-storage library</a> fournit une simple enveloppe de <a href="/fr/docs/Web/API/API_IndexedDB">IndexedDB API</a> pour faciliter le stockage et la récupération des fichiers et des blobs .</p>
+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 .
-<p>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.)</p>
+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.)
-<p>Les principales caractéristiques de la bibliothèque sont les suivantes :</p>
+Les principales caractéristiques de la bibliothèque sont les suivantes :
-<ul>
- <li><a href="https://rpl.github.io/idb-file-storage/function/index.html#static-function-getFileStorage">getFileStorage</a> qui renvoie une instance IDBFileStorage, créant le stockage nommé s'il n'existe pas.</li>
- <li><a href="https://rpl.github.io/idb-file-storage/class/src/idb-file-storage.js~IDBFileStorage.html">IDBFileStorage</a> qui fournit les méthodes pour sauvegarder et récupérer des fichiers tels que :
- <ul>
- <li>liste pour obtenir une liste de fichiers éventuellement filtrée dans la base de données.</li>
- <li>mettre un fichier ou un blob dans la base de données.</li>
- <li>récupérer un fichier ou un blob à partir de la base de données.</li>
- <li>supprimer pour effacer un fichier ou un blob à partir de la base de données.</li>
- </ul>
- </li>
-</ul>
+- [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 :
-<p>L'exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/store-collected-images/webextension-plain">Store Collected Images</a> illustre comment utiliser la plupart de ces fonctionnalités. (IDBMutableFile n'est pas inclus, mais vous pouvez trouver des exemples dans le <a href="https://rpl.github.io/idb-file-storage/examples/">idb-file-storage examples</a> ainsi qu'un certain nombre d'autres exemples de la bibliothèque en action).</p>
+ - 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.
-<p>L'exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/store-collected-images/webextension-plain">Store Collected Images</a> 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. <a href="https://youtu.be/t6aVqMMe2Rc">Voir l'exemple en action</a>.</p>
+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).
-<p>Le fonctionnement de la bibliothèque peut être compris en regardant <a href="https://github.com/mdn/webextensions-examples/blob/master/store-collected-images/webextension-plain/utils/image-store.js">image-store.js</a> dans /utils/ :</p>
+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).
-<h3 id="Création_du_stockage_et_enregistrement_des_images">Création du stockage et enregistrement des images</h3>
+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/ :
-<pre class="brush: js">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);
}
-}</pre>
+}
+```
-<p><code>saveCollectedBlobs</code> 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, <code>getFileStorage</code> 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 <code>storedImages</code>. <code>storedImages.put</code> 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<code>imagesStore.list()</code> 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.</p>
+`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.
-<h3 id="Récupération_des_images_stockées_pour_l'affichage">Récupération des images stockées pour l'affichage</h3>
+### Récupération des images stockées pour l'affichage
-<pre class="brush: js">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;
}
-</pre>
+```
-<p><code>loadStoredImages</code> est appelé lorsque l'utilisateur clique sur la vue ou la recharge dans la page de navigation de la collection. <code>getFileStorage</code> ouvre la base de données "images stockées", puis <code>imagesStore.list</code>obtient une liste filtrée des images stockées. Cette liste est ensuite utilisée pour récupérer des images avec <code>imagesStore.get</code> et créer une liste retournée à l'interface utilisateur.</p>
+`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.
-<p>Notez l'utilisation de <a href="/fr/docs/Web/API/URL/createObjectURL">URL.createObjectURL(blob)</a> pour créer une URL qui fait référence au blob image. Cette URL est ensuite utilisée dans l'interface utilisateur (<a href="https://github.com/mdn/webextensions-examples/blob/master/store-collected-images/webextension-plain/navigate-collection.js">navigate-collection.js</a><a href="https://github.com/mdn/webextensions-examples/blob/master/store-collected-images/webextension-plain/navigate-collection.js">collection.js</a>) pour afficher l'image.</p>
+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.
-<h3 id="Suppression_d'images_collectées">Suppression d'images collectées</h3>
+### Suppression d'images collectées
-<pre class="brush: js">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);
 }
}
-</pre>
+```
-<p><code>removeStoredImages</code> est appelé lorsque l'utilisateur clique sur "Delete" <em>(supprimer)</em> dans la page de navigation de la collection. À nouveau, <code>getFileStorage</code>ouvre la base de données “stored-images”  et <code>imagesStore.remove</code> supprime chaque image à partir de la liste filtrée des images.</p>
+`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.
-<p>Notez l'utilisation de <a href="/fr/docs/Web/API/URL/revokeObjectURL">URL.revokeObjectURL()</a> 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.</p>
+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.
-<p>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 <code>SRC</code> d'un <code>IMG</code> 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.</p>
+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.
-<p>Exemple : <a href="https://github.com/mdn/webextensions-examples/tree/master/store-collected-images/webextension-plain">Store Collected Images</a><br>
- API Référence :  <a href="https://rpl.github.io/idb-file-storage/">idb-file-storage library</a></p>
+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/)
-<div class="note">
-<p><strong>Note :</strong> Vous pouvez également utiliser l' <a href="/fr/docs/Web/API/API_IndexedDB">IndexedDB API</a> 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 <a href="/fr/Add-ons/WebExtensions/API/Storage">Storage API</a>.</p>
-</div>
+> **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).
-<h2 id="Traitement_de_fichiers_dans_une_application_locale">Traitement de fichiers dans une application locale</h2>
+## Traitement de fichiers dans une application locale
-<p>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.</p>
+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.
-<p>Vous avez deux options :</p>
+Vous avez deux options :
-<ul>
- <li>Messagerie basée sur la connexion. Ici, vous déclenchez le processus avec "runtime.connectNative()", qui renvoie un objet <a href="/fr/Add-ons/WebExtensions/API/runtime/Port">runtime.Port</a>. 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.</li>
- <li>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.</li>
-</ul>
+- 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.
-<p>Pour ajouter le fichier ou le blob, vous souhaitez que l'application native utilise <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify">JSON.stringify()</a>.</p>
+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).
-<p>Pour utiliser cette méthode, l'extension doit demander la <a href="fr/Add-ons/WebExtensions/manifest.json/permissions"> permission</a> "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".</p>
+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".
-<p>Exemple : <a href="https://github.com/mdn/webextensions-examples/tree/master/native-messaging">Native Messaging</a> (illustre simplement une messagerie)<br>
- Guide : <a href="/fr/Add-ons/WebExtensions/Native_messaging">Native messaging</a><br>
- API référence : <a href="/fr/Add-ons/WebExtensions/API/runtime">runtime API</a></p>
+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
---
-<p>{{AddonSidebar}}</p>
+{{AddonSidebar}}
-<p>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.</p>
+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.
-<p>Dans cet article, nous allons regarder :</p>
+Dans cet article, nous allons regarder :
-<ul>
- <li>Permissions nécessaires pour utiliser l'API Tabs.</li>
- <li>En savoir plus sur les onglets et leurs propriétés en utilisant {{WebExtAPIRef("tabs.query")}}.</li>
- <li>Création, duplication, déplacement, mise à jour, rechargement et suppression des onglets.</li>
- <li>Manipuler le niveau de zoom d'un onglet.</li>
- <li>Manipuler le CSS d'un onglet.</li>
-</ul>
+- 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.
-<p>Nous concluons ensuite en examinant d'autres fonctionnalités diverses offertes par l'API.</p>
+Nous concluons ensuite en examinant d'autres fonctionnalités diverses offertes par l'API.
-<div class="note">
-<p><strong>Note :</strong> 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 <a href="/fr/Add-ons/WebExtensions/Content_scripts">scripts de contenu</a> et le guide pratique <a href="/fr/Add-ons/WebExtensions/Modify_a_web_page">modifier une page web</a>.</p>
-</div>
+> **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).
-<h2 id="Permissions_et_lAPI_Tabs">Permissions et l'API Tabs</h2>
+## Permissions et l'API Tabs
-<p>Pour la majorité des fonctions de l'API Tabs, vous n'avez besoin d'aucune autorisation. Cependant, il y a certaines exceptions :</p>
+Pour la majorité des fonctions de l'API Tabs, vous n'avez besoin d'aucune autorisation. Cependant, il y a certaines exceptions :
-<ul>
- <li>permission <code>"tabs</code>" est nécessaire pour accéder aux propriétés de  <code>Tab.url</code>, <code>Tab.title</code>, et <code>Tab.favIconUrl</code> de l'objet Tab. Dans Firefox, vous avez également besoin de <code>"tabs"</code> pour effectuer une  <a href="/fr/Add-ons/WebExtensions/API/tabs/query">requête</a> par URL.</li>
- <li><a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">persmission de l'hote</a> est nécessaire pour  {{WebExtAPIRef("tabs.executeScript")}} ou {{WebExtAPIRef("tabs.insertCSS")}}.</li>
-</ul>
+- 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")}}.
-<p>Vous pouvez demander la permission <code>"tabs"</code> dans le fichier manifest.json de votre extension :</p>
+Vous pouvez demander la permission `"tabs"` dans le fichier manifest.json de votre extension :
-<pre class="brush: json">"permissions": [
- "&lt;all_urls&gt;",
+```json
+"permissions": [
+ "<all_urls>",
"tabs"
],
-</pre>
+```
-<p>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 <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission"><code>"activeTab"</code></a>. Cette permission fournit les mêmes droits que les  <code>"onglets"</code> avec <code>&lt;all_urls&gt;</code>, mais avec deux restrictions:</p>
+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 `<all_urls>`, mais avec deux restrictions:
-<ul>
- <li>l'utilisateur doit interagir avec l'extension via son navigateur ou l'action de la page, le menu contextuel ou la touche de raccourci.</li>
- <li>il accorde uniquement la permission dans l'onglet actif..</li>
-</ul>
+- 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..
-<p>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 <code>&lt;all_urls&gt;</code> permet à une extension d'exécuter des scripts dans n'importe quel onglet, à tout moment, alors que <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission"><code>"activeTab"</code></a> se limite à autoriser l'extension à effectuer une action demandée par l'utilisateur dans l'onglet en cours.</p>
+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"`](/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.
-<h2 id="En_savoir_plus_sur_les_onglets_et_leurs_propriétés">En savoir plus sur les onglets et leurs propriétés</h2>
+## En savoir plus sur les onglets et leurs propriétés
-<p>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.</p>
+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.
-<p>C'est ici qu'intervient {{WebExtAPIRef("tabs.query")}}. Utilisé seul pour obtenir tous les onglets ou prendre l'objet <code>queryInfo</code> — 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.</p>
+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.
-<p>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")}}.</p>
+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")}}.
-<h3 id="Par_exemple">Par exemple</h3>
+### Par exemple
-<p>Pour voir comment {{WebExtAPIRef("tabs.query")}} et {{WebExtAPIRef("tabs.Tab")}} sont utilisés, voyons comment l'exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs">tabs-tabs-tabs</a> ajoute la liste de  “passer aux onglets” à son popup bouton de barre d'outils.</p>
+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.
-<p><img src="switch_to_tab.png"></p>
+![](switch_to_tab.png)
-<h3 id="manifest.json">manifest.json</h3>
+### manifest.json
-<p>Voici le <a href="https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/manifest.json">manifest.json</a>:</p>
+Voici le [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/manifest.json):
-<pre class="brush: 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"
}
-</pre>
+```
-<div class="note">
-<p><strong>Note :</strong></p>
+> **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.
-<ul>
- <li>
- <p><strong>tabs.html est défini comme <code>default_popup</code> dans <code>browser_action</code></strong>. C'est affiché chaque fois que l'utilisateur clique sur l'icône de la barre d'outils de l'extension.</p>
- </li>
- <li>
- <p><strong>Les permissions incluent des onglets.</strong> 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.</p>
- </li>
-</ul>
-</div>
+### tabs.html
-<h3 id="tabs.html">tabs.html</h3>
+tabs.html définit le contenu du popup de l'extension :
-<p>tabs.html définit le contenu du popup de l'extension :</p>
+```html
+<!DOCTYPE html>
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
+<html>
-&lt;html&gt;
+ <head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" href="tabs.css"/>
+ </head>
- &lt;head&gt;
- &lt;meta charset="utf-8"&gt;
- &lt;link rel="stylesheet" href="tabs.css"/&gt;
- &lt;/head&gt;
+<body>
-&lt;body&gt;
+ <div class="panel">
+ <div class="panel-section panel-section-header">
+ <div class="text-section-header">Tabs-tabs-tabs</div>
+ </div>
- &lt;div class="panel"&gt;
- &lt;div class="panel-section panel-section-header"&gt;
- &lt;div class="text-section-header"&gt;Tabs-tabs-tabs&lt;/div&gt;
- &lt;/div&gt;
-
- &lt;a href="#" id="tabs-move-beginning"&gt;Move active tab to the beginning of the window&lt;/a&gt;&lt;br&gt;
+ <a href="#" id="tabs-move-beginning">Move active tab to the beginning of the window</a><br>
@@ -133,86 +120,83 @@ original_slug: Mozilla/Add-ons/WebExtensions/Travailler_avec_l_API_Tabs
Define the other menu items
- &lt;div class="switch-tabs"&gt;
+ <div class="switch-tabs">
- &lt;p&gt;Switch to tab&lt;/p&gt;
+ <p>Switch to tab</p>
- &lt;div id="tabs-list"&gt;&lt;/div&gt;
+ <div id="tabs-list"></div>
- &lt;/div&gt;
- &lt;/div&gt;
+ </div>
+ </div>
- &lt;script src="tabs.js"&gt;&lt;/script&gt;
+ <script src="tabs.js"></script>
-&lt;/body&gt;
+</body>
-&lt;/html&gt;
-</pre>
+</html>
+```
-<p>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.</p>
+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.
-<p>Voici un résumé de ce qui précède :</p>
+Voici un résumé de ce qui précède :
-<ol>
- <li>Les éléments de menu sont déclarés.  </li>
- <li>Une <code>div</code> vide avec <code>tabs-list</code> est déclaré comme contenant la liste des onglets.</li>
- <li>tabs.js est appelé.</li>
-</ol>
+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é.
-<h3 id="tabs.js">tabs.js</h3>
+### tabs.js
-<p>Dans <a href="https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.js">tabs.js</a> nous pouvons voir comment la liste des onglets est construite et ajoutée à la popup.</p>
+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.
-<p>Tout d'abord, un gestionnaire d'événements est ajouté pour exécuter <code>listTabs()</code> quand tabs.html est chargé :</p>
+Tout d'abord, un gestionnaire d'événements est ajouté pour exécuter `listTabs()` quand tabs.html est chargé :
-<h4 id="Création_de_la_fenêtre_contextuelle">Création de la fenêtre contextuelle</h4>
+#### Création de la fenêtre contextuelle
-<p>Tout d'abord, un gestionnaire d'événements est ajouté pour exécuter <code>listTabs()</code> quand tabs.html est chargé :</p>
+Tout d'abord, un gestionnaire d'événements est ajouté pour exécuter `listTabs()` quand tabs.html est chargé :
-<pre class="brush: js">document.addEventListener("DOMContentLoaded", listTabs);</pre>
+```js
+document.addEventListener("DOMContentLoaded", listTabs);
+```
-<p>La première chose que fait <code>listTabs()</code> est d'appeler <code>getCurrentWindowTabs()</code>, où {{WebExtAPIRef("tabs.query")}} est utilisé pour obtenur un objet  {{WebExtAPIRef("tabs.Tab")}} pour le onglets dans la fenêtre courante :</p>
+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 :
-<pre class="brush: js">function getCurrentWindowTabs() {
+```js
+function getCurrentWindowTabs() {
return browser.tabs.query({currentWindow: true});
}
-</pre>
+```
-<p>Maintenant, <code>listTabs()</code> est prêt à créer le contenu de la popup.</p>
+Maintenant, `listTabs()` est prêt à créer le contenu de la popup.
-<p>Pour commencer :</p>
+Pour commencer :
-<ol>
- <li>Récupérer les <code>tabs-list</code> <code>div</code>.</li>
- <li>Créer un fragment de document (dans lequel la liste sera construite).</li>
- <li>Mettre les compteurs.</li>
- <li>Effacer le contenu de <code>tabs-list</code> <code>div</code>.</li>
-</ol>
+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`.
-<pre class="brush: js">function listTabs() {
- getCurrentWindowTabs().then((tabs) =&gt; {
+```js
+function listTabs() {
+ getCurrentWindowTabs().then((tabs) => {
let tabsList = document.getElementById('tabs-list');
let currentTabs = document.createDocumentFragment();
let limit = 5;
let counter = 0;
tabsList.textContent = '';
-</pre>
-
-<p>Ensuite, nous allons créer les liens pour chaque onglet :</p>
-
-<ol>
- <li>Boucle les 5 premiers éléments de l'objet {{WebExtAPIRef("tabs.Tab")}}.</li>
- <li>Pour chaque poste, ajoutez un hyperlien vers le fragment de document.
- <ul>
- <li>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).</li>
- <li>L'adresse du lien est définie à l'aide de l'ID de l'onglet.</li>
- </ul>
- </li>
-</ol>
-
-<pre class="brush: js"> for (let tab of tabs) {
- if (!tab.active &amp;&amp; counter &lt;= 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;
}
-</pre>
+```
-<p>Enfin, le fragment du document est écrit dans la div <code>tabs-list</code> :</p>
+Enfin, le fragment du document est écrit dans la div `tabs-list` :
-<pre class="brush: js"> tabsList.appendChild(currentTabs);
+```js
+ tabsList.appendChild(currentTabs);
});
}
-</pre>
+```
-<h4 id="Travailler_avec_longlet_actif">Travailler avec l'onglet actif</h4>
+#### Travailler avec l'onglet actif
-<p>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 :</p>
+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 :
-<pre class="brush: js"> else if (e.target.id === "tabs-alertinfo") {
- callOnActiveTab((tab) =&gt; {
+```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);
});
}
-</pre>
+```
-<p>Où <code>callOnActiveTab()</code> ftrouve l'objet de tabulation active en faisant une boucle sur les objets {{WebExtAPIRef("tabs.Tab")}} qui recherchent l'objet avec l'ensemble actif :</p>
+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 :
-<pre class="brush: js">document.addEventListener("click", function(e) {
+```js
+document.addEventListener("click", function(e) {
function callOnActiveTab(callback) {
- getCurrentWindowTabs().then((tabs) =&gt; {
+ getCurrentWindowTabs().then((tabs) => {
for (var tab of tabs) {
if (tab.active) {
callback(tab, tabs);
@@ -262,74 +249,68 @@ Define the other menu items
});
}
}
+```
-</pre>
-
-<h2 id="Création_duplication_déplacement_mise_à_jour_rechargement_et_suppression_des_onglets">Création, duplication, déplacement, mise à jour, rechargement et suppression des onglets</h2>
-
-<p>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 :</p>
+## Création, duplication, déplacement, mise à jour, rechargement et suppression des onglets
-<ul>
- <li>Créer un nouvel onglet ({{WebExtAPIRef("tabs.create")}}).</li>
- <li>Dupliquer un onglet ({{WebExtAPIRef("tabs.duplicate")}}).</li>
- <li>Supprimer un onglet ({{WebExtAPIRef("tabs.remove")}}).</li>
- <li>Déplacer un onglet ({{WebExtAPIRef("tabs.move")}}).</li>
- <li>Mettre à jour l'URL d'un onglet — accéderefficacement à une nouvelle page — ({{WebExtAPIRef("tabs.update")}}).</li>
- <li>Rechargez la page de l'onglet ({{WebExtAPIRef("tabs.reload")}}).</li>
-</ul>
+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 :
-<div class="note">
-<p><strong>Note :</strong></p>
+- 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")}}).
-<p>Ces fonctions nécessitent toutes l'ID (ou les ID) de l'onglet qu'elles manipulent :</p>
+> **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")}}
-<ul>
- <li>{{WebExtAPIRef("tabs.duplicate")}}</li>
- <li>{{WebExtAPIRef("tabs.remove")}}</li>
- <li>{{WebExtAPIRef("tabs.move")}}</li>
-</ul>
+### Par exemple
-<p>Alors que les fonctions suivantes agissent sur l'onglet actif (si aucun ID d'onglet n'est fourni) :</p>
+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 :
-<ul>
- <li>{{WebExtAPIRef("tabs.update")}}</li>
- <li>{{WebExtAPIRef("tabs.reload")}}</li>
-</ul>
-</div>
+{{EmbedYouTube("-lJRzTIvhxo")}}
-<h3 id="Par_exemple_2">Par exemple</h3>
+#### [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/manifest.json)
-<p>L'exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs">tabs-tabs-tabs</a> 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 :</p>
+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.
-<p>{{EmbedYouTube("-lJRzTIvhxo")}}</p>
+#### [tabs.html](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.html)
-<h4 id="manifest.json_2"><a href="https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/manifest.json">manifest.json</a></h4>
+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é.
-<p>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.</p>
+```html
+ <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>
-<h4 id="tabs.html_2"><a href="https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.html">tabs.html</a></h4>
+ <div class="panel-section-separator"></div>
-<p>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 <code>&lt;a&gt;</code> 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é.</p>
-<pre class="brush: html"> &lt;a href="#" id="tabs-move-beginning"&gt;Move active tab to the beginning of the window&lt;/a&gt;&lt;br&gt;
- &lt;a href="#" id="tabs-move-end"&gt;Move active tab to the end of the window&lt;/a&gt;&lt;br&gt;
+ <a href="#" id="tabs-duplicate">Duplicate active tab</a><br>
- &lt;div class="panel-section-separator"&gt;&lt;/div&gt;
+ <a href="#" id="tabs-reload">Reload active tab</a><br>
+ <a href="#" id="tabs-alertinfo">Alert active tab info</a><br>
+```
+#### [tabs.js](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.js)
- &lt;a href="#" id="tabs-duplicate"&gt;Duplicate active tab&lt;/a&gt;&lt;br&gt;
+Pour implémenter le "menu" défini dans tabs.html, tabs.js inclut un écouteur pour les clics dans tabs.html
- &lt;a href="#" id="tabs-reload"&gt;Reload active tab&lt;/a&gt;&lt;br&gt;
- &lt;a href="#" id="tabs-alertinfo"&gt;Alert active tab info&lt;/a&gt;&lt;br&gt;</pre>
-
-<h4 id="tabs.js_2"><a href="https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.js">tabs.js</a></h4>
-
-<p>Pour implémenter le "menu" défini dans tabs.html, tabs.js inclut un écouteur pour les clics dans tabs.html</p>
-
-<pre class="brush: js">document.addEventListener("click", function(e) {
+```js
+document.addEventListener("click", function(e) {
function callOnActiveTab(callback) {
- getCurrentWindowTabs().then((tabs) =&gt; {
+ getCurrentWindowTabs().then((tabs) => {
for (var tab of tabs) {
if (tab.active) {
callback(tab, tabs);
@@ -338,12 +319,13 @@ Define the other menu items
});
}
}
-</pre>
+```
-<p>Une série d'instructions <code>if</code> 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” :</p>
+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” :
-<pre class="brush: js"> if (e.target.id === "tabs-move-beginning") {
- callOnActiveTab((tab, tabs) =&gt; {
+```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});
});
}
-</pre>
+```
-<p>Il est intéressant de noter l'utilisation de console.log. Cela vous permet de générer des informations sur la console du <a href="/fr/Add-ons/WebExtensions/Debugging">debugger</a>, ce qui peut être utile lors de la résolution des problèmes rencontrés lors du développement.</p>
+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.
-<p><img src="console.png"></p>
+![](console.png)
-<p>Le code de déplacement appelle d'abord <code>callOnActiveTab()</code> qui à son tour appelle  <code>getCurrentWindowTabs()</code> 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 :</p>
+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 :
-<pre class="brush: js"> function callOnActiveTab(callback) {
- getCurrentWindowTabs().then((tabs) =&gt; {
+```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
}
});
}
-</pre>
+```
-<h5 id="Onglets_épinglés">Onglets épinglés</h5>
+##### Onglets épinglés
-<p>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, <code>firstUnpinnedTab()</code> est appelé pour trouver la position du premier onglet non goupillé en faisant une boucle dans l'objet <code>tabs</code> :</p>
+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` :
-<pre class="brush: js">function firstUnpinnedTab(tabs) {
+```js
+function firstUnpinnedTab(tabs) {
for (var tab of tabs) {
if (!tab.pinned) {
return tab.index;
}
}
}
-</pre>
+```
-<p>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 :</p>
+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 :
-<pre class="brush: js"> browser.tabs.move([tab.id], {index});</pre>
+```js
+ browser.tabs.move([tab.id], {index});
+```
-<p>Les fonctions restantes à dupliquer, recharger, créer et supprimer des onglets sont implémentées de manière similaire.</p>
+Les fonctions restantes à dupliquer, recharger, créer et supprimer des onglets sont implémentées de manière similaire.
-<h2 id="Manipulation_du_niveau_du_zoom_dun_onglet">Manipulation du niveau du zoom d'un onglet</h2>
+## Manipulation du niveau du zoom d'un onglet
-<p>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.</p>
+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.
-<p>Le niveau de zoom peut être compris entre 30% et 300% (représenté par des décimales de 0.3 à 3).</p>
+Le niveau de zoom peut être compris entre 30% et 300% (représenté par des décimales de 0.3 à 3).
-<p>Dans Firefox les paramètres de zoom par défaut sont :</p>
+Dans Firefox les paramètres de zoom par défaut sont :
-<ul>
- <li><strong>niveau de zoom par défaut</strong> : 100%.</li>
- <li><strong>mode zoom</strong>: automatique (le navigateur gère donc le réglage des niveaux de zoom).</li>
- <li><strong>portée des changements de zoom</strong> : <code>"per-origin"</code>, ce qui signifie que lorsque vous visitez à nouveau un site, il prend le niveau de zoom défini lors de votre dernière visite.</li>
-</ul>
+- **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.
-<h3 id="Par_exemple_3">Par exemple</h3>
+### Par exemple
-<p>L'exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs">tabs-tabs-tabs</a> comprend trois démonstrations de la fonction de zoom : zoom avant, zoom arrière, et réinitialisation du zoom. Voici la fonctionnalité en action :</p>
+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 :
-<p>{{EmbedYouTube("RFr3oYBCg28")}}</p>
+{{EmbedYouTube("RFr3oYBCg28")}}
-<p>Jetons un coup d'oeil à la façon dont le zoom est implémenté.</p>
+Jetons un coup d'oeil à la façon dont le zoom est implémenté.
-<h4 id="manifest.json_3"><a href="https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/manifest.json">manifest.json</a></h4>
+#### [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/manifest.json)
-<p>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.</p>
+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.
-<h4 id="tabs.html_3"><a href="https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.html">tabs.html</a></h4>
+#### [tabs.html](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.html)
-<p>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.</p>
+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.
-<h4 id="tabs.js_3"><a href="https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.js">tabs.js</a></h4>
+#### [tabs.js](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.js)
-<p>tabs.js commence par définir plusieurs constantes utilisées dans le code du zoom :</p>
+tabs.js commence par définir plusieurs constantes utilisées dans le code du zoom :
-<pre class="brush: js">const ZOOM_INCREMENT = 0.2;
+```js
+const ZOOM_INCREMENT = 0.2;
const MAX_ZOOM = 3;
const MIN_ZOOM = 0.3;
const DEFAULT_ZOOM = 1;
-</pre>
+```
-<p>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.</p>
+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.
-<p>Pour la fonction zoom, ceci s'exécute :</p>
+Pour la fonction zoom, ceci s'exécute :
-<pre class="brush: js"> else if (e.target.id === "tabs-add-zoom") {
- callOnActiveTab((tab) =&gt; {
+```js
+ else if (e.target.id === "tabs-add-zoom") {
+ callOnActiveTab((tab) => {
var gettingZoom = browser.tabs.getZoom(tab.id);
- gettingZoom.then((zoomFactor) =&gt; {
+ gettingZoom.then((zoomFactor) => {
//the maximum zoomFactor is 3, it can't go higher
- if (zoomFactor &gt;= 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 &gt; MAX_ZOOM ? MAX_ZOOM : newZoomFactor;
+ newZoomFactor = newZoomFactor > MAX_ZOOM ? MAX_ZOOM : newZoomFactor;
browser.tabs.setZoom(tab.id, newZoomFactor);
}
});
});
}
-</pre>
+```
-<p>Ce code utilise <code>callOnActiveTab()</code> 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 (<code>MAX_ZOOM</code>) 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")}}.</p>
+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")}}.
-<h2 id="Manipuler_le_CSS_dun_onglet">Manipuler le CSS d'un onglet</h2>
+## Manipuler le CSS d'un onglet
-<p>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")}}).</p>
+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")}}).
-<p>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).</p>
+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).
-<h3 id="Par_exemple_4">Par exemple</h3>
+### Par exemple
-<p>L'exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/apply-css">apply-css</a> utilise ces fonctionnalités pour ajouter une bordure rouge à la page Web dans l'onglet actif. Voici la fonctionnalité en action:</p>
+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:
-<p>{{EmbedYouTube("bcK-GT2Dyhs")}}</p>
+{{EmbedYouTube("bcK-GT2Dyhs")}}
-<p>Voyons comment cela se passe.</p>
+Voyons comment cela se passe.
-<h4 id="manifest.json_4"><a href="https://github.com/mdn/webextensions-examples/blob/master/apply-css/manifest.json">manifest.json</a></h4>
+#### [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/apply-css/manifest.json)
-<p>Pour utiliser les fonctionnalités CSS dont vous avez besoin :</p>
+Pour utiliser les fonctionnalités CSS dont vous avez besoin :
-<ul>
- <li>Permission <code>"tabs"</code>  et <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission hôte</a> ou</li>
- <li>Permission <code>"activeTab"</code>.</li>
-</ul>
+- Permission `"tabs"`  et [permission hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) ou
+- Permission `"activeTab"`.
-<p>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.</p>
+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.
-<pre class="brush: json">{
+```json
+{
"description": "Adds a page action to toggle applying CSS to pages.",
"manifest_version": 2,
@@ -505,50 +490,52 @@ const DEFAULT_ZOOM = 1;
]
}
-</pre>
+```
-<p>Vous noterez que la permission <code>"tabs"</code> est ajoutée en plus de <code>"activeTab"</code>. 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.</p>
+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.
-<p>Les autres caractéristiques principales du fichier manifeste sont la définition de:</p>
+Les autres caractéristiques principales du fichier manifeste sont la définition de:
-<ul>
- <li><strong>un script d'arrière-plan</strong>, qui commence à s'exécuter dès que l'extension est chargée.</li>
- <li><strong>une “action de page”</strong>, qui définit une icône à ajouter à la barre d'adresse du navigateur.</li>
-</ul>
+- **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.
-<h4 id="background.js"><a href="https://github.com/mdn/webextensions-examples/blob/master/apply-css/background.js">background.js</a></h4>
+#### [background.js](https://github.com/mdn/webextensions-examples/blob/master/apply-css/background.js)
-<p>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 :</p>
+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 :
-<pre class="brush: js">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:"];
-</pre>
+```
-<p>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 <code>initializePageAction()</code>.</p>
+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()`.
-<pre class="brush: js">var gettingAllTabs = browser.tabs.query({});
+```js
+var gettingAllTabs = browser.tabs.query({});
-gettingAllTabs.then((tabs) =&gt; {
+gettingAllTabs.then((tabs) => {
for (let tab of tabs) {
initializePageAction(tab);
}
});
-</pre>
+```
-<p><code>initializePageAction</code> utilise <code>protocolIsApplicable()</code> pour déterminer si l'URL de l'onglet actif est celle à laquelle le CSS peut être appliqué :</p>
+`initializePageAction` utilise `protocolIsApplicable()` pour déterminer si l'URL de l'onglet actif est celle à laquelle le CSS peut être appliqué :
-<pre class="brush: js">function protocolIsApplicable(url) {
+```js
+function protocolIsApplicable(url) {
var anchor = document.createElement('a');
anchor.href = url;
return APPLICABLE_PROTOCOLS.includes(anchor.protocol);
}
-</pre>
+```
-<p>Ensuite, si l'exemple peut agir sur l'onglet, <code>initializePageAction()</code> définit l'icône  <code>pageAction</code> (barre de navigation) et le titre de l'onglet pour utiliser les versions ‘off’ avant de rendre la <code>pageAction</code> visible :</p>
+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 :
-<pre class="brush: js">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) =&gt; {
browser.pageAction.show(tab.id);
}
}
-</pre>
+```
+
+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);
+```
-<p>Maintenant, un écouteur sur <code>geAction.onClicked</code> attend que l'icône pageAction soit cliqué et appelle <code>toggleCSS</code> quand il l'est.</p>
+`toggleCSS()` obtient le titre de la `pageAction`  puis prend l'action décrite :
-<pre class="brush: js">browser.pageAction.onClicked.addListener(toggleCSS);</pre>
+- **Pour "Appliquer CSS”:**
-<p><code>toggleCSS()</code> obtient le titre de la <code>pageAction</code>  puis prend l'action décrite :</p>
+ - Basculer l'icône `pageAction` et le titre dans les versions “supprimer”.
+ - Applique le CSS en utilisant {{WebExtAPIRef("tabs.insertCSS")}}.
-<ul>
- <li><strong>Pour "Appliquer CSS”:</strong>
+- **Pour “Supprimer CSS”:**
- <ul>
- <li>Basculer l'icône <code>pageAction</code> et le titre dans les versions “supprimer”.</li>
- <li>Applique le CSS en utilisant {{WebExtAPIRef("tabs.insertCSS")}}.</li>
- </ul>
- </li>
- <li><strong>Pour “Supprimer CSS”:</strong>
- <ul>
- <li>Basculer l'icône <code>pageAction</code> et le titre dans les versions “apply”.</li>
- <li>Supprime le CSS en utilisant {{WebExtAPIRef("tabs.removeCSS")}}.</li>
- </ul>
- </li>
-</ul>
+ - Basculer l'icône `pageAction` et le titre dans les versions “apply”.
+ - Supprime le CSS en utilisant {{WebExtAPIRef("tabs.removeCSS")}}.
-<pre class="brush: js">function toggleCSS(tab) {
+```js
+function toggleCSS(tab) {
function gotTitle(title) {
@@ -600,30 +584,27 @@ gettingAllTabs.then((tabs) =&gt; {
gettingTitle.then(gotTitle);
}
-</pre>
+```
-<p>Enfin, pour s'assurer que <code>pageAction</code> est valide après chaque mise à jour de l'onglet, un écouteur sur {{WebExtAPIRef("tabs.onUpdated")}} appelle  <code>initializePageAction()</code> chaque fois que l'onglet est mis à jour pour vérifier que l'onglet utilise toujours un protocole auquel le CSS peut être appliqué.</p>
+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é.
-<pre class="brush: js">browser.tabs.onUpdated.addListener((id, changeInfo, tab) =&gt; {
+```js
+browser.tabs.onUpdated.addListener((id, changeInfo, tab) => {
initializePageAction(tab);
});
-</pre>
+```
-<h2 id="Quelques_autres_capacités_intéressantes">Quelques autres capacités intéressantes</h2>
+## Quelques autres capacités intéressantes
-<p>Il existe deux autres fonctionnalités de l'API Tabs qui ne rentrent pas dans l'une des sections précédentes :</p>
+Il existe deux autres fonctionnalités de l'API Tabs qui ne rentrent pas dans l'une des sections précédentes :
-<ul>
- <li>capturez le contenu de l'onglet visible avec {{WebExtAPIRef("tabs.captureVisibleTab")}}.</li>
- <li>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.</li>
-</ul>
+- 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.
-<h2 id="Apprendre_encore_plus">Apprendre encore plus</h2>
+## Apprendre encore plus
-<p>Si vous voulez en savoir plus sur l'API Tabs, consultez le :</p>
+Si vous voulez en savoir plus sur l'API Tabs, consultez le :
-<ul>
- <li><a href="/fr/Add-ons/WebExtensions/API/tabs">Tabs API reference.</a></li>
- <li><a href="/fr/Add-ons/WebExtensions/Examples">example extensions</a>, car beaucoup d'entre eux utilisent l'API Tabs.</li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<div class="note">
-<p><strong>Note :</strong> Si vous connaissez déjà les concepts de base des extensions de navigateur, vous pouvez directement consulter <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension"> afin de voir comment les fichiers d'extension sont assemblés</a>. Ensuite, utilisez la <a href="/fr/docs/Mozilla/Add-ons/WebExtensions#reference">documentation de référence</a> pour commencer la construction de votre extension. Visitez l'<a href="https://extensionworkshop.com/?utm_source=developer.mozilla.org&amp;utm_medium=documentation&amp;utm_campaign=your-first-extension">atelier sur les extensions de Firefox</a> pour en savoir plus sur le processus de test et de publication des WebExtensions pour Firefox.</p>
-</div>
+> **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.
-<p>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.</p>
+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.
-<p>Le code source de cet exemple est disponible sur GitHub : <a href="https://github.com/mdn/webextensions-examples/tree/master/borderify">https://github.com/mdn/webextensions-examples/tree/master/borderify</a>.</p>
+Le code source de cet exemple est disponible sur GitHub : <https://github.com/mdn/webextensions-examples/tree/master/borderify>.
-<p>Pour commencer, il vous faut Firefox (dans la version 45 ou avec une version supérieure).</p>
+Pour commencer, il vous faut Firefox (dans la version 45 ou avec une version supérieure).
-<h2 id="Writing_the_extension">Écriture de l'extension</h2>
+## Écriture de l'extension
-<p>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 :</p>
+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 :
-<pre class="brush: bash">mkdir borderify
-cd borderify</pre>
+```bash
+mkdir borderify
+cd borderify
+```
-<h3 id="manifest.json">manifest.json</h3>
+### manifest.json
-<p>Créez un nouveau fichier nommé <code>manifest.json</code> directement dans le répertoire <code>borderify</code> et tapez-y le contenu suivant :</p>
+Créez un nouveau fichier nommé `manifest.json` directement dans le répertoire `borderify` et tapez-y le contenu suivant :
-<pre class="brush: json ">{
+```json
+{
"manifest_version": 2,
"name": "Borderify",
@@ -50,112 +51,103 @@ cd borderify</pre>
}
]
-}</pre>
+}
+```
-<ul>
- <li>Les trois premières clés : <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/manifest_version">manifest_version</a></code>, <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/name">name</a></code>, et <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version">version</a></code> sont obligatoires et contiennent des métadonnées fondamentales nécessaires au module.</li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/description">description</a></code> est optionnelle, mais recommandée : elle s'affiche dans le gestionnaire de module.</li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons">icons</a></code> est optionnelle, mais recommandée : elle permet d'établir l'icône du module qui s'affichera dans le gestionnaire de module.</li>
-</ul>
+- 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.
-<p>La clé la plus intéressante ici est <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code>, 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é <code>borderify.js</code> dans toutes les pages HTTP ou HTTPS du domaine "mozilla.org" et tous ses sous-domaines.</p>
+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.
-<ul>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">En savoir plus sur les scripts de contenu.</a></li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">En savoir plus sur les motifs de correspondance</a>.</li>
-</ul>
+- [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).
-<div class="warning">
-<p><strong>Attention :</strong> <a href="https://extensionworkshop.com/documentation/develop/extensions-and-the-add-on-id/#when_do_you_need_an_add-on_id">Dans certaines situations, vous devez établir un identifiant pour votre extension</a>. Si vous avez besoin d'établir un identifiant pour votre extension, incluez la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings">browser_specific_settings</a></code> dans <code>manifest.json</code> et définissez sa propriété <code>gecko.id</code> :</p>
+> **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"
+> }
+> }
+> ```
-<pre class="brush: json ">"browser_specific_settings": {
- "gecko": {
- "id": "borderify@example.com"
- }
-}</pre>
-</div>
+### icons/border-48.png
-<h3 id="iconsborder-48.png">icons/border-48.png</h3>
+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`.
-<p>Le module doit posséder une icône qui sera affichée dans le gestionnaire de modules du navigateur. Le fichier <code>manifest.json</code> utilisé ici fournit une icône <code>icons/border-48.png</code>.</p>
+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/).
-<p>Créons le répertoire <code>icons</code> directement sous le répertoire <code>borderify</code>. Fournissez une icône nommée <code>border-48.png</code>. Vous pouvez utiliser <a href="https://raw.githubusercontent.com/mdn/webextensions-examples/master/borderify/icons/border-48.png">celle-ci</a>, qui est tirée du repértoire d'icônes Google Material Design, et est utilisable à condition de respecter les termes de la licence <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike</a>.</p>
+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` :
-<p>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é <code>96</code> de l'objet icon dans le fichier <code>manifest.json</code> :</p>
-
-<pre class="brush: json">"icons": {
+```json
+"icons": {
"48": "icons/border-48.png",
"96": "icons/border-96.png"
-}</pre>
+}
+```
-<p>Une alternative est de fournir un fichier SVG qui sera automatiquement mis à la bonne échelle.</p>
+Une alternative est de fournir un fichier SVG qui sera automatiquement mis à la bonne échelle.
-<ul>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons">En savoir plus sur la spécification d'icône.</a></li>
-</ul>
+- [En savoir plus sur la spécification d'icône.](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons)
-<h3 id="borderify.js">borderify.js</h3>
+### borderify.js
-<p>Enfin, créez un fichier nommé <code>borderify.js</code> directement dans le répertoire <code>borderify</code> et insérez-y ceci :</p>
+Enfin, créez un fichier nommé `borderify.js` directement dans le répertoire `borderify` et insérez-y ceci :
-<pre class="brush: js ">document.body.style.border = "5px solid red";</pre>
+```js
+document.body.style.border = "5px solid red";
+```
-<p>Ce script sera chargé dans chaque page où le domaine correspond au motif fourni par la clé <code>content_scripts</code> du manifeste. Ce script a un accès direct au document contrairement à des scripts chargés par la page elle-même.</p>
+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.
-<ul>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">Pour en savoir plus sur les scripts de contenu.</a></li>
-</ul>
+- [Pour en savoir plus sur les scripts de contenu.](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts)
-<h2 id="Trying_it_out">Essai</h2>
+## Essai
-<p>D'abord, vérifiez de nouveau que les bons fichiers sont au bon endroit :</p>
+D'abord, vérifiez de nouveau que les bons fichiers sont au bon endroit :
-<pre>borderify/
- icons/
- border-48.png
- borderify.js
- manifest.json</pre>
+ borderify/
+ icons/
+ border-48.png
+ borderify.js
+ manifest.json
-<h3 id="Installing">Installation</h3>
+### Installation
-<p>Dans Firefox : Ouvrez la page <a href="/fr/docs/Tools/about:debugging">about:debugging</a>, 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.</p>
+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.
-<p>{{EmbedYouTube("cer9EUKegG4")}}</p>
+{{EmbedYouTube("cer9EUKegG4")}}
-<p>Le module complémentaire est dorénavant installé et persistera jusqu’à ce que vous redémarriez Firefox.</p>
+Le module complémentaire est dorénavant installé et persistera jusqu’à ce que vous redémarriez Firefox.
-<p>Une autre alternative est d’exécuter l'extension depuis la ligne de commande à l'aide de l'outil <a href="https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/">web-ext</a>.</p>
+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/).
-<h3 id="Testing">Test</h3>
+### Test
-<p>Rendez-vous sur une page web du domaine "mozilla.org". Vous devriez y voir une bordure rouge qui entoure la page :</p>
+Rendez-vous sur une page web du domaine "mozilla.org". Vous devriez y voir une bordure rouge qui entoure la page :
-<p>{{EmbedYouTube("rxBQl2Z9IBQ")}}</p>
+{{EmbedYouTube("rxBQl2Z9IBQ")}}
-<div class="note">
-<p><strong>Note :</strong> Toutefois, n'essayez pas ce module sur addons.mozilla.org ! Les scripts de contenu sont bloqués sur ce domaine.</p>
-</div>
+> **Note :** Toutefois, n'essayez pas ce module sur addons.mozilla.org ! Les scripts de contenu sont bloqués sur ce domaine.
-<p>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 :</p>
+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 :
-<p>{{EmbedYouTube("NuajE60jfGY")}}</p>
+{{EmbedYouTube("NuajE60jfGY")}}
-<ul>
- <li><a href="https://extensionworkshop.com/documentation/develop/temporary-installation-in-firefox/">En savoir plus sur le chargement des extensions</a></li>
-</ul>
+- [En savoir plus sur le chargement des extensions](https://extensionworkshop.com/documentation/develop/temporary-installation-in-firefox/)
-<h2 id="Packaging_and_publishing">Empaqueter et publier</h2>
+## Empaqueter et publier
-<p>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 <a href="/fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Package_your_extension_">"Publier votre extension"</a>.</p>
+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_).
-<h2 id="Whats_next">Et ensuite ?</h2>
+## Et ensuite ?
-<p>Maintenant que vous avez eu une introduction au processus de développement d'une WebExtension pour Firefox, voici quelques suggestions pour la suite :</p>
+Maintenant que vous avez eu une introduction au processus de développement d'une WebExtension pour Firefox, voici quelques suggestions pour la suite :
-<ul>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Your_second_WebExtension">Rédiger une extension plus complexe</a></li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension">En lire d'avantage sur l'anatomie d'une WebExtensions</a></li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Examples">Explorer les exemples d'extension</a></li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/What_next_">Découvrir ce dont vous avez besoin pour développer, tester et publier votre extension</a></li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/What_next_#continuez_votre_exp%c3%a9rience_d'apprentissage">Poursuivre votre apprentissage</a>.</li>
-</ul>
+- [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
---
-<div>{{AddonSidebar}}</div>
+{{AddonSidebar}}
-<p>Si vous avez lu l'article <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension">votre première extension</a>, 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.</p>
+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.
-<p>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.</p>
+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.
-<p>Pour implémenter ce module, il nous faut :</p>
+Pour implémenter ce module, il nous faut :
-<ul>
- <li><strong>Définir une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_action">action du navigateur (<i>browser action</i>)</a>, matérialisée par un bouton dans la barre d'outils de Firefox</strong>. Pour ce bouton, nous avons besoin :
- <ul>
- <li>d'une icône, nommée "beasts-32.png"</li>
- <li>d'une popup qui s'ouvrira lorsqu'on cliquera sur le bouton. La popup sera constituée d'HTML, de CSS et de JavaScript.</li>
- </ul>
- </li>
- <li><strong>Définir l'icône de l'extension,</strong> nommée "beasts-48.png". Elle apparaîtra dans le gestionnaire de module.</li>
- <li><strong>Écrire un script de contenu (<i>content script</i>), "beastify.js" qui sera injecté dans les pages web</strong>. C'est le code qui va effectivement transformer les pages.</li>
- <li><strong>Packager les images d'animaux, afin de remplacer les images de la page web</strong>. Nous définirons les images comme étant des ressources accessibles par le Web de sorte que la page web puisse y accéder.</li>
-</ul>
+- **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 :
-<p>Voici une visualisation globale possible de la structure du module :</p>
+ - 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.
-<p><img alt="" src="untitled-1.png"></p>
+- **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.
-<p>Il s'agit d'une extension simple mais qui démontre plusieurs concepts élémentaires de l'API des WebExtensions :</p>
+Voici une visualisation globale possible de la structure du module :
-<ul>
- <li>Ajout d'un bouton à la barre d'outils</li>
- <li>Définition d'une popup à l'aide de HTML, CSS et JavaScript</li>
- <li>Injection des scripts de contenu dans les pages web</li>
- <li>Communication entre les scripts de contenu et le reste de l'extension</li>
- <li>Empaquetage de ressources comme les images dans le module afin que celles-ci puissent ensuite être utilisées par les pages web</li>
-</ul>
+![](untitled-1.png)
-<p>Le <a href="https://github.com/mdn/webextensions-examples/tree/master/beastify">code source complet du module est disponible sur GitHub</a>.</p>
+Il s'agit d'une extension simple mais qui démontre plusieurs concepts élémentaires de l'API des WebExtensions :
-<p>Afin de tester cette extension, vous aurez besoin de Firefox 45 ou d'une version ultérieure.</p>
+- 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
-<h2 id="writing_the_extension">Écrire l'extension</h2>
+Le [code source complet du module est disponible sur GitHub](https://github.com/mdn/webextensions-examples/tree/master/beastify).
-<p>Créez un nouveau répertoire et positionnez-vous dedans :</p>
+Afin de tester cette extension, vous aurez besoin de Firefox 45 ou d'une version ultérieure.
-<pre class="brush: bash">
+## Écrire l'extension
+
+Créez un nouveau répertoire et positionnez-vous dedans :
+
+```bash
mkdir beastify
cd beastify
-</pre>
+```
-<h3 id="manifest.json">manifest.json</h3>
+### manifest.json
-<p>Créez un nouveau fichier nommé "manifest.json" directement dans le répertoire "beastify" et saisissez-y le contenu suivant :</p>
+Créez un nouveau fichier nommé "manifest.json" directement dans le répertoire "beastify" et saisissez-y le contenu suivant :
-<pre class="brush: json">
+```json
{
"manifest_version": 2,
@@ -85,105 +80,100 @@ cd beastify
"beasts/snake.jpg"
]
}
-</pre>
+```
+
+- 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.
-<ul>
- <li>Les trois premières clés : <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/manifest_version">manifest_version</a></code>, <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/name">name</a></code>, et <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version">version</a></code>, sont obligatoires et contiennent les métadonnées élémentaires nécessaires à l'extension.</li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/description">description</a></code> and <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/homepage_url">homepage_url</a></code> sont optionnelles mais recommandées : elles apportent des informations utiles à propos de l'extension.</li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons">icons</a></code> est optionnelle mais recommandée : elle permet de spécifier l'icône du module qui s'affichera dans le gestionnaire d'extension.</li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code> indique les permissions nécessaires à cette extension. Ici, uniquement <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#activetab_permission">la permission <code>activeTab</code></a> est demandée.</li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code> spécifie le bouton de la barre d'outil. Nous fournissons trois informations :
- <ul>
- <li><code>default_icon</code> est obligatoire et référence l'icône du bouton</li>
- <li><code>default_title</code> est optionelle et s'affichera dans une bulle d'aide</li>
- <li><code>default_popup</code> 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.</li>
- </ul>
- </li>
- <li><code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/web_accessible_resources">web_accessible_resources</a></code> 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.</li>
-</ul>
+- [`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.
-<p>Il est à noter que tous les chemins sont relatifs au fichier manifest.json.</p>
+Il est à noter que tous les chemins sont relatifs au fichier manifest.json.
-<h3 id="the_icon">L'icône</h3>
+### L'icône
-<p>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".</p>
+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".
-<p>Créez le répertoire "icons" et enregistrez-y une icône nommée "beasts-48.png". Vous pouvez utiliser <a href="https://github.com/mdn/webextensions-examples/raw/master/beastify/icons/beasts-48.png">une image de notre exemple</a>, provenant du jeu d'icônes de <a href="https://www.iconfinder.com/iconsets/free-retina-icon-set">Aha-Soft's Free Retina</a> et utilisable selon les termes de sa <a href="http://www.aha-soft.com/free-icons/free-retina-icon-set/">licence</a>.</p>
+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/).
-<p>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é <code>96</code> de l'objet <code>icons</code> du manifeste :</p>
+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 :
-<pre class="brush: json">
+```json
"icons": {
"48": "icons/beasts-48.png",
"96": "icons/beasts-96.png"
-}</pre>
+}
+```
-<h3 id="the_toolbar_button">Le bouton de la barre d'outils</h3>
+### Le bouton de la barre d'outils
-<p>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.</p>
+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.
-<p>Enregistrez une icône nommée "beasts-32.png" dans le répertoire "icons". Vous pouvez utiliser <a href="https://github.com/mdn/webextensions-examples/blob/master/beastify/icons/beasts-32.png">une image de notre exemple</a>, provenant du jeu d'icône <a href="http://www.iconbeast.com/free">IconBeast Lite icon</a> et utilisable selon les termes de sa <a href="http://www.iconbeast.com/faq/">licence</a>.</p>
+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/).
-<p>Si vous ne fournissez pas de popup, alors un évènement <code>click</code> est propagé au contexte de l'extension lorque l'utilisateur clique sur le bouton. Si une popup est fournie, l'évènement <code>click</code> 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.</p>
+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.
-<h3 id="the_popup">La popup</h3>
+### La popup
-<p>Le but de la popup est de permettre à l'utilisateur de choisir une des trois bêtes.</p>
+Le but de la popup est de permettre à l'utilisateur de choisir une des trois bêtes.
-<p>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 :</p>
+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 :
-<ul>
- <li><strong><code>choose_beast.html</code></strong> qui définit le contenu du panneau</li>
- <li><strong><code>choose_beast.css</code></strong> qui met en forme le contenu de ce panneau</li>
- <li><strong><code>choose_beast.js</code></strong> qui gére le choix de l'utilisateur en exécutant un script de contenu dans l'onglet actif du navigateur</li>
-</ul>
+- **`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
-<pre class="brush: bash">
+```bash
mkdir popup
cd popup
touch choose_beast.html choose_beast.css choose_beast.js
-</pre>
-
+```
-<h4 id="choose_beast.html">choose_beast.html</h4>
+#### choose_beast.html
-<p>Voici le contenu du fichier HTML :</p>
+Voici le contenu du fichier HTML :
-<pre class="brush: html">
-&lt;!DOCTYPE html&gt;
+```html
+<!DOCTYPE html>
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta charset="utf-8"&gt;
- &lt;link rel="stylesheet" href="choose_beast.css"/&gt;
- &lt;/head&gt;
+<html>
+ <head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" href="choose_beast.css"/>
+ </head>
-&lt;body&gt;
- &lt;div id="popup-content"&gt;
- &lt;div class="button beast"&gt;Grenouille&lt;/div&gt;
- &lt;div class="button beast"&gt;Tortue&lt;/div&gt;
- &lt;div class="button beast"&gt;Serpent&lt;/div&gt;
- &lt;div class="button reset"&gt;Réinitialiser&lt;/div&gt;
- &lt;/div&gt;
- &lt;div id="error-content" class="hidden"&gt;
- &lt;p&gt;Cette page ne peut être transformée.&lt;/p&gt;
- &lt;p&gt;Veuillez essayer une autre page.&lt;/p&gt;
- &lt;/div&gt;
- &lt;script src="choose_beast.js"&gt;&lt;/script&gt;
-&lt;/body&gt;
+<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>
-&lt;/html&gt;
-</pre>
+</html>
+```
-<p>On a un élément <code><a href="/fr/docs/Web/HTML/Element/div">&lt;div&gt;</a></code> dont l'identifiant (<code>id</code>) vaut <code>"popup-content"</code> et qui contient un élément pour chaque choix d'animal. On a également un autre <code>&lt;div&gt;</code> avec l'identifiant <code>"error-content"</code> et une classe <code>"hidden"</code>. Nous utiliserons cet élément au cas où il y ait un problème à l'initialisation de la popup.</p>
+On a un élément [`<div>`](/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 `<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.
-<p>Il est à noter que le ficher CSS et le fichier JS sont inclus depuis ce fichier, tout comme une page web normale.</p>
+Il est à noter que le ficher CSS et le fichier JS sont inclus depuis ce fichier, tout comme une page web normale.
-<h4 id="choose_beast.css">choose_beast.css</h4>
+#### choose_beast.css
-<p>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 <code>class="hidden"</code>, cela signifie que l'élément <code>&lt;div&gt;</code> <code>"error-content"</code> sera masqué par défaut :</p>
+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 :
-<pre class="brush: css">
+```css
html, body {
width: 100px;
}
@@ -215,28 +205,28 @@ html, body {
.reset:hover {
background-color: #EAEA9D;
}
-</pre>
+```
-<h4 id="choose_beast.js">choose_beast.js</h4>
+#### choose_beast.js
-<pre class="brush: 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 &gt; :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) =&gt; {
+ 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(() =&gt; {
+ 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(() =&gt; {
+ 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);
-</pre>
+```
+
+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/).
-<p>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 <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript">browser.tabs.executeScript()</a></code>. 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.</p>
+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.
-<p>On peut avoir des erreurs lors de l'appel à <code>browser.tabs.executeScript()</code> 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 <a href="https://addons.mozilla.org/">addons.mozilla.org</a>. Si un tel échec se produit, <code>reportExecuteScriptError()</code> masquera l'élément avec <code>"popup-content"</code> et affichera celui avec <code>"error-content"</code> puis enregistrera une erreur dans <a href="https://extensionworkshop.com/documentation/develop/debugging/">la console</a>.</p>
-
-<p>Si l'exécution du script de contenu réussit, la méthode <code>listenForClicks()</code> est appelée. Celle-ci permet d'écouter les clics sur la popup.</p>
-
-<ul>
- <li>Si le clic a lieu sur un bouton avec <code>class="beast"</code>, on appelle <code>beastify()</code>.</li>
- <li>Si le clic a lieu sur un bouton avec <code>class="reset"</code>, on appelle <code>reset()</code>.</li>
-</ul>
+- 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()`.
-<p>La fonction <code>beastify()</code> fait trois choses :</p>
+La fonction `beastify()` fait trois choses :
-<ul>
- <li>Correspondre le bouton qui a reçu le clic avec l'URL d'une image correspondant à la bête choisie</li>
- <li>Masquer tout le contenu de la page en injectant du CSS avec <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/insertCSS">browser.tabs.insertCSS()</a></code></li>
- <li>Envoyer un message "beastify" au script de contenu avec <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/sendMessage">browser.tabs.sendMessage()</a></code> pour lui demander de transformer la page en lui passant l'URL de l'image pour la bête sélectionnée.</li>
-</ul>
+- 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.
-<p>La fonction <code>reset()</code> annule la transformation de l'onglet courant en :</p>
+La fonction `reset()` annule la transformation de l'onglet courant en :
-<ul>
- <li>Retirant le CSS ajouté grâce à <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/removeCSS">browser.tabs.removeCSS()</a></code></li>
- <li>Envoyant un message "reset" au script de contenu pour lui demander de réinitialiser la page.</li>
-</ul>
+- 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.
-<h3 id="the_content_script">Le script de contenu (<i>content script</i>)</h3>
+### Le script de contenu (_content script_)
-<p>Créez un nouveau répertoire sous la racine du module nommé "content_scripts" et créez un nouveau fichier nommé "beastify.js", contenant :</p>
+Créez un nouveau répertoire sous la racine du module nommé "content_scripts" et créez un nouveau fichier nommé "beastify.js", contenant :
-<pre class="brush: js">
+```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) =&gt; {
+ 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"})
}
});
})();
-</pre>
+```
-<p>La première chose que fait le script de contenu est de vérifier une variable globale <code>window.hasRun</code> : si elle est déjà définie, le script rend la main et sinon, il définit <code>window.hasRun</code> 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.</p>
+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.
-<p>Après ça, on voit plus loin que le script de contenu utilise <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage">browser.runtime.onMessage</a></code>. Cela permet de faire le lien avec le script de popup qui envoyait deux messages : "beastify" et "reset".</p>
+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".
-<ul>
- <li>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 <code><a href="/fr/docs/Web/HTML/Element/Img">&lt;img&gt;</a></code> dont l'attribut <code>src</code> est défini avec l'URL pointant vers l'image de la bête sélectionnée.</li>
- <li>Si le message est "reset", on retire toute image de bête ayant été ajoutée.</li>
-</ul>
+- 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>`](/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.
-<h3 id="the_beasts">Les bêtes</h3>
+### Les bêtes
-<p>Enfin, nous devons inclure les images d'animaux.</p>
+Enfin, nous devons inclure les images d'animaux.
-<p>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 <a href="https://github.com/mdn/webextensions-examples/tree/master/beastify/beasts">dépôt GitHub</a>, ou bien ci-après :</p>
+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 :
-<p><img alt="" src="frog.jpg"><img alt="" src="snake.jpg"><img alt="" src="turtle.jpg"></p>
+![](frog.jpg)![](snake.jpg)![](turtle.jpg)
-<h2 id="testing_it_out">Test</h2>
+## Test
-<p>D'abord, vérifiez de nouveau que les bons fichiers sont au bon endroit :</p>
+D'abord, vérifiez de nouveau que les bons fichiers sont au bon endroit :
-<pre>
-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
-</pre>
+ manifest.json
-<p>A partir de Firefox version 45, il est possible d'installer les WebExtensions temporairement.</p>
+A partir de Firefox version 45, il est possible d'installer les WebExtensions temporairement.
-<p>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 :</p>
+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 :
-<p>{{EmbedYouTube("sAM78GU4P34")}}</p>
+{{EmbedYouTube("sAM78GU4P34")}}
-<p>Ouvrez une page web et cliquez sur l'icône, sélectionnez une bête et observez la page web se modifier :</p>
+Ouvrez une page web et cliquez sur l'icône, sélectionnez une bête et observez la page web se modifier :
-<p>{{EmbedYouTube("YMQXyAQSiE8")}}</p>
+{{EmbedYouTube("YMQXyAQSiE8")}}
-<h2 id="developing_from_the_command_line">Développement depuis la ligne de commande</h2>
+## Développement depuis la ligne de commande
-<p>Il est possible d'automatiser l'installation temporaire de modules, étape par étape en utilisant l'outil <a href="https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/">web-ext</a> tool. Essayez ainsi :</p>
+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 :
-<pre class="brush: bash">
+```bash
cd beastify
web-ext run
-</pre>
+```
-<h2 id="whats_next">Et ensuite ?</h2>
+## Et ensuite ?
-<p>Maitenant que vous avez créé une WebExtension avancée pour Firefox, vous pouvez :</p>
+Maitenant que vous avez créé une WebExtension avancée pour Firefox, vous pouvez :
-<ul>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension">Explorer l'anatomie d'une extension</a></li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Examples">Explorer les exemples d'extension</a></li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/What_next_">Découvrir ce dont vous avez besoin pour développer, tester et publier votre extension</a></li>
- <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/What_next_#continuez_votre_exp%c3%a9rience_d'apprentissage">Approfondir votre apprentissage</a>.</li>
-</ul>
+- [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).