Archive

Posts Tagged ‘RSS’

Tiny Tiny RSS pour vous affranchir de Google Reader

19 janvier 2011 2 commentaires

Dans la lignée de mon dernier article (plus de 3 mois quand même que je l’ai écris, ça commence à dater), je vais de nouveau vous parler de flux RSS. D’agrégateur de flux RSS plus particulièrement. J’utilise personnellement Google Reader depuis quelques temps déjà, depuis le 30 septembre 2009 pour être exact (non, je n’ai pas retenu la date, c’est Google Reader qui me le dit). Cependant, niveau vie privée, Google il y a mieux tout de même. Je vais donc vous présenter un petit projet open-source pour avoir votre propre service online d’agrégation, j’ai nommé Tiny Tiny RSS.

Alors certes, vous pourriez utiliser un agrégateur « desktop », soit une simple application installée sur votre poste, mais avec ce genre de logiciel, vous ne pouvez pas gérer facilement la synchronisation entre différents postes, vous ne pouvez consultez vos flux que chez vous… Ce qui est tout de même une contrainte forte quand de plus en plus de monde possède un appareil mobile, que ce soit un smartphone, une tablette ou tout simplement un pc portable en complément de leur pc fixe. Il me semble donc quasi obligatoire de posséder un agrégateur que vous puissiez consulter de n’importe où, d’où mon utilisation de Google Reader.

Donc le gros avantage de Tiny Tiny RSS est d’être une application installée sur un serveur, et donc consultable depuis n’importe où. C’est également (malheureusement) son plus gros défaut, c’est à dire qu’il vous faudra avoir votre serveur web pour l’utiliser, raison pour laquelle je ne l’utilise pas encore, cependant l’outil me paraît fort intéressant.

J’ai voulu tester l’outil, je l’ai donc installé sur un VM Debian (sous VMWare Workstation). J’ai tout simplement suivi le tutoriel de Saint Carre, très clair et très précis.
Tout d’abord, de quoi avez-vous besoin ?

  • D’un serveur Web. J’utilise apache2, plus par habitude qu’autre chose, et parce qu’il fonctionne très bien pour ce que je veux faire, sans aucune configuration particulière, sachant que je n’ai jamais installé de serveur ailleurs que sur une VM.
  • D’une base de données. Celle-ci va servir à stocker vos flux et les articles lus/non lus.  Tiny Tiny RSS fonctionne avec PostGreSQL ou MySQL. Ils recommandent l’utilisation de PostGreSQL pour des raisons de rapidité, cependant je suis plus familier de l’utilisation de MySQL, et de plus il était déjà installé sur ma VM (et pour mes tests je n’avais pas particulièrement besoin d’une rapidité de folie).
  • De PHPTiny Tiny RSS est basé sur PHP, il vous faudra donc l’installer sur votre serveur. Pour un bon fonctionnement, PHP5 est requis. L’application devrait fonctionner sous PHP4, avec quelques restrictions.

Une fois ces éléments installés (un très bon tutoriel peut être trouvé ici) nous allons pouvoir commencer l’installation du logiciel en lui même. Nous allons partir du principe que vous êtes sur un serveur, donc pas d’interface graphique.

La première étape est bien évidemment de récupérer la dernière version de  Tiny Tiny RSS, et de la décompresser.

wget http://tt-rss.org/download/tt-rss-1.5.0.tar.gz

tar xzfp tt-rss-1.5.0.tar.gz

Il va ensuite falloir déplacer le dossier afin qu’il puisse être lu par apache, et donc être accessible en ligne.

mv tt-rss-1.5.0 /var/www/tt-rss

Bien évidemment, j’en profite pour changer le nom, histoire de supprimer le numéro de version.

Il va ensuite être nécessaire de configurer la base de données, MySQL dans notre cas. Nous allons donc créer une base qui contiendra  nos différents flux, ainsi qu’un utilisateur pour se connecter à cette base (ayant des droits plus restreints que l’utilisateur root).

mysql -u root -p     //permet de se connecter à mysql avec le compte root, le mot de passe demandé sera celui fourni lors de l’installation de mysql-server

create database ttrss;     // crée la base de donnée proprement dite

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON ttrss.* TO ‘ttrssuser’@’localhost’ IDENTIFIED BY ‘password’;     // crée un utilisateur (ttrssuser) avec pour mot de passe password possédant les droits nécessaires sur la base ttrss

use ttrss;      // se place dans la base nouvellement créée

source /var/www/tt-rss/schema/ttrss_schema_mysql.sql      // crée les différentes tables de la base nécessaires au bon fonctionnement de Tiny Tiny RSS

Après avoir fait cette étape, il va falloir modifier le fichier PHP qui effectue la connection de l’application avec la base de données, et le renommer par la même occasion.

cd /var/www/tt-rss

mv config.php-dist config.php

Les modifications à apporter se trouvent au tout début du fichier :

define(‘DB_USER’, « ttrssuser »);
define(‘DB_NAME’, « ttrss »);
define(‘DB_PASS’, « password »);

Ne reste plus qu’à permettre aux flux à être mis à jour. Pour cela nous allons lancer une commande régulièrement . Ainsi dans le fichier /etc/crontab nous allons rajouter la ligne :

0 * * * * $HOME/script/ttrss.sh >> $HOME/script/ttrss.log

qui permet un lancement toutes les heures du script ttrss.sh (un lancement plus régulier peut être préféré). Dans ce script nous allons mettre :

#!/bin/bash

wget –quiet –output-document=/dev/null « http:///tt-rss/backend.php?op=globalUpdateFeeds&daemon=1 »

Ne pas oublier de rendre ce script exécutable, et le tour est joué.

Et voila Tiny Tiny RSS devrait être fonctionnel. Cependant, vous remarquerez qu’une fois rentrée l’URL dans votre navigateur (http:///tt-rss) vous serez directement dirigé vers la page d’affichage des flux, sans aucun besoin de fournir de quelconques identifiants/mots de passe. Autant cette fonctionnalité est pratique en cas d’utilisation purement locale, autant ca peut être fort dérangeant si vous envisagez de mettre le service en ligne (oui car je rappelle que l’intérêt est tout de même que vous puissiez acceder à vos flux de partout). Nous allons donc rectifier ca pour que l’on doive s’identifier avant d’accèder à ses flux, ce qui permet également de rajouter des utilisateurs, si vous voulez faire profiter du service à vos amis ou votre famille (ou autre si vous êtes généreux et avez un serveur qui supportera la charge).

C’est toujours dans le fichier config.php qu’il va falloir faire la modification (ligne 31 du fichier normalement).

define(‘SINGLE_USER_MODE’, false);

Par défaut, cette valeur est à true, il suffit de la passer à false, et vous aurez cette magnifique fenêtre demandant de vous identifier.

La page de login

Le compte créé par défaut est admin, avec le mot de passe password. Pour des raisons évidentes de sécurité nous allons modifier le mot de passe immédiatement et créer un nouvel utilisateur.

Donc une fois connecté avec ce compte, aller dans la partie « Configuration » et à l’onglet « Utilisateurs ». Sélectionner l’utilisateur « admin » et modifier son mot de passe. A noter qu’une fois votre mot de passe modifié, vous serez automatiquement déloggué, il vous faudra revenir à l’accueil pour vous identifier.

Vous pouvez également créer un nouvel utilisateur dans cette partie « Configuration ». En ce qui concerne la gestion des utilisateurs, vous pouvez soit les créer/supprimer vous même, ou vous pouvez autoriser les utilisateurs à se créer leur propre compte (une petite modification dans le config.php et le tour est joué), la première méthode étant à privilégier si vous ne souhaitez pas que tout le monde puisse s’inscrire, bien qu’il soit possible de limiter le nombre maximum d’utilisateurs.

De nombreux éléments sont modifiables via ce fichier, les lister ici serait trop long,  mais vous pouvez par exemple changer le nombre de flux updatés simultanément (10 par défaut, ce qui est très peu et nécessite de nombreuses mises à jour pour que tous mes flux soit gérés, il est donc recommandé de l’augmenter).

Ensuite, parlons de l’utilisation en elle même. Pour le test, je vais utiliser le fichier opml de mes flux, soit 414 flux. L’import se fait sans aucun problème, si vous utilisez des catégories, l’option permettant de les utiliser est décochée par défaut, donc pensez bien à l’activer (toujours dans les préférences, trouvable très facilement). Après mise à jour des flux, vous vous retrouverez avec une interface qui ressemble à ca :

L'interface du logiciel

L’interface est donc celle d’un agrégateur standard, avec 3 panneaux distincts, à gauche la liste des flux, en haut la liste des articles, et en bas l’article en lui-même. Les habitués de Google Reader ne seront pas surpris.

Un outil intéressant est la détection des tags mis sur les articles. Ainsi il vous est possible d’utiliser un nuage de tags qui permet de trier vos articles. Très pratique quand vous avez beaucoup d’articles non lus et pas le temps de tout lire, ou quand vous voulez retrouver un article. Il est également possible d’ajouter vos propres tags aux articles.

Autre fonctionnalité intéressante, qui manque beaucoup à Google Reader, la gestion des filtres et des étiquettes. Ce sont surtout les filtres qui sont intéressants puisqu’il permettent de réunir automatiquement tous les articles parlants d’un sujet précis. Google Reader a remplacé ça par la possibilité de faire des recherches sur des flux, moins pratique à mon sens si on a plusieurs centres d’intérêts différents, on est obligé de retaper ses recherches à chaque fois.

A noter également que de nombreux raccourcis claviers sont disponibles, pour passer d’un flux à un autre, ou d’un article à un autre. La prise en main est assez rapide, seul point négatif, le raccourci pour scroller à l’intérieur de l’article est shift + n (ou p), ce qui n’est pas forcément très pratique, mais comme je scrolle à la « molette » du touchpad je ne me sers pas de ces raccourcis.

En conclusion,  Tiny Tiny RSS est une alternative très satisfaisante à Google Reader, dont l’un des seuls points négatifs est la nécessité de posséder un serveur. Il s’agit cependant de la meilleure alternative pour s’assurer de la confidentialité des flux que vous parcourez, de plus vous pouvez facilement gérer plusieurs utilisateurs sur le même serveur, la charge réseau n’étant pas forcément très importante (non mesurée cependant). L’autre gros avantage c’est la paramétrabilité qui est assez grande, un nombre d’options assez conséquente, et comme il s’agit d’un projet open source, s’il vous manque une fonctionnalité, vous pouvez toujours l’ajouter (si vous avez le temps et les connaissances nécessaires, cela va sans dire). Un outil très sympathique donc, que je m’empresserais d’installer dès que j’aurais la possibilité d’avoir un serveur.

 

PS : le fichier opml de mes flux a été mise à jour avec pas mal de nouveaux flux et retriés pour être mieux organisés

Publicités
Catégories :Test, Tutoriel Étiquettes : , ,

Créer des flux RSS grâce à Feed43

13 octobre 2010 1 commentaire

Récemment je me suis vu confronté à un nouveau problème : je cherchais des tests de boitiers PC, je vais donc sur le site revioo.com, et je vais donc voir l’actualité du monde des boitiers. Quelle ne fut pas ma stupeur (on croirait presque qu’il y a de l’action la…) de me rendre compte qu’il n’y avait pas de flux RSS spécifique à cette catégorie (bon c’est généralisable à toutes les catégories en fait, pas de racisme envers les boitiers).

J’ai donc cherché un moyen de créer un flux RSS à partir d’une page web, et voici ce que j’ai trouvé : Feed43.

Comme il n’est pas forcément très simple d’utilisation pour tout le monde, je me propose de vous faire un petit tutorial à l’aide de mon exmple précis, qui ne fonctionnera donc pas pour tout le monde, mais qui donne tout de même une idée sur la façon de faire.

Donc après avoir accepté les « terms of service » (que je n’ai pas lu, honte à moi), il vous invite cordialement (enfin aussi cordialement qu’une textbox puisse l’être) de lui fournir l’URL et l’encodage de la page.

Le code source de la page

Un clic sur le bouton « Reload » permettra l’affichage du code source de la page. C’est sur ce code source que se basera le plus gros du travail, en effet il est nécessaire de spécifier quels sont les éléments de la page qui sont intéressants et seront utilisés dans le flux RSS, typiquement le titre de la news, son URL (of course) et le résumé de la description. Info sommes toutes relativement basiques, si vous voulez l’article complet dans le flux ce n’est pas la solution qu’il vous faut, mais avouons-le pour des tests de boitiers ce n’est pas vraiment pertinent, donc je m’en contenterais.

Le choix des règles à utiliser

Donc c’est maintenant que les choses se compliquent un peu (bon pas trop quand même). Un minimum de connaissances en HTML seront nécessaires pour cette étape.

La première zone de texte permet de définir quelle sera la zone qui sera traitée par le second filtre. Il faudra donc repérer dans le code source où sont les éléments importants. Si cette zone n’est pas définie, la recherche se fera sur toute la page. La seconde quant à elle permet de définir les différents éléments constituant la news en elle même. La chaine {%} permet de définir un élément qui sera traité, {*} un élément qui sera ignoré.

Dans mon cas, voici le bout de code intéressant :

<ul class=“title_newshome”>
<li><h1><a href=“%lien_vers_la_news%” title=“%titre_de_la_news%” >
%titre_de_la_news%</a></h1>
<p><span>%date_de_la_news%</span> | %description_de_la_news%</p></li>
<li><a href=“http://www.revioo.com/news/” title=“Lire la suite de l’actualité informatique et multimédia”>[ Suite des news … ]</a></li>
</ul>

Pour simplifier, je définis ma zone d’étude par :

<ul class=“title_newshome”>{%}</ul>

(en vérifiant bien évidemment à l’avance que la zone voulue est la seule zone de ce type, sinon on devra être plus restrictif)

Les news en elles-même seront définies comme suit :

<h1><a href= »{%} » title= »{%} » >
{*}</a></h1>{*}<p><span>{%}</span> | {%}</p>

Un petit clic sur le bouton « Extract » permet de vérifier que les informations retenues sont effectivement celles que l’on souhaitaient.

Visualisation des éléments constituants le flux

On voit alors que les différents éléments sont repérés chacun par un numéro qui sera utilisé dans la dernière étape, la création du flux en lui-même. Il faut en effet lui spécifier quel élément sera utilisé comme titre, lien…

Définition du flux

Il est donc possible de vraiment parsonnaliser son flux, ce que je n’ai pas souhaité faire, préférant m’en tenir au plus simple sans aucune fioriture.

Encore une fois un bouton de prévisualisation est présent, pour vérifier qu’on obtient bien ce qu’on veut. Une URL est alors fournie pour ajouter ce flux à son lecteur préféré, ainsi qu’une URL permettant de modifier le flux, ce qui permet de le mettre à jour en cas de changement du site rssisé (ouh qu’il est laid ce néologisme) ou alors si à l’usage vous vous appercevez que quelques améliorations sont à apporter.

Finalement pour peu qu’on ait un minimum de connaissances en HTML, cette solution est assez facile à utiliser, et elle présente le gros avantage d’être extrèmement puissante, on peut vraiment traiter à peu près n’importe quel site. La plus grande difficulté étant parfois de « parser » le site, si celui-ci a été codé de manière… on va dire peu inuitive. Il est même possible que je m’en serve pour certains site auxquels je suis abonné et dont le flux ne me convient pas (article pas complet, pas d’affichage de l’image).

Catégories :astuces, Tutoriel Étiquettes :

Mes Flux Rss

Comme je suis assez partageur dans l’âme, et aussi que j’aime bien enrichir mes flux rss avec tous les merveilleux sites qu’on peut me faire découvrir, vous pourrez trouver la liste des miens ici. Si vous en avez des intéressants à me faire partager, je suis tout à fait preneur.

Vous pourrez remarquer qu’il y en a de tous les styles, du plus ou moins sérieux, du plus ou moins courant, et du plus ou moins mis à jour. D’ailleurs sur ce point j’aime beaucoup le système de statistiques de Google Reader qui permet de voir facilement ceux qui ne sont plus mis à jour, histoire de les supprimer de la liste.

Un truc qui me déçoit cependant avec Google Reader est leur fonction de suggestion, les suggestions sont plutôt pertinentes, d’ailleurs quelques uns de mes flux proviennent de là, cependant même après avoir refusé certaines propositions, celles-ci réapparaissent un coup de temps en temps, ce qui est parfois assez agacant, mais bon ce problème n’est qu’anecdotique.

Catégories :about me Étiquettes :