Google Reader a fermé ses portes, le RSS ne va pas bien mais il n’est pas mort. Malgré les critiques plus ou moins virulentes que j’ai pu entendre sur le RSS (technologie “has-been” selon certains, “Twitter c’est la vie” pour d’autres, “faut savoir évoluer”), je suis pourtant d’avis que s’il y a bien une chose utile pour le veilleur c’est la RSS et que si le RSS est supprimé de nombreuses solutions en ligne (Google, Twitter, Facebook, etc) c’est tout simplement car il a justement tous les inconvénients que ces derniers détestent : permettre d’accéder à l’information sans se connecter sur ces plateformes et sans publicité.
Donc le RSS c’est bien. Mais je ne développerai pas plus ce qu’est cette technologie (ce sous-langage plus exactement). Je vais aujourd’hui vous partager un petit tutoriel sur Feed43 qui est un site web gratuit qui vous permet de générer un flux RSS à partir de n’importe quelle page web ou presque si tant est que vous sachiez globalement décrypter le langage HTML (sur ce point je ne peux rien pour vous présentement) et que vous compreniez comment fonctionne Feed43.
C’est parti donc, mais avant toute chose petite dédicace à la personne qui m’a demandé ce billet et qui se reconnaîtra.
Donc avant toute chose il nous faut une page web. Nous allons partir de la page http://base.5facades.com/4DCGI/Newsedha_affich?origine=edha&support=5f&rubrique=&esp=ok. Elle ne dispose pas de flux RSS et représente une source d’actualité intéressante sur la construction.
Ensuite il nous faut lancer Feed43 et éventuellement créer un compte ce qui vous permettra de créer votre premier flux RSS.
1ère étape: on vous demande de préciser l’adresse de départ
Jusque là tout va bien. Vous saisissez donc l’URL ci-dessous et vous cliquez sur reload ce qui permettra à Feeed43 de charger le code de la page.
Nous arrivons ensuite à la partie 2 qui doit définir les règles d’extraction. Nous avons ici deux zones de saisie.
La première intitulée global search pattern field permet de définir un point de début et un point de fin dans la page web dans laquelle vous allez chercher à extraire les items de votre flux RSS. Cela peut être nécessaire par exemple quand au sein d’une même page vous avez deux zones différentes qui proposent des actualités sur des sujets différents dont l’un ne vous intéresse pas. Accessoirement cette partie du paramétrage peut aussi permettre de limiter le bruit à partir du moment où vous pouvez clairement définir votre début et fin de zone d’extraction. Pour ce site là nous n’en aurons pas particulièrement besoin car nous allons chercher à extraire toutes les actualités.
Si nous en avions eu besoin il nous aurait fallu saisir le bout de code HTML de début de zone d’extraction, suivi du code de de fin de la même zone avec un astérisque au milieu (opérateur de troncature standard).
Par exemple nous aurions pu avoir : <div span class=”news_techno”>*</div> Feed43 aurait alors recherché dans le code de la page <div span class=”news_techno”> aurait commencé à sélectionner le code et ce serait arrêté dès qu’il aurait trouvé la première balise div. Toutes les règles d’extraction des étapes suivantes ne se seraient appliqués qu’au bout de code ainsi retenu.
La seconde intitulée “item repeatable search pattern” est celle qui va nous permettre de définir le motif récurrent qui constituera chacun de nos items. ATTENTION, c’est là qu’il faut s’accrocher…
Il faut bien comprendre que nous avons alors besoin de trouver un code qui se répète et qui s’appliquera à chacune des informations que nous voulons extraire. Ici donc au moins un titre et un abstract et si possible d’autres items qui constituent un flux RSS tels qu’une URL et une date par exemple.
Alors voilà ce que cela donne sur notre page :
Maintenant il nous faut regarder le code source correspondant et trouver les marqueurs de début et de fin de chacun des items.
En ouvrant le code source et en recherchant le premier titre de l’actualité l’on va pouvoir déceler à peu près où est situé le premier item. Et là avec le coup d’oeil l’on voit assez clairement le début de chaque item qui est : “<span class=”tirub”>”
Si si… Regardez encore…
Bon… Maintenant on commence l’opération à coeur ouvert. Pour y arriver nous disposons d’une arme magique : l’astérisque AKA *. L’astérisque nous permet d’ignorer une partie de code.
La deuxième arme dont nous disposons est le marquer : {%} qui va nous permettre de dire : ceci est une variable que je veux collecter pour mon item. Le seul impératif est de placer ce {%} entre deux bouts de code HTML en dur (sans astérisque).
Je vous donne la solution que j’ai trouvé donc pour parvenir à mes fins (et il y en a surement d’autres).
<span class=”tirub”>
{*}</span>
{*}
<a href=”{%}”><b>{%}</b></a>
{*}<div class=”tenews2″><a href=”{%}”>{%}</a>
et je vais vous traduire ce que cela signifie pour Feed43.
cherche dans la page <span class=”tirub”> et comsidère cela comme le début du code où nous allons chercher un titre, un abstract et une URL pour chacun des items qui constitueront notre fil RSS.
ensuite continue jusqu’à ce que tu trouve un premier </span> : il est impératif ici de mettre cet *. En effet l’on a ici un texte qui peut changer entre span class tirub et /span. Si l’on ne met pas d’astérique l’on devrait ici mettre un texte qui serait par exemple “nouveau produit” mais qui serait différent pour les autres items et donc Feed43 ne pourrait pas effectuer sa boucle sur tous les items de la page mais uniquement sur les nouveaux produits.
A nouveau l’on doit mettre un * . En effet l’on va également trouver un code qui sera variable pour chacun des items et qu’il faut donc ignorer jusqu’à la balise <a href>
A partir de là nous pouvons commencer notre collecte.
<a href=”{%}”><b>{%}</b></a>
{*}<div class=”tenews2″><a href=”{%}”>{%}</a>
Dans le code ci-dessus nous demandons à Feed43 de collecter une première variable qui va correspondre à l’URL cliquable de l’article (<a href=”{%}”>) puis ensuite le titre de l’article (<b>{%}</b></a>).
Nous devons ensuite utiliser * pour ignorer un ensemble d’éléments. des images par exemple qui sont parfois appelée etc.
La partie fixe du code de chaque item reprend à ” <div><a href=“. Ensuite l’on trouve à nouveau la même URL cliquable que je vais collecter à nouveau en variable (c’est un doublon et l’on pourrait aussi choisir d’utiliser l’astérisque) puis enfin l’abstract qui est cliquable (ce qui explique qu’il soit encadré des balises <a> et </a>).
Bingo. Notre boucle est finie et le logiciel va chercher son nouveau marqueur de départ : <span class=”tirub”> pour continuer le job sur les items 2 à n…
Si vous avez suivi jusque là, c’est bon car le reste est un jeu d’enfant. Sinon… reprenez depuis le début jusqu’à ce que vous compreniez.
Cliquez sur extract et Feed 43 vous montrera combien il a récupéré d’items et quelles variables il a stocké.
Troisième étape : l’on dit à Feed43 quelle variable collectée pour quel champ du RSS.
- Feed Title : nommez le Flux RSS comme vous le souhaitez. C’est le champ titre standard d’un flux RSS. Ici nous pouvons par exemple l’appeler Actualités – 5 Façades.
- Feed Link : Mettez l’adresse de la page que vous avez transformée en RSS. (celle du tout début)
- Feed Description : champ libre. Si vous êtes fainéant remettez le titre du flux.
Maintenant les variables.
- Dans Item Title template nous allons mettre la variable qui correspond au titre de chaque article que nous avons collectés. Il s’agit ici de la variable {2}
- Item link template : il s’agit du lien cliquable qui permettra au lecteur RSS de vous renvoyer vers la version en ligne de l’article en texte intégral. Ici par exemple mettons {1} (on aurait pu aussi mettre {3} car nous avons collecté cette variable en double.
- Item content template: qui correspond au texte de chaque article que nous avons collectés. L’abstract proposé sur la page pour chacun des articles. Il s’agit ici de la variable {4}.
Et voilà. Inutile de toucher la dernière case… Vous avez gagnés et vous disposez désormais d’un super flux RSS inexistant jusqu’à présent. Faites un preview pour vérifier et copiez collez l’URL qui vous est donnée dans “Get Your RSS Feeds”.
Avec Feed43 vous pouvez ainsi créer des fils RSS à partir d’autres sources n’en disposant pas. Bien évidemment cela doit être réservé aux sources prioritaires pour vous car le paramétrage ci-dessus peut prendre un certain temps car il demande d’être adapté pour chacune des sources.
Feed43 peut être intéressant par exemple pour récupérer les rubriques “nouveaux produits” qui disposent rarement de flux RSS dans le B to B, ou bien encore de rubriques “événements” ou bien “publications”.
Ces flux RSS peuvent ensuite être utilisés dans votre lecteur RSS préféré (le mien c’est FeedDemon) , dans votre page d’accueil personnalisable voire même widget de votre ordinateur ou bien encore dans votre logiciel ou plateforme de veille type Digimind, Website Watcher ou autre…
PS : je n’ai pas trouvé mieux comme solution. Il en existe bien qui essaient automatiquement de “reconnaître” à partir de quoi construire un RSS quand vous leur donnez une URL mais cela fonctionne à peu près une fois sur 10… Attention toutefois, Feed43 est une solution gratuite en SaaS … sans doute peu pérenne…
PS 2 : attention dans les bouts de code HTM ci-dessus le premier ” est souvent inversé… Il s’agit d’une erreur de mon CMS quand il traduit ces caractères… si vous faites un copier coller pensez de toute façon à remplacer tous les guillements par des double quotes standards.
Bonjour, je connais et utilise parfois feed43 mais je préfère Yahoo! Pipes. Feed43 m’est utile quand Yahoo! Pipes n’y arrive pas pour x raison. Les Pipes utilisent xPath pour définir les contenus à retenir, c’est moins complexe que Feed43. Ceci étant dit, Feed43 est excellent.
Bonjour Erwan,
Auriez-vous un exemple de ce style fait avec Yahoo Pipes ? Personnellement j’ai énormément de mal avec Yahoo Pipes que je ne trouve pas du tout mais alors pas du tout intuitif… Qu’il s’agisse du nom des modules ou des enchainements… Et xPath a toujours été du chinois pour moi… Même si à l’époque j’avais fait un billet un peu dans le style : http://www.actulligence.com/2009/07/28/en-finir-avec-les-rss-trop-courts/
Par ailleurs je trouve que Pipes est très très bugué et rame souvent énormément… Je n’ai jamais eu de problème de temps de réponse avec Fedd43. Peut-être parce qu’il compte moins d’utilisateur.
Merci pour votre retour sur un exemple Yahoo Pipes qui j’en suis sur profitera à tout le monde.
Merci en tout cas pour votre billet que je me permets de mentionner : http://www.digital-strategy.fr/veille-numerique/tools/yahoo-pipes-presentation qui explique bien ce que l’on peut faire avec Yahoo Pipes.
Frédéric
En partant de votre exemple, voici la version Yahoo! Pipes pour créer un flux RSS : http://pipes.yahoo.com/pipes/pipe.info?_id=9d482db46526cdb956d296d73d0be882
Cela m’a pris quelques minutes.
J’ai juste un souci avec les accents.
Pour bien faire il faudrait en plus récupérer la date sur chaque lien en imbriquant un pipe secondaire sur le lien de chaque item.
Erwan
Merci Erwan pour la brillante démonstration. Donc effectivement facile et rapide si on maîtrise le XPath… Le genre d’exemple certes impressionnant mais personnellement qui me rebute direct. L’ergonomie de Pipes m’a toujours semblé imbuvable et le Xpath encore plus. Pas trop envie d’investir du temps pour apprendre à m’en servir surtout que j’ai bien peur que Yahoo fasse le ménage dans ses projets prochainement.
En tout cas je le garde sous le coude et je me commande directement un bouquin sur le XPath.
Non.
Je cite http://sebsauvage.net/links/?_kBZ6g
“Oui, mais non: Feed43 c’est à sources fermées. En plus il faut se créer un compte et se connecter pour en profiter. Et c’est payant. En version gratuite c’est limité: que 20 items par flux, max 100 ko par page, et les flux ne sont mis à jour que toutes les 6 heures. Donc, ultra-bof.
(via InternetActu.net)”
Je ne comprends pas ce que veut dire “c’est à sources fermées”….
Concernant les autres remarques :
– Nombre de flux illimité
– 20 items par flux effectivement mais cela peut suffire si la page ne crée pas beaucoup d’items fréquemment
– Effectivement pour les comptes gratuits les flux ne sont mis à jour que toutes les 6 heures. Il existe après des plans permettant de mettre un certain nombre de flux en mise à jour horaire
– C’est la page parsée qui doit faire moins de 100 ko de code (sans les images… cela fait quand même donc des pages assez grandes vu qu’il s’agit de simple texte)
Voilà, sinon sur qu’en gratuit ce n’est pas un outil parfait 🙂
Merci en tout cas pour le complément, cela permettra de préciser ces éléments.
A vois si besoin de plus de détails ici : http://feed43.com/upgrade.html
Sources fermées : on n’a pas accès au code source…
Mon Dieu … Toutes ces sociétés qui refusent d’ouvrir leur code 🙂 Quelle horreur !!!!!!!!!!! 😀 Bref, moi je trouve pas si mal que ça. Je trouve le jugement de Seb Sauvage à l’emporte pièces un peu dur pour une solution gratuite qui répond à certains besoin … pour une somme modique 🙂
Bonjour,
Ce tutoriel est très intéressant. Feed43 se rapproche en bien des points de Feedity, que j’utilisais beaucoup auparavant.
Toutefois, un autre outil me semble tout aussi approprié, et moins ardu, car il évite de rentrer dans le code comme le propose Feedity, Feed43, ou encore Yahoo pipes (et les fameux X path qui rebutent bcp de monde…) ce qui peut faire gagner du temps lorsque de nombreux RSS sont à générer. Et lorsque l’on a compris la logique, il est très rapide de générer de nombreux flux à la volée. Vous pourrez retrouver cet outil (également développé par Yahoo) ici :
http://open.dapper.net/
J’ai prévu de réaliser prochainement un tutoriel de cet outil, parce que je me suis rendu compte que peu de veilleurs ne le connaissaient. Même si Yahoo Pipes propose aussi de réaliser ce genre de choses, Open Dapper est à mon sens plus intuitif, plus souple et surtout plus rapide.
Connaissiez-vous l’outil ?
Cordialement,
Bryan
Merci Bryan.
J’avais vu passer cela rapidement mais avec votre rappel il va falloir que je prenne un moment pour me pencher dessus. MErci encore.
Bonjour,
Effectivement, Dapper a l’air bien : fonctionnel et plus intuitif que Yahoo Pipes (que j’utilise pour ma part). Erwan Tanguy (voir commentaires plus haut) vient d’ailleurs d’en faire un petit tuto ici : http://www.digital-strategy.fr/veille-numerique/tools/outil-faire-flux-essayez-dapper
Content de découvrir d’autres solutions car parfois Yahoo Pipes bloque un peu… ou alors c’est peut être moi 🙂
Latino
Bonjour et merci pour ces infos. Je retrouve Open Dapper que j’utilisais avec succès il y a 2 ans, mais qui avait cessé de fonctionner brutalement. Et mes Dapp y sont encore présents. Parfait ! Ils vont reprendre du service. Merci pour cet articles et échanges forts constructifs. Denys.
Je trouve Feed43 particulièrement utile et relativement simple à mettre en œuvre, mais difficile à présenter à des veilleurs débutants. Je l’ai implanté chez plusieurs clients pour extraire des résultats de Google Web. La version payante n’est pas très chère et peu rendre biens des services pour des pages longues et des besoins de réactivité élevés. Une fois toutes les 6 heures, cela me suffit dans la plupart des cas. Reste un petit problème pour des utilisateurs soucieux de confidentialité : le service est russe.
Open Dapper est pour moi l’outil le plus simple a présenter en cours et le plus rapide à mettre en œuvre. Il m’arrive en effet de passer 30 minutes pour trouver la bonne formule dans Feed43… mais l’expérience aide à trouver des raccourcis. Notamment j’utilise énormément le {*} pour éviter les variations de code entre les éléments que j’entends “aspirer” avec les {%}. Cela peut donner quelque chose comme =”{%}”{*}”{%}” pour récupérer l’URL et le titre d’un item.
Pour le XPath, j’avoue avoir encore quelques problèmes à intégrer une approche généraliste.
Je commence également à regarder du côté d’import.io, un nouveau service bien prometteur !