Giter Club home page Giter Club logo

flus's Introduction

Flus

Aggregate, save and share links from all over the Web.


Flus brings together news feed aggregation and social bookmarking in a modern way. It is designed as a simple, yet complete tool for organising the links you gather around the Web. It comes with four main features:

  • the feeds aggregation (RSS and Atom) to follow any website, podcast or video channel in one place;
  • the bookmarks and collections to save your favourites articles for later and to organise them;
  • the news to keep control over your newsfeed;
  • the profile to share links with others.

You can try Flus for free at demo.flus.fr.

It’s free/libre software (politically speaking) while being supported by a micro-enterprise to ensure its viability. The main service is available to French people at flus.fr. You can help to fund the development by taking a subscription to the service.

Flus is licensed under AGPL 3.

Screenshot of the news page with 3 links

Credits and dependencies

Flus is built upon the work of many other people:

It’s also based on other projects:

How to contribute?

I sincerely appreciate if you want to contribute. Here’s a few things you can do:

  • taking a subscription at flus.fr (French);
  • reporting bugs or make feature requests in issues;
  • writing blog posts to speak about the project.

I don’t accept Pull Requests on this project. A code contribution requires a lot of time to review, to comment and to maintain. Even the smallest one can require hours of my time. Also, code isn’t where I need help.

If you have any question, feel free to send me a message.

Administrator guide

This guide is intended to people who want to install Flus on their own server.

  1. Deploy in production
  2. How to update Flus
  3. How to improve performance
  4. Enable experimental features
  5. CHANGELOG

You also might be interested by the following:

  1. Technical stack overview
  2. How is the CLI working

Developer guide

If you plan to take a look at the code, these guides should be helpful to understand how Flus is developed.

  1. Technical stack overview
  2. Setup the development environment
  3. How to update Flus
  4. Getting started
  5. Working with Docker
  6. How are the users’ errors managed
  7. How is the CLI working
  8. How is the localization managed
  9. How are the assets bundled
  10. How to run the test suite

Maintainer guide

This guide is intended to myself, as a maintainer of Flus.

  1. How to release a new version

flus's People

Contributors

marienfressinaud avatar dependabot[bot] avatar

Stargazers

John BigoudOps avatar John Allen avatar  avatar Hadrien avatar rjt avatar Jef avatar  avatar  avatar  avatar  avatar Edgar Onghena avatar  avatar Corentin Bettiol avatar Lukács József avatar ᯅ  avatar Ellie Schieder avatar Alexis Menantaud avatar Juri Hahn avatar Occular Malice avatar Bertrand Florat avatar  avatar Emmanuel Durand avatar Maxime Le Conte des Floris avatar Florent V. avatar Alexis Georges avatar Ludo avatar Andrea PIERRÉ avatar  avatar  avatar  avatar Fanny Cheung avatar Paul Michalet avatar Kazerlelutin avatar  avatar  avatar  avatar Sergey Kuznetsov avatar Alexandre Aubin avatar Mark avatar Boo avatar Jérôme Villafruela avatar Cloudflying avatar Oliv' avatar  avatar Florent NOEL avatar iooner avatar Favored Tunes avatar Sébastien COLLADO avatar AbdeliAli Eramli avatar Aloys avatar  avatar kaliko avatar BastLast avatar Julien SEIXAS avatar Noé De Cuyper avatar Butonix avatar  avatar Aurélien Tamisier avatar  avatar Peng.xn avatar Frans de Jonge avatar Mathieu Velten avatar Luce Carević avatar Nicolas Bondoux avatar Corentin Flr avatar Grégory Houllier avatar Cyril Jovet avatar Nicolas Paris avatar Xavier Van de Woestyne avatar  avatar Axel Pericart avatar Julien T avatar KiVeR avatar Pierre Lecerf avatar Yori Mirano avatar Mahal avatar Jean-Francis AHANDA avatar Morty avatar  avatar  avatar Florian Klein avatar Etienne Dldc avatar ozaki avatar Loïc Cotonéa avatar MorpheusH3x avatar Romain Hennuyer avatar CaDJoU avatar Khalil Charfi avatar Lénaïc Grolleau avatar  avatar Alexandre ZANNI avatar Benjamin DONNOT avatar Louis avatar  avatar Brieuc DLF avatar Luckachka avatar Emmanuel Pays avatar lieo avatar Rachid avatar Krazy Bug avatar

Watchers

Neustradamus avatar James Cloos avatar Butonix avatar

Forkers

garffi wprobot

flus's Issues

Comment se connecter au compte par défaut?

L'adresse email saisie dans le .env (APP_SUPPORT_EMAIL) est utilisée pour créer un compte utilisateur par défaut.

Comment se connecter à ce compte?
Faut-il utiliser "mot de passe oublié" (et donc obligatoirement configurer un serveur smtp)?

Flus.fr - thème sombre

Salut :)

Serait-ce envisageable d'ajouter un thème sombre et un thème noir (pour les écrans de smartphone AMOLED) ?

Merci par avance et bonne journée !

Récupérer la durée des vidéos

À ma connaissance ce n'est pas fait actuellement, les vidéos issues de flux de chaînes YouTube sont affichées avec la durée suivante :

< 1 min

On pourrait se dire que ce n'est pas gênant, mais dans mon cas j'ajoute très souvent des vidéos dans mes signets pour les visionner plus tard. Lorsque je souhaite remplir mon journal avec 3 liens de -10 minutes depuis mes signets, je me retrouve fatalement avec toutes ces vidéos.

Flux HAL détecté seulement comme une page web

Salut, quand je saisis cette URL1 dans le champ de recherche/ajouter, Flus propose de bookmarker la page, alors que je m'attendais aussi à m'abonner au flux. Cette URL est celle d'un flux RSS. Il est proposé dans le résultat de recherche, dans les "..." verticaux en gris très clair au-dessus des résultats).

Est-ce un bug ou une fonctionnalité ?

image

Footnotes

  1. https://api.archives-ouvertes.fr/search/hal/?omitHeader=true&wt=rss&q=%2A&sort=producedDate_tdate+desc&fq=NOT+instance_s%3Asfo&fq=NOT+instance_s%3Adumas&fq=NOT+instance_s%3Amemsic&fq=NOT+instance_s%3Ahceres&fq=NOT+%28docType_s%3AHDR+AND+submitType_s%3A%28notice+OR+annex%29%29&fq=NOT+docType_s%3A%28MEM+OR+PRESCONF+OR+MINUTES+OR+NOTE+OR+SYNTHESE+OR+OTHERREPORT+OR+REPACT+OR+BOOKREPORT+OR+ETABTHESE+OR+MEMLIC+OR+CREPORT%29&fq=NOT+status_i%3A111&fq=%7B%21tag%3Dtag0__authIdHal_i%7DauthIdHal_i%3A%28%221059633%22%29&defType=edismax&rows=50

S'affranchir de la limite de 3 jours dans les news provenant des collections

Je passe à côté de pleins d'items parce qu'il y a une limite arbitraire de 3 jours par rapport à la date de publication d'un item (pas dite, pas explicite).

Ça a pour effet que je me rends sur flus plus souvent, pour remplir mes news et éviter d'en "perdre" (parce que la vue collection ne m'offre aucun moyen de voir les collections qui ont des nouveaux trucs — ce qui fait que je ne me rends jamais dans cet onglet là).

Renommer les flux

Salut,

Vu qu’on a le droit d’écrire en français sur ce github, j’en profite ;-)
Ça serait bien qu’on puisse avoir la possibilité de renommer les flux importés dans flus...
C’est prévu ?

Un lien relatif de type `application/rss+xml` suggère une adresse incorrecte de flux à suivre

Pour reproduire le problème :

  1. Je me rends sur https://www.innovation-pedagogique.fr/auteur12.html
  2. Je copie l'adresse de la page
  3. Je me rends sur https://app.flus.fr/links/search
  4. Je colle
  5. 3 propositions sont faites :
  • ajouter la page en question dans "Read later" ou une collection
  • un flux des articles de la personne (sans titre, sans items)
  • un flux des articles du site (sans titre, sans items)

image

Quand je saisis l'URL absolue du flux qui m'intéresse (https://www.innovation-pedagogique.fr/spip.php?page=backend&id_auteur=12), tout roule, flus indique bien 10 items.

Il semblerait que le code suivant crée cette erreur :

<link rel="alternate" type="application/rss+xml" title="Michel Briand" href="spip.php?page=backend&amp;id_auteur=12" />

Le contenu du href est concaténé à l'adresse de la page courante, qui est elle même fait référence à un fichier. Du coup, ça coince.

Dossier de cache non créé par défaut?

En laissant la valeur par défaut pour APP_CACHE_PATH, j'ai obtenu une erreur indiquant que le chemin du cache n'existait pas quand j'ai voulu ajouter un lien. Il m'a fallu créer manuellement le dossier ./cache.

Est-ce que j'ai loupé une étape à la configuration, ou s'agit-il d'un bug?

Problème d'affichage des options de « Vider le journal »

Salut !

Quand on appuie sur le bouton « Vider le journal » alors que le bouton est situé trop bas sur la page, les options s'affichent tronquées et on doit faire défiler la page pour les voir.

Exemple:
image

Ce serait, je pense, plus chouette, si dans ces conditions les options s'affichaient au dessus du bouton ou si la page défilait automatiquement pour les voir en entier.

Exposer une API à-la-FreshRSS

Visiblement FreshRSS a l'air populaire.

Pour m'affranchir temporairement de la limite 3 jours des News+Collections, j'allais importer un OPML dans NetNewsWire. Et je vois que le logiciel propose de se brancher à son compte FreshRSS.

Du coup, je propose l'idée d'avoir au moins en lecture les API HTTP nécessaires pour importer/synchroniser son compte dans d'autres outils, comme si Flus était du FreshRSS (parce que, pour l'intégration dans l'écosystème des logiciels RSS existants).

Screenshot 2021-07-20 at 09 09 20

Screenshot 2021-07-20 at 09 19 44

There's no PWA icon

Hey 👋 Thanks for making Flus!

I think I read in your blogposts that the Flus webapp should work as a PWA.

However, when I tried to add app.flus.fr on my smartphone's homescreen (an iPhone SE from 2015), iOS displayed a screenshot of the web app instead of a nice icon.

It seems there is no web app manifest yet on app.flus.fr, which means there will be no app icon and no experience enhancements like automatically hiding the browser UI.

It is very low priority at the moment, but adding a .webmanifest and linking to it would likely improve the user experience for folks who want to use Flus as an app 🙂

Edit: I learned that currently, the web manifest is only used on Android, and isn't used at all on iOS, which instead relies on two head tags:

<!-- Example PWA tags for iOS -->
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="apple-touch-icon" sizes="180x180" href="static/icons/icon-180.png">

Export OPML de ses collections Flus

À défaut d'avoir #311, je me disais que j'allais exporter mes collections au format OPML… mais visiblement Flus ne le permet pas ?

image

Du coup je me retrouve bloqué dans Flus en mode web, je ne peux pas lire mes abonnements sur un autre logiciel 🙃

[UI/UX] Interface display is too big

Hi,

Thanks for maintaining this opensource project! I really do appreciate it.

One remark is that on my screen, the whole interface size is too big and few information are visible. I need to zoom out to have a better experience.

Can you reconsider items sizes?

Thanks

Here a full screen capture (I don't see more stuff):
image

[amélioration] Remettre le défilement là où il était après avoir effectué une action

Lorsque je retire des éléments du Journal (quelque soit l'action), la page est rechargée (il me semble) et le défilement est remis tout en haut.
Lorsque ce sont les éléments du bas du Journal que je traite (et qu'il en reste plus haut par exemple), c'est désagréable de devoir redescendre plusieurs fois d'affilé pour traiter les suivants. En plus les éléments peuvent avoir bougé (être remonté d'une ligne par exemple), donc c'est un peu moins facile de les retrouver que si le défilement n'avait pas bougé.

L'idéal serait de pouvoir remettre le défilement à son niveau précédent, mais je n'ai aucune idée de si c'est simple à faire :)

Cela est peut être dû à ma manière de lire le Journal : j'ouvre les liens que je veux lire, puis je marque les liens lu comme lu, puis je retire tout le reste du journal en une seule action. Je retire plus souvent des liens que je n'en lis, ce qui a tendance à provoquer cette situation j'imagine.

[BUG] Images not loaded in news

Hi,

I experienced an issue. Maybe this is due to the fact that Flusio is hosted behind a reverse proxy + subdirectory.

None of the images are loaded and I have this error message in JS console:

Content-Security-Policy: The page’s settings blocked the loading of a resource at eval (“default-src”).
Source: window.__cmp&&typeof __cmp("getCMPData") [news](https://<redacted>/flusio/news)
Content-Security-Policy: The page’s settings blocked the loading of a resource at eval (“default-src”).
Source: typeof window.utag<"u"&&typeof utag.gdpr…

I'm using FF 122.0.1 (64-bit) + adblockers/ghostery/Enhance tracking protection off

Any clues?
Thanks

Items en double

Certains items sont parfois affichés en double, mais ce n’est pas systématique non plus.

Exemples :

Le défilement est remis en haut après avoir suivi une collection

Reproduire le problème :
Dans l'onglet Découvrir, faire défiler l'écran et cliquer sur une collection n'étant pas situé en haut du défilement, cliquer sur "suivre", cliquer sur "retour". Alors le défilement est remis tout en haut de la page.
Cela a également lieu quelque soit l'action que l'on fait au sein de l'écran de la collection.

Résultat attendu :
Le défilement devrait rester au niveau de la collection que l'on suivait. C'est ce qu'il se passe lorsque l'on ne choisi pas de suivre cette collection ou toute autre action sur la page.

Problème rencontré sur le navigateur smartphone Firefox version 90.1.2 (Build #2015823035). Firefox étant installé sur une téléphone Android 11.

[Question] Moving to a popular framework

As explained in the docs, you're using your own framework. Why that? Is it to learn building one or something?

If not, what about moving to Laravel or Symfony so it would be easier for maintainer like me to open PRs?

The project is still relatively young and the migration won't be that difficult at this stage, I guess.

I really like the idea of this project but I think the development will be slowed down by the stack. Modern frameworks come with basically everything we need to build a project like this one.

Import en masse

Salut !

Il y a moyen d'importer en masse des liens via une API ? (~1200)
J'ai cherché un peu, j'ai rien trouvé

Ne prend pas en compte le sous-dossier (APP_PATH)

La variable APP_PATH définie dans le fichier .env n'a pas l'air d'être prise en compte : je l'ai configuré pour utiliser /flusio, lorsque j'accède à cette adresse (en ayant proprement configuré le serveur) j'obtiens cette erreur :

Minz\Errors\RouteNotFoundError: Path "get /flusio" doesn’t match any route. in /var/www/flusio/lib/Minz/src/Router.php:140
Stack trace:
#0 /var/www/flusio/lib/Minz/src/Engine.php(55): Minz\Router->match()
#1 /var/www/flusio/src/Application.php(89): Minz\Engine->run()
#2 /var/www/flusio/public/index.php(43): flusio\Application->run()
#3 {main}

Horodatage

Salut,

De mon point de vue, la date du jour n’est pas assez précise dans les vignettes.

image

Si par exemple j’ajoute le flux rss de commentaires de blog (linuxFR au hasard), je voudrais pouvoir voir les heures précises des commentaires en question. Idem pour les articles de presse. La date du jour est trop imprécise.

Unable to setup database

Hi,

Thanks for this amazing project! I'm trying to self-host flusio but I ran to an issue while doing the DB setup: sudo -u www-data php cli migrations setup

PHP Fatal error:  Uncaught PDOException: SQLSTATE[42P04]: Duplicate database: 7 ERROR:  database "flusio" already exists in /home/<redacted>/flusio/lib/Minz/src/Database.php:243
Stack trace:
#0 /home/<redacted>/flusio/lib/Minz/src/Database.php(243): PDO->exec()
#1 /home/<redacted>/flusio/lib/Minz/src/Database.php(143): Minz\Database->pdoCall()
#2 /home/<redacted>/flusio/lib/Minz/src/Database.php(325): Minz\Database->exec()
#3 /home/<redacted>/flusio/lib/Minz/src/Migration/Controller.php(132): Minz\Database::create()
#4 /home/<redacted>/flusio/lib/Minz/src/Migration/Controller.php(100): Minz\Migration\Controller->initialize()
#5 [internal function]: Minz\Migration\Controller->setup()
#6 /home/<redacted>/flusio/lib/Minz/src/Response.php(711): Generator->current()
#7 /home/<redacted>/flusio/cli(26): Minz\Response::sendToCli()
#8 {main}
  thrown in /home/<redacted>/flusio/lib/Minz/src/Database.php on line 243

If I remove the DB, I have:

PHP Fatal error:  Uncaught Minz\Errors\DatabaseError: An error occured during database initialization: SQLSTATE[08006] [7] FATAL:  database "flusio" does not exist. in /home/<redacted>/flusio/lib/Minz/src/Database.php:70

What should I do?

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.