Comparaison de révisions

Création de plugins OpenSearch pour Firefox

Révision 277198 :

Révision 277198 par Thunderseb le

Révision 223571 :

Révision 223571 par Thunderseb le

Titre :
Création de plugins OpenSearch pour Firefox
Création de plugins OpenSearch pour Firefox
Identifiant d'URL :
Création_de_plugins_OpenSearch_pour_Firefox
Création_de_plugins_OpenSearch_pour_Firefox
Étiquettes :
Plugins, Plugins_de_recherche
Contenu :

Révision 277198
Révision 223571
t7    <h3 id="OpenSearch" name="OpenSearch">t
8      OpenSearch
9    </h3>
10    <p>
11      <a href="fr/Firefox_2">Firefox 2</a> reconnait le format de
> description de plugins de recherche <a class="external" href="ht 
>tp://opensearch.org/">OpenSearch</a>. Les plugins respectant cett 
>e <a class="external" href="http://www.opensearch.org/Specificati 
>ons/OpenSearch/1.1#OpenSearch_description_document">syntaxe</a> s 
>ont compatibles tant avec Internet Explorer 7 qu'avec Firefox et  
>leur utilisation est donc recommandée sur le Web. 
12    </p>
13    <p>
14      Firefox supporte également des fonctions de recherche qui n
>e font pas partie d'<a class="external" href="http://www.opensear 
>ch.org/Specifications/OpenSearch/1.1#OpenSearch_description_docum 
>ent">OpenSearch</a>, comme les suggestions de recherche et l'élém 
>ent <code>SearchForm</code>. Cet article s'intéresse à la créatio 
>n de plugins compatibles OpenSearch et utilisant, en plus, ces fo 
>nctionnalités propres à Firefox. 
15    </p>
16    <p>
17      Les fichiers de description OpenSearch peuvent être publiés
> par les sites Web comme décrit dans <a href="#D.C3.A9tection_aut 
>omatique_des_plugins_de_recherche">Détection automatique des plug 
>ins de recherche</a>, et peuvent être installés automatiquement c 
>omme décrit dans <a href="fr/Ajout_de_moteurs_de_recherche_depuis 
>_des_pages_Web">Ajout de moteurs de recherche depuis des pages We 
>b</a>. 
18    </p>
19    <h3 id="Fichier_de_description_d.27un_plugin_OpenSearch" name
>="Fichier_de_description_d.27un_plugin_OpenSearch"> 
20      Fichier de description d'un plugin OpenSearch
21    </h3>
22    <p>
23      Le fichier XML décrivant un moteur de recherche est relativ
>ement simple, suivant le modèle de base décrit ci-après. Étant do 
>nné qu'il s'agit d'un fichier XML, son nom sera de la forme <stro 
>ng>moteurderecherche.xml</strong>. Les éléments en gras du modèle 
> doivent être personnalisés selon les besoins du moteur de recher 
>che particulier pour lequel le plugin est créé. 
24    </p>
25    <pre class="eval">
26&lt;OpenSearchDescription xmlns="<span class="nowiki">http://a9.c
>om/-/spec/opensearch/1.1/</span>" 
27                       xmlns:moz="<span class="nowiki">http://www
>.mozilla.org/2006/browser/search/</span>"&gt; 
28  &lt;ShortName&gt;<strong>engineName</strong>&lt;/ShortName&gt;
29  &lt;Description&gt;<strong>engineDescription</strong>&lt;/Descr
>iption&gt; 
30  &lt;InputEncoding&gt;<strong>inputEncoding</strong>&lt;/InputEn
>coding&gt; 
31  &lt;Image width="16" height="16"&gt;data:image/x-icon;base64,<s
>trong>imageData</strong>&lt;/Image&gt; 
32  &lt;Url type="text/html" method="<strong>method</strong>" templ
>ate="<strong>searchURL</strong>"&gt; 
33    &lt;Param name="<strong>paramName1</strong>" value="<strong>p
>aramValue1</strong>"/&gt; 
34    ...
35    &lt;Param name="<strong>paramNameN</strong>" value="<strong>p
>aramValueN</strong>"/&gt; 
36  &lt;/Url&gt;
37  &lt;Url type="application/x-suggestions+json" template="<strong
>>suggestionURL</strong>"/&gt; 
38  &lt;moz:SearchForm&gt;<strong>searchFormURL</strong>&lt;/moz:Se
>archForm&gt;  
39&lt;/OpenSearchDescription&gt;
40</pre>
41    <dl>
42      <dt>
43        <strong>ShortName</strong>
44      </dt>
45      <dd>
46        Un nom court pour le moteur de recherche.
47      </dd>
48    </dl>
49    <dl>
50      <dt>
51        <strong>Description</strong>
52      </dt>
53      <dd>
54        Une brève description du moteur de recherche.
55      </dd>
56    </dl>
57    <dl>
58      <dt>
59        <strong>InputEncoding</strong>
60      </dt>
61      <dd>
62        L'encodage à utiliser pour les données envoyées au moteur
> de recherche. 
63      </dd>
64    </dl>
65    <dl>
66      <dt>
67        <strong>ImageData</strong>
68      </dt>
69      <dd>
70        Une icône 16×16 encodée en Base64 représentant le moteur 
>de recherche. <a class="external" href="http://software.hixie.ch/ 
>utilities/cgi/data/data">The data: URI kitchen</a> (en) est un ou 
>til très pratique pour générer les données à placer ici. 
71      </dd>
72    </dl>
73    <p>
74      Vous pouvez également utiliser directement la favicon de vo
>tre site avec la syntaxe <code>&lt;Image height="16" width="16" t 
>ype="image/x-icon"&gt;<a class=" external" href="http://siteinter 
>net/favicon.ico" rel="freelink">http://siteinternet/favicon.ico</ 
>a>&lt;/Image&gt;</code> 
75    </p>
76    <dl>
77      <dt>
78        <strong>Url</strong>
79      </dt>
80      <dd>
81        Décrit l'URL ou les URL à utiliser pour la recherche. L'a
>ttribut <code>method</code> précise si le type de la requête à ut 
>iliser pour envoyer les données au site de recherche doit être <c 
>ode>GET</code> ou <code>POST</code>. L'attribut <code>template</c 
>ode> indique l'URL de base pour la requête de recherche. 
82      </dd>
83      <dd>
84        <div class="note">
85          <strong>Note&nbsp;:</strong> Internet Explorer 7 ne gèr
>e pas les requêtes <code>POST</code>. 
86        </div>
87      </dd>
88    </dl>
89    <dl>
90      <dd>
91        Firefox accepte deux types d'URL&nbsp;:
92      </dd>
93    </dl>
94    <ul>
95      <li>
96        <code>type="text/html"</code> définit l'URL à laquelle en
>voyer la requête de recherche elle-même. 
97      </li>
98      <li>
99        <code>type="application/x-suggestions+json"</code> défini
>t l'URL à laquelle demander des suggestions de recherche. 
100      </li>
101    </ul>
102    <dl>
103      <dd>
104        Pour chacun de ces types d'URL, vous pouvez utiliser <cod
>e>{searchTerms}</code> pour représenter les mots saisis par l'uti 
>lisateur dans la Barre de recherche. D'autres paramètres de reche 
>rche dynamique sont décrits dans la spécification <a class="exter 
>nal" href="http://www.opensearch.org/Specifications/OpenSearch/1. 
>1/Draft_3#OpenSearch_1.1_parameters">OpenSearch 1.1</a>. 
105      </dd>
106    </dl>
107    <dl>
108      <dd>
109        Pour les requêtes de suggestions de recherche, le modèle 
>d'URL spécifié sert à obtenir une liste de suggestions au format  
>JSON (JavaScript Object Notation). Pour plus de détails sur la fa 
>çon d'implémenter la fourniture de suggestions de recherche sur u 
>n serveur, consultez <a href="/fr/Gestion_de_suggestions_dans_les 
>_plugins_de_recherche" title="fr/Gestion_de_suggestions_dans_les_ 
>plugins_de_recherche">la gestion de suggestions dans les plugins  
>de recherche</a>. 
110      </dd>
111    </dl>
112    <p>
113      <img alt="Image:SearchSuggestionSample.png" class="internal
>" src="/@api/deki/files/1315/=SearchSuggestionSample.png"> 
114    </p>
115    <dl>
116      <dt>
117        <strong>Param</strong>
118      </dt>
119      <dd>
120        Les paramètres devant être transmis avec la requête de re
>cherche, par paires clés/valeur. Vous pouvez utiliser <code>{sear 
>chTerms}</code> pour y insérer les termes de recherche saisis par 
> l'utilisateur dans la Barre de recherche. 
121      </dd>
122      <dd>
123        <div class="note">
124          <strong>Note&nbsp;:</strong> Internet Explorer 7 ne gèr
>e pas cet élément. 
125        </div>
126      </dd>
127    </dl>
128    <dl>
129      <dt>
130        <strong>SearchForm</strong>
131      </dt>
132      <dd>
133        L'URL d'accès direct à la page de recherche du site sur l
>equel le plugin fait ses recherches. Elle donne la possibilité à  
>Firefox de permettre à l'utilisateur de visiter directement le si 
>te Web. 
134      </dd>
135    </dl>
136    <dl>
137      <dd>
138        <div class="note">
139          <strong>Note&nbsp;:</strong> Cet élément ne fait pas pa
>rtie des spécifications OpenSearch, il est spécifique à Firefox.  
>Le préfixe d'espace de noms XML «&nbsp;<code>moz:</code>&nbsp;» e 
>st ainsi utilisé dans l'exemple ci-dessus pour permettre aux navi 
>gateurs ne le supportant pas de l'ignorer. 
140        </div>
141      </dd>
142    </dl>
143    <h3 id="D.C3.A9tection_automatique_des_plugins_de_recherche" 
>name="D.C3.A9tection_automatique_des_plugins_de_recherche"> 
144      Détection automatique des plugins de recherche
145    </h3>
146    <p>
147      Un site Web proposant un plugin de recherche peut le signal
>er pour que les utilisateurs de Firefox puissent le télécharger e 
>t l'installer facilement. 
148    </p>
149    <p>
150      Pour supporter la détection automatique, ajoutez simplement
> la ligne suivante dans la section <code>&lt;head&gt;</code> de v 
>otre page Web&nbsp;: 
151    </p>
152    <pre class="eval">
153&lt;link rel="search" type="application/opensearchdescription+xml
>" title="<i>searchTitle</i>" href="<i>pluginURL</i>"&gt; 
154</pre>
155    <p>
156      Remplacez les éléments en italique comme expliqué ci dessou
>s&nbsp;: 
157    </p>
158    <dl>
159      <dt>
160        <b>searchTitle</b>
161      </dt>
162      <dd>
163        Le nom de la fonction de recherche proposée, comme par ex
>emple "Recherche sur MDC" ou "Recherche Yahoo!". Cette valeur doi 
>t correspondre à la valeur <code>ShortName</code> de votre plugin 
>. 
164      </dd>
165    </dl>
166    <dl>
167      <dt>
168        <b>pluginURL</b>
169      </dt>
170      <dd>
171        L'URL du plugin de recherche XML, indiquant où le navigat
>eur peut le télécharger. 
172      </dd>
173    </dl>
174    <p>
175      Si votre site offre plusieurs plugins de recherche, vous po
>uvez proposer la détection automatique pour chacun d'eux. Par exe 
>mple&nbsp;: 
176    </p>
177    <pre class="eval">
178&lt;link rel="search" type="application/opensearchdescription+xml
>" title="MonSite : par auteur" href="<a class=" external" href="h 
>ttp://www.mysite.com/mysiteauthor.xml" rel="freelink">http://www. 
>mysite.com/mysiteauthor.xml</a>"&gt; 
179&lt;link rel="search" type="application/opensearchdescription+xml
>" title="MonSite : par titre" href="<a class=" external" href="ht 
>tp://www.mysite.com/mysitetitle.xml" rel="freelink">http://www.my 
>site.com/mysitetitle.xml</a>"&gt; 
180</pre>
181    <p>
182      De cette manière, votre site propose à la fois un plugin de
> recherche par auteur et un par titre en tant qu'entités différen 
>tes. 
183    </p>
184    <h3 id="Astuces_de_d.C3.A9pannage" name="Astuces_de_d.C3.A9pa
>nnage"> 
185      Astuces de dépannage
186    </h3>
187    <p>
188      S'il y a une erreur dans votre plugin de recherche XML, vou
>s pourriez obtenir une erreur en l'ajoutant dans Firefox. Le mess 
>age d'erreur ne vous serait sûrement pas d'une grande utilité, to 
>utefois les astuces suivantes vous aideront à résoudre le problèm 
>e. 
189    </p>
190    <ul>
191      <li>Vous pouvez tester votre moteur de recherche en plaçant
> tout simplement votre fichier XML dans le dossier <b>searchplugi 
>ns</b> de votre profil, puis en redémarrant Firefox. 
192      </li>
193      <li>Assurez vous que le code XML de votre plugin de recherc
>he soit bien formé. Les esperluettes dans l'URL du modèle doivent 
> être échappées avec &amp;amp; et les balises doivent être fermée 
>s avec une barre oblique de fermeture (slash) ou une balise ferma 
>nte. 
194      </li>
195      <li>L'attribut <code>xmlns</code> est important, car sans l
>ui vous obtiendrez un message d'erreur indiquant que le plugin ne 
> peut pas être chargé. 
196      </li>
197      <li>Notez que vous <b>devez</b> fournir une URL <code>text/
>html</code> URL — les plugins de recherche fournissant seulement  
>des types d'URL Atom ou <a href="fr/RSS">RSS</a> (ce qui est vali 
>de mais non géré par Firefox) génèreront également l'erreur «&nbs 
>p;impossible de télécharger le plugin de recherche&nbsp;». 
198      </li>
199      <li>Les icônes téléchargeables ne doivent pas dépasser la t
>aille de 10 Ko (voir le {{ Bug("361923") }}). 
200      </li>
201    </ul>
202    <p>
203      En outre, le service gérant les plugins de recherche permet
> l'activation d'un journal des erreurs pouvant être utile aux dév 
>eloppeurs de plugins. Utilisez la commande <i>about:config</i> po 
>ur donner la valeur <code>true</code> à la préférence '<code>brow 
>ser.search.log</code>'. Les informations du journal apparaîtront  
>directement dans la <a href="fr/Console_d'erreurs">Console d'erre 
>urs</a> (Outils → Console d'erreurs) de Firefox lors de l'ajout d 
>e plugins de recherche. 
204    </p>
205    <h3 id="R.C3.A9f.C3.A9rences" name="R.C3.A9f.C3.A9rences">
206      Références
207    </h3>
208    <ul>
209      <li>
210        <a class="external" href="http://opensearch.org/">Documen
>tation OpenSearch</a>, <a class="external" href="http://www.opens 
>earch.org/Specifications/OpenSearch/Extensions/Parameter/1.0">Doc 
>umentation OpenSearch concernant les éléments Url et Param</a> 
211      </li>
212      <li>Technorati.com dispose d'un <a class="external" href="h
>ttp://technorati.com/osd.xml">osd.xml fonctionnel</a> 
213      </li>
214      <li>Plus de détails sur les difficultés avec la détection a
>utomatique sur bugzilla {{ Bug("340208") }} 
215      </li>
216      <li>
217        <a class="external" href="http://en.wikipedia.org/wiki/Da
>ta:_URI_scheme"><code>data:</code> URI scheme</a> 
218      </li>
219      <li>
220        <a class="external" href="http://www.searchplugins.net">s
>earchplugins.net</a> — créez des plugins OpenSearch pour Firefox  
>2. <a class="external" href="http://www.searchplugins.net/pluginl 
>ist.aspx">Liste de plugins de recherche générés automatiquement</ 
>a> 
221      </li>
222      <li>
223        <a class="external" href="http://ready.to/search/en/">Rea
>dy2Search</a> — créez des plugins OpenSearch. <a class="external" 
> href="http://ready.to/search/make/en_make_plugin.htm">manuel et  
>exemples de plug-in</a> 
224      </li>
225    </ul>
226    <p>
227      <span class="comment">Lien Interwiki</span>
228    </p>
229    <div class="noinclude"></div>{{ languages( { "ca": "ca/Creaci
>\u00f3_de_connectors_OpenSearch_per_al_Firefox", "en": "en/Creati 
>ng_OpenSearch_plugins_for_Firefox", "es": "es/Creaci\u00f3n_de_pl 
>ugins_OpenSearch_para_Firefox", "ja": "ja/Creating_OpenSearch_plu 
>gins_for_Firefox", "pl": "pl/Tworzenie_wtyczek_OpenSearch_dla_Fir 
>efoksa", "pt": "pt/Criando_plugins_OpenSearch_para_o_Firefox", "z 
>h-tw": "zh_tw/\u88fd\u4f5c_OpenSearch_\u641c\u5c0b\u6a21\u7d44" } 
> ) }} 

Retour à l'historique