Initiation au YQL – Open Hack Day
Par Korben | Nb visites : 175

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.
Je vous recommande aussi la lecture des sujets suivants
- Initiation à Yahoo BOSS – Open Hack Day
- Flickr s’invite sur Twitter, iPhone et Android
- Affichez les résultats de Google selon les dates de votre choix
- Récupérez le contenu de n’importe quel site avec Web Harvest
- Les économiseurs d’écran Flickr
- Picoshot – Miniaturisez vos sites préférés
- Yahoo Open Hackday – Jour 1, avant la bataille
- Comment mettre en place une limite de connexion par ip avec Memcached
- Comment afficher des publicités Adsense uniquement aux visiteurs en provenance des moteurs de recherche
- Partagez vos fichiers avec vos contacts Twitter







Aurélien
Intéressant tout ça !
Posté le 10 mai 2009 à 07:50:26
Jaheb
Korben, c’est Tintin au pays de Yahoo. Excellent billet
Posté le 10 mai 2009 à 08:03:42
Scrubs
Merci pour ces deux billets sur les technos Yahoo. Nickel !
Posté le 10 mai 2009 à 08:49:08
Korben
Content que ça vous plaise les gars !
Posté le 10 mai 2009 à 08:53:43
KheopsAlbator
Merci pour ces retours super sympas. On attend la suite avec impatience.
Posté le 10 mai 2009 à 09:11:16
MyGB
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
MyGB
Arf, désolé, j’ai pas vu la suite ^^ (et l’édit ne marche plus).
Posté le 10 mai 2009 à 09:14:49
Greg
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
VB 6
Génial, je vais enfin pourvoir crée des applic yahoo
Merci Korben !!
Posté le 10 mai 2009 à 10:01:49
metalkid
@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
Ludo
baleze et très interessant yql !!
thx korben
Posté le 10 mai 2009 à 11:30:30
Initiation au YQL - Open Hack Day « nefast.info
[...] Go here to see the original: Initiation au YQL – Open Hack Day [...]
Posté le 10 mai 2009 à 12:45:23
babelkot
C’est génial..j’ai rien compris..
Posté le 10 mai 2009 à 12:58:39
Humanbomb
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
Yurexa
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
ninesoe
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
Guillaume
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
Kanor
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
doOk
Vraiment pas mal, question toute bête il faut quoi pour le mettre en place ? :p
Posté le 10 mai 2009 à 21:10:20
Mickael Puyfages
Ca à l’air bien interessant YQL !
Merci pour le billet et tout ces exemples
Posté le 10 mai 2009 à 22:46:34
Arsenik
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
fredo
excellent de chez excellent , merci
Posté le 11 mai 2009 à 02:11:14
ScarySeb
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
Open Hack London - Back with the Bean Bag !
[...] 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
YQL o la gran base de datos que es Internet en Adrián Navarro
[...] más información, docs sobre YQL y ejemplos (en francés). « [...]
Posté le 17 mai 2009 à 01:20:24
Comment tout savoir sur quelqu’un ?
[...] 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