dans développement, web

S’il y a bien une habitude que nous avons pris avec les navigateurs, c’est de taper ce que l’on souhaite rechercher depuis la barre d’adresse. Un raccourci rapide et banal que n’importe qui utilise pour gagner quelques petites secondes précieuses. Et si vous faisiez vous aussi gagner quelques précieuses secondes à vos internautes en intégrant votre propre moteur de recherche dans leur navigateur ?

Voilà la problématique à laquelle Opensearch répond depuis 2005. Sous licence Creative Commons Attribution-ShareAlike 2.5, Opensearch utilise XML et les flux RSS. Sa mise en place est facile et il est compatible avec tous les récents navigateurs (Firefox, Google Chrome, Internet Explorer, Arora, etc.). Maintenant que les présentations sont faites. Entrons dans le vif du sujet.

Cas pratique

Si Opensearch se veut simple à mettre en place, c’est parce qu’il suffit simplement d’éditer juste deux fichiers : un fichier XML et l’ajout d’une balise link dans l’entête de vos pages. Quelques explications s’imposent quant à l’intérêt de ces deux ajouts.

Balise link

Intégrée dans la balise <head> des entêtes de vos pages HTML, la balise <link> permettra d’indiquer au navigateur l’existence d’un fichier XML respectant le standard d’Opensearch, et donc d’offrir la possibilité à l’utilisateur d’intégrer votre moteur de recherche.

<link rel="search" type="application/opensearchdescription+xml" href="{ votre fichier de configuration XML }" title="{ Titre de votre moteur de recherche }">

 

Fichier XML

Le fichier XML contient tous les paramètres (logo, url de recherche, nom, etc.) nécessaires à l’intégration de votre moteur de recherche dans le navigateur de l’internaute. Voici un exemple de fichier :

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
   <ShortName>Web Search</ShortName>
   <Description>Use Example.com to search the Web.</Description>
   <Contact>admin@example.com</Contact>
   <Url type="application/rss+xml" 
        template="http://example.com/?q={searchTerms}&pw={startPage?}&foxrmat=rss"/>
</OpenSearchDescription>

Un simple exemple que nous passerons au crible pour expliquer chaque balise afin de bien comprendre leur utilité. Décryptage !


OpenSearchDescription

L’élément racine, de namespace http://a9.com/-/spec/opensearch/1.1/
Exigences : L’élément est obligatoire et doit apparaître qu’une seule et unique fois dans le document

ShortName

Contient un bref titre lisible et qui identifie le moteur de recherche.
Balise parente : OpenSearchDescription
Restrictions : La valeur doit contenir 16 caractères ou moins de texte brut. La valeur ne doit pas contenir du code HTML ou autre balisage. Exigences : Cet élément est obligatoire et doit apparaître qu’une seule et unique fois.

Si vous désirez avoir plus de 16 caractères, allez voir du coté de l’élément facultatif LongName

Description

Contient une description de texte lisible du moteur de recherche.

Balise parente : OpenSearchDescription
Restrictions : La valeur doit contenir 1 024 caractères ou moins de texte brut. La valeur ne doit pas contenir de code HTML ou autre balisage.
Exigences : Cet élément est obligatoire et doit apparaître qu’une seule et unique fois.

Contact

Contient une adresse électronique à laquelle le responsable du document de description peut être atteint.

Balise parente : OpenSearchDescription
Restrictions : La valeur doit être une adresse électronique valide.
Exigences: Cet élément peut apparaître zéro ou une fois.

Url

Décrit une interface par laquelle un utilisateur peut faire une demande pour une ressource externe, comme les résultats de recherche, des suggestions de recherche, ou encore des descriptions supplémentaires.

Balise parente : OpenSearchDescription
Attributs :

  • Template (obligatoire) : Le motif de l’url à traiter conformément à la syntaxe de modèle d’OpenSearch.
  • Type (obligatoire) : Le type MIME de la ressource.
  • Rel : Définit le rôle de la ressource décrite. Par défaut : « résultats ».
  • indexOffset : Le numéro d’index du premier résultat de recherche. Par défaut : 1.
  • pageOffset : Le numéro de page de la première série de résultats de recherche. Par défaut : 1.

Exigences : Cet élément doit apparaître une ou plusieurs fois.


Vous voilà maintenant incollable sur les balises de base d’OpenSearch. Sachez que cet article ne présente qu’un simple exemple, mais qu’il existe d’autres fonctionnalités plus poussées et non présentées comme intégrer le favicon de votre site, l’encodage, la langue, etc. N’hésitez donc pas à jeter un coup d’oeil à la documentation officielle [en].

C’est à vous de jouer maintenant !