Journal YaCy, David(s) contre Googliath

Posté par  (Mastodon) . Licence CC By‑SA.
20
14
août
2020

Sommaire

Il y a quelque temps, j’ai essayé YaCy. YaCy est un moteur de recherche décentralisé qui peut également servir comme moteur de recherche pour un intranet (et j’imagine qu’il pourrait aussi être utilisé pour un moteur interne à un site internet). Vous pouvez l’utiliser dans un mode P2P, mais vous pouvez l’utiliser en pur solo aussi. Dans ce dernier cas, vous crawler vous-même les vastes étendues de l’internet uniquement pour vous.

Le site officiel se trouve par ici

L’installation

Pour installer YaCy, vous téléchargez une archive Tarball. Par ailleurs, YaCy nécessite Java. Une fois que l’archive est décompressée, YaCy se lance à l’aide d’un script bash. En d’autres mots, vous entrez ceci dans le terminal et cela devrait fonctionner :

sudo apt-get update
sudo dpkg --configure -a
sudo apt-get install -y openjdk-8-jre-headless
wget http://latest.yacy.net/yacy_v1.922_20191013_9964.tar.gz
tar xfz yacy_v1.922_20191013_9964.tar.gz
cd yacy
./startYACY.sh

Une fois le script lancé, YaCy fonctionne sur le port 8090 de votre machine. Il suffit alors d’ouvrir http://localhost:8090 dans un navigateur web.

Pour désinstaller, YaCy n’est évidemment pas un programme listé par dpkg –list. Est-ce pour autant compliquer de le désinstaller ? Ben non, c’est tout simple, tu supprimes le dossier concerné et c’est fini.

Une réflexion sur le fait que le site officiel annonce un logiciel facile à installer. Très honnêtement, ce n’est pas très compliqué mais, clairement, le béotien qui croit faire du libre rebelle et cohérent en installant Ubuntu ne fait pas partie du cœur de cible. C’est vachement compliqué par rapport au fait d’ouvrir Logiciel, utiliser le moteur de recherche et appuyer sur un seul bouton. Tiens, en parlant de Logiciel, est-ce que YaCy y est ? Et la réponse est… oui ! Un beau Snap !

L’installation par le snap semble OK, mais tu ne le retrouves pas dans le menu déroulant des applications (de nouveau vu que c’est évidemment aussi le cas dans le cas de l’installation en ligne de commande). Il est cependant possible de lancer YaCy à partir de Logiciel en étant un peu patient.

Est-ce que YaCy donne des résultats probants

Le site de YaCy propose l’accès à une instance de démo de YaCy. J’ai d’abord effectué une série de tests à l’aide de cette démo. Ensuite, j’ai installé YaCy sur mon ordinateur et répété une série de tests. Remarquons qu’il existe aussi un portail internet avec les résultats de YaCy, mais il était d’assez mauvaise volonté quand je l’ai testé. (The search service is not available right now. Please try again.)

Premier enseignement : les résultats sont assez décevants. J’ai entre autres testé avec ma pomme (oui, oui, je suis égocentré) et je n’apparaissais pratiquement pas dans les résultats de recherche alors que mon exposition sur le net est assez importante. D’ailleurs, sur pas mal de résultats, je ne vois pas le lien avec les recherches que j’avais lancées. Les résultats semblent plus probants sur des sujets informatiques mais c’est à confirmer.

Deuxième enseignement : le nombre de résultats renvoyés est relativement faible. Par exemple, « Emmanuel Macron » ne donne lieu qu’à 1375 résultats (plus de 40 millions pour Google).

Troisième enseignement : c’est assez lent pour obtenir tous les résultats. Avec un peu de patience, YaCy annonce souvent de 100 à 200 résultats mais si on attend suffisamment longtemps, le nombre de résultats peut augmenter de manière substantielle.

Quatrième enseignement : les résultats sont très instables. Ne comptez pas dire à un ami qu’il lui suffit de mettre tels mots dans YaCy pour retrouver un site internet particulier. En lançant deux fois la même recherche, je suis souvent tombé sur des résultats totalement différents (mais restant assez peu pertinents). Simplement en rafraichissant la page, les résultats peuvent changer drastiquement.

Qu’en faire à court terme ?

Les résultats de YaCy sont donc lents, instables et peu pertinents. Dès lors compliqué de lui trouver un réel intérêt.

Il n’est pas clair à mes yeux quelle est la source de l’inefficacité de YaCy : indexation foireuse, trop peu de pairs pour que le P2P soit efficace,… Si c’est parce qu’il n’y a pas assez de participants mais que le reste fonctionne bien, il n’est pas exclu que YaCy puisse être un moteur de recherche interne intéressant. À confirmer.

Si vous avez des penchants dadaïstes, les résultats de YaCy peuvent vous intéresser. De manière plus pragmatique, YaCy donnant des résultats radicalement originaux, il peut sans doute faire découvrir des parties du web négligée par ailleurs.

Je n’ai pas testé en pratique mais YaCy permet de dire où l’on commence à crawler la toile. On peut dès lors imaginer de crawler le web autour d’une série de sites qui nous intéressent. On obtient alors une indexation d’une partie du web qui nous intéresse particulièrement. J’imagine que dans certains cas, cela puisse être intéressant.

Une alternative à Qwant ?

Si l’on voit Qwant comme une tentative de ne pas dépendre uniquement de Google et d’autres moteurs étrangers, je me suis demandé sur YaCy ne pourrait pas être une autre manière d’atteindre cet objectif.

Clairement, on n’aurait pas un moteur de recherche souverain européen (ou français) vu le caractère très décentralisé de YaCy mais l’on atteindrait bien à une forme de moindre dépendance à un seul acteur.

Pour y arriver, on pourrait demander à toutes les administrations étatiques et para-étatiques de faire tourner YaCy la nuit sur leurs ordinateurs (ou une partie de). Cela ne coûterait pas rien mais sans doute que les coûts induits seraient faibles voire négligeables lorsque considérés au niveau individuel de chaque administration. On pourrait même imaginer de demander aux entreprises de faire pareil, ce serait une forme de taxation en nature.

Ceci permettrait assurément de sortir YaCy du cercle vicieux dans lequel il me semble être bloqué : peu de gens l’utilisent => l’indexation n’est pas super => les résultats sont décevants => peu de gens l’utilisent.

Dans le fond, je reste sceptique que YaCy puisse ainsi se développer. Il y a naturellement le côté utopique que les administrations s’y mettent à grande échelle et de manière coordonnée, mais il y a aussi le fait que certains défauts de YaCy ne sont a priori pas liés à un problème de masse critique. Pour l’instabilité des résultats, ce n’est pas clair si avoir plus de crawlers résoudrait le problème. Par contre, il est difficile de penser que la lenteur de YaCy soit résolu en augmentant le nombre d’acteurs en jeu. C’est même l’inverse qui est à craindre.

Pour en savoir plus

En dehors du site officiel du projet, cet article et son compagnon paru sur opensource.com ne sont pas inintéressants. Et sur linuxreview.org, un article rapportant également une expérience pour le moins mitigée avec YaCy.

  • # Et pourquoi pas SearX ?

    Posté par  . Évalué à 4.

    Dans une utilisation pro quotidienne il n’y a pas vraiment d’alternative je trouve actuellement… à part Searx qui commence à être utilisable.

    • [^] # Re: Et pourquoi pas SearX ?

      Posté par  (Mastodon) . Évalué à 3.

      A noter que techniquement, YaCy peut servir de source à searx. L'article de linuxreview en parle mais n'est pas réellement convaincu de l'intérêt de la chose vu que YaCy ralentit searx sans réellement apporter de résultats pertinents.

      Surtout, ne pas tout prendre au sérieux !

    • [^] # Re: Et pourquoi pas SearX ?

      Posté par  (Mastodon) . Évalué à 10.

      De ce que je vois SearX est un méta-moteur de recherche. Là j'ai lancé une recherche sur "enduit extérieur" (mon activité du jour) et je me retrouve avec des résultats provenant de Bing (et un message d'erreur pour me dire qu'il a pas pu choper les résultats de Google).

      Avec YaCy on parle bien d'un moteur de recherche à part entière, qui ne part de rien (d'où la difficulté gigantesque).

      En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # Moteur perso ?

    Posté par  (Mastodon) . Évalué à 7.

    En fait on pourrait en faire un moteur perso, qui ne crowlerait que ce que je consulte. Il serait parfait pour un "ah merde j'avais vu passer un article un jour qui parlait de tel truc". En n'ayant indexé que ce que j'ai déjà consulté, ce serait bcp plus efficace que de relancer les mastodontes comme Google.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Moteur perso ?

      Posté par  . Évalué à 3.

      Ca s’appelle pas tout connectent la recherche dans l’historique de son navigateur ?

      BeOS le faisait il y a 20 ans !

      • [^] # Re: Moteur perso ?

        Posté par  (Mastodon) . Évalué à 5.

        Sous Firefox en tous cas la recherche ne marche que si on connaît l'URL (ou des bouts d'URL), mais il n'y a pas de recherche sur le contenu des pages.

        Ou alors j'ai pas compris ce que tu voulais dire ?

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: Moteur perso ?

          Posté par  . Évalué à 2.

          Fonctionne aussi avec le contenu de la balise <titre>.

          • [^] # Re: Moteur perso ?

            Posté par  . Évalué à 2.

            Ce qui reste très limité et il ne connaît pas la notion de site, les recherches perdent la temporalité, la recherche n'est pas texteplain,….

            https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

      • [^] # Re: Moteur perso ?

        Posté par  . Évalué à 7.

        L'historique n'indexe pas le contenu des pages.

    • [^] # Re: Moteur perso ?

      Posté par  . Évalué à 4. Dernière modification le 14 août 2020 à 09:02.

      On appellerait ça historique et ça pourrait être inclus dans les navigateurs !

      Je te charrie :p (_Edit: pff j'ai mis trop de temps :$)

      Il y a pleins de limitations que je trouve dommage dans les historiques. La dernière fois que nous en avions parlé quelqu'un avait parlé de memex qui a l'air pas mal (je ne l'ai pas vraiment essayé).

      En n'ayant indexé que ce que j'ai déjà consulté, ce serait bcp plus efficace que de relancer les mastodontes comme Google.

      Tu as l'historique goog… euh… wait!

      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

      • [^] # Re: Moteur perso ?

        Posté par  (Mastodon) . Évalué à 4. Dernière modification le 14 août 2020 à 13:48.

        Encore une fois : l'historique ne mémorise que l'URL, pas le contenu.

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Moteur perso ?

      Posté par  . Évalué à 3.

      Chouette idée, ça ! On tombe sur un article intéressant. On trouve le site/blog sérieux et hop, on lance une indexation régulière du site complet en un click.

      Et avec un effort supplémentaire, on pourrait prendre en compte les catégories et éliminer les infos inutiles comme les articles suggérés,… qui plombent les résultats de recherches.

      • [^] # Re: Moteur perso ?

        Posté par  (Mastodon) . Évalué à 4.

        En fait dans ma tête ce serait transparent. Tout ce que tu consultes (et uniquement ce que tu consultes) va dans le moteur de recherche. Alors dans le tas il y aura de la merdouille (style tu cherches un truc sur Google, t'as 5 résultats qui te semblent pertinents mais seul le 4e le sera réellement), mais c'est pas grave, par rapport à l'ensemble d'Internet, n'avoir ajouté à l'index que c'est 5 pages est déjà un sacré tri !

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: Moteur perso ?

          Posté par  . Évalué à 1.

          Un genre de cache en fait ? Sur Internet Explorer, à la belle époque, quand on payait l'internet à la minute, il était possible de surfer en mode Hors-ligne. Evidemment, tu ne pouvais que visiter les pages précédemment consultées.

          • [^] # Re: Moteur perso ?

            Posté par  (Mastodon) . Évalué à 3.

            Oui une sorte de cache en effet.

            En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

            • [^] # Re: Moteur perso ?

              Posté par  (site web personnel) . Évalué à 4.

              Dans ce cas, installes un proxy genre Polipo et indexes-en le cache. Pas besoin de Yacy, les indexeurs "de bureau" le feront très bien (Tracker, Recoll, Xapers, etc.).

              "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

              • [^] # Re: Moteur perso ?

                Posté par  (Mastodon) . Évalué à 3.

                Pas con, je connaissais pas :D

                En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

              • [^] # Re: Moteur perso ?

                Posté par  (site web personnel) . Évalué à 7.

                Attention à ne pas cacher+indexer du contenu à accès restreint (bancaire, santé, impôts, etc.) si tu rends le cache accessible en P2P ensuite.

                • [^] # Re: Moteur perso ?

                  Posté par  (site web personnel) . Évalué à 3.

                  Rien à voir, on parle d'un moteur perso, une recherche dans son propre historique de navigation. Pas d'un truc à partager.

                  "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

              • [^] # Re: Moteur perso ?

                Posté par  . Évalué à 4.

                ça fonctionne pour autre chose que les pages générées côté serveur?

                https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                • [^] # Re: Moteur perso ?

                  Posté par  (site web personnel) . Évalué à 3.

                  Je ne comprends pas ta question.

                  J'indiquais une possibilité pour faire des recherches dans le contenu de tous les sites visités par une personne. En installant un proxy-cache comme Polipo tout le contenu est enregistré. On peut alors l'indexer avec un petit moteur.

                  "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

                  • [^] # Re: Moteur perso ?

                    Posté par  . Évalué à 6.

                    Une partie non négligeables des sites n'envoient pas de contenu avec le html, c'est le js qui va chercher le contenu recherché dans des webservices. Au final un proxy voit passer des "trucs", mais la notion de page il ne la vois pas. Bien sûr ça reste du contenu indexable, mais dans ta recherche, tu va tomber sur du json (voir sur du js…) pas forcément très digeste, tu n'aura pas forcément le contexte qui va avec.

                    C'est une problématique avec la quelle on doit vivre pour les moteurs de recherche classiques (voir cette page d'explication de google).

                    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                    • [^] # Re: Moteur perso ?

                      Posté par  . Évalué à 3.

                      (voir sur du js…)

                      voire du base64

                      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

        • [^] # Re: Moteur perso ?

          Posté par  (site web personnel) . Évalué à 3.

          Avec un (gros) boost pour tes sites favoris, non?

          Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

      • [^] # Re: Moteur perso ?

        Posté par  (site web personnel, Mastodon) . Évalué à 5.

        Chouette idée, ça ! On tombe sur un article intéressant. On trouve le site/blog sérieux et hop, on lance une indexation régulière du site complet en un click.

        Distributed slashdotting in a nutshell.

  • # Remplacer le moteur de recherche par autre chose

    Posté par  . Évalué à 7.

    On peut aussi naviguer sans moteur de recherche, avec des sites comme reddit, wikipedia, stackoverflow qui accumulent des milliards de liens, on peut accéder quasiment a tout.
    Et même de manière parfois plus pertinente, comme sur des sujets censurés par exemple.

    Le moteur de recherche garde son utilité dans certain cas, mais il n'est pas indispensable, il n'a pas besoin d’être au centre de notre mode de consommation du net.

  • # Qwant = bing en moins frais

    Posté par  . Évalué à 4.

    Si l’on voit Qwant comme une tentative de ne pas dépendre uniquement de Google et d’autres moteurs étrangers

    C'est dommage, parce que Qwant se base encore actuellement en grosse partie sur Bing. Donc au final on envoie quand même des requêtes sur un moteur de recherche étranger.
    Après l'avoir utilisé pendant 1 an et demi, j'ai du me résoudre à retourner à DuckDuckGo, qui a le mérite d'au moins avoir des résultats frais.

    • [^] # Startpage

      Posté par  . Évalué à 2.

      N'oublions pas Startpage/Ixquick, méta-moteur néerlandais : Startpage
      Duckduckgo est très pratique pour ses bangs et ses affichages circonstanciés de résultats (p.ex. encarts StackExchange, Yelp, etc.)

  • # Vieille expérience

    Posté par  (site web personnel) . Évalué à 5.

    J’avais essayé YaCy il y a maintenant plusieurs années (2011 ou 2012… je crois ?).

    Les deux problèmes qui m’avaient fait abandonner l’expérience à l’époque :

    • Le logiciel n’offrait aucune option pour contrôler la croissance de l’index. En gros ce que je voulais, c’était pouvoir dire « je contribue à l’index distribué, mais seulement à hauteur de (par exemple) 10 Go — lorsque ma part de l’index atteint cette limite, je veux que mon instance arrête de crawler et se contente de servir ce qu’elle a déjà indexé ». Ça ne semblait pas être possible à l’époque, je ne sais pas si ça a changé.
    • Dès que l’index atteignait une certaine taille (environ 20 Go si je me souviens bien), il n’était simplement plus possible de redémarrer le serveur. Toute tentative de charger l’index depuis le disque échouait systématiquement. La seule solution était de purger l’index manu militari (rm -rf …) et de repartir de zéro.

    Un de ces jours il faudrait que je ré-essaye.

    • [^] # Re: Vieille expérience

      Posté par  . Évalué à 5.

      lorsque ma part de l’index atteint cette limite, je veux que mon instance arrête de crawler et se contente de servir ce qu’elle a déjà indexé

      Il ne serait pas mieux de continuer à crawler et de supprimer ce qui a était le moins lu/plus vieux ? (une sorte de LRU.

      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

      • [^] # Re: Vieille expérience

        Posté par  (site web personnel) . Évalué à 3.

        Ça m’aurait convenu aussi. Ce qui m’importait était de pouvoir maîtriser l’espace disque consommé, quelle que soit la méthode (« tu fais comme tu veux, mais tu n’utilises jamais plus de 10 Go »).

    • [^] # Re: Vieille expérience

      Posté par  (Mastodon) . Évalué à 2.

      Le logiciel n’offrait aucune option pour contrôler la croissance de l’index. En gros ce que je voulais, c’était pouvoir dire « je contribue à l’index distribué, mais seulement à hauteur de (par exemple) 10 Go — lorsque ma part de l’index atteint cette limite, je veux que mon instance arrête de crawler et se contente de servir ce qu’elle a déjà indexé ». Ça ne semblait pas être possible à l’époque, je ne sais pas si ça a changé.

      Cela ne semble toujours pas vraiment le cas aujourd'hui. Extrait de la FAQ de YaCy :

      Can I limit the size of the indexes on my hard-drive?

      For the moment not directly. Automatically limiting that size would mean having to delete stored indexes, which is not suitable.

      You can set two minimums of free disk space at /Performance_p.html: one for the crawls, and the other for DHT-in. The number for crawls seems to have to be equal or bigger than the number for DHT-in. Note that, with DHT-in disabled, global searching using the peer's UI is disabled. Also proxy/crawling privacy might suffer. You can also just disable “Index Receive” at /ConfigNetwork_p.html, so that your index is only augmented through crawling (over which you have some control). For a very indirect additional limit, you can change the Index Reference Size at /IndexControlRWIs_p.html.

      Surtout, ne pas tout prendre au sérieux !

      • [^] # Re: Vieille expérience

        Posté par  (site web personnel) . Évalué à 4.

        Merci. Pas sûr d’avoir envie de ré-essayer de sitôt du coup… :(

        Je dis ça et je dis rien, mais le projet trouverait peut-être plus facilement des volontaires prêts à contribuer à la DHT s’il offrait un certain contrôle sur l’utilisation des ressources…

    • [^] # Re: Vieille expérience

      Posté par  (site web personnel) . Évalué à 3.

      Dès que l’index atteignait une certaine taille (…), il n’était simplement plus possible de redémarrer le serveur.

      Jamais rencontré ce problème. Ni entendu parler. Utilisais-tu une partition dédiée avec peu d'espace disque ou peu d'i-noeuds ?

      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

      • [^] # Re: Vieille expérience

        Posté par  (site web personnel) . Évalué à 3.

        C’était une partition (un volume LVM plus exactement) dédiée aux données mais pas spécialement dédiée à YaCy. Ça représentait le plus gros de mon disque dur, l’espace n’y manquait pas et les inodes non plus…

  • # pour des résultats il faut participer

    Posté par  (site web personnel) . Évalué à 4.

    La pertinence des résultats est liée à la taille de l'index, lequel est lié à la taille du réseau pair à pair. On ne peut donc pas demander à Yacy plus que ce qu'il a. Le réseau est encore très petit et donc l'index aussi.
    De plus, comme l'index de Yacy est distribué, la taille du réseau influe aussi sur la taille de l'index disponible. Dans mon expérience (j'utilise un peu Yacy depuis quelques années) un noeud moyen (une instance personnelle de Yacy) accède à environ 1,5 milliard de pages indexées. C'est peu, mais ça grandit ! L'année dernière c'était un peu moins d'un milliard.
    Donc, pour avoir plus de résultats la seule solution est de participer en encourageant d'autres personnes à faire pareil. Mais il faut participer activement, en ajoutant des ressources de qualité à l'index (par exemple linuxfr.org). Comme l'a dit quelqu'un plus haut, on peut aussi farfouiller le web à partir de points de départ bien choisis, comme Wikipedia. Ajouter de tels point d'entrée ressource dans Yacy permet de bâtir un index de qualité, plutôt que l'index le plus gros possible.

    Par contre, il est encore inutile de chercher dans Yacy une alternative à Google.Plutôt un complément au sens où on peut lui demander de chercher un sujet sur des ressources délimitées. Pour une bonne alternative, mieux vaut se tourner vers eTools un méta-moteur Suisse très paramétrable. Je m'en sers tous les jours, en y privilégiant par pondération, les résultats indépendants de Google. La carte des moteurs de recherche est à cet égard très utile.

    "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

Suivre le flux des commentaires

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