Goolag est une application en PHP qui permet d'interroger Google Desktop Search (GDS) depuis un ordinateur distant.



Le GDS n'est utilisable que sur l'ordinateur sur lequel il est installé.

goolag
C'est pour contourner cette limitation et permettre à des utilisateurs tiers d'interroger le contenu d'un ordinateur qu'est né Goolag.

Pour un projet de base documentaire sur un intranet, j'étais à la recherche d'un outil capable d'indexer des documents MS-Word et des PDF. Après quelques recherches sur le Web, j'ai constaté que certaines personnes avaient réussi à détourner le GDS de sa fonction première et parvenaient à l'utiliser comme moteur de recherche accessible à tous.
Un des noms qui revenait le plus souvent dans les forums de discussion était Soogle de Peter Zhou.
Je l'ai testé mais ne parvenant pas à le faire fonctionner correctement, j'ai décidé de le réécrire complètement.
Je tiens néanmoins à le remercier ici de m'avoir mis sur la bonne voie.

Ce programme utilise l'API officielle du GDS et quelques fonctions non documentées pour l'interrogation, il exploite ensuite le XML envoyé en retour.

Pré-requis


Sur la machine qui doit être interrogée :

Pour les clients :

Le programme a été testé côté serveur avec Google Desktop 2, Apache 1.3.33 et PHP 4.3.10.
La consultation a été testée avec les navigateurs Firefox 1.0.7 et IE 6.0 SP1, tous deux sur plateforme Win2k.

Installation


Décompactez l'archive dans un répertoire accessible par PHP.

Lancez l'éditeur de base de registre (démarrer » exécuter » regedit)
Allez à la clé : HKEY_CURRENT_USER\Software\Google\Google Desktop\API\search_url
et notez le code de sécurité de votre installation du GDS

regedit
Ouvrez le fichier "index.php" dans votre éditeur favori et modifiez la première ligne avec la valeur prise dans la base de registre
$GDSurl = 'http://127.0.0.1:4664/search&s=yTkzwGpZHu1NJNfDqE6_-0XMtgY';
(attention aux apostrophes aux extrémités de la chaîne et au "?q=" à la fin qui n'est pas recopié)

Utilisation

Vous savez utiliser Google ?
Ne cherchez pas plus loin, c'est quasiment pareil :-)

Screenshot Goolag #1
Les couleurs des résultats indiquent la catégorie.
Dans la capture d'écran ci-dessus, le vert indique un résultat de type "web", et le jaune un résultat de type "file".

Problèmes connus et limitations

GDS autorise des recherches dans les catégories suivantes :
Email, chat, web, file, contact, calendar, task, journal et note

J'ai effectué le développement de Goolag sur un serveur qui ne comportait malheureusement pas tous les logiciels susceptibles de produire des résultats dans l'ensemble de ces catégories.
Seules ont été testées les catégories "web" et "file".

L'ouverture des fichiers pourra peut-être poser des problèmes dans certains cas.
N'oubliez pas que c'est une application Web et que tout fichier devra transiter par le navigateur du client qui a lancé la requête.
J'ai renseigné plus de 180 types Mime différents mais c'est probablement insuffisant pour être exhaustif.

Un problème assez irritant, auquel je n'ai pas trouvé de solution, est le nombre de résultats qui est faux lorsqu'on effectue une recherche en spécifiant une catégorie.
Quelle que soit la requête, le GDS renvoie toujours le nombre de résultats trouvés toutes catégories confondues.
Si vous avez, par exemple, 157 résultats pour la requête "ordinateur", le GDS retournera 157, même si vous avez demandé à n'afficher que les résultats de type "web" ou de type "mail". La barre de navigation "page précédente - page suivante" en bas de l'écran sera donc fausse dans ce cas-là.
A la décharge de Google, je dois admettre que la recherche par catégorie n'est pas mentionnée dans la documentation officielle, et qu'il s'agit d'un bidouillage de ma part.

Auteur

Alexis du SAUSSAY   info@asabox.com
Je travaille comme Consultant, à Sophia Antipolis (06)
Touche à tout en informatique, je me définis plus comme un "couteau suisse" que comme un véritable spécialiste :-)
Développeur Coldfusion et PHP à mes heures et quand les clients en ont besoin.

Licence

Goolag est un "logiciel libre" publié sous les termes de la licence "GNU GPL" (version officielle ici)

Si vous trouvez Goolag utile, vous pouvez m'aider à le développer de différentes façons:

Téléchargement

télécharger goolag   goolag v1.0 (zip, novembre 2005)
télécharger goolag   goolag v1.1 (zip, mars 2007, compatible GDS 5)




Auto promotion : petites annonces Sophia Antipolis

english english version