- Lire ce document sur github.com/FreshRSS/FreshRSS/ pour avoir les images et liens corrects.
- English version
FreshRSS est un agrégateur de flux RSS à auto-héberger à l’image de Leed ou de Kriss Feed.
Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable.
Il permet de gérer plusieurs utilisateurs, dispose d’un mode de lecture anonyme, et supporte les étiquettes personnalisées. Il y a une API pour les clients (mobiles), ainsi qu’une interface en ligne de commande.
Grâce au standard WebSub (anciennement PubSubHubbub), FreshRSS est capable de recevoir des notifications push instantanées depuis les sources compatibles, telles Mastodon, Friendica, WordPress, Blogger, FeedBurner, etc.
Enfin, il permet l’ajout d’extensions pour encore plus de personnalisation.
Les demandes de fonctionnalités, rapports de bugs, et autres contributions sont les bienvenues. Privilégiez pour cela des demandes sur GitHub. Nous sommes une communauté amicale.
- Site officiel : https://freshrss.org
- Démo : http://demo.freshrss.org/
- Licence : GNU AGPL 3
FreshRSS n’est fourni avec aucune garantie.
- La documentation utilisateurs pour découvrir les fonctionnalités de FreshRSS.
- La documentation administrateurs pour l’installation et la maintenance de FreshRSS.
- La documentation développeurs pour savoir comment contribuer et mieux comprendre le code source de FreshRSS.
- Le guide de contribution pour nous aider à développer FreshRSS.
- Un navigateur Web récent tel que Firefox / IceCat, Internet Explorer 11 / Edge (sauf certains détails), Chromium / Chrome, Opera, Safari.
- Fonctionne aussi sur mobile (sauf certaines fonctionnalités)
- Serveur modeste, par exemple sous Linux ou Windows
- Fonctionne même sur un Raspberry Pi 1 avec des temps de réponse < 1s (testé sur 150 flux, 22k articles)
- Serveur Web Apache2 (recommandé), ou nginx, lighttpd (non testé sur les autres)
- PHP 5.6+ (PHP 7+ recommandé pour de meilleures performances)
- Requis : cURL, DOM, JSON, XML, session, ctype, et PDO_MySQL ou PDO_SQLite ou PDO_PGSQL
- Recommandés : GMP (pour accès API sur plateformes < 64 bits), IDN (pour les noms de domaines internationalisés), mbstring (pour le texte Unicode), iconv (pour conversion d’encodages), ZIP (pour import/export), zlib (pour les flux compressés)
- MySQL 5.5.3+ ou équivalent MariaDB, ou SQLite 3.7.4+, ou PostgreSQL 9.5+
Si vous préférez que votre FreshRSS soit stable, vous devriez télécharger la dernière version. De nouvelles versions sont publiées tous les 2 ou 3 mois. Voir la liste des versions.
Si vous voulez une publication continue (rolling release) avec les dernières nouveautés, ou bien aider à tester ou développer la future version stable, vous pouvez utiliser la branche master.
- Récupérez l’application FreshRSS via la commande git ou en téléchargeant l’archive
- Placez l’application sur votre serveur (la partie à exposer au Web est le répertoire
./p/
) - Le serveur Web doit avoir les droits d’écriture dans le répertoire
./data/
- Accédez à FreshRSS à travers votre navigateur Web et suivez les instructions d’installation
- ou utilisez l’interface en ligne de commande
- Tout devrait fonctionner :) En cas de problème, n’hésitez pas à nous contacter.
- Des paramètres de configuration avancés peuvent être vus dans config.default.php et modifiés dans
data/config.php
. - Avec Apache, activer
AllowEncodedSlashes
pour une meilleure compatibilité avec les clients mobiles.
Plus d’informations sur l’installation et la configuration serveur peuvent être trouvées dans notre documentation.
# Si vous utilisez le serveur Web Apache (sinon il faut un autre serveur Web)
sudo apt-get install apache2
sudo a2enmod headers expires rewrite ssl #Modules Apache
# Exemple pour Ubuntu >= 16.04, Debian >= 9 Stretch
sudo apt install php php-curl php-gmp php-intl php-mbstring php-sqlite3 php-xml php-zip
sudo apt install libapache2-mod-php #Pour Apache
sudo apt install mysql-server mysql-client php-mysql #Base de données MySQL optionnelle
sudo apt install postgresql php-pgsql #Base de données PostgreSQL optionnelle
## Redémarrage du serveur Web
sudo service apache2 restart
# Pour FreshRSS lui-même (git est optionnel si vous déployez manuellement les fichiers d’installation)
cd /usr/share/
sudo apt-get install git
sudo git clone https://github.com/FreshRSS/FreshRSS.git
cd FreshRSS
# Si vous souhaitez utiliser la dernière version stable de FreshRSS
sudo git checkout $(git describe --tags --abbrev=0)
# Mettre les droits d’accès pour le serveur Web
sudo chown -R :www-data . && sudo chmod -R g+r . && sudo chmod -R g+w ./data/
# Si vous souhaitez permettre les mises à jour par l’interface Web
sudo chmod -R g+w .
# Publier FreshRSS dans votre répertoire HTML public
sudo ln -s /usr/share/FreshRSS/p /var/www/html/FreshRSS
# Naviguez vers http://example.net/FreshRSS pour terminer l’installation
# (Si vous le faite depuis localhost, vous pourrez avoir à ajuster le réglage de votre adresse publique)
# ou utilisez l’interface en ligne de commande
# Mettre à jour FreshRSS vers une nouvelle version par git
cd /usr/share/FreshRSS
sudo git pull
sudo chown -R :www-data . && sudo chmod -R g+r . && sudo chmod -R g+w ./data/
Voir la documentation de la ligne de commande pour plus de détails.
Il est requis pour le mode multi-utilisateur, et recommandé dans tous les cas, de limiter l’accès à votre FreshRSS. Au choix :
- En utilisant l’identification par formulaire (requiert JavaScript)
- En utilisant un contrôle d’accès HTTP défini par votre serveur Web
- Voir par exemple la documentation d’Apache sur l’authentification
- Créer dans ce cas un fichier
./p/i/.htaccess
avec un fichier.htpasswd
correspondant.
- Créer dans ce cas un fichier
- Voir par exemple la documentation d’Apache sur l’authentification
- Vous pouvez ajouter une tâche Cron lançant régulièrement le script d’actualisation automatique des flux. Consultez la documentation de Cron de votre système d’exploitation (Debian/Ubuntu, Red Hat/Fedora, Slackware, Gentoo, Arch Linux…). C’est une bonne idée d’utiliser le même utilisateur que votre serveur Web (souvent “www-data”). Par exemple, pour exécuter le script toutes les heures :
8 * * * * php /usr/share/FreshRSS/app/actualize_script.php > /tmp/FreshRSS.log 2>&1
Créer /etc/cron.d/FreshRSS
avec :
7,37 * * * * www-data php -f /usr/share/FreshRSS/app/actualize_script.php > /tmp/FreshRSS.log 2>&1
- Pour une meilleure sécurité, faites en sorte que seul le répertoire
./p/
soit accessible depuis le Web, par exemple en faisant pointer un sous-domaine sur le répertoire./p/
.- En particulier, les données personnelles se trouvent dans le répertoire
./data/
.
- En particulier, les données personnelles se trouvent dans le répertoire
- Le fichier
./constants.php
définit les chemins d’accès aux répertoires clés de l’application. Si vous les bougez, tout se passe ici. - En cas de problème, les logs peuvent être utile à lire, soit depuis l’interface de FreshRSS, soit manuellement depuis
./data/users/*/log*.txt
.- Le répertoire spécial
./data/users/_/
contient la partie des logs partagés par tous les utilisateurs.
- Le répertoire spécial
- La date et l’heure dans la colonne de droite sont celles déclarées par le flux, pas l’heure à laquelle les articles ont été reçus par FreshRSS, et cette colonne n’est pas utilisée pour le tri.
- En particulier, lors de l’import d’un nouveau flux, ses articles sont importés en tête de liste.
- Il faut conserver vos fichiers
./data/config.php
ainsi que./data/users/*/config.php
- Vous pouvez exporter votre liste de flux au format OPML soit depuis l’interface Web, soit en ligne de commande
- Pour sauvegarder les articles eux-mêmes, vous pouvez utiliser phpMyAdmin ou les outils de MySQL :
mysqldump --skip-comments --disable-keys --user=<db_user> --password --host <db_host> --result-file=freshrss.dump.sql --databases <freshrss_db>
FreshRSS permet l’ajout d’extensions en plus des fonctionnalités natives. Voir le dépôt dédié à ces extensions.
FreshRSS supporte l’accès depuis des applications natives pour Linux, Android, iOS, et OS X, grâce à deux APIs distinctes.
Voir notre documentation sur l’accès mobile.
Tout client supportant une API de type Google Reader ; Sélection :
- Android
- News+ avec News+ Google Reader extension (Propriétaire)
- FeedMe 3.5.3+ (Propriétaire)
- EasyRSS (Libre, F-Droid)
- GNU/Linux
- FeedReader 2.0+ (Libre)
- iOS
- Reeder (Commercial)
- MacOS
- Vienna RSS (Libre)
- Reeder (Commercial)
Voir notre documentation sur l’API Fever page.
Tout client supportant une API de type Fever ; Sélection :
- Android
- Readably (Propriétaire)
- iOS
- Fiery Feeds (Propriétaire)
- Unread (Commercial)
- MacOS
- Readkit (Commercial)