[SPIP Zone] plugin Yagloo

Je me suis amusé à faire un plugin qui remplace le moteur de recherche
standard de SPIP par des appels aux API Web de Yahoo (dit "Yahoo
BOSS") et de Google ("Google AJAX Search API").

C'est dans _plugins_/_stable_/yagloo/ et c'est déjà en prod sur certains sites.

Je dois dire que ça a totalement fait diminuer la charge sur mes
serveurs, vu que non seulement ils n'indexent plus, mais en plus ils
ne cherchent même pas, et attendent simplement que Yahoo leur donne
les résultats...

Sur le plan technique rien de bien sorcier, le code est assez simple.

La seule chose vraiment amusante c'est une fonction recuperer_pages()
que l'on peut employer pour récupérer en parallèle plusieurs pages
web. Ca permet ainsi de récupérer 14 pages de Yahoo BOSS (pour un
total de 700 résultats) en 6s contre 25s si on fait les demandes
séquentiellement.

A l'heure actuelle le plugin nécessite php 5.2 minimum, pour CURL et
json_decode. recuperer_pages() pourrait s'enrichir de la gestion du
proxy etc, et entrer dans le core (dans inc/distant) ; il faudrait
pour cela que quelqu'un qui en a besoin ajoute les quelques lignes
manquantes et fasse les tests. Je veux bien aiguiller qui le souhaite.

-- Fil

Ah au fait il y a un problème avec notre système d'urls qui n'est pas
capable de nous dire "Cet URL correspond à tel objet" sans faire une
redirection. Dans ce genre de cas (fréquent) la recherche aboutit sur
une des pages de résultats... pas terrible et je ne vois pas comment
corriger ça dans le plugin -- c'est plutôt un truc à faire un niveau
du core. En attendant l statut "dev" s'impose.

2009/2/11 Fil <fil@rezo.net>:

Je me suis amusé à faire un plugin qui remplace le moteur de recherche
standard de SPIP par des appels aux API Web de Yahoo (dit "Yahoo

Le 11 févr. 09 à 23:12, Fil a écrit :

Ah au fait il y a un problème avec notre système d'urls qui n'est pas
capable de nous dire "Cet URL correspond à tel objet" sans faire une
redirection.

Comment ça « sans faire une redirection » ? Tu parles d'une réécriture d'URL, plutôt ?

Dans ce genre de cas (fréquent) la recherche aboutit sur
une des pages de résultats... pas terrible et je ne vois pas comment
corriger ça dans le plugin -- c'est plutôt un truc à faire un niveau
du core. En attendant l statut "dev" s'impose.

Pas compris le soucis avec ta seule description, faudra que j'installe ce plugin prometteur pour voir...

-Nicolas

--
Nicolas HOIZEY

Ah au fait il y a un problème avec notre système d'urls qui n'est pas
capable de nous dire "Cet URL correspond à tel objet" sans faire une
redirection.

Comment ça « sans faire une redirection » ? Tu parles d'une réécriture
d'URL, plutôt ?

Si tu demandes à urls/propres.php de te dire à quel objet correspond
l'adresse /Mon-article.html
il va faire un Redirect 301 vers /Mon-article; or ici je ne veux pas
afficher l'article, mais simplement savoir qu'il s'agit de l'article
32 !

-- Fil

Le 12 févr. 09 à 10:45, Fil a écrit :

Ah au fait il y a un problème avec notre système d'urls qui n'est pas
capable de nous dire "Cet URL correspond à tel objet" sans faire une
redirection.

Comment ça « sans faire une redirection » ? Tu parles d'une réécriture
d'URL, plutôt ?

Si tu demandes à urls/propres.php de te dire à quel objet correspond
l'adresse /Mon-article.html
il va faire un Redirect 301 vers /Mon-article; or ici je ne veux pas
afficher l'article, mais simplement savoir qu'il s'agit de l'article
32 !

Avec les URL "html" ? Je n'ai pas ce problème avec les URL "arbo" à priori.

Pourquoi est-ce une redirection 301 plutôt qu'un simple Rewrite interne ?

-Nicolas

--
Nicolas HOIZEY

Pourquoi est-ce une redirection 301 plutôt qu'un simple Rewrite interne ?

Parce qu'en cas de vieille URL on renvoie vers la nouvelle, histoire
de ne pas calculer 100 pages différentes ayant le même contenu

-- Fil

Le 12 févr. 09 à 11:38, Fil a écrit :

Pourquoi est-ce une redirection 301 plutôt qu'un simple Rewrite interne ?

Parce qu'en cas de vieille URL on renvoie vers la nouvelle, histoire
de ne pas calculer 100 pages différentes ayant le même contenu

Ah, OK, je croyais que c'était systématique, tu ne parlais pas d' « ancienne » URL il me semble.

Donc oui, c'est la bonne méthode. Et malheureusement ce n'est pas le cas avec les URL "arbo", tiens...

-Nicolas

--
Nicolas HOIZEY

Donc oui, c'est la bonne méthode. Et malheureusement ce n'est pas le cas
avec les URL "arbo", tiens...

Eh oui. Mais la correction arrive dans quelques minutes

-- Fil