BlueSky : comment poster automatiquement les derniers articles d’un flux rss?

rss bluesky
Dernière mise a jour 30 Jan 2025 a 07:17 am

Bluesky, le réseau social qui monte qui monte, présenté par les médias mainstream comme le successeur naturel de Twitter/X, et qui n’en finit plus de faire parler de lui. À mon grand désarroi, ce buzz occulte l’existence de Mastodon le seul réseau social qui selon moi respecte ses utilisateurs et utilisatrices. J’avais eu d’ailleurs l’occasion d’en parler lors d’une conférence au festival PSES. Mais là n’est pas l’objet de ce billet 🙂
J’ai longtemps hésité avant de m’inscrire sur BlueSky, ne croyant pas vraiment en l’avenir d’un simple clone de Twitter dont le modèle économique reste incertain. Cependant, tout n’est pas à jeter, notamment la promesse d’en faire un réseau décentralisé reposant sur un protocole ouvert. Mais pour pouvoir en juger par moi-même et éventuellement le critiquer, j’ai finalement décidé de créer un compte perso.
Une fois inscris, je me suis assez vite mis en quête de trouver sur une solution pour publier automatiquement des articles issus d’un flux RSS. Une option bien pratique pour le modeste blogueur que je suis et qui souhaite partager ses contenus sur les réseaux sociaux sans avoir à consacrer du temps à leur publication. J’en fais aussi profiter mes amis blogueurs et blogueuses.

Script pour poster automatiquement les derniers articles ?

Je voulais quelque chose de simple à configurer et dans un langage que je comprends (bash , python , php…)
Après avoir testé quelques scripts récupérés à droite, à gauche sur les internets , avec plus ou moins de succès, j’ai finalement jeté mon dévolu sur le projet : rss2bsky

Écrit en php , sous license libre, il correspond parfaitement à mes besoins.

[edit:] Je viens de m’apercevoir que le projet existe aussi dans les dépôts officiels des paquets python , preuve de sa maturité.

Installation de rss2bsky

en python:

$ git clone https://github.com/rochacbruno/rss2bsky
$ python -m pip install ./rss2bsky

En php:

– clôner le dépôt:

$ git clone https://codeberg.org/nesges/rss2bsky.git

Installer les paquets nécessaires:

$ sudo apt install php-sqlite3 php-curl php-xml php-mbstring php-gd libphp-simplepie

Créer les dossiers cache et lib , mettre les droits qui vont bien :

$ mkdir cache lib
$ chown www-data.www-data cache


Copier la bibliothèque SimplePie qui va permettre de parser le flux rss:

$ cp /usr/share/php/simplepie/SimplePie.compiled.php ./lib/

Configuration des flux rss

Éditer le fichier config.php :

// blog tutox
$config[‘feeds’][] = [
feed-url‘ => ‘https://tutox.fr/feed/’, // remplacer par le flux rss du site dont on souhaite recup les articles
‘feed-item-maxage’ => 606024, // durée différente pour ce flux
‘feed-cache-duration’ => 60*30, // intervalle de cache spécifique
bluesky-username‘ => ‘benzogaga33.bsky.social’, // compte Bluesky
bluesky-password‘ => ‘xxxx-xxxx-xxxx-xxxx’, //mot de passe de l’application
‘bluesky-language’ => ‘fr-FR’,
‘bluesky-post-prefix’ =>  », // un préfixe pour personnaliser les publications
‘bluesky-post-suffix’ => ‘#blog’,
‘do-post’ => true,
‘do-remember’ => true,
];

L’ensemble des paramètres parlent d’eux-mêmes.
Le seul qui nécessite une manip c’est :
bluesky-password

Pour générer le mot de passe :
Aller sur son profil BlueSKy
dans – Paramètres – Confidentialité et sécurité

et générer un mot de passe d’application

Tester le script dans un terminal:

/usr/bin/php /root/SCRIPTS/rss2bsky/rss2bsky.php

À noter qu’il est possible dans le config.php :

  • d’ajouter d’autres flux rss en dupliquant la section
  • d’ajouter autant d’autres comptes bluesky pour poster

Planifier l’exécution du script :

Pour l’exécuter toutes les 3 heures par exemple:

0 */3 * * * /usr/bin/php /root/SCRIPTS/rss2bsky/rss2bsky.php > /dev/null

Conclusion

Et voilà ! Dorénavant, lorsqu’un article récent sera détecté par le script, il sera posté automatiquement sur ton réseau BlueSKy.

À noter que tout ça n’est possible que grâce à l’ouverture de l’API de Bluesky en espérant qu’elle le reste et ne suive pas le chemin de X.

Be the first to comment

Leave a Reply

Votre adresse de messagerie ne sera pas publiée.


*