1311 private links
🇫🇷 Bienvenue sur mon #Shaarli
Je partage des liens trouvés au fil du web, des mes flux RSS, des réseaux sociaux, etc.
Je garde aussi ici mes notes et articles à lire. Abonnez-vous au flux ou suivez-moi sur Twitter pour avoir les derniers shaares.
Shaarli est un logiciel libre, donc vous pouvez hébergez votre propre instance. N'hésitez pas à y jeter un œil.
🇺🇸 Welcome to my #Shaarli
Note: most content here is in French, but linked articles are often in English.
I share links I found on the web, my RSS feeds, social networks, etc.
I also keep notes and articles to read here. Subscribe to the RSS feed or follow me on Twitter to get the latest shaares.
Shaarli is a free software, so you can host your own instance. Feel free to check it out!
Autre chose lié au header Last-Modified : il est généré à la date en cours avec comme commentaire que c'est pour "prévenir un système de cache client ou proxy".
Je dois rater un truc parce que c'est bien l'intérêt de ce header de servir de marqueur sur la date de mise à jour du contenu, non ?
Je suis tenté de mettre le ctime du fichier datastore.php mais pourquoi c'est pas déjà le cas ?
Très bonne remarque. Parfois, on est tellement habitué à voir un bout de code qu'on n'y prête plus aucune attention.
0.0.40 beta (2013) vs 0.12.1 (2020), ça n'a pas pris une ride !
I just released #Shaarli v0.12.1 with a bunch of new features! 🎉
Shaarli v0.12.1
nginx (#1628) and Apache (#1630) configurations have been reviewed. It is recommended that you
update yours using the documentation.
Users using official Docker image will receive updated configuration automatically.
Added
- Bulk creation of bookmarks
- Server administration tool page (and install page requirements)
- Support any tag separator, not just whitespaces
- Share a private bookmark using a URL with a token
- Add a setting to retrieve bookmark metadata asynchronously (enabled by default)
- Highlight fulltext search results
- Weekly and monthly view/RSS feed for daily page
- MarkdownExtra formatter
- Default formatter: add a setting to disable auto-linkification
- Add mutex on datastore I/O operations to prevent data loss
- PHP 8.0 support
- REST API: allow override of creation and update dates
- Add strict types for bookmarks management
Changed
- Improve regex and performances to extract HTML metadata (title, description, etc.)
- Support using Shaarli without URL rewriting (prefix URL with
/index.php/
) - Improve the "Manage tags" tools page
- Use PSR-3 logger for login attempts
- Move utils classes to Shaarli\Helper namespace and folder
- Include php-simplexml in Docker image
- Raise 404 error instead of 500 if permalink access is denied
- Display error details even with dev.debug set to false
- Reviewed nginx configuration
- Reviewed Apache configuration
- Replace vimeo link in demo bookmarks due to IP ban on the demo instance
- Apply PSR-12 on code base, and add CI check using PHPCS
Fixed
- Compatiliby issue on login with PHP 7.1
- Japanese translations update
- Redirect to referrer after bookmark deletion
- Inject ROOT_PATH in plugin instead of regenerating it everywhere
- Wallabag plugin: minor improvements
- REST API postLink: change relative path to absolute path
- Webpack: fix vintage theme images include
- Docker-compose: fix SSL certificate + add parameter for Docker tag
Removed
config.json.php
new lines in prefix/suffix to prevent issues with Windows PHP
Un truc m'a toujours gonflé avec le logiciel Shaarli : il dépose tout le temps un cookie, même si le visiteur ne s'identifie pas.
Ce cookie permet de créer une session pour le visiteur. Ce n'est pas indispensable mais il y toujours quelques fonctionnalités liées à la session comme le nombre de liens affichés par page.
De manière générale, lorsqu'il y a un dysfonctionnement ou un comportement qui peut être amélioré comme ici, le bon réflexe est de remonter le problème en créant un ticket.
Finally! 🎉
J'aime bien le rendu de ce Shaarli avec le thème par défaut et un peu de CSS custom !
user.css
: https://www.seven-ash-street.fr/links/data/user.css
Added
- Allow user to manually edit tweet format for each shaare
Fixed
- Don't trigger JS events when editing a shaare
- Better handling of checkbox (and new inputs) disabled status with private shaare status
Shaarli no longer officially support PHP 5.6 and PHP 7.0 as they've reached end of life.
Shaarli classes now use namespace, third party plugins need to update.
Added
- Add optional PHP extension to composer suggestions.
- composer: enforce PHP security advisories
- phpDocumentor configuration and make target
- Run unit tests against PHP 7.3
- Bunch of accessibility improvements to the default template, thanks to @llune
- Bulk actions: set visibility
- Display sticky label in linklist
- Add print CSS rules to the default template
- New setting to automatically retrieve description for new bookmarks
- Plugin to override default template colors
Changed
- Shaarli now uses namespaces for its classes.
- Rewrite IP ban management
- Default template: slightly lighten visited link color
- Hide select all button on mobile view
- Switch from FontAwesome v4.x to ForkAwesome
- Daily - display the current day instead of the previous one
Fixed
- Do not check the IP address with session protection disabled
- API: update test regexes to comply with PCRE2
- Optimize and cleanup imports
- ensure HTML tags are stripped from OpenGraph description
- Documentation invalid links
- Thumbnails disabling if PHP GD is not installed
- Warning if links sticky status isn't set
- Fix button overlapping on mobile in linklist
- Do not try to retrieve thumbnails for internal link
- Update node-sass to fix a vulnerability in node tar dependency
- armhf Dockerfile
- Default template: Responsive issue with delete button fix
- Persist sticky status on bookmark update
Removed
- Doxygen configuration
- redirector setting
- QRCode link to an external service
Nouvelle release du plugin.
Changelog
Added
- Hide URL parameter for notes (check out the README).
- UT and Travis build
Fixed
- Fix an issue where a field would be cut with a negative number
- Remove non alphanumerical tags because Twitter only allows that
- PSR-2 syntax
Changed
- URL are now removed from title, description and tags to prevent length errors, broken links and unreadable tweets.
- All internal function are now prefixed to avoid collusion with other plugins
thanks to @yomli
Tiens si y'en a que ça intéresse, je partage mon image Docker, faite un peu à l'arrache, qui permet de mettre à jour Shaarli en 20 secondes avec des plugins personnalisés. Ça nécessite l'image nginx-proxy
et son companion Let's Encrypt.
Attention quand même, c'est la version de dev.
Dockerfile
:
FROM shaarli/shaarli:master
WORKDIR /var/www
RUN apk --update --no-cache add git \
&& git clone https://github.com/ArthurHoaro/shaarli2twitter.git shaarli/plugins/shaarli2twitter \
&& git clone https://github.com/kalvn/shaarli-plugin-autosave.git shaarli/plugins/autosave \
&& git clone https://github.com/ArthurHoaro/code-coloration.git shaarli/plugins/code_coloration \
&& git clone https://github.com/kalvn/shaarli2mastodon shaarli/plugins/shaarli2mastodon \
&& mv shaarli/plugins/code_coloration/code_coloration/* shaarli/plugins/code_coloration/ \
&& mv shaarli/plugins/shaarli2twitter/shaarli2twitter/* shaarli/plugins/shaarli2twitter \
&& rm -rf shaarli/plugins/shaarli2twitter/shaarli2twitter \
&& chown -R nginx:nginx shaarli
EXPOSE 80
ENTRYPOINT ["/bin/s6-svscan", "/etc/services.d"]
CMD []
update.sh
(dans le même répertoire):
#!/bin/bash
docker pull shaarli/shaarli:master
docker build --no-cache -t arthurhoaro/links .
docker rm -f links
docker run -d \
-v /data/links:/var/www/shaarli/data \
-e VIRTUAL_HOST=links.hoa.ro \
-e VIRTUAL_PORT=80 \
-e LETSENCRYPT_HOST=links.hoa.ro \
-e LETSENCRYPT_EMAIL=<email> \
--restart always \
--name links \
arthurhoaro/links:latest
Et y'a plus qu'à lancer update.sh
.
kebab-case
(bien qu'un peu controversé)
snake_case
https://en.wikipedia.org/wiki/Letter_case#Special_case_styles
https://stackoverflow.com/a/12273101/1484919
J'ai release la dernière version de Shaarli (et la .2 à cause d'une merde sur Docker) qui inclus plusieurs corrections sur des bugs de la v0.10.
Vous devriez pouvoir maintenant profiter des changements de la v0.10 sans soucis. Merci à tous ceux qui contribuent, y compris en nous remontant les bugs.
La v0.9.0 de Shaarli a été publiée !
Deux grands changements ont été apportés :
- un nouveau thème (merci encore pour vos retours)
- une API REST
Vu qu'il s'agit de fonctionnalités qui ont demandé beaucoup de travail, cette version majeure est un peu plus chargée que d'autres. On espère qu'aucun bug ne s'est glissé dedans. Si jamais c'était le cas, remontez les sur Github. :)
Changelog
This release introduces the REST API, and requires updating HTTP server
configuration to enable URL rewriting, see:
- https://shaarli.github.io/api-documentation/
- https://github.com/shaarli/Shaarli/wiki/Server-configuration
WARNING: Shaarli now requires PHP 5.5+.
Added
- REST API v1
- Slim framework
- JSON Web Token (JWT) authentication
- versioned API endpoints:
/api/v1/info
: get general information on the Shaarli instance/api/v1/links
: get a list of shaared links/api/v1/history
: get a list of latest actions
Theming:
- Introduce a new theme
- Allow selecting themes/templates from the configuration page
- New/Edit link form can be submitted using CTRL+Enter in the textarea
- Shaarli version is displayed in the footer when logged in
- Add plugin placeholders to Atom/RSS feed templates
- Add OpenSearch to feed templates
- Add
campaign_
to the URL cleanup pattern list - Add an AUTHORS file and Makefile target to list authors from Git commit data
- Link imports are now logged in
data/
folder, and can be debug usingdev.debug=true
setting. composer.lock
is now included in git file to allow propercomposer install
- History mechanism which logs link addition/modification/deletion
Changed
- Docker: enable nginx URL rewriting for the REST API
- Theming:
- Move
user.css
to thedata
folder - Move default template files to a subfolder (
default
) - Rename the legacy theme to
vintage
- Private only filter is now displayed as a search parameter
- Autocomplete: pre-select the first element
- Display daily date in the page title (browser title)
- Timezone lists are now passed as an array instead of raw HTML
- Move
- Move PubSubHub to a dedicated plugin
- Coding style:
- explicit method visibility
- safe boolean comparisons
- remove unused variables
- The updater now keeps custom theme preferences
- Simplify the COPYING information
- Improved client locale detection
- Improved date time display depending on the locale
- Partial namespace support for Shaarli classes
- Shaarli version is now only present in
shaarli_version.php
- Human readable maximum file size upload
Removed
- PHP < 5.5 compatibility
- ReadItYourself plugin
Fixed
- Ignore generated release tarballs
- Hide default port when behind a reverse proxy
- Fix a typo in the Markdown plugin description
- Fix the presence of empty tags for private tags and in search results
- Fix a fatal error during the install
- Fix permalink image alignment in daily page
- Fix the delete button in
editlink
- Fix redirection after link deletion
- Do not access LinkDB links by ID before the Updater applies migrations
- Remove extra spaces in the bookmarklet's name
- Piwik plugin: Piwik URL protocol can now be set (http or https)
- All inline JS has been moved to dedicated JS files
- Keep tags after login redirection
Security
- Markdown plugin: escape HTML entities by default
- Changed: the setting TWITTER_USE_PERMALINK has been removed and replaced by a placeholder ${permalink}.
- Major bug fix: URL length were calculated using their actual length instead of t.co length.
- Minor bug fix: Support multibytes string split (e.g. don't truncate emoji).
Merci à tous pour vos retours, et à Seb pour avoir fait passer le mot. Ça m'aide beaucoup, et y'a encore du boulot !
Quant à savoir pourquoi on n'est pas parti sur le thème Material ou celui de Framasoft, la principale raison c'est qu'on voulait rester assez simple techniquement, et pas forcément sortir l'artillerie SASS/Bootstrap/jQuery.
Dans tous les cas, vous avez le choix !
Et si certains veulent contribuer, c'est avec plaisir.
La prochaine version de #Shaarli embarquera un nouveau thème par défaut, pour remplacer l'actuel, qui vieillit assez mal.
J'ai un résultat qui fonctionne pas mal sur desktop et mobile, mais je ne suis pas vraiment web designer, alors je fais appel à votre bon goût pour que vous me donniez votre avis (constructif si possible) : sur Github ou sur shaarli.fr.
C'est ici : http://workspace.hoa.ro/shaarli/
- login:
demo
- password:
demo
Dans tous les cas, le thème actuel sera toujours présent et maintenu.
J'ai écrit un plugin pour Shaarli qui permet de publier automatiquement ses shaares vers Twitter.
Je ne l'ai pas mis dans le repo principal, parce que c'est un peu galère à configurer (il faut un numéro de téléphone, 4 tokens...), et que je m'appuie sur un wrapper tiers de l'API Twitter, mais n'hésitez pas à l'utiliser si ça vous intéresse.
J'en ai profité pour mettre à jour mon thème avec Shaarli v0.8.0: https://github.com/ArthurHoaro/shaarli-launch
J'ai enfin migré mon Shaarli sur mon « nouveau » serveur, tout docker-ifié. J'en ai profité pour virer mes hacks et le rendre compatible avec la dernière version v0.6.3
et les futures versions proprement.
Ça veut dire mise à jour du thème, qui est maintenant personnalisable. C'est sur Github et c'est libre. Je l'ai appelé Launch, comme le thème Wordpress duquel je me suis inspiré à l'époque.
Et pour personnaliser tout ça, par exemple le menu, j'ai fait un plugin shaarli.
Maintenant je n'ai plus la honte de contribuer activement et d'utiliser une vieille version en prod. 🙂
Ça oblige également à vérifier la licence de chaque Shaarli.
Par exemple, le contenu de mon Shaarli est publié sous la licence CC-BY, ce qui ne t'autorise en principe pas à en partager le contenu anonymement.