Opensearch pour ajouter le moteur de recherche à votre navigateur

Astuceformats

Publié par le , mis à jour le (36541 lectures)

xml recherche opensearch

OpenSearch est une technique permettant d'intégrer un moteur de recherche présent sur un site, directement dans un navigateur.

Vous pouvez par exemple ajouter le moteur de recherche d'Alsacreations.com à votre navigateur si celui-ci est équipé d'une zone adaptée. Il vous suffit de cliquer sur la liste déroulante des moteurs intégrés et de choisir "Ajouter". Vous pourrez le retirer par la suite si vous le souhaitez dans les paramètres (sous Firefox "gérer les moteurs de recherche").

OpenSearch sur Alsacreations

Les navigateurs compatibles avec Opensearch sont :

  • Mozilla Firefox 2+
  • Google Chrome 3+ (voir Chromium)
  • Internet Explorer 7 et 8
  • Arora et divers autres logiciels

OpenSearch a initialement été proposé par A9 (Amazon). Chrome suggère même via la barre de navigation de lancer une recherche directement sur le site destination lorsqu'il détecte un site référencé comme supportant OpenSearch. C'est le cas d'Alsacreations.com

Comment cela fonctionne-t-il en pratique ?

Pour ajouter une telle fonctionnalité sur votre site, il vous suffira d'éditer deux fichiers.

La description XML

Premièrement il faut créer un fichier XML tel que opensearch.xml, placé par exemple à la racine de votre site :

<?xml version="1.0" encoding="UTF-8" ?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
  <ShortName>Alsacreations</ShortName>
  <Description>Recherche dans les ressources</Description>
  <Image>favicon.png</Image>
  <Language>fr</Language>
  <InputEncoding>UTF-8</InputEncoding>
  <Url type="text/html" template="http://www.alsacreations.com/search/tag/{searchTerms}"/>
</OpenSearchDescription>

Celui-ci est relativement simple à comprendre. Des exemples plus complets avec d'autres balises sont disponibles sur le site Opensearch.org Specifications.

OpenSearchDescription
Il s'agit de l'élément racine, de namespace http://a9.com/-/spec/opensearch/1.1/
ShortName
Le titre de votre moteur/site de recherche
Description
La description un peu plus longue.
Url
L'adresse à interroger, dont l'attribut template définit le masque, notamment via {searchTerms} qui sera remplacé par les mots entrés dans le champ d de recherche (et échappés, de la même façon que urlencode en PHP).
Image
L'url vers l'image favicon du site.
Language
La langue d'après la spécification XML.
InputEncoding
Pour spécifier l'encodage des valeurs à utiliser, par exemple UTF-8.

Le lien avec link

Deuxièmement, y faire référence dans le code source du site, section head, grâce à l'élément link avec les attributs (rel, type, title) appropriés et surtout l'URL vers le fichier XML dans l'attribut href :

<link rel="search" type="application/opensearchdescription+xml" title="Alsacreations" href="http://www.alsacreations.com/opensearch.xml" />

Note : Le titre indiqué dans la balise link doit correspondre au contenu de la balise ShortName du fichier XML.

Bien entendu cette spécification va au-delà du simple ajout au moteur et définit d'autres fonctionnalités d'interrogation et de réponses, avec une présentation des résultats et des agrégateurs.

Commentaires

Cool, moi qui n'avait pas idée de comment pouvoir ajouter les sites dans les systèmes de recherche, me voilà content !
Merci dew :)

Opera permet d'ajouter n'importe quel moteur de recherche dans sa liste de moteurs de recherche personnels simplement en faisant un clic droit sur le champ.

Ça permet aussi d'ajouter des moteurs traductions ou même le site "le conjugueur" et "jetable.org" pour s'en servir depuis son navigateur sans devoir ouvrir le site au préalable.

@Raphael ou @Dew : Je pense que si c'était pour le forum, il faille rajouter des critères supplémentaires (auteur, date de publication, etc.) ? Est ce que ce serait possible ?

bjr au risque très élevé de passer pour une bille s'git il ici de proposer un moteur de recherche permettant de faire une recherche sur le site auquel il est attaché ou plus précisément de proposer un nouveau moteur de recherche scrutant le web?
Merci pour vos éléments
Je pense qu'il s'agit de la seconde hypothèse mais mon problème est celui décrit en première partie.

Voila une astuce bien sympa !

Pour ceux qui voudraient pouvoir ajouter n'importe quel moteur de recherche sur Firefox, je recommande l'extension Add to Search Bar qui sert justement à ca: https://addons.mozilla.org/en-US/firefox/addon/3682/