Feeds

Un lecteur de flux rss (en cours...)

Présentation

Je lis des flux RSS ou Atom sans doute depuis que je traîne sur les internets, soit 2003.

Je l'ai toujours fait à l'aide d'une extension de navigateur web, pour Mozilla web d'abord, Firefox ensuite. je n'ai jamais réussi à utiliser des applications dédiées comme l'antique RSSOwl ou le plus récent Gnome Feeds par exemple.

J'ai utilisé Brief pendant de (très) nombreuses années, jusqu'au jour où j'ai voulu dupliqué mon profil Firefox et que je me suis rendu compte que la base de donnée SQLite de Brief pesait plus de 600 Mo ! 600 Mo alors que l'application n'est sensé stocké que peu de choses.

C'est un bug connu de l'extension, donné comme corrigé mais cet incident m'a poussé à sortir des cartons un projet commencé il y a quelques années, sans doute en 2019 : mon propre lecteur de flux rss.

Feeds est donc une simple application web entièrement écrite en javascript capable de lire des flux rss. Elle n'est pas destinée à stocker des données, juste à consulter une liste de flux et à afficher les articles non lus.

Son développement est encore en cours.

Fonctionnalités

  • Liste de flux rss/atom sous forme de fichier opml.
  • Ajout/suppression/édition de flux / outline.
  • Réorganisation des outlines par drag&drop.
  • Marquer des articles de flux comme lu.

Installation

Dépendances

Feeds peut tourner sur nodejs >= 18.17.1 ou sur deno >= 1.36

Installer une release

À écrire...

Installer les sources

cloner les dépendances

À écrire...

Données et configuration

config.json

  • server: (otpional)
    • port: number — Server port (8002 by default)
    • logs:
      • level: string — Log level ('debug'|'info'|'error'). 'error' by default
  • ssl: (otpional)
    • key: string — path to key file for ssl (can be relative)
    • cert: string — path to cert file for ssl (can be relative)
  • deploy: (optional)
    • host: string — Host where to deploy
    • path: string — Path on host where to deploy
{
    "server": {
        "port": 8002,
        "logs": {
            "level": "error"
        }
    },
    "ssl": {
        "key": "feeds.key",
        "cert": "feeds.cert"
    },
    "deploy": {
        "host": "user@ip",
        "path": "/path/to/app/deployement/"
    }
}

feeds.opml

Vous pouvez placer un fichier opml nommer « feeds.opml » dans le dossier « data ». S'il ce fichier est absent, il sera créé lors du premier ajout de flux.

Utilisation

Ajouter un nouveau flux

  • Cliquer sur le bouton « + »
  • Renseigner les champs « name » et « url »

Ajouter un outline

  • Cliquer sur le bouton « + »
  • Renseigner uniquement le champ « name »

Réorganiser les outlines

  • Déplacer un outline par simple glisser/déposer dans l'arborescence
  • Déposer un outline sur un outline de flux l'insérera avant cet outline de flux
  • Déposer un outline sur un outline parent en fera un nouvel enfant

Todos

  • Ordre des articles lors de l'affichage par outline de groupe.
  • Supporter autre chose que nodejs côté serveur (gjs)
  • Adapter le design au mobile
  • gestion des tags / catégories

Historique

..include::./changelog.md

Licence

..include::./licence.md