OpenSearch est une technologie standardisée permettant à des sites web et des moteurs de recherche de publier le résultat de recherche de manière unifiée. Technologie développée par Amazon, elle voit le jour en 2005 et est, à l'heure actuelle en version 1.1, et malheureusement encore bien méconnue.
Pourtant chacun et chacune d'entre vous l'utilise de manière quotidienne, si je vous l'assure ! Qui n'a jamais utilisé le petit moteur de recherche disponible en haut à droite de son navigateur favori ?!?

L'idée de ce post est de vous montrer, comment vous pouvez, de manière la plus simpliste possible, proposer ce genre de service aux lecteurs de votre site Internet. L'exemple suivi dans la suite sera celui de la mise en place d'un moteur de recherche OpenSearch sur le site MSLive.fr.
Intéressons nous dans un premier temps à cette norme « OpenSearch ».
Cette technologie est basée sur plusieurs éléments. Le premier d'entre eux est le langage XML qui va nous permettre de décrire facilement le service que nous souhaitons proposer (Site Internet mettant le service à disposition, nom du moteur de recherche, description, url à attaquer pour la recherche ect…). Voyons un aperçu de ce fichier pour MSLive.fr :
<?xml version="1.0" encoding="UTF-8" ?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>MSLive.fr</ShortName>
<Description>MSLive.fr, le site de reference en matiere de technologies Microsoft IT.</Description>
<Url type="text/html" template="http://www.mslive.fr/search.aspx?s={searchTerms}" />
</OpenSearchDescription>
La description de notre moteur de recherche utilise les balises :
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
</OpenSearchDescription>
Ces balises sont donc le point d'entrée de la description. Cet élément se doit d'apparaître dans votre fichier XML, et surtout se doit d'en être le nœud racine !
Les nœuds imbriqués à ce nœud racine ne contiennent rien d'autre que des informations descriptives sur votre moteur de recherche :
<ShortName>MSLive.fr</ShortName>
La balise « ShortName » indique le nom qui sera affiché dans la barre du recherche du navigateur lorsque celle-ci est laissée vide :
<Description>MSLive.fr, le site de reference en matiere de technologies Microsoft IT.</Description>
La balise « Description » permet d'apporter une description au moteur de recherche. Par exemple sur le site le fournissant.
<Url type="text/html" template="http://www.mslive.fr/search.aspx?s={searchTerms}" />
La balise orpheline « Url » permet de préciser la page cible sur laquelle doit être lancée la recherche i.e. la page de votre site Internet prévue à cet effet.
Remarquez ici l'expression « {searchTerms} » qui n'est autre que la variable XML qui sera remplacée par les termes à rechercher lors de l'exécution de la recherche.
Admettons que nous cherchions le terme « Active Directory » sur le moteur de recherche MSLive.fr, voici ce que nous obtiendrons :
Nous venons de voir en quelques lignes, comment créer le fichier descriptif (simpliste) de notre moteur de recherche « OpenSearch ». Sachez qu'il existe de nombreuses balises « annexes » permettant d'étoffer le moteur de recherche (Flux RSS, images pour les navigateurs qui le supportent ect…). Si vous souhaitez approfondir cette norme, je vous conseil vivement de lire la documentation officielle sur cette page : http://www.opensearch.org/Specifications/OpenSearch/1.1
Le descriptif du moteur de recherche étant créée, nous allons maintenant voir comment le lier au site Internet ciblé, afin qu'il apparaisse dans la liste proposé par votre navigateur :
Pour cela, rien de plus simple, puisqu'il s'agit tout simplement d'ajouter une balise « link » dans le « head » de votre page html :
<head>
<title>MSLive.fr</title>
<link title="MSLive.fr" rel="search" type="application/opensearchdescription+xml" href="http://www.mslive.fr/opensearch.xml" />
</head>
Passons en revue le détail des attributs de cette balise :
-
« title » : spécifie le titre de notre moteur de recherche. Il est préférable qu'il soit le même que celui placé entre les balises <ShortName>MSLive.fr</ShortName>.
En effet, le cas contraire entraînerait des apparitions multiples de votre moteur de recherche dans la liste fournie par le navigateur.
- « rel » : on indique ici que l'on souhaite lier un moteur de recherche à la page , et ce à l'aide du mot-clé « search »
- « type » : on précise la norme suivi par notre moteur de recherche, ici « application/opensearchdescription+xml »
- « href » : on précise l'url du fichier que nous avons créée précédemment, en charge de la description de notre moteur de recherche (http://www.mslive.fr/opensearch.xml dans ce cas).
Il ne vous reste plus qu'à mettre à jour votre page sur votre serveur, d'envoyer le fichier XML descriptif associé et le tour est joué !