Aucune description

Henry 6bac71b2e8 Fix typo il y a 8 ans
Docker 5647442053 Docker missing PHP extensions il y a 8 ans
app 84d891f8cf Light Boolean search implementation (#1828) il y a 8 ans
cli a891df3283 Merge pull request #1829 from aledeg/improve-i18n-tools il y a 8 ans
data b8094f8044 Move shares (#1812) il y a 8 ans
docs 6bac71b2e8 Fix typo il y a 8 ans
extensions 74cc2f4664 added links to extension repository il y a 9 ans
lib 71918dbc5a New Docker (#1813) il y a 8 ans
p 84d891f8cf Light Boolean search implementation (#1828) il y a 8 ans
tests 942508d879 Minor changes (#1747) il y a 8 ans
.dockerignore 71918dbc5a New Docker (#1813) il y a 8 ans
.editorconfig 4c3908e60b Tiny additions to .editorconfig (#1744) il y a 8 ans
.gitignore 942508d879 Minor changes (#1747) il y a 8 ans
.travis.yml a14c160beb Update travis config (#1751) il y a 8 ans
CHANGELOG.md deb9cf1695 Changelog 1816 1823 1830 il y a 8 ans
CONTRIBUTING.md e7a35161e2 Update CONTRIBUTING file il y a 11 ans
CREDITS.md 4d39c9cf17 Changelog 1800, 1801, 1803, 1804 il y a 8 ans
LICENSE.txt 942508d879 Minor changes (#1747) il y a 8 ans
README.fr.md 71918dbc5a New Docker (#1813) il y a 8 ans
README.md 29dc711b7b Docker follow-up (#1817) il y a 8 ans
config-user.default.php 0936a6cdb2 Option to hide nav_entries (#1764) il y a 8 ans
config.default.php ebfb170b14 Minor docs il y a 8 ans
constants.php be47672e00 Start FreshRSS 1.10.3-dev il y a 8 ans
force-https.default.txt 6d38367f5a Adding new items to force-https.default.txt (#1745) il y a 8 ans
index.html 02a3cb4652 Config allow robots il y a 10 ans
index.php 67531f796f HTTP Auth : améliorations + changelog il y a 12 ans
phpcs.xml 942508d879 Minor changes (#1747) il y a 8 ans

README.fr.md

FreshRSS

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, et dispose d’un mode de lecture anonyme. Il supporte PubSubHubbub pour des notifications instantanées depuis les sites compatibles. Il y a une API pour les clients (mobiles), ainsi qu’une interface en ligne de commande. Enfin, il permet l’ajout d’extensions pour encore plus de personnalisation.

Logo de FreshRSS

Téléchargement

Voir la liste des versions.

À propos des branches

  • Utilisez la branche master si vous visez la stabilité.
  • Pour ceux qui veulent bien aider à tester ou déveloper les dernières fonctionnalités, la branche dev vous ouvre les bras !

Avertissements

Cette application a été développée pour s’adapter principalement à des besoins personnels, et aucune garantie n’est fournie. 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.

Prérequis

  • 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.3.8+ (PHP 5.4+ recommandé, et PHP 5.5+ pour les performances, et PHP 7+ pour d’encore meilleures performances)
  • MySQL 5.5.3+ (recommandé), ou SQLite 3.7.4+, ou PostgreSQL 9.2+
  • Un navigateur Web récent tel que Firefox / IceCat, Internet Explorer 11 / Edge, Chromium / Chrome, Opera, Safari.
    • Fonctionne aussi sur mobile

Documentation

Installation

  1. Récupérez l’application FreshRSS via la commande git ou en téléchargeant l’archive
  2. Placez l’application sur votre serveur (la partie à exposer au Web est le répertoire ./p/)
  3. Le serveur Web doit avoir les droits d’écriture dans le répertoire ./data/
  4. Accédez à FreshRSS à travers votre navigateur Web et suivez les instructions d’installation
  5. Tout devrait fonctionner :) En cas de problème, n’hésitez pas à nous contacter.
  6. Des paramètres de configuration avancée peuvent être vues dans config.default.php et modifiées dans data/config.php.
  7. Avec Apache, activer AllowEncodedSlashes pour une meilleure compatibilité avec les clients mobiles.

Installation automatisée

Exemple d’installation complète sur Linux Debian/Ubuntu

# 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

# Pour Ubuntu <= 15.10, Debian <= 8 Jessie
sudo apt-get install php5 php5-curl php5-gmp php5-intl php5-json php5-sqlite
sudo apt-get install libapache2-mod-php5	#Pour Apache
sudo apt-get install mysql-server mysql-client php5-mysql	#Base de données MySQL optionnelle
sudo apt-get install postgresql php5-pgsql	#Base de données PostgreSQL optionnelle

# 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 branche développement de FreshRSS
sudo git checkout -b dev origin/dev

# 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/

Contrôle d’accès

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, et PHP 5.5+ recommandé)
  • En utilisant un contrôle d’accès HTTP défini par votre serveur Web

Rafraîchissement automatique des flux

  • 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
    

Exemple pour Debian / Ubuntu

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

Conseils

  • 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/.
  • 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.

Sauvegarde

  • 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>
    

Extensions

FreshRSS permet l’ajout d’extensions en plus des fonctionnalités natives. Voir le dépôt dédié à ces extensions.

Bibliothèques incluses

Uniquement pour certaines options

Si les fonctions natives ne sont pas disponibles

Clients compatibles

Tout client supportant une API de type Google Reader. Sélection :