Si vous êtes un grand utilisateur de Reddit et de Feedly, peut-être connaissez-vous l'astuce pour obtenir le flux RSS de n'importe quel page ou SubReddit. Cela consiste à ajouter le suffixe .xml our .rss à l'url que vous désirez intégrer dans votre lecteur de flux, par exemple https://www.reddit.com/.xml ou https://www.reddit.com/r/worldnews/.xml.

Le problème, c'est que Feedly ne semble jamais rafraîchir le flux, bien que le flux RSS soit régulièrement mis à jour par Reddit. Grâce à un serveur distant et un peu de code PHP, voici la solution pour enfin le faire fonctionner:

Les étapes

Premièrement, nous allons avoir besoin d'un serveur: dédié, mutualisé ou gratuit, peu importe tant qu'il possède un support PHP.

Puis vous avez juste à uploader un nouveau fichier .php (comme "reddit_rss.php") contenant ces quelques lignes:

header('Content-Type: application/xml; charset=utf-8');
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

echo file_get_contents("https://www.reddit.com/r/<yoursub>/new/.xml");

Qu'est ce que tout cela signifie?

header('Content-Type: application/xml; charset=utf-8');

Définit en tant que application/atom+xml du côté de Reddit, nous le changeons en type xml générique afin de maximiser la compatibilité tout en apportant le "pretty printing" du navigateur.

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); //Already used by Reddit
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

Ce morceau est le plus important, désactivant la mise en cache du flux, le forçant ainsi à se rafraîchir.

echo file_get_contents("https://www.reddit.com/r/<yoursub>/new/.xml");

Enfin nous affichons le contenu du flux xml distant à l'adresse courante, avec les entêtes et formatage valides.

Puis nous avons juste à donner l'URL de notre "Proxy RSS Reddit" à Feedly et de s'y inscrire! Maintenant vous pouvez suivre vos sous (comme 🛫France?) préférés avec aise!

Article précédent Article suivant