Links related to tag opensource

de l'opensource au coréen

Un truc qui plombe grandement nos projets opensources, pour la majorité d'entre nous qui les gérons solo, outre que personne n'a envie de contribuer, c'est la pérennité des lib, ou (de la version) du langage utilisé(e), qui nous pousse sans cesse à "rester" à jour avec ses dépendances.

Sauf que, à un moment, seul devant sa feuille, se farcir des update de framework/lib, quand on considère que son projet est stable comme il est, ça devient très pénible.

Du coup on se retrouve par la force des choses, à planter là son projet malgré nous, ne plus le mettre à jour et le rendre inutilisable dès lors qu'une des lib en dépendance aura changé son API.

Par exemple, un projet que j'avais réalisé, permettait de faire communiquer des données provenant d'une bonne grosse poignée de lib tierce comme Evernote Twitter mastodon wallabag, slack, mattermost et j'en passe

Quand tout cela marchait de concert c'était génial.

Mais dès qu'il fallait suivre les évolutions de chacune d'elle + les dépréciations de Django + les versions de python qui évoluaient à leur tour + la base de données + la distribution de linux (qui supportait une autre version de python) + l'OS lui-même ...

Mais on connait tous les effets/méfaits de la course aux corrections de bug, failles de secu, "ameliorations", que cela engendrent pour nos (petits) projets.

Alors qu'avec une Django 2.2 et un python 3.6, tout marchait.

Ces modif et améliorations font certes partie du quotidien de la vie d'un projet, et quand on est plusieurs, on s'en sort à peu près.

Du coup, à part une solution dégeu: se faire des images docker qui permettraient de "cryogéniser" nos projets avec tout le package des dépendances, je ne vois pas trop comment ne pas faire arakiri à ses projets.

J'ai lu sur twitter un post interessant (pour une fois hein;) et tout à fait pertinent (desole je ne l'ai pas retrouvé). Ce n'est pas parce qu'un projet n'évolue pas qu'il est soit abandonné, soit moisi, soit ne marche pas/plus. C'est juste qu'il est mature comme il est et qu'on en est content tel quel (auteur comme utilisateur).

Peut-être la solution ultime est de pondre un projet sans aucune dépendance, autre que celle du langage de programmation utilisé ?

J'ai croisé peu de projets n'ayant que le langage pour dependance (et même aucune base de données) :

En PHP : "Shaarli".

En JS : Je n'ai pas creusé 0bin mais ca doit pas en être loin non plus.

En Python je n'ai pas trouvé de projet complet (qui ne soit pas une lib ou un framework) avec quasi aucune dependance

Pour ma part, les derniers produits sont avec python/django ou starlette/sqlite/feedparser

Sinon on peut faire encore mieux, comme bibi et se mettre au

co ré en !

à part un peu de sous (avec un CPF;) et de temps (qu'on retrouve en lachant "l'ingrat opensource"), comme dependances, c'est tout !

Nyuseu .:. 뉴스 .:. News - foxmask

Project to follow news from several sources

Project source

ShaarPy Project

ShaarPy

Share Your Thoughts, Links, Ideas, Notes

Description

This project is a clone of the great Shaarli made in PHP. This one is made in Python3.10 and Django 4.x

The features

Notes
  • Create notes in Markdown
  • Drop a URL and ShaarPy will grab the article page with image and video if the source website provides ones article with image
Tags
  • Manage tags
  • Tag Cloud

tag cloud

  • See the links of the day and navigate throw the calendar to go back to your old links

daily links

Tools
  • for each link added, a markdown file can be create in a folder that will be sync on your mobile with the help of "syncthing"
  • Import of Shaarli exported bookmark, or even FireFox bookmarks
  • you can export/import your data in json

export

python manage.py dumpdata --format json --indent 2 > fixtures/my_shaarpy_dump.json

import

python manage.py loaddata --format json  fixtures/my_shaarpy_dump.json

Installation

system requirements :

  • pandoc
apt install pandoc

creation of a python virtualenv

python3 -m venv shaarpy
cd shaarpy
source bin/activate

install the project

git clone https://git.afpy.org/foxmask/shaarpy
cd shaarpy
Settings

copy the sample config file

cp env.sample .env

and set the following values

# for meta
SHAARPY_NAME=ShaarPy FoxMaSk Links
SHAARPY_DESCRIPTION=Share thoughts, links ideas, notes
SHAARPY_AUTHOR=FoxMaSk
SHAARPY_ROBOT=index, follow
# for MD generation
SHAARPY_LOCALSTORAGE_MD=/home/foxmask/MesNotes/links
SHAARPY_STYLE=blue

SECRET=!DONTFORGETTOCHANGETHISVALUE!

DEBUG=True   # or False in prod
DB_ENGINE='django.db.backends.sqlite3'
DB_NAME='db.sqlite3'
DB_USER=''
DB_PASSWORD=''
DB_HOST=''
DB_PORT=''

TIME_ZONE='Europe/Paris'
LANGUAGE_CODE='en-en'
USE_I18N=True
USE_L10N=True
USE_TZ=True
Database

setup the database

cd shaarpy
python manage.py createsuperuser
python manage.py migrate
python manage.py loaddata --format json  fixtures/my_shaarpy_data.json
Running the Server

start the project

python manage.py runserver localhost:8001

then, access the project with your browser http://127.0.0.1:8001/