BlogBang

Initiation au YQL – Open Hack Day

photohackday Initiation au YQL   Open Hack Day

Aaaah j’ai dormi un peu, puis j’ai pris une bonne douche et j’y suis retourné ! Certains dorment, d’autres sont partis mais les plus acharnés sont encore debout en train de coder leurs petites surprises. Ambiance quoi !

Bon, moi maintenant je vais vous parler du YQL (prononcez : Ouaye-Qiou-Elle).
Mais qu’est ce que ça peut bien être ce machin là ?

Le YQL (Yahoo Query Language) est un langage similaire au SQL qui permet de requête, filtrer, ordonner et combiner des données diverses non pas en provenance d’une base classique mais d’internet tout entier.

Les fichiers de données YQL sont en fait de gros fichiers XML qu’il est possible d’interroger en une seule ligne et bien sûr comme c’est ouvert, chacun peut proposer sa « base » YQL au monde entier.

Mais comme un bon exemple vaut 100 explications, voici une commade YQL qui permet de récupérer un XML contenant les référence de photos sur Flickr contenant le texte « openhacklondon »

select * from flickr.photos.search where text= »openhacklondon »

Si vous voulez tester la chose, une console de test est disponible à cette adresse.

On peut aussi récupérer la météo (ouèèèè trop super !)

select * from weather.forecast where location= »FRXX0076″

FRXX0076 étant le code de Paris.

Bon donc, vous l’aurez compris, il est possible d’interroger tous les services Yahoo! ce qui est déjà pas mal (Flickr, Upcoming, Maps, News…etc) mais pas seulement !!! De nombreuses bases sont maintenant « ouvertes » en YQL et chacun est libre de créer les connecteurs / convertisseurs (appelez ça comme vous voulez) pour mettre n’importe quelle donnée structurée à disposition de n’importe quel développeur utilisant le YQL.

Je prend pas exemple Twitter qui est requêtable de cette façon

use ‘http://www.icanhaslayout.com/twitter.search.xml’ as twitter.search;
select * from twitter.search where q=’korben’;

Cela veut dire que je déclare twitter.search comme ma source de données, puis avec un simple SELECT en YQL, je l’interroge pour rechercher les derniers twitt sur le net qui contiennent le mot « korben ».

Et il existe des centaines de fichiers de définition YQL sur le net. J’en ai trouvé ici (qui sont les mêmes que là). Il suffit ensuite de les déclarer et de les utiliser. Par exemple pour connaitre mon dernier Twitt, il suffit d’appeler cette source YQL exterieur et de faire un simple SELECT * .

use ‘http://github.com/spullara/yql-tables/raw/a2f518a10ccdca99658f14bee9101b77d7b4cf08/twitter/twitter.user.status.xml’ as twittertable;
select * from twittertable where id=’korben’

(Mais sinon, Yahoo les intègre au fur et à mesure dans leur « annuaire » de tables YQL, permettant ainsi de raccourcir les requêtes. Du coup, ma requête ci dessus fonctionne aussi comme ceci : select * from twitter.user.status where id=’korben’)

Un autre exemple parce que le YQL c’est vraiment fun, c’est par exemple LastFM. J’ai choppé une clé LastFM pour pouvoir utiliser leur API et ensuite, avec un petit bout de YQL j’ai pu récupérer toutes les pages étant taggées comme French Rock :

select * from lastfm.tag where tag=’french rock’ and api_key=’f7a9005d79ec9352d8a0aa417bda5039′

Et j’en passe… Amazon, Imdb, Friendfind, New York Times, Slideshare, Bit.ly…etc Les possibilités sont infinies car même si une source YQL n’existe pas, vous pouvez la créer de toute pièce. Je pourrais par exemple très bien imaginer mettre à disposition mes articles de cette manière afin que vous puissiez intégrer ces derniers directement dans vos applications (ne me demandez pas pour quoi faire).

Bien sûr tout ceci devient très fun quand on commence à faire des jointures. Il est ainsi possible d’utiliser Flickr + le service de geocoding de Yahoo pour demander par exemple toutes les infos des photos Creative Commons qui ont été prise à Londres :

select * from flickr.photos.info where photo_id in (select id from flickr.photos.search where woe_id in (select woeid from geo.places where text=’london,uk’) and license=4)

Et ainsi, réaliser de vrais mashup comme cette outil qui associe images en provenance de Flickr et Yahoo! Maps.

Génial non ?

Allez un dernier pour la route :

select * from search.web where query in (select title from rss where url= »http://www.korben.info/feed » | truncate(count=1)) limit 10

Avec cette requête, je fais une recherche globale sur le net en utilisant le titre du dernier article disponible dans le flux RSS de Korben.info. Cela me renvoie alors les 10 premiers résultats donnés par le moteur de recherche de Yahoo.

Bref, comme pour BOSS, j’espère que ça vous a intéressé. Je vous met à dispo les slides de Christian Heilmann et je vous invite a aller faire un tour sur le site YQL.

Publicité

Je vous recommande aussi la lecture des sujets suivants


Faites un lien vers cette news sur votre site



26 commentaires

  1. Aurélien Reply to this comment


    Intéressant tout ça ! :)

    Posté le 10 mai 2009 à 07:50:26

  2. Jaheb Reply to this comment


    Korben, c’est Tintin au pays de Yahoo. Excellent billet

    Posté le 10 mai 2009 à 08:03:42

  3. Scrubs Reply to this comment


    Merci pour ces deux billets sur les technos Yahoo. Nickel !

    Posté le 10 mai 2009 à 08:49:08

  4. Korben Reply to this comment


    Content que ça vous plaise les gars !

    Posté le 10 mai 2009 à 08:53:43

  5. KheopsAlbator Reply to this comment


    Merci pour ces retours super sympas. On attend la suite avec impatience.

    Posté le 10 mai 2009 à 09:11:16

  6. MyGB Reply to this comment


    Wow ! Ma passion pour l’informatique et le développement grandit de plus en plus.

    Sinon, Ko, pour le dernier twitter, y’a plus court :
    select * from twitter.user.status where id=’mygbb’

    Posté le 10 mai 2009 à 09:11:25

  7. MyGB Reply to this comment


    Arf, désolé, j’ai pas vu la suite ^^ (et l’édit ne marche plus).

    Posté le 10 mai 2009 à 09:14:49

  8. Greg Reply to this comment


    Excellent tout ça, surtout que ça peut permettre plein de petites choses sympa. Je pense à la météo à last.fm et à twitter…

    Posté le 10 mai 2009 à 09:53:57

  9. VB 6 Reply to this comment


    Génial, je vais enfin pourvoir crée des applic yahoo :D
    Merci Korben !!

    Posté le 10 mai 2009 à 10:01:49

  10. metalkid Reply to this comment


    @Korben…

    très intéressant ce billet,je suis qu’un bricoleur, mais je vais tester le YQL prochainement, ça me semble pas trop prise de tête.

    Posté le 10 mai 2009 à 10:57:32

  11. Ludo Reply to this comment


    baleze et très interessant yql !!
    thx korben

    Posté le 10 mai 2009 à 11:30:30

  12. Initiation au YQL - Open Hack Day « nefast.info Reply to this comment


    [...] Go here to see the original: Initiation au YQL – Open Hack Day [...]

    Posté le 10 mai 2009 à 12:45:23

  13. babelkot Reply to this comment


    C’est génial..j’ai rien compris..

    Posté le 10 mai 2009 à 12:58:39

  14. Humanbomb Reply to this comment


    C’est une super techno, peut-être utile pour certain projets (au lieu de ce les briser avec 400 flux rss) et ouvre pas mal de possibilité.
    Vraiment merci Korben

    Posté le 10 mai 2009 à 13:02:48

  15. Yurexa Reply to this comment


    Je suis franchement étonné par Yahoo… Ils mettent une telle technologie à disposition, et de plus gratuitement.
    J’espère que le YQL va se développer car ça a l’air tellement facile à utiliser…

    Enfin, encore un billet digne d’intérêt :)

    Posté le 10 mai 2009 à 13:06:49

  16. ninesoe Reply to this comment


    Merci de ton partage, grace à toi j’ai decouvert un language comme j’aime et promus à un avenir certain.

    Posté le 10 mai 2009 à 13:17:51

  17. Guillaume Reply to this comment


    Merci Korben, pour la vulgarisation. N’étant pas développeur, je me sens toujours un peu mal à l’aise dès qu’on rentre dans les technos. Grâce à ce genre d’article, je comprends beaucoup mieux….

    Et surtout, j’ai moins peur.

    Iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii… une souris !

    Posté le 10 mai 2009 à 13:31:17

  18. Kanor Reply to this comment


    Excellent vraiment yahoo sort la un truc vraiment sympathique ça m’a fait penser à ça
    http://www.yoyodesign.org/doc/w3c/rdf-sparql-protocol/

    Posté le 10 mai 2009 à 15:23:27

  19. doOk Reply to this comment


    Vraiment pas mal, question toute bête il faut quoi pour le mettre en place ? :p

    Posté le 10 mai 2009 à 21:10:20

  20. Mickael Puyfages Reply to this comment


    Ca à l’air bien interessant YQL !
    Merci pour le billet et tout ces exemples :)

    Posté le 10 mai 2009 à 22:46:34

  21. Arsenik Reply to this comment


    Sympa, je connaissais pas mais je me pose une question: Y’a une limite en nombre de requête YQL que l’on peut faire?

    Posté le 11 mai 2009 à 01:01:39

  22. fredo Reply to this comment


    excellent de chez excellent , merci

    Posté le 11 mai 2009 à 02:11:14

  23. ScarySeb Reply to this comment


    J’ai pas tout compris, mais ça ne vient pas du fait que c’est mal expliqué ca vient de moi ^^
    Mais c’est quand même intéressant a lire ^^
    Sinon vraiment sympa toutes les photo posté sur flickr, ton t-shirt bleu aussi, tout comme ton bureau =D

    Posté le 11 mai 2009 à 16:19:05

  24. Open Hack London - Back with the Bean Bag ! Reply to this comment


    [...] post et pas moyen… Donc basta, je prend le temps ce matin. Je vous avais laissé joué avec YQL et BOSS et bien sûr, après 24h de “hacking”, entendez bidouillage de technos Yahoo [...]

    Posté le 14 mai 2009 à 08:40:36

  25. YQL o la gran base de datos que es Internet en Adrián Navarro Reply to this comment


    [...] más información, docs sobre YQL y ejemplos (en francés). « [...]

    Posté le 17 mai 2009 à 01:20:24

  26. Comment tout savoir sur quelqu’un ? Reply to this comment


    [...] parlé suite à mon petit séjour en Angleterre, de la petite extension greasemonkey à base de YQL que George Brocklehurst avait proposé au HackDay… ET voici que je tombe sur une extension [...]

    Posté le 26 mai 2009 à 10:20:15