Publié par : Taz-G | mai 23, 2007

J’ai joué avec le singe

Voilà deux jours que je me suis penché sur le développement d’un premier UserScript GreaseMonkey utile, destiné à améliorer (très modestement) la recherche d’images pour Google. Bien que mes qualifications en analyse et programmation me permettaient de réaliser ce genre de scripts depuis un bon moment déjà, je ne m’étais jamais essayé à améliorer une page ou l’autre.

Mais ma plume, quant à elle, prenait note de mes frustrations. En comparant les divers moteurs de recherche que j’utilise le plus (voir post précédent), j’avais moyennement plussoyé Exalead pour fournir un lien direct vers l’image sans s’encombrer du contenu de la page avec des volets.

Je suis parti à la recherche d’un UserScript tout fait pour avoir pareil sur Google. J’ai trouvé, mais sur les deux versions différentes disponibles en téléchargement, aucune ne me donnait satisfaction :

La première version donnait le lien direct vers l’image seulement si la touche ALT du clavier était enfoncée (Il est un peu dommage d’obliger à utiliser cette combinaison, donc deux mains, sans compter les éventuelles interférences avec d’éventuelles autres extensions).

La seconde version, basée sur la première, éliminait carrément le lien standard avec les cadres et proposait le lien direct vers l’image ainsi que le lien direct vers la page (Cette modification reste assez bouleversante, elle n’est pas minimale).

J’aurais pu reprendre ces scripts mais je m’étais lancé un challenge délicat : Ne rien modifier de l’architecture Google (histoire de ne pas être dépaysé en absence du script) et exploiter l’existant inutilisé.

Vignette Google Image

En effet, sous chaque vignette figurent les informations de dimensions, de poids et de format de l’image originale. Ce sont ces informations que je trouve parlantes afin de mener directement vers l’image. Evidemment, Google n’étant pas fort sémantique dans sa structure, rien ne permet d’atteindre facilement cette section ; j’ai remué mes neurones pour trouver la logique (encore non rompue par une preuve contraire) suivante :

Le détail d’une vignette commence par un texte descriptif contenant d’éventuels mots gras, suivi d’un saut de ligne, suivi immédiatement du détail technique de l’image (suivi d’un saut de ligne, suivi du domaine, suivi d’éventuelles remarques). J’ai l’impression de me retrouver à l’école devant les énoncés de CoBOL et Fortran ^^

J’avais enfin trouvé mon délimiteur le plus fidèle et après quelques heures de recherche, de développement et de tests, je suis arrivé à un premier résultat* plus ou moins satisfaisant et propre (bon, les puristes trouveront des choses à dire).

*Version obsolète. Mise à jour disponible ici.

Structure algorithmique parlant, je n’ai pas pu m’empêcher d’insérer un tas de test (le strict minimum cela dit) au cas où la structure du document viendrait à changer de sorte à annuler mes estimations. Ca reste approximatif (50/50) mais ça m’enlève quelques messages d’erreur et/ou plantages sur la conscience.

Il est évident que ces tests gaspillent des ressources au traitement à proprement parler mais suffisamment pas assez pour risquer une confiance aveugle en la stabilité de la structure de la page aux points radicaux. ‘Enfin, sur ma petite configuration ça ne ralentit absolument rien.

Bref, ce fût amusant et je ne doute pas qu’on puisse optimiser davantage mon code (license GPL). Mais l’idée ici n’était pas de fournir un script mais plutôt d’analyser modestement cet aspect technologie. En tout cas j’en fais utilisation :-p

Publicités

Responses

  1. Bah j’ai pas lu le code de ton extension mais je l’ai testé et franchement, j’aime beaucoup ! 😀 beau boulot cher ami !

  2. Merci, merci, je place les fleurs dans un vase intelligent 😀

  3. […] les utilisateurs de Firefox (dont je fais parti) et de Google Images, voici un petit script très astucieux pour l’extension GreaseMonkey permettant d’ajouter un lien direct pour […]

  4. Génialissime, merci !

    Tout grand bravo 🙂

  5. Heeeeeey !! Mais c’est EXCELLENT ça !!!
    Bon, si tu devais refaire un script du genre, je te conseillerais quand même de faire un tour du côté de xpath() .. ça simplifie méchament la vie ! :p

  6. […] à jour UserScript Google Images Direct Link Si certains de mes lecteurs utilisaient mon UserScript pour Google Images censé fournir un lien direct vers les images sans contraintes d’utilisation, vous avez […]


Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Catégories

%d blogueurs aiment cette page :