Présentation d’OpenSearch -
Implémenter votre recherche dans IE 7 -
Conclusion
Présentation d’OpenSearch
OpenSearch est un ensemble de format (RSS ou ATOM) créé par Amazon et malheureusement essentiellement utilisé par le site A9.com un moteur de recherche créé par Amazon.
Le principe d’OpenSearch est simple : proposer un format de réponse commun pour les moteurs de recherches afin de faciliter la récupération et le traitement de leurs résultats. OpenSearch consiste en un format RSS et un format ATOM personnalisé où l’on ajoute des balises spécifiques (ce qui est autorisé grâce à l’ajout de namespaces).
Les moteurs de recherche (y compris les moteurs de recherche inclus dans VOS sites) souhaitant être OpenSearch compliant doivent simplement retourner les réponses à une recherche sous forme RSS ou ATOM en respectant les formats proposés par OpenSearch.
Générer du RSS ou de l’ATOM est assez simple (ce ne sont que des formats XML) et l’intérêt de partager un format commun est vraiment intéressant : récupérer les résultats d’une recherche est simple car il suffit de parser le flux xml renvoyé, et manipuler ses résultats est également facile et permet de fournir des fonctionnalités sympathiques comme la fusion des résultats de recherches issues de différentes sources (c’est d’ailleurs une des fonctionnalités proposées par A9.com).
OpenSearch est donc une excellente initiative et permet de mettre en place des scénarios intéressants pour l’utilisateur.
Prenons le cas de votre site préféré - ASP-PHP.net - et de la communauté dotnet francophone. Lors d’une recherche sur ASP-PHP.net vous souhaiteriez peut-être savoir si le sujet de votre recherche renvoie des résultats sur CodeS-SourceS, TechHeadBrothers, etc. Fournir ce genre de résultats est assez compliqué :
Première solution la plus « sale », effectuer une requête http sur chaque site en demandant la page de recherche de chaque site et parser l’HTML résultat de cette requête.
Deuxième solution, regarder si ces sites proposent des services web de recherche, et les utiliser afin d’effectuer les recherches. Cette solution pourrait être séduisante encore faut-il que ces services web respectent le même contrat et renvoient un même format de réponse.
3ème solution et la meilleure, regarder si ces sites proposent « OpenSearch » et récupérer les réponses aux recherches au format RSS ou ATOM.
Implémenter OpenSearch dans une site web revient à implémenter 3 éléments :
- Pour débuter il faut indiquer que vous implémentez OpenSearch. Cela se fait de manière très simple via l’ajout d’une balise « link » dans les pages de votre site web.
Exemple :
<link title="ASP-PHP.net" type="application/opensearchdescription+xml" rel="search" href="aspphpsearch.xml"> |
-
L’élément défini grâce à l’attribut href est un fichier de description au format XML définissant quelques informations sur votre site web et il permet surtout de définir quelle est la page à appeler pour effectuer une recherche.
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> <Tags>example web</Tags> <Contact>admin@example.com</Contact> <Url type="application/rss+xml" template="http://example.com/?q={searchTerms}&pw={startPage?}&format=rss"/> </OpenSearchDescription>
|
-
Dernier élément bien entendu, la réponse à la recherche au format RSS ou ATOM défini par OpenSearch. Le but de cet article n’étant pas de vous expliquer comment générer ces réponses, vous trouverez toutes les informations sur les spécifications rendez-vous sur :
Specifications des reponses Opensearch