Jetons un coup d'oeil sur le contenu de ce moteur. Pour cela, il vous suffit de rechercher le fichier mysql-docs.src théoriquement présent dans le répertoire searchplugins de Firefox. Editez ce fichier et regardez de plus près la portion suivante :

<INPUT NAME="search_query" user>
<INPUT NAME="depth" VALUE="0">
<INPUT NAME="submit" VALUE="Search">

Vous retrouvez bien là toutes les caractéristiques d'un formulaire. Cependant, celui-ci n'effectue les recherches qu'en anglais. Ce qui nous intéresse ici, c'est d'effectuer les recherches en français. Sur le site de MySQL les pages de documentations sont disponibles ici pour le français et pour la version anglaise. Effectuez une simple recherche avec le formulaire à disposition (dont le code ressemble fortement à ce que l'on a dans le fichier mysql-docs.src). Une fois cette recherche effectuée, regardez bien l'url affichée par votre navigateur : un paramètre lang apparaît, il prend la valeur "fr" pour le formulaire issu de la page affichée en français et bien évidemment "en" pour l'autre. Il nous suffit donc d'ajouter un élément de formulaire faisant référence à la langue qui nous intéresse (et sous réserve bien sûr, pour ceux qui utiliseraient une autre langue, que celle-ci soit disponible sur le site) dans le fichier mysql-docs.src :

<INPUT NAME="search_query" user>
<INPUT NAME="depth" VALUE="0">
<INPUT NAME="lang" VALUE="fr">
<INPUT NAME="submit" VALUE="Search">

Vous possédez maintenant un moteur de recherche intégré à Firefox qui effectue les recherches dans la documentation du site MySQL en français.

On aurait pu aller plus vite en consultant la documentation mise en ligne sur le site mozdev.org, un exemple tout simple est à disposition ici :p.

Dans la même veine, on peut faire la même chose avec ce blog. Un fichier minimum, qu'on appellerait biophyse.src, permettant la recherche sur ce blog, doit comporter les éléments suivants :

  • Le nom (c'est la moindre des choses ;)) pour remplir la variable name,
  • l'url du formulaire et l'url de la page vers laquelle sont envoyées les données si elles sont différentes,
  • la méthode d'envoi des données, ici GET,
  • le nom de la variable de recherche remplie par l'utilisateur, ici q,
  • les éléments HTML permettant de mettre en forme vos résultats de recherche afin de renseigner les variables resultListStart, resultListEnd, resultItemStart et resultItemEnd,
  • avoir une icône sous la main et éventuellement une adresse ou serait déposé le fichier .src... ce que je ne fais pas ici.

Voici donc un exemple minimaliste de résultat fonctionnant pour ce blog :


# biophyse.src
<search
	version="7.1"
	name="Biophyse"
	action="http://blog.biophyse.net"
	method="GET">
	
		<input name="q" user>
		<input name="submit" value="envoyer">
		
		<interpret	
			resultListStart="<div id=\"main\">"
			resultListEnd="</div>"
			resultItemStart="<div class=\"infos\">"
			resultItemEnd="</div></div>"	
		>
</search>

Ce travail a déjà été fait, bien avant que je me penche sur la question, pour StandBlog (qui lui aussi utilise Dotclear) comme c'est expliqué dans ce billet. Vous pouvez trouver le fichier à utiliser à cet endroit. Il ne vous reste plus qu'à étudier ce code, voire à le modifier en utilisant la documentation.

Allez savoir si cette fonctionnalité ne fera pas partie de la prochaine version de Dotclear... je vais regarder de nouveau les détails de la prochaine version :p.