• Accueil
  • Blog
  • Tiny Tiny RSS pour remplacer Google Reader

Tiny Tiny RSS pour remplacer Google Reader

Tiny Tiny RSS pour remplacer Google Reader

tinytrss

Deux semaines que Google a annoncé son nettoyage de printemps comprenant la fermeture (au 1er juillet) de son agrégateur de flux RSS : Google Reader. Service certainement assez peu utilisé par le grand public mais néanmoins très pratique pour faire de la veille dans les domaines qui nous intéressent : un agrégateur quoi ! A partir de là de nombreux blogs se sont empressés de faire des billets du type « 629 alternatives pour survivre à la disparition de Google Reader ».

A mon avis les meilleures alternatives apparaitront dans les semaines/mois qui arrivent : soit par l’arrivée de nouveaux services/logiciels, soit par la mise à jour de certains déjà existants mais qui commencent à accuser le poids des non-mises-à-jour. Pour l’heure, The Old Reader me semble être une alternative intéressante qui accepte l’importation du fichier OPML délivré par Google Takeout.

Pour ma part, j’ai décidé d’opter pour un agrégateur web (PHP/Ajax) open-source et hébergé par mes soins : Tiny Tiny RSS (tt-rss pour les intimes).

« Hébergé par mes soins » pour le côté rebelle-mortadelle depuis que j’ai lu le bouquin de Julian Assange, Jacob Appelbaum, Andy Müller-Maguhn et Jeremie Zimmermann : « Menace sur nos libertés » (iTunes & Kindle).

tiny-tiny-rss

Donc, comme vous pouvez le voir sur ma capture d’écran, c’est plutôt pas mal ! La consultation se fait à partir d’un navigateur web et l’hébergement ne requiert rien de bien particulier : serveur web avec le sulfureux couple PHP/MySQL ou PHP/PostgreSQL (extension PHP iconv nécessaire). A partir de là, vous aurez droit à toute une palanquée de fonctionnalités dont l’import/export OPML, la détection et le filtrage des doublons.

tt-rss

Y’a de l’ajax, on se sent à la maison, un peu usine à gaz quand même, ça foisonne de réglages dans tous les sens : AU TOP ! Nativement il n’y a pas toutes les kikoo-options de partages et c’est tant mieux, cependant les plugins contenteront les adeptes du phénomène !

Le plus délicat reste l’installation qui est assez rustre : copier/coller les requêtes SQL depuis un fichier texte, les exécuter, mettre les bonnes permissions (chmod 777), renommer le fichier de conf, renseigner les valeurs et modifier quelques variables. Rien de totalement inaccessible mais je conseille de bien lire/vérifier le fichier de configuration dans son intégralité. Il y a des petits trucs fourbes comme le chemin vers l’exécutable php par exemple ! Ceci étant dit, je vous laisse mon fichier de configuration qui sera ajusté au besoin…

// *******************************************
// *** Database configuration (important!) ***
// *******************************************

define('DB_TYPE', "mysql"); // or mysql
define('DB_HOST', "XXX.XXX.XXX.XXX");
define('DB_USER', "XXX");
define('DB_NAME', "XXX");
define('DB_PASS', "XXX");
//define('DB_PORT', '5432'); // when neeeded, PG-only

define('MYSQL_CHARSET', 'UTF8');
// Connection charset for MySQL. If you have a legacy database and/or experience
// garbage unicode characters with this option, try setting it to a blank string.

// ***********************************
// *** Basic settings (important!) ***
// ***********************************

define('SELF_URL_PATH', 'http://rss.paul.ms');
// Full URL of your tt-rss installation. This should be set to the
// location of tt-rss directory, e.g. http://yourserver/tt-rss/
// You need to set this option correctly otherwise several features
// including PUSH, bookmarklets and browser integration will not work properly.

define('SINGLE_USER_MODE', false);
// Operate in single user mode, disables all functionality related to
// multiple users.

define('SIMPLE_UPDATE_MODE', true);
// Enables fallback update mode where tt-rss tries to update feeds in
// background while tt-rss is open in your browser.
// If you don't have a lot of feeds and don't want to or can't run
// background processes while not running tt-rss, this method is generally
// viable to keep your feeds up to date.
// Still, there are more robust (and recommended) updating methods
// available, you can read about them here: http://tt-rss.org/wiki/UpdatingFeeds

// *****************************
// *** Files and directories ***
// *****************************

define('PHP_EXECUTABLE', '/usr/local/bin/php');
// Path to PHP executable, used for various command-line tt-rss programs

define('LOCK_DIRECTORY', 'lock');
// Directory for lockfiles, must be writable to the user you run
// daemon process or cronjobs under.

define('CACHE_DIR', 'cache');
// Local cache directory for RSS feed content.

define('ICONS_DIR', "feed-icons");
define('ICONS_URL', "feed-icons");
// Local and URL path to the directory, where feed favicons are stored.
// Unless you really know what you're doing, please keep those relative
// to tt-rss main directory.

// **********************
// *** Authentication ***
// **********************

// Please see PLUGINS below to configure various authentication modules.

define('AUTH_AUTO_CREATE', true);
// Allow authentication modules to auto-create users in tt-rss internal
// database when authenticated successfully.

define('AUTH_AUTO_LOGIN', true);
// Automatically login user on remote or other kind of externally supplied
// authentication, otherwise redirect to login form as normal.
// If set to true, users won't be able to set application language
// and settings profile.

// *********************
// *** Feed settings ***
// *********************

define('FORCE_ARTICLE_PURGE', 0);
// When this option is not 0, users ability to control feed purging
// intervals is disabled and all articles (which are not starred)
// older than this amount of days are purged.

// *** PubSubHubbub settings ***

define('PUBSUBHUBBUB_HUB', '');
// URL to a PubSubHubbub-compatible hub server. If defined, "Published
// articles" generated feed would automatically become PUSH-enabled.

define('PUBSUBHUBBUB_ENABLED', false);
// Enable client PubSubHubbub support in tt-rss. When disabled, tt-rss
// won't try to subscribe to PUSH feed updates.

// *********************
// *** Sphinx search ***
// *********************

define('SPHINX_ENABLED', false);
// Enable fulltext search using Sphinx (http://www.sphinxsearch.com)
// Please see http://tt-rss.org/wiki/SphinxSearch for more information.

define('SPHINX_INDEX', 'ttrss');
// Index name in Sphinx configuration. You can specify multiple indexes
// as a comma-separated string.

// ***********************************
// *** Self-registrations by users ***
// ***********************************

define('ENABLE_REGISTRATION', false);
// Allow users to register themselves. Please be vary that allowing
// random people to access your tt-rss installation is a security risk
// and potentially might lead to data loss or server exploit. Disabled
// by default.

define('REG_NOTIFY_ADDRESS', [email protected]');
// Email address to send new user notifications to.

define('REG_MAX_USERS', 10);
// Maximum amount of users which will be allowed to register on this
// system. 0 - no limit.

// **********************************
// *** Cookies and login sessions ***
// **********************************

define('SESSION_COOKIE_LIFETIME', 86400*30);
// Default lifetime of a session (e.g. login) cookie. In seconds,
// 0 means cookie will be deleted when browser closes.
// Setting this to zero will affect several user preferences
// like widescreen mode not saving.

define('SESSION_EXPIRE_TIME', 86400*30);
// Hard expiration limit for sessions. Should be
// greater or equal to SESSION_COOKIE_LIFETIME

define('SESSION_CHECK_ADDRESS', 1);
// Check client IP address when validating session:
// 0 - disable checking
// 1 - check first 3 octets of an address (recommended)
// 2 - check first 2 octets of an address
// 3 - check entire address

// *********************************
// *** Email and digest settings ***
// *********************************

define('SMTP_FROM_NAME', 'Tiny Tiny RSS');
define('SMTP_FROM_ADDRESS', [email protected]');
// Name, address and subject for sending outgoing mail. This applies
// to password reset notifications, digest emails and any other mail.

define('DIGEST_SUBJECT', '[tt-rss] New headlines for last 24 hours');
// Subject line for email digests

define('SMTP_HOST', '');
// SMTP Host to send outgoing mail. Blank - use system MTA.

define('SMTP_PORT','');
// SMTP port to sent outgoing mail. Default is 25.

define('SMTP_LOGIN', '');
define('SMTP_PASSWORD', '');
// These two options enable SMTP authentication when sending
// outgoing mail. Only used with SMTP_HOST

// ***************************************
// *** Other settings (less important) ***
// ***************************************

define('CHECK_FOR_NEW_VERSION', true);
// Check for new versions of tt-rss automatically.

define('ENABLE_GZIP_OUTPUT', false);
// Selectively gzip output to improve wire performance. This requires
// PHP Zlib extension on the server.
// Enabling this can break tt-rss in several httpd/php configurations,
// if you experience weird errors and tt-rss failing to start, blank pages
// after login, or content encoding errors, disable it.

define('PLUGINS', 'auth_remote, auth_internal, note');
// Comma-separated list of plugins to load automatically for all users.
// System plugins have to be specified here. Please enable at least one
// authentication plugin here (auth_*).
// Users may enable other user plugins from Preferences/Plugins but may not
// disable plugins specified in this list.

define('CONFIG_VERSION', 26);
// Expected config version. Please update this option in config.php
// if necessary (after migrating all new options from this file).

// vim:ft=php

ttrss-mobile

Il est bien sûr possible de consulter son TTrss de multiples façons, notamment depuis des mobiles/tablettes. Ce qui est assez étrange c’est que le script détecte bien un mobile automatiquement et nous redirige vers un répertoire /mobile absent du tarball… mais WTF?! Il faut faire tout un micmac plutôt alambiqué pour arriver à ses fins.

Voilà un premier tour d’horizon qui dégrossira un peu le travail aux personnes intéressées. On remercie donc Andrew Dolgov et pour le reste, il y a le forum, le wiki et la communauté Google+

Que cette journée vous soit bien bonne :-)


Un commentaire

Laisser un commentaire

Top