1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
---
title: Demandes de permission
slug: Mozilla/Add-ons/WebExtensions/demandes_de_permission
tags:
- Add-ons
- Extensions
- Guide
- Permissions
- Testing
- WebExtensions
translation_of: Mozilla/Add-ons/WebExtensions/Test_permission_requests
---
<p>{{AddonSidebar}}</p>
<p>Votre extension peut contenir deux types de demandes de permission : les demandes de temps d'installation et les demandes de permission d'exécution. Cette page explique comment vous pouvez tester la façon dont vos utilisateurs verront les demandes de ces permissions.</p>
<h2 id="Comportement_de_l'octroi_de_la_permission_pendant_le_test"><strong>Comportement de l'octroi de la permission pendant le test</strong></h2>
<p>Lorsque vous testez avec une extension non compressée utilisant <a href="/fr/docs/Tools/about:debugging"><kbd>about:debugging</kbd></a> ou <a href="/fr/Add-ons/WebExtensions/web-ext_command_reference">web-ext</a> et les permissions d'installation et d'exécution sont traitées comme suit :</p>
<ul>
<li>Les demandes de permission de temps d'installation sont accordées en silence. Vous ne voyez pas les avertissements de permission que les utilisateurs verraient.</li>
<li><span class="tlid-translation translation"><span title="">L</span></span>es demandes d'autorisation d'exécution affichent la demande d'accrochecomme d'habitude. Ces permissions restent en place jusqu'à ce qu'elles soient révoquées programmatiquement par l'extension, l'extension est supprimée en utilisant <kbd>about:debugging</kbd> ou redémarrer Firefox.</li>
</ul>
<h2 id="Observeer_ou_vérifier_des_demandes_de_permissions_lors_de_l'installation"><strong>Observeer ou vérifier des demandes de permissions lors de l'installation</strong></h2>
<p>Vous suivez différents processus selon que vous souhaitez observer les demandes de permissions associées à une installation ou à une mise à niveau.</p>
<h3 id="Demandes_de_permission_pour_l'installation_d'extensions"><strong>Demandes de permission pour l'installation d'extensions</strong></h3>
<p>Pour afficher les avertissements de permission de temps d'installation que les utilisateurs voient lors de l'installation de votre extension et retester les demandes d'autorisation d'exécution, installez l'extension depuis son fichier *.xpi ou *.zip.</p>
<p>Pour ce faire, vous devez utiliser un fichier *.xpi ou *.zip non signé :</p>
<ul>
<li>donnez un identifiant à votre extension à l'aide de la clé d'<a href="/fr/docs/applications">applications</a> application.</li>
<li>exécuter les versions <a href="https://nightly.mozilla.org/"> Nightly</a> ou<a href="https://www.mozilla.org/firefox/developer/"> Developer Edition</a> de Firefox.</li>
<li>Définissez la préférence <kbd>about:config</kbd> <code>xpinstall</code><code>.signatures.required</code> à <code>false</code>.</li>
</ul>
<p>Installez ensuite l'extension à l'aide de l'option <strong>Installer Add-on à partir du fichier</strong> dans le gestionnaire de modules complémentaires (<kbd>about:addons</kbd>). Au fur et à mesure que l'extension s'installe, la demande d'octroi des permissions s'affiche lors de l'installation, comme ceci :</p>
<p><img alt="Example of the doorhanger displayed when installing an extension through about:addons" src="https://mdn.mozillademos.org/files/16538/installing_unpackaged_extension.png" style="height: 256px; width: 378px;"></p>
<p>Notez que le message d'avertissement concerne une extension non signée ; ce message ne s'affiche pas pendant l'installation depuis <a href="http://addons.mozilla.org">addons.mozilla.org</a>.</p>
<h3 id="Demande_de_permission_pour_la_mise_à_niveau_de_l'extension"><strong>Demande de permission pour la mise à niveau de l'extension</strong></h3>
<div class="blockIndicator note">
<p>Pour plus de détails sur la façon de fournir des mises à jour d'extension Web lorsque vous hébergez vous-même votre extension, voir <a href="/fr/Add-ons/Updates">Mises à jour</a>.</p>
</div>
<p>Pour afficher les avertissements d'autorisation de temps d'installation que les utilisateurs voient lorsque votre extension est mise à niveau par Firefox et retester les demandes d'autorisation d'exécution, vous installez l'extension depuis son fichier.xpi posté sur un serveur HTTP ou HTTPS.</p>
<p>Vous pouvez utiliser un serveur HTTP (tel qu'un simple <a href="/fr/docs/Apprendre/Common_questions/configurer_un_serveur_de_test_local">serveur localhost python</a>) ou un serveur HTTPS. Cependant, votre serveur HTTPS doit avoir un certificat vérifiable, que Firefox peut accepter automatiquement ; vous ne pouvez pas utiliser un certificat auto-signé. Si vous voulez tester à partir d'un serveur HTTPS mais n'en avez pas, les pages GitHub sont une option que vous pouvez utiliser.</p>
<p>Pour effectuer le test, vous devrez :</p>
<ul>
<li>déterminer l'adresse du serveur HTTP ou HTTPS où vous pouvez héberger les fichiers.</li>
<li>utilisez la clé des <a href="/fr/docs/applications">applications</a> manifest.json pour :
<ul>
<li>donnez un identifiant à votre poste, si vous ne l'avez pas déjà fait.</li>
<li>définir l'URL de mise à jour où vous hébergerez votre <a href="/fr/Add-ons/Updates">manifest de mise à jour</a>. Par exemple :
<pre class="brush: json">…
"applications": {
"gecko": {
"strict_min_version": "54.0a1",
"update_url": "<a href="https://your-account.github.io/webextensions/upgrade.json">https://your-account.github.io/webextensions/upgrade.json</a>",
"id": "<a href="mailto:test@your-address.com">test@your-address.com</a>"
}
},
…</pre>
</li>
</ul>
</li>
<li>si nécessaire, <a href="/fr/Add-ons/WebExtensions/Package_your_extension_">créez un paquet</a> contenant votre extension originale.</li>
<li>mettre à jour votre extension et ajouter les détails des nouvelles permissions requises au fichier manifest.json, sans oublier de mettre à jour le numéro de version. Créez un paquet contenant votre extension mise à jour.
<div class="blockIndicator warning">Si les paquets ont été générés avec des extensions.zip, changez-les en.xpi, sinon votre navigateur pourrait essayer de télécharger plutôt que d'installer l'extension.</div>
</li>
</ul>
<ul>
<li>Créer la <a href="/fr/Add-ons/Updates">mise à jour du manifest</a> avec les détails des deux versions d'extension, qui devrait être similaire à celui-ci :
<pre class="brush: json">{
"addons": {
"test@your-address.com": {
"updates": [
{ "version": "n.0", "update_link": "https://your-account.github.io/webextensions/your-extension-1.0.xpi" },
{ "version": "n+1.0", "update_link": "https://your-account.github.io/webextensions/your-extension-2.0.xpi" }
]
}
}
}</pre>
</li>
<li>télécharger les deux paquets d'extension et les mises à jour manifestes sur votre serveur HTTP ou HTTPS.</li>
<li>exécuter les versions <a href="https://nightly.mozilla.org/">Nightly</a> ou<a href="https://www.mozilla.org/firefox/developer/"> Developer Edition</a> de Firefox.</li>
<li>dans <kbd>about:config</kbd> :
<ul>
<li>Définissez la préférence <code>xpinstall.signatures.required</code> à <code>false</code>.</li>
<li>Si vous utilisez <a href="https://nightly.mozilla.org/">Nightly</a> et hébergez votre mise à jour sur un serveur HTTP, créez et définissez les préférences <code>extensions.checkUpdateSecurity</code> et <code>extensions.install.requireSecureOrigin</code> à <code>false</code>. Pour faire ceci :
<ul>
<li>entrez le nom de la préférence dans la zone de recherche.</li>
<li>cliquez sur<strong> Ajouter</strong>.<br>
<img alt="Create a new about:config item in Nightly" src="https://mdn.mozillademos.org/files/16541/preference_create_2.png"></li>
<li>basculez la préférence pour la mettre à false.<br>
<img alt="Toggle the boolean value of a about:config item in Nightly" src="https://mdn.mozillademos.org/files/16542/preference_toggle_2.png" style="height: 147px; width: 987px;"></li>
</ul>
</li>
</ul>
</li>
<li>ouvrez le lien vers le premier fichier XPI pour l'installer.</li>
<li>Ouvrez <kbd>about:addons</kbd>, cliquez sur l'icône cranter et cliquez sur <strong>Check for Updates</strong>.</li>
<li>vous obtiendrez un message d'avertissement de permission, similaire à celui ci-dessous, détaillant les permissions supplémentaires demandées :<br>
<img alt="Example of the doorhanger displayed when testing permission requests for an extension upgrade" src="https://mdn.mozillademos.org/files/16545/upgrade_install_2.png" style="height: 215px; width: 376px;"></li>
</ul>
<div class="blockIndicator note">
<p>Si la mise à niveau n'a pas lieu, recherchez dans les logs <code>addons.update-checker</code> de la <a href="/en-US/docs/Tools/Browser_Console">console du navigateur</a>. Toute erreur rencontrée au cours du processus de mise à niveau sera signalée dans le journal de logs.</p>
</div>
<h2 id="Re-tester_les_permissions_d'éxécution_octroyées"><strong>Re-tester les permissions d'éxécution octroyées</strong></h2>
<p>Pour tester à nouveau les permissions d'exécution de votre extension et son comportement post-installation, vous avez deux choix :</p>
<ul>
<li>supprimez l'extension en utilisant <kbd>about:debugging</kbd> et réinstallez-la, ou redémarrez Firefox.<br>
<img alt="Highlights the location of the remove option for a web extension in about:debugging" src="https://mdn.mozillademos.org/files/16563/reload_to_retest.png" style="height: 403px; width: 1229px;"></li>
<li>si vous utilisez <a href="https://nightly.mozilla.org/">Nightly</a> ou<a href="https://www.mozilla.org/firefox/developer/"> Developer Edition</a>, utilisez l'extension web des <a href="https://github.com/rpl/dev-webext-permissions-manager">extensions permission Manager</a> pour supprimer les permissions.</li>
</ul>
<p>Vous pouvez ensuite réexécuter l'extension et toutes les demandes de permissions d'exécution seront affichées comme si l'extension était exécutée pour la première fois.</p>
|