XHTML.net

Technology talks by Loïc d’Anterroches

News, articles, PHP, scripts, XHTML/CSS, …

  1. Home
  2. PHP: Hypertext Preprocessor

Utilisation de l'API SOAP de Google en PHP

The 2003-08-11 at 19:07 by Loïc d'Anterroches filed under Scripts and PHP: Hypertext Preprocessor.

L’API SOAP de Google vous permet d’intégrer dans votre site un moteur de recherches avec un simple script PHP. Vous pouvez faire des recherches dans votre site ou dans l’ensemble de la base de Google.

Le Web-service de Google

Attention, Google ne propose plus l’accès SOAP à son moteur de recherches. Cette page reste pour des raisons historiques mais n’a plus d’intérêt car cela ne fonctionnera pas.

Google a ouvert courant 2002 un service permet de réaliser des requêtes sur sa base de données et récupérer directement les informations dans votre script ou votre programme. Voici l’explication d’une implémentation en PHP de l’API Google vous pourrez construire un script plus complexe à partir de cette base.

La procédure à suivre pour mettre en place ce script sur votre serveur est la suivante :

  1. Téléchargez les fichiers de l’API sur le site de Google.
  2. Créez un compte chez Google pour obtenir une clef personnelle nécessaire à l’utilisation de l’API.
  3. Modifiez le script proposé sur ce site pour utiliser votre clef personnelle.
  4. Copiez les fichiers sur votre serveur.
  5. Testez !

Maintenant les détails.

Configuration minimale pour utiliser ce script

Il faut au minimum PHP 4.1. Le script ne fonctionnera pas avec PHP 4.0.6. PHP peut être installé en module dans Apache ou tourner en CGI, cela n’a pas d’importance.

Le script se base sur le module SOAP de PEAR, il est inclus dans l’archive car généralement non installé sur les serveurs par défaut.

Note : La requête SOAP effectuée entre votre serveur et le serveur de Google n’est pas cryptée, tout le monde ou presque pourra découvrir les bavardages entre votre serveur et celui de Google.

Les fichiers de l’API Google et la clef

Après avoir téléchargé les fichiers de l’API Google et obtenu votre clef personnelle, vous pouvez jeter un coup d’oeil au contenu de l’archive.

Il y a beaucoup de choses, mais on va dire que pour aller vite, il n’y a que 3 fichiers importants :

  • LICENSE.txt car il faut bien la respécter. L’important est de noter que vous ne pouvez pas faire plus de 1000 requêtes via l’API par jour.
  • GoogleSearch.wsdl le fichier de définition de l’API SOAP de Google. Ce fichier contient du code WSDL. La recommandation WSDL du W3C est un fichier XML décrivant de manière standard le service web proposé. Il vous suffit théoriquement uniquement de ce fichier pour avoir toutes les informations nécessaires au développement d’un programme utilisant l’API de Google.
  • APIs_Reference.html la référence de l’API pour mieux comprendre son fonctionnement.

Modification du script

Très simple… au tout début du script index.php vous avez quelque chose comme :

// Début de la configuration
$nr = 10; // Nombre de resultats par page 10 maximum
$clef = 'votre clef'; // Votre clef d'identification sur Google
// Fin de la configuration

Mettez votre clef au bon endroit et c’est tout. Ensuite vous copiez tous les fichiers sur votre serveur et vous testez !

Limiter la recherche à votre site

Si vous souhaitez limiter la recherche à votre site, une simple modification permet de le faire. Si vous utilisez Google normalement, il suffit de mettre dans la recherche site:votresite.com pour limiter la recherche à ce domaine. On va donc forcer le script à faire cela.

À partir de la ligne 53 du fichier index.php, vous avez les arguments de la recherche. L’important est $q la requête. En fait, ce que vous taperiez dans le champ de recherche de Google.

array(
  'query' => $q,
  'start' => $s,
  'maxResults' => $nr,
  'ie' => 'utf8',
  'oe' => 'utf8'
)

Il suffit d’ajouter la demande de votre site uniquement :

array(
  'query' => 'site:votresite.com ' . $q,
  'start' => $s,
  'maxResults' => $nr,
  'ie' => 'utf8',
  'oe' => 'utf8'
)

Notez l’espace après le .com. Si vous connaissez un peu le PHP, vous pourrez facilement proposer un formulaire avec le choix de la recherche sur toute la base Google ou uniquement sur votre site.

Téléchargement le script

Téléchargez PHP Google API et merci de me faire part de vos remarques. Le script est sous la même licence que PHP, donc vous êtes assez libre de l’inclure où vous voulez si vous garder la note du début du fichier.


Comments from readers

Yazerty said:

On ne peut plus télécharger les fichiers sur google.com :-( !

anic.fr said:

Mais si maintenant çà fonctionne.

Voice your ideas

It is painless and I try not to kill electrons in the process.


Your email is required but will not be shared nor displayed.


Do you think your comment will force me to write even better stuff next time? If so, you simply rock.


Logo of Plume CMS