Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Création de plugins MozSearch

Firefox 2 utilise une forme simplifiée du format OpenSearch pour stocker ses plugins de recherche en interne. Un plugin MozSearch est un fichier XML décrivant le moteur de recherche, son URL ainsi que les paramètres à communiquer à cette URL.

Attention : MozSearch n'est pas un standard et n'est prévu que pour un usage interne dans les produits Mozilla. Ce format ne devrait être utilisé que si vous envisagez de distribuer le plugin de recherche au sein d'une extension, ou s'il est prévu pour être distribué par défaut dans une compilation de Firefox. Si vous souhaitez écrire un plugin installable depuis le Web, consultez Création de plugins OpenSearch.

Le fichier plugin

Le format MozSearch est très semblable au format OpenSearch. Les seules différences concernent l'élément racine et l'espace de nommage.

Exemple : recherche Yahoo!

Le code XML suivant correspond au plugin de recherche Yahoo! fourni avec Firefox 2 :

<SearchPlugin xmlns="https://www.mozilla.org/2006/browser/search/">
<ShortName>Yahoo</ShortName>
<Description>Yahoo Search</Description>
<InputEncoding>UTF-8</InputEncoding>
<SuggestionUrl>https://ff.search.yahoo.com/gossip?output=fxjson&command=</SuggestionUrl>
<Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0NogQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==</Image>
<Url type="text/html" method="GET" template="https://search.yahoo.com/search">
  <Param name="p" value="{searchTerms}"/>
  <Param name="ei" value="UTF-8"/>
  <Param name="fr" value="moz2"/>
</Url>
<SearchForm>https://search.yahoo.com/</SearchForm>
</SearchPlugin>

Supposons que l'utilisateur choisisse d'utiliser le plugin de recherche Yahoo!, qu'il saisisse « Mozilla » dans le champ de recherche et qu'il presse la touche Entrée. Firefox utilisera les informations du moteur de recherche décrites ci-dessus pour construire l'URL suivante :

https://search.yahoo.com/search?p=mozilla&ei=UTF-8&fr=moz2

Si l'utilisateur clique sur l'icône loupe dans la barre de recherche, ou choisit l'option Rechercher sur le Web dans le menu Outils lorsque la barre de recherche n'est pas visible, le navigateur l'emmènera sur <tt>https://search.yahoo.com/</tt>, qui est la valeur de l'élément <SearchForm>.

Exemple : recherche MDC

Ce plugin vous permet de faire facilement des recherches sur le site Web Mozilla Developer Center.

<SearchPlugin xmlns="https://www.mozilla.org/2006/browser/search/">
<ShortName>MDC fr</ShortName>
<Description>Recherche sur Mozilla Developer Center</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz%2F%2Fz8DJQAggJiQOe%2Ffv2fv7Oz8rays%2FN%2BVkfG%2FiYnJfyD%2F1%2BrVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw%2F8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq%2FvLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD%2BaDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D</Image>
<Url type="text/html" method="GET" template="https://developer.mozilla.org/fr/docs/Special:Search?search={searchTerms}"/>
<SearchForm>https://developer.mozilla.org/fr/docs/Special:Search</SearchForm> 
</SearchPlugin>

Notez que dans ce cas, au lieu d'utiliser <Param> pour définir les paramètres du moteur de recherche, ceux-ci sont directement intégrés à l'URL modèle. Cette méthode est préconisée avec GET. <Param> devrait être réservée à la méthode POST.

Voir également


Liens Interwiki

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : Mgjbot, Mário Carvalho, BenoitL, Planche, Chbok
 Dernière mise à jour par : Mgjbot,