Нема описа

Inverle 6b5304b825 Fix slider behavior when using navigate back button (#8496) пре 1 месец
.devcontainer b66d4ade41 Improve Docker + compatibility Arch (#8299) пре 3 месеци
.github 09aec089d6 Bump ruby/setup-ruby from 1.278.0 to 1.287.0 (#8482) пре 2 месеци
Docker 15814cfd35 Add remote user in Apache logs, also for API (#8392) пре 2 месеци
app d7848e9fd6 Translation of several german phrases. (#8491) пре 1 месец
cli e447d82b27 Bump PHPStan, other dev dependencies (#8480) пре 2 месеци
data e915ebe46e Rework fetch favicons (#7767) пре 8 месеци
docs 5beebfcd45 Initial conventions for AI agents and humans: AGENTS.md, SKILLS.md, instructions.md (#8478) пре 2 месеци
extensions 0754b4a53a gitignore: Ignore all the installed extensions (#8372) пре 3 месеци
lib afa7c8440f Update phpmailer/phpmailer requirement from 7.0.1 to 7.0.2 in /lib (#8483) пре 2 месеци
p 6b5304b825 Fix slider behavior when using navigate back button (#8496) пре 1 месец
tests dae27ebd5d Fix wrong search toString in case of regex-looking string (#8479) пре 2 месеци
.dockerignore 2e54352051 Docker: Alpine 3.23 (#8285) пре 3 месеци
.editorconfig 1c92d55917 Use native CSS instead of SCSS (#8241) пре 4 месеци
.gitattributes a6b4640a2f export-ignore (#4415) пре 3 година
.gitignore 5e9c3617ca Improve layout of documentation page and add search feature (#8247) пре 3 месеци
.hadolint.yaml 61af33a6f5 Readme 2454-2456 пре 6 година
.htaccess.dist e24d9f39fb Fix .htaccess.dist for access to /scripts/vendor/ (#7598) пре 10 месеци
.jshintignore d0b9611319 Update bcrypt.js from 2.4.4 to 3.0.2 (#7449) пре 1 година
.jshintrc b438d8bb3d ESLint upgrade from JSHint (#3906) пре 4 година
.markdownlint.json 5e9c3617ca Improve layout of documentation page and add search feature (#8247) пре 3 месеци
.markdownlintignore 882deab455 Allow SimplePie updates with composer (#4374) пре 1 година
.stylelintignore 5e9c3617ca Improve layout of documentation page and add search feature (#8247) пре 3 месеци
.stylelintrc.json 1c92d55917 Use native CSS instead of SCSS (#8241) пре 4 месеци
.typos.toml 5e9c3617ca Improve layout of documentation page and add search feature (#8247) пре 3 месеци
AGENTS.md 5beebfcd45 Initial conventions for AI agents and humans: AGENTS.md, SKILLS.md, instructions.md (#8478) пре 2 месеци
CHANGELOG.md afa7c8440f Update phpmailer/phpmailer requirement from 7.0.1 to 7.0.2 in /lib (#8483) пре 2 месеци
CONTRIBUTING.md 5beebfcd45 Initial conventions for AI agents and humans: AGENTS.md, SKILLS.md, instructions.md (#8478) пре 2 месеци
CREDITS.md ee7eb67f3c Implement sort order per feed (#8234) пре 2 месеци
LICENSE.txt fd3fd3387e Update chmod for LICENSE.txt пре 7 година
Makefile 5beebfcd45 Initial conventions for AI agents and humans: AGENTS.md, SKILLS.md, instructions.md (#8478) пре 2 месеци
README.fr.md d7848e9fd6 Translation of several german phrases. (#8491) пре 1 месец
README.md d7848e9fd6 Translation of several german phrases. (#8491) пре 1 месец
SECURITY.md aab51be544 Update SECURITY.md (#5448) пре 2 година
composer.json 00cd5df294 Use native PHP #[Deprecated] (#8325) пре 3 месеци
composer.lock e447d82b27 Bump PHPStan, other dev dependencies (#8480) пре 2 месеци
config-user.default.php ee7eb67f3c Implement sort order per feed (#8234) пре 2 месеци
config.default.php 6d2bb24b37 Move unsafe autologin to an extension (#7958) пре 3 месеци
constants.php cc32b2daa5 Start 1.28.2-dev пре 2 месеци
eslint.config.js b6f7c31e4c Migrate to ESLint 9 (#6685) пре 1 година
force-https.default.txt d7ca2f8768 Doc force-https (#7259) пре 1 година
index.html 02a3cb4652 Config allow robots пре 10 година
index.php 23ba48c71f Change how files are included (#7916) пре 6 месеци
opml.default.xml 7819a43197 Default or custom OPML (#2627) пре 6 година
package-lock.json 3b3ba25bf6 Bump the stylelint group with 3 updates (#8481) пре 2 месеци
package.json 3b3ba25bf6 Bump the stylelint group with 3 updates (#8481) пре 2 месеци
phpcs.xml 833007f586 Upgrade to PHP_CodeSniffer 4 (#7993) пре 6 месеци
phpstan-next.neon 62f32ccadf PHPStan: finalise strictArrayFilter (#7794) пре 7 месеци
phpstan.dist.neon 00cd5df294 Use native PHP #[Deprecated] (#8325) пре 3 месеци

README.fr.md

Dons Liberapay

FreshRSS

FreshRSS est un agrégateur de flux RSS à auto-héberger.

Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable, et traduit en nombreuses langues.

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, FreshRSS est capable de recevoir des notifications push instantanées depuis les sources compatibles, Friendica, WordPress, Blogger, Medium, etc.

FreshRSS supporte nativement le moissonnage du Web (Web Scraping) basique, basé sur XPath, pour les sites Web sans flux RSS / Atom. Supporte aussi les documents JSON.

FreshRSS permet de repartager des sélections d’articles par HTML, RSS, et OPML.

Plusieurs méthodes de connexion sont supportées : formulaire Web (avec un mode anonyme), Authentification HTTP (compatible avec proxy), OpenID Connect.

Enfin, FreshRSS permet l’ajout d’extensions pour encore plus de personnalisation.

Logo de FreshRSS

Contributions

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.

Pour faciliter les contributions, l’option suivante est disponible :

Ouvrir dans GitHub Codespaces

Capture d’écran

Avertissements

FreshRSS n’est fourni avec aucune garantie.

Documentation

Prérequis

  • Un navigateur Web récent tel que Firefox / IceCat, Edge, 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.4+ (recommandé), ou nginx, lighttpd (non testé sur les autres)
  • PHP 8.1+
  • PostgreSQL 10+ ou SQLite ou MariaDB 10.6+ ou MySQL 8.0+

Installation

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 edge.

Installation automatisée

| | | | |-|-|-| | Docker | YunoHost | Elestio | | Cloudron | PikaPods | Zeabur | | ClawCloud | Hostinger | |

Installation manuelle

  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és peuvent être vus dans config.default.php et modifiés dans data/config.php.
  7. 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.

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

# 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

# La branche par défault “edge” est la celle de la publication continue,
# mais vous pouvez changer de branche pour “latest” si vous préférez les versions stables de FreshRSS
sudo git checkout latest

# Mettre les droits d’accès pour le serveur Web
sudo cli/access-permissions.sh
# Si vous souhaitez permettre les mises à jour par l’interface Web (un peu moins sûr)
sudo chown www-data:www-data -R .

# Publier FreshRSS dans votre répertoire HTML public
[ ! -e "/var/www/html/FreshRSS" ] && sudo ln -s /usr/share/FreshRSS/p /var/www/html/FreshRSS || echo "/var/www/html/FreshRSS existe déjà"
# 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 cli/access-permissions.sh

Voir la documentation de la ligne de commande pour plus de détails.

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

FAQ

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

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 la ligne de commande pour exporter votre base de données vers une base de données au format SQLite :

./cli/export-sqlite-for-user.php --user <username> --filename </path/to/db.sqlite>

Il est impératif que le nom du fichier contenant la base de données ait une extension sqlite. Si ce n’est pas le cas, la commande ne fonctionnera pas correctement.

Vous pouvez encore utiliser la ligne de commande pour importer la base de données au format SQLite dans votre base de données:

./cli/import-sqlite-for-user.php --user <username> --filename </path/to/db.sqlite>

Encore une fois, il est impératif que le nom du fichier contenant la base de données ait une extension sqlite. Si ce n’est pas le cas, la commande ne fonctionnera pas correctement.

Le processus d’import/export à l’aide d’une base de données SQLite est utile quand vous devez :

  • exporter complètement les données d’un utilisateur,
  • sauvegarder votre service,
  • migrer votre service sur un autre serveur,
  • changer de type de base de données,
  • corriger des erreurs de base de données.

Extensions

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

Internationalisation : 20+ langues. Statut des traductions

| Langage | Progression | | | - | - | - | | Čeština (cs) | ■■■■■■■■・・ 83% | contribuer | | Deutsch (de) | ■■■■■■■■■・ 97% | contribuer | | Ελληνικά (el) | ■■■・・・・・・・ 38% | contribuer | | English (en) | ■■■■■■■■■■ 100% | contribuer | | English (United States) (en-US) | ■■■■■■■■■■ 100% | contribuer | | Español (es) | ■■■■■■■■■・ 99% | contribuer | | فارسی (fa) | ■■■■■■■■■・ 92% | contribuer | | Suomi (fi) | ■■■■■■■■■・ 94% | contribuer | | Français (fr) | ■■■■■■■■■■ 100% | contribuer | | עברית (he) | ■■■■・・・・・・ 42% | contribuer | | Magyar (hu) | ■■■■■■■■■・ 98% | contribuer | | Bahasa Indonesia (id) | ■■■■■■■■■・ 91% | contribuer | | Italiano (it) | ■■■■■■■■■・ 98% | contribuer | | 日本語 (ja) | ■■■■■■■■■・ 90% | contribuer | | 한국어 (ko) | ■■■■■■■■・・ 83% | contribuer | | Latviešu (lv) | ■■■■■■■・・・ 77% | contribuer | | Nederlands (nl) | ■■■■■■■■■・ 99% | contribuer | | Occitan (oc) | ■■■■■■■・・・ 76% | contribuer | | Polski (pl) | ■■■■■■■■■・ 99% | contribuer | | Português (Brasil) (pt-BR) | ■■■■■■■■■・ 99% | contribuer | | Português (Portugal) (pt-PT) | ■■■■■■■■・・ 82% | contribuer | | Русский (ru) | ■■■■■■■■■・ 98% | contribuer | | Slovenčina (sk) | ■■■■■■■■・・ 83% | contribuer | | Türkçe (tr) | ■■■■■■■■■・ 91% | contribuer | | Українська (uk) | ■■■■■■■■■・ 93% | contribuer | | 简体中文 (zh-CN) | ■■■■■■■■■・ 99% | contribuer | | 正體中文 (zh-TW) | ■■■■■■■■・・ 83% | contribuer |

APIs et applications natives

FreshRSS supporte l’accès depuis des applications natives pour Linux, Android, iOS, Windows et macOS, grâce à deux APIs distinctes : l’API compatible Google Reader (la meilleure), et l’API Fever (moindres fonctionnalités, moins efficace, moins sûre).

App Plateforme Logiciel libre Maintenu & Dévelopé API Mode hors-ligne Sync rapide Récupère plus d’articles dans les vues individuelles Récupère les articles lus Favoris Étiquettes Podcasts Gestion des flux
Capy Reader Android ✔️ ✔️✔️ GReader ✔️ ⭐⭐⭐ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Readrops Android ✔️ ✔️✔️ GReader ✔️ ⭐⭐⭐ ✔️ ✔️ ✔️
FeedMe Android ✔️✔️ GReader ✔️ ⭐⭐ ✔️ ✔️ ✔️
FocusReader Android ✔️✔️ GReader ✔️ ⭐⭐ ✔️ ✔️
Read You Android ✔️ ✔️✔️ GReader ✔️ ⭐⭐ ✔️ ✔️ ✔️ ✔️
Your News Android, iOS ✔️✔️ GReader ➖️ ✔️ ✔️ ✔️
Fluent Reader Lite Android, iOS ✔️ ✔️ GReader ✔️ ⭐⭐
App Plateforme Logiciel libre Maintenu & Dévelopé API Mode hors-ligne Sync rapide Récupère plus d’articles dans les vues individuelles Récupère les articles lus Favoris Étiquettes Podcasts Gestion des flux
Fluent Reader Windows, Linux, macOS ✔️ ✔️✔️ Fever ✔️ ✔️
RSS Guard Windows, GNU/Linux, macOS, OS/2 ✔️ ✔️✔️ GReader ✔️ ⭐⭐ ✔️ ✔️ ✔️ ✔️ ✔️
NewsFlash GNU/Linux ✔️ ✔️✔️ GReader ⭐⭐ ✔️ ✔️ ✔️
Newsboat GNU/Linux, macOS, FreeBSD ✔️ ✔️✔️ GReader ✔️ ✔️ ✔️
App Plateforme Logiciel libre Maintenu & Dévelopé API Mode hors-ligne Sync rapide Récupère plus d’articles dans les vues individuelles Récupère les articles lus Favoris Étiquettes Podcasts Gestion des flux
Vienna RSS macOS ✔️ ✔️✔️ GReader
Readkit iOS, macOS ✔️✔️ GReader ✔️ ⭐⭐⭐ ✔️ ✔️ 💲
Reeder Classic iOS, macOS ✔️✔️ GReader ✔️ ⭐⭐⭐ ✔️ ✔️ ✔️
lire iOS, macOS ✔️✔️ GReader
Unread iOS ✔️✔️ Fever ✔️ ✔️
Fiery Feeds iOS ✔️✔️ Fever
Netnewswire iOS, macOS ✔️ En développement GReader ✔️ ✔️ ✔️

Bibliothèques incluses

Crédits additionels

Alternatives

Si FreshRSS ne vous convient pas pour une raison ou pour une autre, voici d’autres solutions à considérer :