Créer un moteur de recherche Firefox

Catégorie Création | Tags : none

Comment créer un plugin pour ajouter un moteur de recherche à Firefox. Il ne s’agit pas de créer un moteur de recherche mais de proposer aux internautes la possibilité de faire une recherche sur un moteur, directement dans firefox.

Lien pour simplement ajouter ou supprimer un moteur de recherche de firefox.

Il y a quelques heures j’ai supprimé le moteur de recherche yahoo en anglais de ma barre de recherche Firefox pour le remplacer par yahoo en français. Par curiosité j’ai voulu savoir comme se passe l’ajout d’un moteur et si il est possible de créer facilement un plugin pour l’ajouter à mon navigateur préféré.

Ça m’a pris moins d’une minute pour y arriver en m’inspirant d’un moteur déjà installé.

Pour créer votre plugin de moteur personnalisé il suffit de quatres choses. La première est un moteur de recherche intégré à votre site, blog, etc. puisque le plugin ne fait que lancer ce moteur. Il vous faut ensuite une image, un fichier source xml et un peu de javascript pour proposer l’ajout automatique.

L’image

C’est l’icône qui s’affichera dans la barre de recherche.

Vous pouvez utiliser un png, de 16×16 pixels, 8 bits, couleurs indexées ou RGB(A). Le plus simple est de partir d’une image existante comme celle-ci : exemple d'icone

Le .src

Il s’agit d’un simple fichier texte qui doit contenir au minimum :

<SEARCH
        version = "7.1"
        name="Blog ___seb"
        description="recherche sur blog.uzabnet.com"
        method="GET"
        action="http://blog.uzabnet.com/"
        queryCharset="UTF-8"
>

<INPUT NAME="s" user>
# le "s" correspond au nom du champ du formulaire de recherche
# qui contient la chaine à rechercher. Pour dotclear, il s'agit de "q"

</SEARCH>

Apparament seule la méthode GET (paramètres passés dans l’url) est supportée.

Après coup, je suis allé voir sur la documentation du site mycroft qui gère une banque de ces plugins, il y est indiqué d’utiliser un paramètre <interpret> dans la structure minimale mais je ne l’ai pas mis et cela fonctionne très bien sans, dans mon cas au moins. Quant-a son utilité, elle reste mystérieuse pour moi…
The INTERPRET tag contains all the information the search system needs to interpret the results of the search engine.
Certes …

Bien qu’optionnel, il est judicieux d’ajouter des données permettant de mettre à jour le plugin afin d’épargner à vos utilisateurs la (délicate) suppression d’un moteur puis la réinstallation du nouveau. Pour cela, c’est tout aussi simple, il suffit d’ajouter la section suivante :

<browser
update="http://votresite.com/pluginmoteurfirefox.src"
updateIcon="http://votresite.com/imagedeliconemoteurfirefox.png"
updateCheckDays="15"
>

Tout commentaire est superflu.

Si le plugin est destiné uniquement à un usage personnel, il vous suffit de mettre le .src et l’image dans le dossier searchplugins de votre firefox en veillant à ce que le .src et le .png aient le même nom. Cependant, vous en conviendrez, proposer une telle installation à vos visiteurs n’est pas très ergonomique, attirant et même effrayant (un virus ?, un spyware ?).

Installation par le navigateur

Les recherches sur Mycroft permettent d’installer directement les plugins, il vous faut donc proposer le même système à vos visteurs. Là aussi c’est simple grâce à la fonction javascript de firefox spécialement prévue à cet effet : window.sidebar.addSearchEngine() qui prend en paramètres, respectivement, l’ur du fichier .src, l’ url du fichier image, le nom affiché dans la barre et le numéro de la catégorie (peut-être laissé à zero).

En pratique :

<html>
<head>
<title>Ajout Moteur de recherche</title>
<script type="text/javascript">
function addEngine()
{
  if ((typeof window.sidebar == "object") &&
      (typeof window.sidebar.addSearchEngine == "function")) {
    window.sidebar.addSearchEngine(
      	"http://blog.uzabnet.com/pluginfirefoxuzabnet.src",
	"http://blog.uzabnet.com/pluginfirefoxuzabnet.png",
	"Blog UzabNet",
	"29" );
  } else {
  alert("Message de non compatibilité");
  }
}
</script>

</head>
<body>
<form action="#" method="post" onsubmit="addEngine();return false;">
<input type="submit"
 value="Ajouter 'Blog.UzabNet.com' à mes moteurs de recherche" />
</form>
</body>
</html>

Ce qui nous donne :

Pressez le bouton au dessus pour ajouter mon moteur.
Pour le supprimer il suffit de supprimer les fichiers pluginfirefoxuzabnet.png et pluginfirefoxuzabnet.src du repertoire searchplugins de Firefox.

Pour finir

C’était simple non ?. J’ai réussi a faire tout ceci sans consulter la documentation ce qui m’a permit une économie de temps, à priori non négligeable, à la vue de la documentation du site mycroft.

Au final, si cela marche bien et votre site est digne d’interêt, vous pourrez ajouter votre plugin à la base mycroft, peut-être vous faudra t-il ajouter la section <interpret>… Peut-être pourriez vous en informer les lecteurs de ce billet …

Télécharger les fichiers (.png .src et .html/javascript) au format 7z.

Ajouter a mon :
Del.icio.us digg Technorati Socializer fuzz scoopeo wikio 

4 réponses à “Créer un moteur de recherche Firefox”

  1. Koyote87' a écrit:

    Bonjour,

    Ayant moi aussi un site fonctionnant sous WordPress, je voudrai savoir si vous pouviez me donner directement le “script” que vous avez utilsé pour faire fonctionner le plugin moteur de recherches de Firefox avec votre site ?

    Car j’ai beau suivre votre topic… il y a quelques erreurs avec mon script.

    Cordialement,
    Koyote87′

  2. seb a écrit:

    Ouaip, tu es le second qui me parle d’un problème, je me pencherai sur le problème dans peu de temps, en mettant à jour l’article ou en en créant un qui prendra en compte Firefox 2.

    En attendant, si créer ce plugin ne vous intéresse pas mais seule l’avoir compte, il existe une plugin Wordpress qui permet d’intégrer ce script, je ne l’ai pas testé, mais je sais qu’il existe.

  3. Vantik a écrit:

    Hello,

    Super article ! J’en profite pour ajouter que des plugins de recherche firefox, ou moteur de recherche firefox comme vous préférez, sont téléchargeables sur un site appelé http://www.plugins-firefox.com. Les plus grands sites de commerce français y sont répertoriés.

  4. Mantox a écrit:

    Superbe article,
    court, conci et utile pour les développeurs web débutants.
    Merci

Laisser un commentaire