Olivier Mengué – Code & rando

Aller au contenu | Aller au menu | Aller à la recherche

Tag - Yahoo Pipes!

Fil des billets - Fil des commentaires

vendredi 24 août 2007

Pipes Vélib’ sur mobile

Suite à mon billet sur Vélib’ et Yahoo! Pipes, j'ai testé un pipe Yahoo! dans le navigateur de mon téléphone mobile (un Nokia 3100, plutôt bas de gamme de Nokia, mais que j'exploite bien plus que l'utilisateur lambda). Ça fonctionne dans Opera Mini, même si ce n'est pas génial. Chez Yahoo! ils n'ont pas encore pensé à adapter le format.

J'en profite pour faire la pub pour Opera Mini, le navigateur que j'utilise. Il est gratuit et est disponible pour la plupart des téléphones disposant d'une machine virtuelle Java. Et malgré la faible capacité mémoire de mon téléphone, il fonctionne très bien (à part quelques erreurs "Mémoire insuffisante") pour lire des actualités. Et il sait même lire les flux RSS.

Pour faciliter la saisie de l'URL du pipe, j'ai utilisé tinyurl.com pour créer une URL courte : http://tinyurl.com/2o26e6.

Et pour avoir vos directement stations favorites (plutôt que le formulaire de saisie) vous pouvez créer vos propres URL courtes. Ainsi, pour obtenir les informations sur les stations 5026, 5027, 13001 et 13005 j'ai mis dans mes favoris l'URL courte http://tinyurl.com/3dmx5b pointant vers http://pipes.yahoo.com/pipes/pipe.run?_id=YGAJFE5L3BGsu_WZtiI0fw&_render=rss&station1=5026&station2=5027&station3=13001&station4=13005.

Les pipes peuvent aussi être reçu au format RSS en ajoutant "&_render=rss" à l'URL. Opera Mini sait aussi lire les flux RSS. Mais malheureusement, tinyurl.com ne renvoie pas le type MIME correspondant au document original et cela perturbe le navigateur. Donc pas de tinyurl pour les RSS.

mercredi 15 août 2007

Vélib’ et Yahoo! Pipes : vive XML et les services Web !

Le site Vélib’ utilise des services web pour afficher les informations sur les stations :

  • la liste statique des stations : numéro, nom, adresse, latitude, longitude ;
  • les informations dynamiques sur une station : vélos disponibles, emplacements libres, impression de tickets.

Voilà donc une occasion d'expérimenter Yahoo! Pipes, l'application web de développement et d'hébergement de scripts de traitement de données du web.

J'ai réalisé ces quelques « pipes » utilisant les services web Vélib’ :

J'ai voulu créer un pipe recherchant toutes les stations autour d'une adresse donnée. Récupérer une adresse est facile avec le tuyau Location Builder. Mais j'ai rencontré un obstacle insurmontable lorsque j'ai voulu comparer les coordonnées latitude/longitude obtenues avec celles des stations : il impossible de manipuler des nombres flottants et même de convertir du texte en nombre.

Bilan de cette utilisation de Yahoo! Pipes dans Firefox globalement positif :

  • Le concept est génial : c'est la programmation fonctionnelle appliquée aux données structurées du web !
  • L'interface d'enchaînement des tuyaux est très intuitive. Le drag'n drop est parfait : on oublie que l'on est dans une appli web et on est vraiment dans un outil de développement.
  • Le debogueur est génial ! On visualise facilement le résultat de chaque étape de la plomberie.
  • C'est bien plus facile à développer et déboguer que XSLT !

Néanmoins l'étiquette « beta » reste de rigueur :

  • l'API, c.à.d. la liste des tuyaux disponibles, n'est pas très intuitive : je n'ai pas compris la logique du classement
  • la documentation des tuyaux est inexistante : Yahoo! ne propose qu'un exemple comme forme de documentation.
  • la documentation de l'affichage de la sortie des tuyaux est aussi inexistante : les éléments title ou y:location.lat/y:location/lon sont particuliers dans l'affichage final, mais il n'existe nulle part de liste complète de ces éléments.
  • l'API est plutôt incomplète : j'aimerais pouvoir traiter des nombres flottants tels que des coordonnées (latitude, longitude)
  • les regex soit-disant « Perl-like » ne le sont pas. Par exemple \L fonctionne pour mettre en minuscules, mais pas \E. Et comme rien n'est documenté...
  • les transformations de types sont laborieuses : le concept d'« item » est nouveau par rapport à d'autres langages de programmation, mais n'est expliqué nulle part. C'est un Item builder qu'il faut utiliser pour convertir du texte en item, mais il est rangé dans la catégorie des Sources. La réorganisation de l'arbre d'un item se fait en utilisant un tuyau Rename. Et il est impossible de convertir du texte en nombre...