Les opérateurs de Yahoo! Pipes sont les modules de transformations des contenus par excellence. Certains sont assez simples à utiliser, d'autres plus complexes mais peuvent s'avérer très efficace.
Operators
Count
Ce module permet de compter le nombre d’items dans un flux.
Rename
Ce module permet de copier ou de renommer des champs dans un item. Très utile pour traiter des contenus sans altérer l'original.
Create RSS
Ce module est assez proche de RSS Item Builder mais ne nécessite pas l’utilisation d’un Loop pour fonctionner avec souplesse. Vous allez pouvoir améliorer les placements des données (des contenus d’un flux RSS mal formé par exemple) dans des champs reconnus.
Regex
Ce module est très puissant. Il permet de reformer les contenus à partir de formule, de les modifier en les réduisant ou en les augmentant. Il peut mémoriser temporairement des données.
Ce module utilise les expressions régulières pour la manipulation.
Les expressions régulières sous Yahoo! Pipes demandent un peu de pratique. « [\d\D]* » indique un contenu a ne pas prendre en compte – il précède ou suit les contenu recherchés. « (.*) » indique un contenu à retenir. Il est possible d’en retenir plusieurs qui pourront se faire appeler ensuite $1, $2, etc. Parfois « (.*) » ne permet pas de récupérer les contenus en raison de saut de ligne par exemple. Il est possible d’utiliser alors « ([^>]*) », de même pour les liens avec « ([^"]*) ».
Si vous indiquez ^http://(.*), la valeur $1 sera égale à une url sans http://.
Pas simple à utiliser, mais impressionnant quand ça marche !
En complément de Xpath Fetch Page, le résultat sera définit en fonction de sa place dans l’item (${td.0.span.0.a.href} par exemple pour aller chercher un lien dans un élément précis).
Voir aussi :
- http://bibliotheques.wordpress.com/2009/05/13/yahoo-pipes-tutoriel-6-expressions-regulieres/
- http://fr.wikipedia.org/wiki/Expression_rationnelle
- http://www.siteduzero.com/informatique/tutoriels/concevez-votre-site-web-avec-php-et-mysql/les-expressions-regulieres-partie-1-2
Tail et Truncate
Ces deux modules servent à ne sélectionner qu’une partie des résultats d’un flux ou d’une addition de flux. Tail prend le nombre indiqué en partant du dernier et Truncate à partir du premier.
Split et Union
Ces deux modules permettent de séparer (Split) un flux pour en faire différentes choses ensuite ou de réunir des flux ensemble (Union).
Sub-element
Ce module est utilisé lorsqu’une seule donnée est à garder. Si on choisit « item.title », les résultats n’afficheront plus dans chaque item que le titre dans un élément « content ».
Sort
Ce module permet de changer l’ordre des items en fonction de leur date par exemple. Deux choix sont possibles : ascending (du plus ancien au plus récent) et descending (inverse).
Filter
Ce module est très utilisé puisqu’il permet de sélectionner des contenus à garder ou à exclure.
Son utilisation n’est pas très complexe mais il peut arriver que ça ne fonctionne pas comme prévu.
Options :
- Permit/Block : vous choisissez de bloquer ou de permettre
- All/Any : Toutes les conditions doivent être présentes (très restrictif) ou seulement une des règles
- Contains/Does not contain/Matches regex/is greater than/is/is less than/is after/is before : définit la règle d’un contenu pour un contenant. Matches regex permet d’utiliser des expressions régulières.
Loop
Ce module est utilisé pour générer à partir d’un flux de données une boucle d’effets. Pratiquement tous les modules peuvent être utilisé dans un loop. Il est même possible, et c’est là-aussi qu’il est puissant, de récupérer un autre pipe avec par exemple des inputs et boucler sur son montage avant de continuer le pipe.
Location Extractor
Ce module est utilisé lorsque des données de géolocalisation sont présentes dans les flux. Il les organise alors dans un élément y:location où vous retrouverez les valeurs de latitude, de longitude… Les données de localisation peuvent se trouver dans un fichier CSV par exemple et vous avez besoin de les exporter vers une carte.
Reverse
Ce module d’inverser l’ordre des items, moins précis que Sort puisque cela se fait à la voler sans référent autre que l’ordre au départ.
Unique
Ce module permet d’enlever des doublons. Il est possible de choisir l’élément de référence qui peut être donc un lien, un titre ou une description. Ce module est limité au fait qu’un titre légèrement différent ne sera pas pris en compte. Pour les liens, le problème peut venir des réductions d’URL qui cachent l’URL originale.
Web service
Ce module permet d’envoyer des données en JSON d’un serveur externe et de l’insérer dans un flux. Il est indispensable de vérifier que le serveur accepte de recevoir des données via HTTP POST. (Je n’ai pas eu l'occasion d'utiliser ce module pour l'instant.)
[…] Les opérateurs de Yahoo! Pipes sont les modules de transformations des contenus par excellence. Certains sont assez simples à utiliser, d’autres plus complexes mais peuvent s’avérer très efficace. […]