Rédiger un plugin de recherche intégré au navigateur

Posté le dim. 31 mars 2013 dans Outils et astuces

Voici un petit tutoriel qui m’a été demandé à la suite des plugins que j’ai rédigés, et qui permettent de savoir quels sont les documents dont dispose le centre REGARDS.

Objectif : rédiger un plugin de recherche intégré au navigateur interrogeant la plate-forme ISIDORE et ne retournant que les résultats d’une collection ou organisation spécifique.

Exemple d’utilisation : Votre centre de documentation est moissonné par ISIDORE et vous souhaitez ne plus avoir à maintenir votre moteur de recherche maison. Cependant, vos utilisateurs souhaitent savoir facilement à quels documents ils peuvent accéder physiquement.

Avantages : Cette solution est très simple à mettre en œuvre. Elle ne requiert aucune modification sur le site de l’organisation ou de la collection visée (même si cela reste conseillé) ni aucune maintenance (sauf changement dans la structuration des requêtes de la plateforme ISIDORE).

Limites : Seuls les résultats d’une collection sont retournés. Si l’objectif est de prioriser ceux d’une collection, faisant apparaître les autres documents à la suite, il faut réaliser une interface en utilisant l’API d’ISIDORE.

Avant de rentrer dans le vif du sujet, je vous propose un petit topo sur l’ajout et la gestion de moteurs de recherche dans les navigateurs les plus courants. Ceux qui connaissent déjà le sujet peuvent sauter cette première partie sans problème.

Les plugins de recherche intégrés aux navigateurs

OpenSearch est un ensemble cohérent de techniques permettant d’exécuter des recherches sur un site sans passer par une interface web. OpenSearch est supporté par les navigateurs suivants :

  • Mozilla Firefox 2 et versions ultérieures ;
  • Windows Internet Explorer 7 et versions ultérieures ;
  • Google Chrome / Google Chromium ;
  • Apple Safari 5.1 et versions ultérieures, moyennant l’installation d’une extension.

Les moteurs de la barre de recherche de Firefox

Prenons le cas de Mozilla Firefox. OpenSearch y est exploité dans la barre de recherche. Cela permet justement de faire une recherche, par exemple dans un dictionnaire en ligne, sans avoir d’abord à aller sur leur site. Une bonne pratique est d’attribuer à chacun de vos moteurs un mot clé. Ainsi, vous pouvez passer d’un moteur à l’autre sans même toucher la souris.

Par exemple, vous attribuez le mot clé d au moteur « Portail lexical – CNRTL » (le dictionnaire en ligne du CNRS). En tapant Ctrl + l, votre curseur se positionne dans la barre d’adresse. Tapez ensuite le mot clé de votre moteur (ici d) suivi d’un espace et de la recherche que vous souhaitez effectuer. C’est simple et très efficace.

Les autres navigateurs proposent des fonctions plus ou mois similaires. À noter que seule une solution basée sur des raccourcis claviers est disponible dans Google Chrome, une seule barre servant à tout.

Quel que soit votre navigateur, il y a deux façons d’ajouter un plugin de recherche. Le site officiel de Mozilla fournit de très bonnes explications sur la marche à suivre dans Firefox. D’autres instructions pour les autres navigateurs doivent aussi être facilement trouvables. Il existe une variante de la deuxième méthode, qui consiste à se rendre sur le site du projet Mycroft, véritable annuaire de plugins de recherche compatibles avec OpenSearch.

Générer un plugin de recherche pour votre organisation à l’aide de Mycroft

La méthode que je décris ici concerne spécifiquement les collections d’ISIDORE, mais elle est très facilement adaptable pour tout site disposant d’un moteur de recherche.

Récupérer l'identifiant numérique de la collection sur ISIDORE

1. En premier lieu, il vous faut récupérer l’identifiant numérique sous lequel votre institution ou collection est référencée sur le moteur de recherche ISIDORE. Rendez-vous sur la plate-forme, et dans la colonne de gauche cliquez sur « Par collections et organisations » puis sélectionnez la vôtre (ou celle qui vous intéresse…). Regardez la barre d’adresse de votre navigateur. L’identifiant est le numéro qui se trouve à la fin de l’URL, juste après source_taxo=. Notez-le.

2. Rendez-vous sur la page du projet Mycroft permettant de générer un plugin. Remplissez les champs comme suit :

  1. Plugin name : mettez quelque chose comme (via ISIDORE). Exemple : REGARDS (via ISIDORE).
  2. Plugin description : Il faut quelque chose de court. Je n’ai jamais vu le texte entré ici apparaître quelque part, mais sait-on jamais…
  3. Search URL : C’est la partie la plus importante. Entrez http://www.rechercheisidore.fr/search?q={searchTerms}&source_taxo= en remplaçant par le numéro que vous avez récupéré à l’étape 1. La puce GET doit être cochée. Exemple : http://www.rechercheisidore.fr/search?q={searchTerms}&source_taxo=18144929
  4. Input encoding : Laissez tel quel, c’est-à-dire avec la valeur UTF-8.
  5. Suggestions URL : Entrez http://www.rechercheisidore.fr/suggest/?q={searchTerms} Les suggestions sont globales (elles ne concernent pas qu’une seule collection). Il ne sert donc à rien de rajouter l’identifiant.
  6. Search form URL : Entrez http://www.rechercheisidore.fr/search?source_taxo= Exemple : http://www.rechercheisidore.fr/search?source_taxo=18144929
  7. Reference : Il faut trouver une suite alphanumérique qui décrive votre plugin et qui soit unique sur Mycroft. Je vous suggère quelque chose comme isidore- Exemple : isidore-regards
  8. Select icon : Il s’agit de l’icône qui illustrera votre plugin dans la barre de recherche. Soit vous désirez utiliser le favicon du site de votre institution, soit vous préférez opter pour celui d’ISIDORE. Dans ce cas, il vous suffit de cocher « Copy existing plugin » et d’entrer isidore-regards dans le champ de texte.
  9. Plugin category : Il n’y a rien de vraiment adéquat. Libraries ou Education > Universities peuvent faire l’affaire selon les cas.
  10. Je ne vous aide pas pour le reste des champs. 😉

Générez le plugin, testez-le (l’icône ne sera pas celle que vous avez choisie mais une tête de tyrannosaure rouge) et si tout fonctionne comme prévu proposez votre plugin (votre icône sera alors la bonne). Pour remplacer le plugin de test par le définitif, il faut supprimer manuellement le premier de votre liste de plugins de recherche. Si votre plugin n’apparaît pas lorsque vous le cherchez sur Mycroft,cliquez sur « more… » sous la ligne « Site language » et cochez la case « Skip Cache ».

Intégrer ce plugin sur la page de votre institution (optionnel)

La méthode proposée ci-dessus possède deux inconvénients. D’abord, pour qu’un utilisateur puisse ajouter votre plugin, il faut déjà qu’il connaisse Mycroft. Ensuite, si Mycroft ferme, il deviendra indisponible pour de nouveaux utilisateurs.

Les deux problèmes se résolvent simultanément. Pour ne plus dépendre de Mycroft, il faut héberger le plugin directement sur le serveur de votre institution (il faut donc posséder les droits nécessaires). Le plus simple est d’aller dans le dossier de votre profil Firefox, puis dans le répertoire searchplugins pour y trouver le vôtre. Il vous suffit alors de l’uploader sur votre serveur.

Pour que les visiteurs de votre site puisse installer le plugin que vous venez d’uploader, vous pouvez ajouter le texte suivant dans la section head d’une ou de plusieurs pages de votre site :

 

Remplacez par la valeur que vous avez entrée plus haut comme Plugin name, et par l’adresse adéquate. Enregistrez, c’est terminé.

J’espère que mes explications sont claires, et que vous n’avez pas rencontré de difficulté au cours des différentes étapes. Néanmoins, le cas échéant, n’hésitez pas à poser votre question en commentaire.