Depuis un certain temps j’utilise des lecteurs de flux RSS, j’en ai essayé plusieurs comme liferea (disponible dans les dépots Ubuntu), sage ou brief. Celui qui a eu ma préférence jusqu’à présent c’est brief, il s’agit d’une extension du navigateur Firefox.

Ces lecteurs s’installent en local sur un poste Windows ou Linux et quand on utilise différents postes on est dans l’obligation de gérer des listes de flux pour chacun de ces postes. De plus, quand on a des flux identiques sur plusieurs lecteurs, on ne sait plus lequel a été lu !

Pour corriger cette situation j’ai installé Tiny Tiny RSS qui est un agrégateur fonctionnant sur un serveur web (ApachePHP 4.x ou 5.x + Mysql 4.1 ou 5.0), ainsi je n’ai plus qu’une liste de flux à gérer et je peux y accéder de partout.

Téléchargement et installation

Téléchargement

L’archive de l’outil est à télécharger depuis le site de Tiny Tiny RSS (lien vers la version 1.3.2) puis en extraire son contenu.
En mode commande (c’est plus rapide) :

    cd $HOME/temp
    wget http://tt-rss.org/download/tt-rss-1.3.2.tar.gz
    tar xpfz tt-rss-1.3.2.tar.gz

On obtiendra en sortie un dossier tt-rss-1.3.2 contenant tous les fichiers. Ce dossier est à transférer sur le serveur web dans /var/www pour une machine de type Ubuntu ou /var/www/html pour une Fedora.

Base Mysql

La deuxième étape de l’installation consiste à créer une base mysql pour y enregistrer les flux. Il est possible d’utiliser phpmyadmin pour créer la base ou alors en se connectant sur le serveur web et en utilisant les commandes suivantes :

    mysql -u root -p
    mysql>create database ttrss;
    mysql>use ttrss;
    mysql>source /var/www/tt-rss-3.1.2/schema/ttrss_schema_mysql.sql

Après avoir créé la base mysql, il faut mettre à jour les données de configuration permettant d’accéder à celle-ci.
Il faut commencer pas copier le fichier de configuration de la distribution :

    cp config.php-dist config.php

Il faut ensuite l’éditer pour mettre à jour les informations d’accès à la base. Il faut modifier les lignes 5 à 9 en fonction de votre configuration :

          1 <?php
          2         // Your RDBMS must be configured to accept connections
          3         // via TCP/IP and authentified by password.
          4 
          5         define('DB_TYPE', "mysql"); // or pgsql
          6         define('DB_HOST', "localhost");
          7         define('DB_USER', "fox");
          8         define('DB_NAME', "ttrss");
          9         define('DB_PASS', "XXXXXX");
         10         //define('DB_PORT', '5432'); // when neeeded, PG-only

A partir de ce momment, le site est accessible.

Configuration

Il est possible de modifier certaines configuration, en particulier si l’on veut pouvoir créer des utilisateurs.
Dans le fichier config.php, il faut rechercher la variable SINGLE_USER_MODE et remplacer true par false. Il sera alors possible, depuis l’interface d’administration, de créer plusieurs utilisateurs.

Gérer les flux

Importer une liste de flux

Une fois la configuration effectuée et les comptes créés, il est possible de rajouter des adresses de flux RSS que l’on veut surveiller.

Il est possible de les rajouter un par un. mais, si vous utilisez déja un lecteur de flux, il est intéressant de pouvoir copier la liste des flux de son lecteur actuel dans Tiny Tiny RSS.
Pour cela, il faut exporter sa liste de flux au format OPML et les importer dans Tiny Tiny RSS :

  • l’export de la liste des flux dans brief se fait depuis l’interface des options, dans l’onglet Flux. En bas de la fenêtre, il y a un bouton Exporter qui va générer un fichier OPML dans le dossier choisit
  • dans Tiny Tiny RSS, il faut activer la page des préférences et cliquer sur le bouton parcourir pour sélectionner le fichier OPML puis valider l’opération avec le bouton Import

Mettre à jour les flux

Pour mettre à jour les flux, il faut utiliser l’adresse :

    http://localhost/ttrss/backend.php?op=globalUpdateFeeds&daemon=1

Pour actualiser les flux depuis la console, il faut utiliser la commande :

    /usr/bin/wget --quiet --output-document=/dev/null "http://localhost/ttrss/backend.php?op=globalUpdateFeeds&daemon=1"

Pour actualiser les flux à interval régulier, il suffit donc de copier la ligne précédente dans un script et de l’activer via la crontab :

  • le script
    #!/bin/bash
    # Mise a jour des flux RSS de Tiny Tiny RSS
    /usr/bin/wget --quiet --output-document=/dev/null "http://localhost/ttrss/backend.php?op=globalUpdateFeeds&daemon=1"
  • la crontab (mise à jour toutes les heures)
    # use /bin/bash to run commands, instead of the default /bin/sh
    SHELL=/bin/bash
    # m h  dom mon dow   command
    0 * * * *  $HOME/script/cronttrss.bash >> $HOME/script/crondttrss.log

Quelques liens

Toutes ces informations sont disponibles en Anglais sur le site de Tiny. J’ai également trouvé quelques compléments sur les 2 sites suivants :

Complément du 22 avril 2010

Si comme moi, vous lisez vos flux RSS depuis les locaux d’une entreprise utilisant plusieurs adresses IP pour accéder à Internet (agrégateur de ligne), vous obtenez régulièrement le message d’erreur suivant : Session failed to validate (incorrect IP). Tiny Tiny RSS vérifie l’adresse d’origine de la requète et loraque cette adresse change il rejète la requète.

Pour désactiver ce contrôle, il faut modifier le paramètre SESSION_CHECK_ADDRESS dans le fichier config.php-dist.
A l’origine :

    define('SESSION_CHECK_ADDRESS', true);
    // Bind session to client IP address (recommended)

A changer en :

    define('SESSION_CHECK_ADDRESS', false);