Stringer: hébergez vos flux RSS

Avec le plan d’hébergement gratuit de Heroku pour les petites web apps en Ruby, nous allons créer notre propre serveur de RSS privé et lui donner sa propre URL.

Nous allons installer Stringer, qui va nous permettre de remplacer Google Reader en attendant de décider d’un autre service auquel s’abonner.

En suivant ce petit tutoriel ce sera fait en dix minutes à peine si vous avez déjà un compte Heroku.

Article mis à jour le 10 mai 2013 :

  • ajouter un scheduler automatique gratuitement

Article mis à jour le 12 mai 2013 :

  • installer la version française de Stringer sur son serveur

Heroku

  • Créez-vous un compte gratuit chez Heroku si ce n’est pas déjà fait.

  • Téléchargez les outils pour ligne de commande et installez-les.

  • Si vous n’avez pas déjà généré de clé SSH, faites-le :

1
ssh-keygen -t rsa
  • Il faut ensuite envoyer ces clés à Heroku :
1
heroku login

Normalement c’est automatique. Sinon faites :

1
heroku keys:add

Stringer

Pour installer Stringer sur notre instance de serveur Heroku il suffit d’entrer ces commandes les unes après les autres :

1
2
3
4
5
6
7
8
cd Sandbox
git clone git://github.com/swanson/stringer.git
cd stringer
heroku create
git push heroku master
heroku config:set SECRET_TOKEN=`openssl rand -hex 20`
heroku run rake db:migrate
heroku restart

Voilà, c’est fait.

Lors du heroku create et du heroku restart, Heroku vous a indiqué l’URL de votre application, dans mon cas http://infinite-ocean-3800.herokuapp.com1.

Ouvrez cette adresse dans votre navigateur Web et choisissez un mot de passe : ça y est, votre compte unique est créé, vous serez seul à pouvoir utiliser cette web app.

Vous n’avez plus qu’à entrer votre compte RSS Google ou d’autres sources.

Scheduler

Vous pouvez ajouter un module à votre serveur pour qu’il rafraîchisse de lui-même les flux RSS :

1
2
heroku addons:add scheduler
heroku addons:open scheduler

puis ajouter une tâche qui exécute rake fetch_feeds.

Update

Je disais lors de la rédaction de ce post : “Le gestionnaire de tâches automatiques est gratuit mais je n’ai pas réussi à faire vérifier mon compte par Heroku pour le moment”.

Depuis, le développeur de Stringer m’a gentiment mis sur la voie par Twitter.

Le scheduler est toujours gratuit chez Heroku mais il faut avoir un compte avec une carte de crédit vérifiée pour que ça fonctionne.

Ajouter le scheduler pour son app

Il faut se rendre dans les préférences de son compte sur heroku et valider une carte de crédit.

Ils ne demandent pas le numéro privé qui est au dos de la carte, c’est une simple procédure de vérification.2

Ensuite on ajoute le scheduler et ça marche :

Message ambigu, pour le moins...

Il faut donc rajouter une tâche rake fetch_feeds au scheduler :

On ajoute `rake fetch_feeds`

Je lance l’affaire, puis retourne fébrilement regarder mon compte :

Pourvu que ça dure...

Deux jours plus tard, le détail de ma facture :

Cadeau

Sinon, pour rafraîchir votre instance de Stringer manuellement :

1
heroku run rake fetch_feeds

Comme d’habitude je vous conseille un alias :

1
alias ffeeds="cd path/stringer && heroku run rake fetch_feeds"

Il faudra de toute façon rafraîchir votre page web avec l’icone prévue à cet effet pour qu’elle affiche les nouveaux flux rapatriés.

Mise à jour de Stringer sur le serveur

Pour mettre à jour Stringer, rien de plus simple :

1
2
3
4
5
cd Sandbox/stringer
git pull
git push heroku master
heroku run rake db:migrate
heroku restart

Update : version française

J’ai eu l’honneur de créer la version française de Stringer et espère continuer à la maintenir dans le futur.

Pour passer Stringer en français il faut tout d’abord intégrer les dernières modifications, et donc commencer par récupérer la dernière version des sources et les intégrer dans votre app.

Ca se fait avec cette simple commande :

1
git pull

Commande qui est en fait un raccourci pour git fetch && git merge qui est en fait un raccourci pour git fetch origin master && git merge master.

Il faut ensuite déclarer à Heroku que vous souhaitez changer la langue de votre application :

1
heroku config:set LOCALE=fr

Puis pousser la nouvelle version -contenant donc le nouveau fichier de localisation en français- vers le serveur Heroku :

1
git push heroku master

Une fois la mise à jour effectuée sur Heroku l’application sera redémarrée automatiquement.

Rafraîchissez la page dans votre navigateur, et voilà !

Si vous trouvez des erreurs ou maladresses dans ma traduction, n’hésitez pas à commenter, je ferai les modifications.

Sous-domaine

J’ai immédiatement créé un sous-domaine reader pour mon site http://aya.io qui va pointer sur l’instance de Stringer chez Heroku.

Ainsi je peux taper http://reader.aya.io au lieu de http://infinite-ocean-3800.herokuapp.com, ce qui est tout de même plus cohérent.

Rendez-vous chez votre hébergeur (ou votre registrar, selon où est votre gestion des DNS pour votre site) et créez un sous-domaine pour le site de votre choix.

Pointez ensuite le CNAME de ce sous-domaine sur l’URL fournie par Heroku.

Attendez cinq minutes que les modifications soient propagées et c’est bon.

  1. que de poésie dans ces URL chez Heroku, c’est une merveille à chaque fois renouvelée !

  2. petit doute qui subsiste. Mais comme disait le grand Lautréamont : “Le doute est un hommage rendu à l’espoir.”

Comments