Journal je découvre yacy, moteur de recherche p2p

31
2
mar.
2011

Journal,

J'ai un problème : google est très gentil, mais ça m'embête fortement qu'un seul acteur contrôle autant la recherche sur internet. Je suis parano : que faire si mon pays demande à google de censurer les résultats ou s'il modifie sciemment certains résultats ? Dans ma quête de liberté, je suis tombé sur le moteur de recherche yacy.

L'idée est séduisante : un moteur de recherche décentralisé, résistant à la censure et qui ne stocke pas les données des utilisateurs. Je peut m'en servir pour indexer mon intranet ou bien le web tout entier… Aller ! testons la bête !

L'idée est d'avoir dans un seul logiciel un « crawler », qui indexe les pages qu'on lui donne, et un serveur web qu'on interroge pour nos recherches. Premier point noir : le bestiaux est en java… aïe… et il faut prévoir de la place dans sa mémoire RAM et sur son disque… Finalement l'installation se passe plutôt bien avec le paquet Debian, l'utilisation est assez simple : l'interface d'administration est bien faite, on peut surveiller le bestiaux quand il travaille.

Par contre niveau pertinence c'est pas encore tout à fait ça :-( En fouillant un peu, on me dit que c'est parce qu'il n'y a pas assez de peer pour le moment. On voit que la communauté est petite, et allemande, Dommage je ne parle pas allemand… Au bout de trois ou quatres jours, j'arrive péniblement à 300 peers, comparés au 10 millions de serveurs de google, effectivement ça fait pâle figure. Je suis quand même impressionné par ce petit truc, l'expérience va donc continuer.

quelques chiffres :

  • Au bout de quelques jours j'arrive à 300 peers, mais c'est en constante augmentation depuis le début ;
  • nombres de pages indexés : un peu plus d'1,5 milliards de documents ;
  • taux d'indexation : 1350 pages par minutes.

Linuxfriens, connaissiez-vous ce moteur de recherche ? Ça vous dirait de tester ? Vous connaissez d'autre initiative de ce genre ?

les liens utiles :

  • # Sécurité

    Posté par . Évalué à 5.

    Supposons que je sois un gouvernement hostile. Puis-je installer un nœud yacy et commencer à espionner ce qui passe par les tuyaux ? Les majors de musique arrivent bien à collecter les IP des téléchargeurs de musique, ce logiciel intègre-t-il une parade pour que le gouvernement local ne puisse collecter mon IP et le contenu de ma requête sur le moteur ?

    Par opposition, si j'utilise la recherche SSL google ou scroogle, les données transitent en toute sécurité (le gouvernement local ne peut pas espionner SSL pour toutes mes requêtes google), en revanche google fait ce qu'il veut ensuite avec les données, donc éventuellement les communiquer au gouvernement américain.

    • [^] # Re: Sécurité

      Posté par . Évalué à 3.

      Perso je voit tous les peers qui sont connectés à moi, avec leurs IP :-) Donc je suppose qu'on peut espionner par cette voie-là au moins. Pour ce qui est des données j'avoue ne pas savoir.

      Les nœuds se transmettent des index. Après tu peux effectuer tes recherches avec ton index local, qui peut être augmenter en demandant aux autres nœuds s'ils ont des résultats. Si tu ne recherches uniquement avec ton index local, personne ne pourra savoir ce que tu recherches Mais dans ce cas là il vaux mieux prévoir beaucoup d'espace disque et le résultat sera probablement moins efficace.

      Sur le site de yacy, ils prétendent que le suivi des requêtes des utilisateurs est impossible, à voir ce qu'il en est réellement.

  • # Et le nombre de connexions au site ?

    Posté par . Évalué à 4.

    J'ai déjà essayé de mettre en place une fonctionnalité similaire (pour d'autres raisons) mais il y a quelque chose qui va vite limiter : le nombre de connexions au site à crawler.

    Sur la quantité de données à récupérer, les accès simultannés, la vitesse a laquelle le crawler fait ses demandes (...) les sites croient souvent détecter un genre d'attaque (flood ou assimilé) ou alors une tentative de pompage plus générale des ressources. Et là c'est le drame, un déluge d'erreur 404, 500 ou alors un joli timeout de 24h. Limitation qui n'est appliqué sur les plages d'IP de google & Cie.

    Donc un moteur de recherche, même décentralisé je ne suis pas sûr que ça marchera...

    • [^] # Re: Et le nombre de connexions au site ?

      Posté par (page perso) . Évalué à 3.

      Quelle est la différence avec ce que fait Google ? À priori l'indexation P2P fonctionnerait de la même façon.

      DLFP >> PCInpact > Numerama >> LinuxFr.org

      • [^] # Re: Et le nombre de connexions au site ?

        Posté par . Évalué à 3.

        Le monsieur a dit "Limitation qui n'est appliqué sur les plages d'IP de google & Cie".

        • [^] # Re: Et le nombre de connexions au site ?

          Posté par (page perso) . Évalué à 4.

          Dans le cas du P2P on a plein d'IP différentes, changeantes, etc. donc difficile au site de les limiter. Et dans le cas de Google, le robot est très mesuré (il ne crawle pas le site en une fois, et s'adapte au temps de réponse du site, sauf si on le force). En revanche il me semble avoir vu une histoire (ici ?) de Bing qui aurait été bloqué car trop abusif.

          Bref pour résumer ça me semble plutôt un problème de fonctionnement du robot, qu'il soit opéré par une seule entité ou non.

          DLFP >> PCInpact > Numerama >> LinuxFr.org

    • [^] # Re: Et le nombre de connexions au site ?

      Posté par . Évalué à 1.

      là mon crawler est à 12 pages par minutes… je suis loin de me faire refouler :-)

      L'idée qui peut être intéressant c'est que chacun peut se charger de l'indexation de son site web avec ce système.

      • [^] # Re: Et le nombre de connexions au site ?

        Posté par (page perso) . Évalué à 3.

        Chaque personne n'aurait pas du coup tendance à vouloir favoriser son propre site ?

        DLFP >> PCInpact > Numerama >> LinuxFr.org

        • [^] # Re: Et le nombre de connexions au site ?

          Posté par . Évalué à 2.

          C'est un des reproches du système : que faire si un ou plusieurs nœuds se mettent à spammer l'index pour favoriser leurs sites ? Apparemment les dev ont prévus des trucs pour lutter contre ça, mais je ne peut pas ne dire plus… après c'est peut-être pas la priorité pour le moment, ça viendra quand le réseau sera plus gros.

    • [^] # Re: Et le nombre de connexions au site ?

      Posté par . Évalué à 3.

      Google est malin, il rate limit le nombre de connexions à un serveur.
      A la fin de la journée, les ip googles seront surement dans le top de ton fichier access mais en instantané c'est 2-3 slots ouverts.

  • # Seeks

    Posté par . Évalué à 2.

    Si j'ai bien compris ca ressemble a seeks ou du moins ce que doit devenir le projet :

    • [^] # Re: Seeks

      Posté par . Évalué à 2.

      Apparemment seeks est plus un méta-moteur (il reprend les données d'autres moteurs) alors que yacy est un moteur de recherche à part entière.

      • [^] # Re: Seeks

        Posté par . Évalué à 4.

        C'est ce qu'il fait actuellement, dans les mois avenir le paire à paire seras activé, il ne resteras plus que l'injection de résultats.

        Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

    • [^] # Re: Seeks

      Posté par . Évalué à 4.

      En fait, pas vraiment, Yacy est un parser/ indexer distribué, alors que Seeks ne fait pas d'indexation : l'idée derrière est plutôt de « forger » une adéquation entre la requête et le résultat. ce n'est pas un algorithme qui doit décider de la pertinence d'un résultat, mais bien l'utilisateur.

    • [^] # Re: Seeks

      Posté par . Évalué à 0.

      « Seeks », c'est pas un moteur pour rechercher du pr0n ?

      Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # En constante augmentation?!?!

    Posté par (page perso) . Évalué à 3.

    Si le nombre de pair est en constante augmentation, ce n'est pas rassurant. Cela devrait être exponentiel non? Tu devrais profiter des pairs de tes pairs.

    J'ai l'impression qu'il n'y a vraiment pas beaucoup d'utilisateurs en fait. Il faut un début à tout…

    • [^] # Re: En constante augmentation?!?!

      Posté par . Évalué à 3.

      Le problème est qu'effectivement il n'y a pas beaucoup d'utilisateurs pour le moment. Du coup, moins de pages sont indexés, il est plus difficile de profiter des pairs de mes pairs, la recherche est moins performante, etc. Pour ma part le nombre de pair a fortement augmenté au début (de zéro à 200), maintenant il stagne un peu.

      Mais bon avant d'être imposant, le vénérable chêne était un gland qui a grandit…

  • # FreedomBox

    Posté par . Évalué à 2.

    Peut-être un service à ajouter dans la FreedomBox ?

    En plus, s'il est déjà opérationnel, et empaqueté pour Debian, ca ne devrait pas faire trop de boulot. Restera juste à faire la partie IHM de configuration, genre:

    [*] activer le moteur de recherche YaCy
    (freeworld) Domaine de recherche à rejoindre

    • [^] # Re: FreedomBox

      Posté par (page perso) . Évalué à 1.

      J'ai y pensé aussi en lisant le journal, mais je me suis dit que les machines FreedomBox risquent de ne pas être assez puissantes, certainement quelque chose à ajouter en option.

  • # Vous reprendrez du café?

    Posté par . Évalué à 6.

    Ce truc est en Java. J'ai testé, ça me charge à 50/60% un serveur avec un P4 à 2.8GHz.

    Tout simplement pas crédible pour être généralisé, ça implique de laisser un "vrai PC" tourner 24H/24, c'est pas une FreedomBox avec un ARM à 300MHz qui va supporter Yacy.

    Dommage, l'idée était bonne :D

    THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

    • [^] # Re: Vous reprendrez du café?

      Posté par . Évalué à 1.

      deux remarques : 

      – tu n'est pas obligé de laisser tourner ton PC 24h/24… c'est mieux, mais c'est pas obligatoire, loin de là ; – l'interface te permet de régler un certains nombres de paramètres concernant les perf. Il suffit de baisser les paramètres par défaut s'ils sont trop élevés pour toi

      Sur le wiki, ils recommandent : – 1 Go de RAM (256Mo requis) ; – 25 Go d'espace disque (30Mo requis) ; – processeur à 1GHz (il y a un support du multi-core).

      Sur un PC de bureau moderne, ça passe sans soucis. Après c'est vrai que sur un serveur perso c'est un peu limite (j'ai le même pb ici :-/) Mais plus tu consacres de ressources à yacy, meilleures sera l'indexation et la recherche.

      Si ça te botte, libre à toi de faire un client en C…

  • # Que fait le « crawler » ?

    Posté par . Évalué à 2.

    Je sais que je vais relancer le cliché selon lequel internet est un refuge de crypto-communistes partouzeurs de droite qui veulent exterminer les mouches. Mais, je n'adhère pas trop à l'idée de faire tourner un démon (en Java qui plus est) qui va visiter des sites au hazard sans que le sache. Ça me donne autant envie que de faire trourner un nœud de sortie Tor.

    Sinon, je trouve l'idée excellente. Mais pourquoi ne pas indexer les pages que je visite (en gros, en gros mon « crawler » est un proxy HTTP et il attrape tout ce que je visite), si c'était le cas (et si c'était en C ou en Python) ça me botterai bien :) .

    (Oui, je vous vois déjà venir : « Oui maismles pages locales que je veux que personne d'autre que moi ne voit seront indexées, blablabla… Ouinnn… ». Bien sûr, il faudra aussi réfléchir à ses problématiques.)

    Knowing the syntax of Java does not make someone a software engineer.

    • [^] # Re: Que fait le « crawler » ?

      Posté par . Évalué à 6.

      Critiquer Java et proposer Python à la place, c'est un peu l'hôpital qui se moque de la charité.

    • [^] # Re: Que fait le « crawler » ?

      Posté par . Évalué à 3.

      Ça tombe très très bien : par défaut ton crawler n'indexe que les sites que tu lui donnes. Il y a aussi une option pour le faire fonctionner en proxy, histoire d'indexer les pages que tu visites, les pages qui ont besoins de cookies ou d'authentification ne seront pas crawler… La vie est bien faite parfois ;-)

  • # Sur un intranet

    Posté par (page perso) . Évalué à 1.

    J'ai tenté l'installation de Yacy pour indexer un NAS au bureau.
    L'idée c'était de faire profiter à une centaine d'utilisateur sur mon intranet, d'un accès à des fichiers de mon NAS et récupérer au passage les infos du leur.

    J'ai été emballé par l'idée, moins par le résultat : paramétrage confus, résultats bof, bof...

    Cela dit, depuis que Korben en a parlé sur son blog, la version française a fait des progrès.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.