[Plan du site]
Vous êtes ici ---
> Le Site du Zéro
> Les tutoriels
> Non-Officiels
> Bureautique
> Divers
> Créer un plugin OpenSearch
> Lecture du tutoriel
Créer un plugin OpenSearch
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Bonjour à tous.
Ce tuto vous expliquera comment créer un plugin OpenSearch.
Un plugin OpenSearch est, comme son nom l'indique, un plugin de recherche. Ces plugins fonctionnent non seulement sur Firefox 2.0, mais aussi sur Internet Explorer 7, ce qui leur garantit une compatibilité avec les navigateurs les plus utilisés.
Un plugin OpenSearch se présente souvent sous la forme d'un moteur de recherche dans la barre de recherche présente à droite de la barre d'adresse.
Par exemple, sur Firefox, les moteurs de recherche présents par défaut sont :
- Google (Moteur de recherche Web)
- Yahoo (Moteur de recherche Web + Annuaire)
- Amazon (Site de vente de livres/CD/DVD)
- Ebay (Site d'enchères)
- MediaDICO (Dictionnaire en ligne)
- Wikipedia (Encyclopédie libre et gratuite. A mettre absolument dans les marque-pages
)
Tenez, je vous offre même un screen !
Nous allons donc apprendre à créer un de ces moteurs de recherche, qui sont basés sur la technologie OpenSearch.
Contrairement aux premières impressions que l'on peut avoir, ça n'a absolument rien de compliqué, il vous faut (et encore

) quelques connaissances en
XML, et c'est parti !
Le Site Web
J'espère pour vous que vous ne comptez pas apprendre à créer un plugin de recherche pour rien ! Cet outil est présent parce qu'il est pratique, et c'est pourquoi je vais m'efforcer dans ce tuto de lier l'utile et l'apprentissage : il va donc falloir choisir un site pour tester notre plugin.
Le site web pour lequel nous allons créer un plugin de recherche pour Firefox n'est autre que... le fameux
Site du ZérO !
Le module de recherche ayant été rétabli récemment, et, semble t-il, pour de bon, il est normal que le site se dote d'un plugin de recherche, et si cela vous permet en plus d'apprendre comment faire, tout est bon !
Les plus perspicaces d'entre vous auront peut-être remarqué que le Site du Zér0 possède déjà un plugin du genre. Cependant, j'ai trouvé pédagogiquement qu'utiliser comme exemple le site même était une bonne méthode.
OpenSearch
OpenSearch est une technologie qui se base sur les flux RSS et le XML. Elle permet, entre autres et c'est qui nous intéresse, d'intégrer des moteurs de recherches directement dans des navigateurs.
Cette technologie a été rendue publique et finalisée en mars 2005, ce qui lui a permis d'être intégré par les deux principaux navigateurs du marché, à savoir Internet Explorer 7 et Firefox 2.0.
Nous allons cependant, dans ce tuto, nous attarder un peu sur le cas de Firefox, qui peut intégrer des fonctionnalités supplémentaires bien utiles.
Avant l'apparition de OpenSearch, Internet Explorer 6 n'intégrait pas de moteur de recherche directement dans son navigateur, et en créer pour Firefox était (relativement) compliqué.
Comme je vous l'avais promis, créer un plugin OpenSearch est relativement simple.
Voici le code qui va nous suivre durant le reste du tuto :
Tout ce que nous allons faire, c'est remplir les champs (=
ce qui se trouve entre les différentes balises) dont nous avons besoin et les adapter.
Pour le Site du Zéro
Allons-y, adaptons ce code pour le Site du Zér0 !
ShortName
Ce doit être un nom qui caractérise votre plugin de recherche, il se doit d'être assez court.
Pour nous, "Site du Zéro" suffira :
Code : XML1 | <ShortName>Site Du Zero</ShortName>
|
Description
Une description du plugin de recherche. Voici ce que je vous propose :
Citation : DescriptionFaites une recherche sur le Site du Zéro !
Ce qui donne :
Code : XML1 | <Description>Recherchez sur le Site Du Zero !</Description>
|
InputEncoding
L'encodage à utiliser pour transmettre votre recherche au moteur de recherche.
Pour le Site du Zér0, il s'agit d'un encodage en
ISO-8859-1 :
Code : XML1 | <InputEncoding>ISO-8859-1</InputEncoding>
|
Image
C'est l'icône qui représentera votre plugin.
Il est fortement conseillé d'en inclure deux : une de taille 16 px * 16 px et une de taille 64 px * 64 px, la seconde état facultative (c'est de la 16 px * 16 px dont on va avoir le plus besoin).
Mis à part la hauteur et la largeur (
height et
width), l'autre élément susceptible d'être modifié est "
type". Par habitude, les deux types d'image que l'on utilise sont :
- .png : on mettra alors "image/png" dans le champ "type"
- .ico, on mettra alors "image/x-icon" dans le champ "type".
Voici le code désiré pour l'image :
Code : XML1
2 | <Image height="16" width="16" type="image/x-icon">http://www.siteduzero.xom/Templates/images/designs/1/favicon.ico</Image>
<Image height="64" width="64" type="image/x-icon">http://www.siteduzero.xom/Templates/images/designs/1/favicon.ico</Image>
|
Url
C'est le point le plus important : c'est avec cet attribut que vous allez indiquer le moteur de recherche sur lequel se basera le plugin OpenSearch.
Cette balise comporte deux attributs,
method et
template :
- method : le type de la requête pour envoyer les données. Les types sont GET ou POST (ceux qui ont fait du PHP connaissent) même si la requête est le plus souvent de type GET.
- template : l'adresse vers laquelle le plugin redirigera le navigateur pour qu'il puisse effectuer sa requête. On utilisera dans ce champ ce qu'a tapé l'utilisateur dans le formulaire, qui est contenu dans la variable {searchTerms}.
Pour le Site du Zér0, voici ce qui convient :
Code : XML1 | <Url type="text/html" method="GET" template="http://www.siteduzero.com/recherche.html?src={searchTerms}&c=6"/>
|
La méthode utilisée est
GET, et l'url de la recherche globale est
http://www.siteduzero.com/recherche.html?src={Termesrecherchés}&c=6, ce qui donne le code du dessus.
Mais chez moi, c'est GET ou POST ?
Vous vous demandez peut-être quel est le type de la requête pour envoyer des données chez vous.
C'est très simple, il suffit de faire une recherche et de regarder où l'url mène.
Soit l'url obtenue est du style
http://www.siteduzero.com/recherche.ht [...] syPHP&c=6 (recherche sur EasyPHP), les termes recherchés apparaissent dans la barre d'adresse, il s'agit d'une requête
GET.
Au contraire, si les termes recherchés n'apparaissent pas dans l'URL, il s'agit d'une requête
POST.
Pour finir
Et voilà, le code que nous obtenons est le suivant :
Code : XML
C'est le code minimal pour un plugin OpenSearch : tous les éléments ont été détaillés, vous ne devriez normalement avoir aucun mal pour créer le vôtre !
Bien entendu, le plugin peut être plus évolué, c'est ce que nous allons voir maintenant.
Il est possible d'étoffer encore plus son plugin, en rajoutant de nombreuses options et informations.
Nous allons voir dans cette partie quelques-uns de ces éléments additionnels.
Les éléments additionnels
AdultContent
Code : XML1 | <AdultContent>false</AdultContent>
|
Très explicite, il permet d'indiquer au moteur de recherche si votre site possède un contenu réservé aux adultes. Deux réponses sont possibles,
true et
false (vrai ou faux).
Généralement, la bonne valeur à indiquer est
false. (

)
moz:SearchForm
L'URL d'accès direct à la page de recherche du site sur lequel le plugin fait ses recherches. Elle donne la possibilité à Firefox de permettre à l'utilisateur de visiter directement le site Web.
Cet élément ne fait pas partie des spécifications d'OpenSearch: il est spécifique à Firefox, d'où le "moz:" au début de la balise.
Code : XML1 | <moz:SearchForm>http://monsite.com/recherche.html</moz:SearchForm>
|
Pour le Site du Zér0 par exemple, la page en question est :
http://www.siteduzero.com/recherche-405.html.
Language
C'est le langage de votre plugin, tout simplement.
Code : XML
Contact
Une adresse e-mail pour qu'on puisse contacter quelqu'un qui puisse modifier le plugin.
Code : XML1 | <Contact>webmaster@siteduzero.com</Contact>
|
LongName
Un nom un peu plus long pour votre plugin : c'est la version longue de
<ShortName> que l'on a vue plus haut. Elle fonctionne de la même façon :
Code : XML1 | <LongName>Le Site du Zéro : On apprend tout à partir de zéro</LongName>
|
Developer
C'est l'occasion de vous remercier.
Cette balise contient le nom de la personne qui a créé ce plugin.
Code : XML1 | <Developer>Mehdi</Developer>
|
Attribution
C'est une balise qui n'est pas souvent utilisée car superflue, mais il peut être intéressant de connaître son existence. Il s'agit en fait du copyright de votre plugin, la licence qui le gère.
Code : XML1 | <Attribution>Copyright © Simple IT SARL</Attribution>
|
Tags
C'est une balise qui définit en fait des mots-clés pour votre plugin.
Code : XML1 | <Tags>SdZ xHTML CSS PHP Mapping C/C++ OpenGL Linux débutants</Tags>
|
Notre plugin au complet
Voici le code que nous possédions déjà :
Maintenant, rajoutons les éléments que nous avons découverts dans cette partie. Nous obtenons :
C'est quand même plus complet ainsi, non ?
Bien entendu, vous n'êtes pas forcés d'utiliser toutes ces balises, juste celles qui vous intéressent !
Mais comment on fait pour l'installer ?
Bonne question, c'est précisément ce que nous allons voir dans cette partie ! (Quelle transition...

)
C'est extrêmement simple : il suffit d'indiquer la présence de votre plugin dans le
<head> de la page.
Par exemple, on trouve dans le
<head> du SdZ cette ligne de code :
Code : HTML1 | <link rel="search" type="application/opensearchdescription+xml" title="Site Du Zero" href="/Templates/xml/xpi/fr/siteduzero.xpi" />
|
Analysons un peu cette ligne, plus particulièrement les deux attributs qui devront être adaptés,
title et
href.
- title est tout simplement le titre de votre plugin.
- href est la localisation du fichier de votre plugin, que vous pouvez enregistrer en *.xpi, comme le SdZ, mais aussi en *.xml, ça revient au même.
Quand Firefox détecte la présence de cette balise dans une page, l'icône de recherche devient
bleue.
Voici ce que donne la présence d'une telle balise dans une page :
Et si vous cliquez sur l'icône, voici le menu qui peut s'afficher :
Ensuite, il vous suffit de cliquer sur
Ajouter "Nom du Site" pour qu'il soit ajouté.
C'est pas beau ?
Voici deux petites astuces qui pourront vous faciliter la vie !
- Vous pouvez gérer vos moteurs de recherche en cliquant sur "Gérer les moteurs de recherche...". Vous pourrez ainsi gérer votre liste.
- Le raccourci clavier pour placer le curseur directement dans la boîte de recherche est : CTRL + K.
- Il peut arriver que votre plugin bugue lamentablement, sans raison apparente, puisque tout vous semble bon. Vous pouvez activer le journal d'erreur pour les plugins en donnant la valeur true à browser.search.log, après avoir tapé about:config dans la barre d'adresse de Firefox.
Le journal d'erreur se trouvera dans la Console d'erreur, accessible par "Outils" -> "Console d'erreurs".
Et voilà, vous êtes maintenant capables de créer un plugin OpenSearch pour votre propre site !