Olivier Mengué – Code & rando - Vélib’ et Yahoo! Pipes : vive XML et les services Web ! - Commentaires2024-03-29T07:17:39+01:00urn:md5:57e646ab8ca85028168daaaa985aa995DotclearVélib’ et Yahoo! Pipes : vive XML et les services Web ! - Renéurn:md5:9975d5029d2ea2b66bf4970a4e25abaa2008-04-14T18:06:13+00:002008-04-24T18:01:52+00:00René<p>Bonjour,<br />
<br />
Je viens de lire votre article évoquant les yahoo pipes, aussi je prends la liberté de vous informer que :<br />
<br />
Une liste d'entraide sur les yahoo pipes vient de se créer ici :<br />
<a href="http://fr.groups.yahoo.com/group/y_pipes/" title="http://fr.groups.yahoo.com/group/y_pipes/" rel="nofollow">fr.groups.yahoo.com/group...</a><br />
<br />
Cordialement,<br />
RG</p>Vélib’ et Yahoo! Pipes : vive XML et les services Web ! - Olivier - Code & randourn:md5:fb0f492eb9a01dbbc2712a8f242eca152007-12-09T18:29:23+00:002007-12-09T18:30:38+00:00Olivier - Code & rando<p>Côté géolocalistation, le CellID pourrait en effet être théoriquement intéressant. Le problème est que cette information est difficilement accessible dans les OS des téléphones actuels. Notamment l'accès au CellID est impossible directement depuis J2ME. Il faut donc passer par une application native. Voir ce <a href="http://discussion.forum.nokia.com/forum/showthread.php?t=19693" rel="nofollow">thread sur le forum Nokia</a>. Donc adieu la portabilité.</p>
<p>De plus l'utilisation du CellID nécessite de disposer d'une base de données libre et à jour indiquant la position des Cell IDs. Déjà que pour les stations Vélib' on ne l'a pas...</p>
</p>L'espoir est plutôt du coté de l'intégration de puces GPS dans les téléphones. J'utilise un GPS Bluetooth connecté à mon N800 (qui n'est pas un téléphone) pour afficher les stations Vélib' autour de moi. Mais pas pour l'instant d'info de disponiblité hors des points d'accès wifi : je n'ai pas un téléphone Bluetooth pour relier mon N800 à Internet par le GPRS.</p>
<p>Quant au « Cell Broadcast » il faut bien penser que, bien que les utilisateurs de Vélib' soient très nombreux, ils restent une minorité des utilisateurs parisiens de téléphones mobile. Le cell broadcast reste dédié à l'envoi de messages pour les cas d'urgences.</p>Vélib’ et Yahoo! Pipes : vive XML et les services Web ! - kaelurn:md5:7323d7c1ef321c22a777b17f315575af2007-12-03T18:14:06+00:002007-12-09T14:31:57+00:00kael<p>Grâce à l'URL de l'API, j'ai pu écrire un bot jabber (pas encore publié) qui interroge toutes les 5 minutes un nombre de stations pré-définies. Et j'utilise Bombus_Mod [1] comme logiciel Jabber pour J2ME. L'avantage d'utiliser le XMPP est la compression qui permet de consommer très peu de bande passante en GPRS (quelques octets).<br />
<br />
Mais il manque une partie de géolocalisation : je pensais écrire un bot qui afficherait les stations à partir d'une adresse de destination avec quelque chose du genre :<br />
<br />
Adresse de destination -> récupération des bornes les plus proches et de leur adresse (en "scrapant" Infovelib [2]) -> interrogation de l'API Velib pour la liste de stations récupérée sur Inforvelib.<br />
<br />
Mais j'ai trouvé *le* hack [3] qui permet, apparemment, de convertir les metadata des antennes GSM en coordonnées geographiques. Il semble possible d'utiliser le CellID et le LAC [4] comme paramètre de requête pour interroger Google Maps Mobile (avec <a href="http://www.google.com/glm/mmap" title="http://www.google.com/glm/mmap" rel="nofollow">www.google.com/glm/mmap</a> comme URL de base). Mais j'ai pas encore trouvé précisément comment l'utiliser en "REST".<br />
<br />
Un Pipes pour convertir les metadata en coordonnées géographies avec cette API serait génial. :)<br />
<br />
Ceci dit, la solution idéale serait l'utilisation du Cell Broadcast [5]. Cette technologie permet de recevoir certaines metadata comme le nom de la ville ou le numéro de la CellID directement sur l'écran du mobile.<br />
<br />
Ainsi, par exemple lorsque l'on traverse la Suisse en train, les noms des villes s'affichent automatiquement sur le mobile.<br />
<br />
Il serait intéressant d'utiliser cette technologie pour Velib. De cette façon, simplement en activant l'option "Affichage Info Cellule", les parisiens pourraient facilement connaître les noms et adresses des stations les plus proches ainsi que leurs disponibilités. Evidemment, ce service serait gratuit et financé par la Mairie de Paris. Mais avec la légendaire volonté de coopération des opérateurs mobiles, je ne suis pas sûr que nous soyons près d'utiliser le Cell Broadcast. <br />
<br />
[1] <a href="http://en.wikipedia.org/wiki/Bombusmod" title="http://en.wikipedia.org/wiki/Bombusmod" rel="nofollow">en.wikipedia.org/wiki/Bom...</a><br />
[2] <a href="http://www.infovelib.fr/" title="http://www.infovelib.fr/" rel="nofollow">www.infovelib.fr/</a><br />
[3] <a href="http://davanum.wordpress.com/2007/12/01/android-much-better-geo-location-from-just-cellidlac/" title="http://davanum.wordpress.com/2007/12/01/android-much-better-geo-location-from-just-cellidlac/" rel="nofollow">davanum.wordpress.com/200...</a><br />
[4] <a href="http://www.3gpp.org/ftp/Specs/html-info/0303.htm" title="http://www.3gpp.org/ftp/Specs/html-info/0303.htm" rel="nofollow">www.3gpp.org/ftp/Specs/ht...</a> - (section 4)<br />
[5] <a href="http://fr.wikipedia.org/wiki/Cell_Broadcast" title="http://fr.wikipedia.org/wiki/Cell_Broadcast" rel="nofollow">fr.wikipedia.org/wiki/Cel...</a></p>Vélib’ et Yahoo! Pipes : vive XML et les services Web ! - Olivier - Code & randourn:md5:c1204208b91dd9327547312efc48176e2007-09-16T12:56:56+00:002007-09-16T14:09:07+00:00Olivier - Code & rando<p>Comment j'ai découvert l'URL ? Pas bien compliqué : il suffit de connaître un peu comment fonctionne les APIs Google pour comprendre comment le développeur peut avoir conçu l'affichage de la carte Vélib'. Ensuite, il suffit de constater le temps de chagement de la carte (très très long) pour se douter que l'ensemble des stations est chargé dans la page (même pour n'afficher que 10 stations : une hérésie !) et inciter à aller fouiller dans le source de la page où se trouve l'URL.</p>
<p>Moi aussi j'ai essayé de combiner l'API de geocoding directement accessible depuis Yahoo! Pipes (opérateur "Location Builder") avec ma requête d'infos sur les stations. Malheureusement je n'ai pas trouvé dans Yahoo! Pipes d'opérateur permettant de comparer des "locations" et qui permettait de filtrer selon "près de"</p>
<p>Le seule solution : laisser tomber les prototypes avec Yahoo! Pipes et coder vraiment sur un serveur la partie de localisation de station la plus proche. Néanmoins, on pourrait au mieux faire des comparaisons de poroximité par rapport à des adresses lat/lon, ce qui n'est pas aussi utile qu'une vraie comparaison tenant compte des contraintes urbaines (la différence entre "à vol d'oiseau" et "par les rues").</p>
<p>Ton lien vers la doc sur les requêtes Google Maps est une piste intéressante que je vais creuser...</p>Vélib’ et Yahoo! Pipes : vive XML et les services Web ! - kaelurn:md5:a8f645c1afb17e266b348db63dbd22ef2007-09-12T09:52:51+00:002007-09-16T12:35:09+00:00kael<p>Merci beaucoup pour l'URL de l'API.<br />
<br />
Je me demande comment vous l'avez découverte.<br />
<br />
J'ai pensé à une autre version de Yahoo Pipes qui utiliserait du geocoding de façon à pouvoir connaître la disponibilité des bornes environnantes au point de destination, sans avoir à connaître leur ID ni celle de la borne de destination mais simplement à partir d'une adresse.<br />
<br />
Avec Google Maps, j'ai tenté d'extraire les bornes voulues à partir de quelque chose du genre :<br />
<br />
'Adresse de destination -> Conversion en geotadata via l'API de geocoding de Yahoo ou Google [1] -> extraction des bornes les plus proches à partir d'un fichier KML (notamment généré grace aux geodata et au paramètre 'z=' [2]) avec une URL du type :<br />
<br />
<a href="http://maps.google.com/maps?f=q&hl=en&geocode=&q=http:%2F%2Fwww.parisavelo.net%2Fvelib.kml&ie=UTF8&ll=48.844412,2.344379&spn=0.009179,0.015879&z=15&om=1***&output=kml***" title="http://maps.google.com/maps?f=q&hl=en&geocode=&q=http:%2F%2Fwww.parisavelo.net%2Fvelib.kml&ie=UTF8&ll=48.844412,2.344379&spn=0.009179,0.015879&z=15&om=1***&output=kml***" rel="nofollow">maps.google.com/maps?f=q&...</a><br />
<br />
Mais je n'arrive pas à récupérer les data pertinentes; l'output du fichier est vide. :\ Et je n'ai pas trouvé d'autres moyen de parser facilement <a href="http://www.parisavelo.net/velib.kml" title="http://www.parisavelo.net/velib.kml" rel="nofollow">www.parisavelo.net/velib....</a> .<br />
<br />
[1] <a href="http://hublog.hubmed.org/archives/001519.html" title="http://hublog.hubmed.org/archives/001519.html" rel="nofollow">hublog.hubmed.org/archive...</a><br />
[2] <a href="http://mapki.com/wiki/Google_Map_Parameters" title="http://mapki.com/wiki/Google_Map_Parameters" rel="nofollow">mapki.com/wiki/Google_Map...</a></p>Vélib’ et Yahoo! Pipes : vive XML et les services Web ! - Olivier - Code & randourn:md5:2779e36fc8f1379329e499d0c6c3cbe32007-08-25T03:21:23+00:002007-09-16T14:17:44+00:00Olivier - Code & rando<p><strong>@kael</strong></p>
<blockquote><em>Où peut-on récupérer les data Vélib, et notamment les disponibilités en temps réel ? Existe-t-il une API ?</em></blockquote>
<p>Oui ça existe : c'est ce que j'ai utilisé pour construire mes pipes. Voici l'URL : <code>http://www.velib.paris.fr/service/stationdetails/<em><n°station></em></code>. Est-ce que l'API est officielle ? Non, pas que je sache.</p>
<p>D'ailleurs, il te suffisait de regarder le source de mes pipes pour l'obtenir. Oui, il faut un compte Yahoo!. Mais franchement Yahoo! Pipes, ça vaut le détour.</p>
<blockquote><em>En aparté, un logiciel pour les mobiles équipés d'un GPS, comme le N95, pourrait être très utile.</em></blockquote>
<p>Moi, j'ai un Nokia N800, une tablette Internet, avec un GPS Bluetooth et un logiciel de cartographie. Et je me suis créé <a href="http://o.mengue.free.fr/blog/2007/08/02/32-une-carte-des-stations-velib-sur-nokia-n800" rel="nofollow">une base de POI pour afficher les stations Vélib'</a> (voir mon post). Donc c'est en permanence que je sais où sont les stations Vélib' autour de moi. Et c'est bien plus efficace que l'information que l'on obtient sur les bornes : souvent, lorsqu'une station est pleine, toutes celles du quartier le sont aussi et la carte de la borne n'affiche donc aucune station.</p>
<p>Concernant la disponibilité des stations, je n'ai pas de téléphone Bluetooth donc je ne peux obtenir sur ma tablette les informations de disponibilité. À moins de me trouver à coté d'un MacDo (où le wifi est gratuit).<p>
<p>Mais en fait je connais maintenant suffisamment bien mes stations habituelles pour ne pas être gêné par les stations pleines. Par exemple la station située à la sortie du métro Bibliothèque François Mitterand a toujours de la place à l'heure où j'y passe (le soir). Et au pire, il suffit de passer son passe Navigo sur la borne pour obtenir 15 minutes de rab pour aller à une autre station. C'est sûr, faut pas avoir un rendez-vous dans la minute.</p>
<blockquote><em>- et l'application affiche automatiquement les stations les plus proches avec leurs disponibilités (avec une requête automatisée via GPRS/EDGE/3G).</em></blockquote>
<p>Oui, une application toute intégrée ce serait utile. En attendant, tu peux utiliser les pipes Yahoo! sur un téléphone mobile. Voir mon <a href="http://o.mengue.free.fr/blog/2007/08/24/38-pipes-velib-sur-mobile" rel="nofollow">post d'hier soir</a>.</p>Vélib’ et Yahoo! Pipes : vive XML et les services Web ! - kaelurn:md5:8c033edd2c258544b3cd4c17c0a4a89b2007-08-22T03:01:20+00:002007-08-25T01:30:32+00:00kael<p>Merci pour ces hacks.<br />
<br />
Où peut-on récupérer les data Vélib, et notamment les disponibilités en temps réel ? Existe-t-il une API ?<br />
<br />
En aparté, un logiciel pour les mobiles équipés d'un GPS, comme le N95, pourrait être très utile.<br />
<br />
Par exemple, avec le GPS activé, au début du trajet l'utilisateur appuye sur un bouton de tel sorte que :<br />
<br />
- lorsqu'un délai de 25 minutes est écoulé, le téléphone sonne pour le notifier ;<br />
- et l'application affiche automatiquement les stations les plus proches avec leurs disponibilités (avec une requête automatisée via GPRS/EDGE/3G).<br />
<br />
J'ai des idées mais pas les compétences pour coder. :)</p>