Big Google is watching you! | Decembre 2007


Alors, comment ça marche?

Tout savoir sur le fonctionnement d'un moteur de recherche. L'OpenSocial, la nouvelle interface de programmation des réseaux sociaux offerte par Google.

Dis Papa, comment ça marche un moteur de recherche?

Mais Papa d’abord, c'est quoi un moteur de recherche? Hé ben fiston, c'est un bidule qui sait tout sur ce qu'il y a sur le net ou bien, c'est plutôt qu'il aimerait en savoir le plus possible et nous dire vite et efficacement où est elle cette info sur la toile.

Collecte

Pour pouvoir nous dire où se trouve ce qu'on cherche il faut d'abord que le moteur de recherche aille la chercher, lui, cette information. Il va prendre donc son bâton de pèlerin pour parcourir le net, en commençant par des sources d'informations populaires ou d'importance majeure, à l'aide d'un petit machin appelé "spider" ou "crawler" ou tout simplement "bot" (qui est en fait un programme informatique):

a. aller lire la page d'entrée de ces sites
b. enregistrer la page
c. reprendre le boulot au point a. avec en suivant les liens qu'il trouve sur cette page

Et ainsi de suite, sans s'arrêter et sans se fatiguer…

Stockage

Petit à petit, mon petit, on va se retrouver avec une énorme quantité d'informations qu'il faut stocker.

Indexation et classement

Pendant que les spiders continuent inlassablement leur travail, le moteur de recherche, va procéder à l'analyse du contenu des pages enregistrées, à l'extraction des mots qui s'y trouvent et à leur indexation:

  • pour chaque page, choisir si on mémorise tous les mots qui y figurent (comme Altavista) mais seulement les mots des premières lignes des paragraphes ou du début du texte (comme Lycos) ou les mots "importants", les plus fréquents ou définis par l'auteur de la page dans les balises de type "meta" (comme Google)
  • créer ensuite les références (index) pour ces mots avec l'adresse de la page où ils sont apparus et surtout, estimer l'importance de ces mots dans la page selon la présence dans un titre principal ou dans un paragraphe. Il classe chaque page selon son importance (ranking) et le nombre de pages qui la citent dans leurs liens, sur le principe "plus une page est référencée, plus elle est intéressante". Ces opérations de classement permettent de gérer plus efficacement la masse d'informations.
  • enregistrer toute cette immense quantité de données et faire en sorte que l’on puisse la récupérer rapidement et de manière fiable.

Maintenant on est fin prêt à accomplir notre mission: accepter une requête et donner les réponses qui vont rendre notre client content et nous on va récupérer plein d’argent avec la publicité que l’on mettra sur ces pages.

La recherche

L'utilisateur ouvre la page de recherche de notre moteur et tape sa requête - elle peut être simple (juste un ou plusieurs mots) ou complexe (combinaisons logiques de présence ou d'exclusion d'un ou plusieurs mots, de chaînes exactes de mots, dans un domaine précisé du net (.ch par exemple pour les sites enregistrés en Suisse) ou dans un domaine précis d'activité (recherche verticale), etc…

Notre moteur va analyser la recherche et va commencer à retrouver dans ses indexes les pages correspondant aux combinaisons de mots demandées.

Etant donnée la quantité gigantesque d'information, le fait qu'elle est forcément enregistrée sur un grand nombre de serveurs et que la communication entre ces machines est limitée physiquement par le débit des connexions, cela peut prendre beaucoup de temps avant que les premiers résultats soient prêts. Ajoutant à ceci le fait qu'en général, il peut y avoir des centaines ou des milliers d'utilisateurs simultanés, qui s'ennuient vite au delà de 10 secondes d'attente par page pour comprendre que les mécanismes utilisés doivent être efficaces et rapides.

Ouf, les données sont là: les afficher en vitesse en espérant que notre client n'a pas déjà cliqué ailleurs. Bon, il a demandé "repair windows" pour trouver comment réparer la fenêtre du salon et il découvre avec stupeur un truc que son Mac a honte d'afficher "How to perform a Windows XP install"... Pareil sur toutes les autres réponses de cette page.

C'est ainsi que commence le dur apprentissage pour trouver l'info sur le net !

Tout est là, mais comment la retrouver ? Eh bien, tout simplement avec un moteur de recherche et surtout en posant la bonne question, par exemple "repair livingroom windows" qui nous donne déjà une bonne réponse.

Tu vois fiston, la prochaine fois tu iras sur Google et taperas "comment ça marche un moteur de recherche?". Comme ça, et j'aurai le temps de boire une bière pendant que tu étancheras ta soif de connaissance.

OpenSocial: un web très social

Google lance un nouveau produit destiné aux développeurs informatiques, l’OpenSocial. L’OpenSocial est un standard pour les applications de réseaux sociaux. Un réseau social est une communauté d’individus basée sur des liens sociaux qui sont créés lors d’interactions sociales.

Jusqu’à présent chaque réseau social est développé sur la base d’un langage propriétaire, c’est-à-dire un code propre à la programmation du site. Avec l’explosion des sites de rencontres et réseautage, le nombre de langages différents se multiplie. Pour un développeur qui vise un public plus large, cela signifie qu’il doit réécrire l’application autant de fois qu’il y a des réseaux sociaux. Par conséquent il doit maîtriser un nombre toujours plus important d’interfaces de programmation (API) spécifiques à chaque site.

Prenons un exemple : Flixter (plate-forme d'évaluation et de partage de vidéos entre amis) est programmé sur la base du standard d'OpenSocial, l'application fonctionne sur plusieurs réseaux sociaux tels que Ning ou Orkut. Un gadget, sorte d'icône, est intégré au profil Ning de l'utilisateur et lui permet d'afficher Flixter par iFrame (code qui permet d'appeler une page dans une autre page à la taille voulue et à l'endroit désiré, en l'occurrence la page du site Flixter est intégrée dans la page du site Ning).

Grâce à son produit OpenSocial, Google offre aux développeurs un standard de programmation basé sur des technologies simples tels que HTML et Java. Il y aura un seul code pour plusieurs réseaux. L’OpenSocial est basé sur la technologie des Gadgets Google. OpenSocial permet au développeur de baser sa nouvelle application sur des données existantes, telles que la programmation des profils, des relations et des calendriers des membres, que l'on peut qualifier des fonctions de base d'un réseau. Le développeur peut choisir d’héberger son application sur le serveur de Google ou sur son propre serveur.

OpenSocial permet l’ouverture du réseau à des applications tierces et l’exportation de ces mêmes applications sur d’autres réseaux sociaux. Le but est d'échanger et partager les API entre réseaux. Pour les développeurs cette technologie présente le double avantage d’une simplification et d’une plus grande efficacité. C’est un excellent moyen pour propager les nouveautés.

Les premiers réseaux sociaux compatibles avec OpenSocial sont Bebo, Engage.com, Friendster, hi5, Hyves, imeem, LinkedIn, mixi, MySpace, Ning, Oracle, orkut, Plaxo, Salesforce.com, Six Apart, Tianji, Viadeo et XING. Et qu’en est-il de Facebook ? Microsoft a conclu un partenariat stratégique avec le deuxième plus grand réseau social après MySpace. Facebook est basé sur le langage propriétaire FBML et ne pourra certes pas adopter pour OpenSocial, le produit concurrent de Microsoft.

La rivalité entre les grandes plate-formes s’installe. Ce qui intéresse avant tout les promoteurs de réseaux sociaux c’est les possibilités publicitaires. Avec OpenSocial Google s’assure une grande part de marché et contrôle de plus en plus de réseaux sociaux.

Réalisé par Christine Müller et Valérie Debély


dossier préparé par:


Valérie Debély, André Koller, Christine Müller, Sandra Schneider-Branco, Deicy Tautiva Pulido