Coder Social home page Coder Social logo

leedrss / leed Goto Github PK

View Code? Open in Web Editor NEW
209.0 22.0 40.0 3 MB

Leed (contraction de Light Feed) est un agrégateur RSS libre et minimaliste qui permet la consultation de flux RSS de manière rapide et non intrusive.

PHP 87.69% CSS 2.88% JavaScript 3.48% HTML 5.94%
rss reader atom leed self-hosted

leed's Introduction

Leed

Français - English - Español

Leed (contraction de Light Feed) est un agrégateur RSS/ATOM minimaliste qui permet la consultation de flux RSS de manière rapide et non intrusive.

Cet agrégateur peut s'installer sur votre propre serveur et fonctionne avec un système de tâches cron afin de traiter les informations de manière transparente et de les afficher le plus rapidement possible lorsque vous vous y connectez.

Toutes les tâches de traitements de flux sont effectuées de manière invisible par une tâche programmée (cron), ainsi, l'utilisateur ne subit pas les lenteurs dues à la récupération et au traitement de chacun des flux suivis.

A noter que Leed est compatible toutes résolutions, sur pc, tablette et smartphone.

Leed est également compatible avec le format d'import/export OPML ce qui le rend compatible avec les agrégateurs respectant ce standard.

Pré-requis

  • Serveur Apache conseillé (non testé sur les autres serveurs type Nginx…)
  • PHP 7.2 minimum
  • MySQL
  • Un peu de bon sens :-)

Installation

  1. Récupérez le projet sur la page github.
  2. Placez le projet dans votre répertoire web et appliquez si nécessaire une permission chmod 775 (si vous êtes sur un hebergement ovh, préférez un 0755 ou vous aurez une erreur 500) sur le dossier et son contenu.
  3. Depuis votre navigateur, accédez à la page d'installation install.php (ex : votre.domaine.fr/leed/install.php) et suivez les instructions.
  4. Une fois l'installation terminée, supprimez le fichier install.php par mesure de sécurité.
  5. [Optionnel] Si vous souhaitez que les mises à jour de flux se fassent automatiquement, mettez en place un cron. Voir ci-après. Il est conseillé de ne pas mettre une fréquence trop rapide pour laisser le temps au script de s'exécuter.
  6. Le script est installé, merci d'avoir choisi Leed, l'agrégateur RSS svelte :p

Tâches programmées avec cron

On peut éditer les tâches programmées avec crontab -e. Il y a deux façons de mettre à jour les flux. Les exemples qui suivent mettent à jour toutes les heures.

  1. En appelant directement Leed. Cette méthode a l'avantage d'être directe et de produire une sortie formatée pour la console mais requiert un accès local :
crontab
0 * * * * cd (...)/leed && php action.php >> logs/cron.log 2>&1
  1. En appelant Leed depuis le client web wget. Cette méthode nécessite un accès réseau mais a l'avantage de pouvoir être déclenchée à distance. Afin de contrôler l'accès, il est nécessaire de fournir le code de synchronisation :
0 * * * * wget --no-check-certificate --quiet --output-document /var/www/leed/cron.log
"http://127.0.0.1/leed/action.php?action=synchronize&code=votre_code_synchronisation"

Si vous n'avez pas accès a la commande wget sur votre serveur, vous pouvez essayer son chemin complet /usr/bin/wget.

Plugins

Le dépot Leed market contient tous les plugins à jour et approuvés officiellement pour le logiciel Leed.

Bibliothèques utilisées


Leed (English documentation)

Leed (short for Light Feed) is a minimalist RSS/ATOM aggregator which offers fast RSS consultation and non-intrusive features.

This reader can be installed on your own server and works with a system of cron tasks to process information in a transparent manner and display the updates as quickly as possible when you connect to it.

All tasks are performed in the background thanks to a scheduled task (cron), so the user does not experience delays due to the recovery and processing of each of the monitored feed.

Note that Leed is compatible with all resolutions on pc, tablet and smartphone.

Leed is also compatible with OPML import / export which makes it compatible with aggregators applying the standard.

Prerequisites

  • Recommended Apache server (not tested on other webservers such as Nginx…)
  • PHP 7.2 minimum
  • MySQL
  • A little common sense :-)

Installation

  1. Retrieve the project archive at github.
  2. Place the project in your web directory and if necessary apply a permission chmod 775 (if you're on a ovh hosting, prefer 0755 or you will get an error 500) onto the folder and its contents .
  3. From your browser, go to the setup page install.php (eg your.domaine.fr/leed/install.ph ) and follow the instructions.
  4. Once the installation is complete, remove the install.php as a security measure.
  5. [Optional] If you want the update process to run in the background, set up a crontask. See below for more info. It is advisable not to put too rapid frequency to allow time to run the script.
  6. The script is installed, thank you for choosing Leed, slender RSS aggregator :p

Scheduled tasks with cron

You can edit scheduled tasks with crontab -e. There are two ways to update feeds. The following examples update every hour.

  1. Calling directly Leed. This method has the advantage of being direct and produce formatted output to the console but requires local access :
Crontab
0 * * * * cd (...)/leed && php action.php >> logs/cron.log 2>&1
  1. Leed calling from the web client wget. This method requires network access but has the advantage that it can be triggered remotely. To control access, it is necessary to provide the synchronization code :
0 * * * * wget --no-check-certificate --quiet --output-document /var/www/leed/cron.log
"http://127.0.0.1/leed/action.php?action=synchronize&code=votre_code_synchronisation"

If you do not have access to the wget command on your server, you can try the full path /usr/bin/wget.

Plugins

The Leed-market repository contains all the plugins up to date and officially approved for Leed software.

Libraries used


Leed (Documentación española)

Leed (contracción de Light Feed) es un agregator RSS/ATOM minimalista que permite leer sus RSS rapidamente y facilmente.

Se puede instalar este agregador sobre su servidor. Leed funciona con un sistema de tareas cron para procesar los RSS de manera transparente y mostrarse tan pronto como sea posible cuando se conecta.

Todas las tareas de tratamiento de los RSS se efectuan de manera invisible gracias a una tarea sincronizada (Cron). Así, el usuario no debe sufrir los largos tiempos necesarios para recuperar y tratar los RSS.

Se debe notar que Leed es compatible con todas las resoluciones, sobre un ordenador, una tablet o un móvil y funciona con todos los navegadores.

El script también está compatible con los archivos de exportación/importación OPML para permitir una migración rápida y fácil a partir de todos los agregadores que respetan el formato OPML.

Prerrequisito

  • Se recomienda Apache (non testé sur les autres serveurs type Nginx…)
  • PHP versión 7.2 mínima
  • MySQL
  • Un poco de sentido común ;-)

Instalación

  1. Recuperar el proyecto sobre github.
  2. Poner el proyecto en su directorio web y aplicar un permiso chmod 775 sobre el directorio y su contenido (si su web host es OVH, aplicar un permiso 0755 para no tener un error 500).
  3. Desde el navegador, ir a la página de configuración install.php (por ejemplo : http://su.sitio.fr/leed/install.php) y seguir las instrucciones.
  4. Una vez terminada la instalación, suprimir el archivo install.php por medida de seguridad.
  5. [Opcional] Si desea que las actualizaciones sean automaticas, necesita una tarea cron. Véase más abajo. Es aconsejable no poner frecuencia demasiado rápida para que el script tenga tiempo para ejecutarse.
  6. Se ha instalado el script, gracias por elegir Leed, delgado agregador RSS: p

Tareas cron

Se puede modificar las tareas cron con crontab -e. Hay dos maneras de actualizar los RSS. Los ejemplos siguientes actualizan los RSS cada hora.

  1. Llamando directamente Leed. Esta manera es directa y genera una salida formatada para el terminal, pero necesita un acceso local :
crontab
0 * * * * cd (...)/leed && php action.php >> logs/cron.log 2>&1
  1. Llamando directamente Leed desde el cliente web wget. Esta manera necesita un acceso a la red pero se puede utilizarla de manera remota. Para controlar el acceso, se necesita un código de sincronización :
0 * * * * wget --no-check-certificate --quiet --output-document /var/www/leed/cron.log
"http://127.0.0.1/leed/action.php?action=synchronize&code=votre_code_synchronisation"

Si no tiene wget en su servido, puede intentar con el camino complejo /usr/bin/wget.

Complementos

El repositorio Leed market contiene todos los complementos oficialemente aprobados para Leed.

Bibliotecas usadas

leed's People

Contributors

alef-burzmali avatar ariczh avatar cobalt74 avatar dbeniamine avatar gavrochelegnou avatar grimlokason avatar kstefanini avatar kvnco avatar lapoigne avatar ldleman avatar oliviermaridat avatar phyks avatar sbgodin avatar simounet avatar supitalp avatar theloicoffrance avatar trim avatar vdbhb59 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

leed's Issues

L'export remplace les noms des flux par leurs URL

Régression que j'ai volontairement provoquée à l'époque car les accents dans les noms faisaient bugger l'import, il faudrait voir si on ne peux pas les remettre et régler cette histoire de caractères spéciaux

Raccourcis clavier "M" et changement de page

Le raccourci clavier "M" permet actuellement de défiler les "non lus" en les marquant comme "lu" au fur et à mesure.

Il serait intéressant qu'une fois arrivé en bas de page, le raccourci "M" permette encore de passer au post suivant, en changeant de page automatiquement.

Changer le thème depuis l'interface de gestion

Je sais que pour l'instant il n'existe que 2 thèmes pour Leed, mais j'ai bon espoir d'en voir fleurir d'autre très prochainement (voir d'en faire un moi même pour adapter la taille des font et les ecarts de ligne qui sont par défaut trop grand à mon gout)

donc pour en revenir au fait, serait il possible d'avoir la possibilité de specifier le nom du theme dans l'interface de gestion sans passer par l'edition du fichier constant.php qui necessite une connexion ftp/ssh au serveur (ce que je n'ai pas au boulot :( )

Cron ne répond plus

A creuser mais les mises à jour cron ne se font plus, il faut que je regarde les logs sur le serveur, mais seules celles de leed ne fonctionnent pas.

Question : "lu / non lu" a-t-il du sens

A partir du moment où un article est marqué comme lu, il disparait, quel intérêt alors d'avoir la mention "non lu" qui laisserait supposer qu'on puisse réactiver l'article ?

Implémenter un système d'archivage

Parce que perso, j'aime bien pouvoir chercher un article que j'ai lut y'a 2 mois, mais dont je ne me souvient plus exactement où je l'ai lut ni du titre exacte. Donc ouais, pour ce faire, il faudrait une db du type mondodb qui me semble être parfaite pour ce boulot.

"Remember me" cookie

So user don't have to log in each time he want to check his feeds. (plugin of native feature ?).

Garder un élément non lu

Bonsoir,
Nouvel utilisateur de Leed, ce serait bien de pouvoir garder un élémént non lu afin d'y revenir plus tard...

cron + https

Bonjour,

J'ai eu un petit problème avec le cron, du fait que j'utilise le protocole https et que les logs de cron.log ne sont pas réellement les logs mais plutôt la sortie de la commande wget avec l'option -O /var/www/leed/cron.log.

Pour le protocole https, c'est un problème de certificat, qui peut être ignoré avec l'option --no-check-certificate, ensuite pour les logs j'ai changé les options par -o /var/www/leed/cron.log -O /var/www/leed/flux.log et supprimé le -q pour avoir les logs et la sortie wget.

mon cron

*/30 * * * * wget --no-check-certificate -o /var/www/leed/logs/cron.log -O /var/www/leed/logs/flux.log "https://leed.monsite.com/action.php?action=synchronize&code=xxxxxxxxx"

Améliorations : Theme marigold et/ou theme d'origine

Voici quelques améliorations a vous soumettre que ce soit pour le theme marigold ou le theme par défaut

  • Avoir le bouton "Tout marqué comme lu" à la fin de la page, car generalement on lit en descendant et a la fin de la page il serait pratique d'avoir ce bouton pour marquer le flux comme lu sans avoir à remonter.
  • pouvoir avoir la liste des articles sur une seule ligne et ouvrir/refermer un article simplement en cliquant sur le titre : en gros le meme affichage que sur GReader (non je ne suis pas nostalgique mais c'etait pratique quand meme :) )
  • pouvoir masquer la liste des abonnements (moi personnellement elle ne me sert a rien et elle prend de la place)
  • Voir l'heure/date de la derniere mise a jour cron et/ou manuel, ca permettrait de savoir quand le cron a tourner, pratique lors de la mise en place, et meme par la suite pour savoir quand le dernier fetch a eu lieu.

sinon c'est tout bon pour le reste, changez rien :)

Pagination "bizarre"

Quand on a plusieurs page de flux, et que l'on marque en lu avec le bouton prévu a cet effet, on arrive a la fin de la première page d'article qui est vide. A ce moment il se passe un truc bizarre dans la numérotation des pages ou on se retrouve par exemple a page 2/1.
La premiere page étant vide, on clique sur le 2 mais il n' a plus assez darticlespour faire 2 pages au rafraîchissement... bref ya une couille dans le potage ;-)

Sinon continuez, merci à Google d'avoir fermé reader ;-)

Confusion dans les préférences

Il est possible de sélectionner
"Affichage du contenu de l'article: Non"
et
"Type d'affichage du contenu: Complet"
en simultané, ce qui est plutôt inutile : ça affiche deux fois le jeu de boutons et ça prend un espace supplémentaire pour rien. Je propose que lorsque la première option est sur "non", la seconde soit grisée par souci de simplicité.

touche M comportement délirant peut être trouvé

Malgré l'utilisation de la dernière version Git, Leed continuait à faire n'importe quoi et sautait certains articles, en effaçant d'autres. Dans la liste de mes flux, dans la catégorie général que je n'utilise pas, un flux vide général a été créé. Depuis que j'ai supprimé ce flux, j'ai retrouvé un comportement normal de l'application.

Donner accès au log de synchronisation

Salut,
Si l'on considère que l'utilisateur doit avoir facilement accès au log de la dernière synchronisation, il faudrait enregistrer le log, non pas dans var/log mais dans /var/www/log, et simplement mettre un lien depuis la gestion.
Cela peut cependant poser de petits problèmes d'installation si le dossier mis en ligne n'est pas /var/www ce qui peut arriver sur certaines distributions (NAS par exemple), car la rédaction de la commande lancée dans CRON ne sera pas la même, c'est un avertissement à mettre dans le tuto d'installation.
Il faut bien sûr fixer le nom du fichier et lui donner une extension html.
Mes premiers tests montrent de petits problèmes d'encodage, peu gênants.

Repositionner le scroll après "marquer comme lu"

Sur la page d'accueil générale, en scrollant le long d'un item et en cliquant en bas de l'item sur "Marquer comme lu", ce dernier disparait et l'on se retrouve au milieu de plusieurs items inférieurs.
L'idéal serait de repositionner automatiquement le scroll de page sur l'item suivant celui qu'on vient de marquer comme lu et qui vient de disparaitre.

Events - Echappement du contenu HTML des tags <pre> et <code>

Sur les billets techniques en particulier, les tags <pre> et <code> peuvent contenir des bouts de codes HTML, par exemple :

<code>
<script src="script.js"></script>
</code>
Aujourd'hui, cela provoque des erreurs (cf console Firebug). En effet, le texte de l'article (issu de Event::getContent) est renvoyé tel quel sans formatage.

Il faudrait donc parser le contenu.

Changer l'url d'un flux

Dans la console de gestion, on peut rennomer le nom d'un flux ou supprimer le flux, mais il n'est pas possible de changer l'url du flux, ni meme de la voir pour la controler

Saut de ligne dans log Cron

Juste pour la forme, le log de la tâche Cron ne saute pas la ligne au bon endroit.
Egalement toujours pour la forme, il manque un P à suppression.

En l'état :
flux1 : parsage

flux1 : suppression
flux1 : terminé
flux2 : parsage

flux2 : suppression

"Connection refused" issues ignored

If a distant host is not accepting connections, leed silently ignore the problem and goes on. Therefore, the user will never know that there is a problem and won't try to solve it.

Le script d'install semble ignorer le login mysql saisi

Bonjour,

Lors du processus d'installation je lui saisi un user mysql correspondant à celui créé à la base, celui-ci est bien envoyé en POST mais il semble ensuite que celui-ci soit ignoré lors de la tentative de connexion. J'obtiens alors le message d'erreur suivant :
"Access denied for user 'www-data'@'localhost' (using password: NO)"
'www-data' est l'utilisateur du process

Bug observé sous Debian/NGINX avec l'archive téléchargée ce jour depuis la page : http://projet.idleman.fr/leed/?page=T%C3%A9l%C3%A9chargement

Favicon pour IOS

J'ai ajouté un petit favicon à la racine de mon installation Leed (sans modification du code dans les balises head, juste en ajoutant l'image à la racine).
La petite image pèse 2 Ko et permet, sur IOS, de pouvoir se créer un raccourcis sur le springboard avec une icone propre, et pas une simple capture d'écran.
Ci-dessous une capture du résultat et l'icône.
apple-touch-icon
photo

Apostrophe dans nom d'un flux

Leed ajoute automatique le caractère " \ " avant un apostrophe dans le nom d'un flux.
Impossible de le supprimer.
Caractère non pris en charge ?

Liste d'évènements vide

Premier vrai bug ce matin avec Leed.

Malgré la mise à jour par tâche Cron ou la mise à jour manuelle, ma liste d'évènement reste vide depuis environ 1 heure.

Les log sont vierge de message d'erreur.
La base de donnée est affichée avec une taille de 0 Mo sur MySQL.

Les seules modifications depuis le problème sont :

  • j'ai renommé un flux,
  • j'ai modifié mon Cron pour une mise à jour toutes les 30 minutes au lieu d'une fois par heure.

Export sous forme de flux atom/rss

Il serait tip-top de pouvoir agréger plusieurs flux RSS en un flux unique avec possibilité de sélection ou d'exclusion sur concordance ou non concordance avec une ou des chaînes de caractères choisies.

l Plug-In

Sauter les flux invalides

Actuellement avoir un flux invalide bloque complètement la mise à jour des flux. Il faudrait pouvoir sauter les flux invalides pour mettre le reste à jour, et avertir l'utilisateur qu'il y a un problème.

Régression : disparition des liens vus

Spéciale dédicace à Idleman : si l'on s'en réfère à l’icône "lu/non lu" on pourrait croire qu'on peut basculer un lien du non vu vers le vu, ce qui était possible à la merveilleuse époque où Idleman grisait les liens notés comme vus. Comme ils disparaissent automatiquement, il n'est plus possible de les dégriser ce qui est bien dommage car on ne peut plus faire de retour arrière si on a lu trop vite une information.

Erreur git pull

à l'instant

Updating 2f11571..65bbf9d
error: Your local changes to the following files would be overwritten by merge:
Feed.class.php
Functions.class.php
templates/marigolds/css/style.css
Please, commit your changes or stash them before you can merge.
Aborting

Gestion des flux RSS en erreur

Dans le cas d'un flux RSS non disponible ou retournant une erreur, avoir la possibilité de visualiser le flux en question.
Affichage en rouge dans la gestion et / ou en rouge dans la liste des flux

Option pour une base SQlite

Est-il envisageable de proposer à l'installation d'utiliser une base SQlite au lieu de mySQL?
Serait intéressant pour les petits consommateurs ne suivant pas beaucoup de flux.

Pouvoir réduire un article

Cas d'utilisation: je suis au travail, l'article m'intéresse mais il contient une vidéo, or youtube est bloqué.

Lorsqu'on souhaite garder un article à lire pour plus tard, on est obligé de scroller tout en bas de celui-ci pour avoir accès aux autres articles.
Il serait intéressant d'ajouter un bouton permettant de "réduire", (au sens collapse en anglais) un article de manière à ce qu'il se fasse discret, mais qu'il reste en "non lu"

Avoir une procédure pour les mises à jour de version

Aujourd'hui j'utilise git pour recuperer les dernieres versions, je fais simplement un git pull dans le repertoire pour obtenir les mise à jour, mais je ne sais pas comment se passe le processus de mise a jour (notament pour la base de données)

Pouvez vous faire une petit doc pour nous expliquer comment mettre Leed a jour (soit depuis les sources, soit depuis l'archive zip) ?

Merci

Wiki : créer la liste des bonnes pratiques du codage pour Leed

Il existe de nombreuses règles implicites sur la façon de coder. Fatalement, arrive le cas où il faut uniformiser les travaux. Je suggère la création d'une page de wiki détaillant les exigences de Leed (et de son Leed-er) en la matière :

  • tabulations ? nombre d'espaces ?
  • noms des variables, constantes, méthodes, fichiers ?
  • commentaires ?
  • phpdoc ou équivalent ?
  • etc.

Doublons non détectés

Je viens d'ajouter un flux en doublon par erreur.
Il serait intéressant que Leed le détecte de lui même.

Permettre le partage par mail

[a] class="pointer favorite" href="mailto:?subject=Un article à lire&body={$value->getLink()}" >Mail [/a]
Dans chaque article, ça reste pratique quand on veut partager avec peu de personnes avec un petit commentaire en plus.
Il y a un petit peu de correctif de mise en page, bien sûr.

Adresse du flux disparait si renommé

Dans les gestions des flux, lorsque l'on renomme un flux, l'adresse disparait de l'affichage après enregistrement.
Ce n'est qu'un bug d'affichage, l'adresse réapparaissant après un rechargement de la page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.