Découverte de Linkding : un outil de bookmarking

bookmark 4 juin 2023

Il n’y a pas si longtemps que ca, j’ai parlé de Shiori, un outil de bookmarking (marque-pages) self-hosté codé entièrement en Golang. Certes, le projet est sympa, mais il avait plein de soucis:

  • Depuis le changement de propriétaire du projet, la progression n’est toujours pas la (la dernière release lors de l’article remonte au 2 Janvier 2023);
  • Ensuite, l’outil est un peu faible en fonctionnalités directes (pas d’exportation directe depuis le site par exemple), et est un enfer sans nom via Docker;
  • Et enfin, l’outil tiers pour Mozilla Firefox ou basé pour Chrome est d’une calamité sans nom: reconnexion toutes les 15 minutes, beaucoup d’erreurs, et lui-aussi semble être oublié depuis un temps.

Il est grand temps de changer de cap, et de trouver un truc plus moderne et fonctionnel. C’est dommage, j’aimais bien l’archivage local, et la preview imagée de la page.

Donc après plusieurs heures de recherches, j’ai voulu prendre un meilleur outil de bookmarking, qui est régulièrement à jour. Et j’en ai trouvé un: il s’agit de Linkding. Non, pas Linkedin ; Linkding. Sérieusement le nom du projet est relativement stupide et prête immédiatement à confusion, à moi y compris, surtout dans la prononciation du nom du projet. Mais passons ce détail, cet outil gère quasiment tout ce que Shiori faisait durant ce temps.

Exemple de son interface

Installation

Le README.md du repository officiel contient déjà tout ce qu’il vous faut pour l’installer via docker ou docker-compose. Personnellement je n’utilise que docker-compose pour tous mes contenaires, donc on va utiliser celui inclus dans la documentation:

version: '3'

services:
  linkding:
    container_name: "${LD_CONTAINER_NAME:-linkding}"
    image: sissbruecker/linkding:latest
    ports:
      - "${LD_HOST_PORT:-9090}:9090"
    volumes:
      - "${LD_HOST_DATA_DIR:-./data}:/etc/linkding/data"
    env_file:
      - .env
    restart: unless-stopped

Si vous utilisez Traefik en tant que reverse proxy, vous aurez besoin de changer la variable d’environnement LD_CSRF_TRUSTED_ORIGINS , en pointant vers le lien complet de votre instance Linkding (par exemple, https://linkding.monsiteamoi.fr). Mis à part cette info, la mise en place des infos de Traefik ne change pas.

Exemple de docker-compose avec Traefik (depuis Portainer)

Maintenant, n’oubliez pas de télécharger le fichier .env.sample, que vous allez renommer en .env.

Une fois que c’est lancé, vous allez sur votre site (`http://<votre IP>:9090`), et vous tomberez sur ceci. Problème: vous n’avez pas d’identifiants… On va régler ça.

La documentation l’explique heureusement: dans une nouvelle invite de commande, on va lancer une commande permettant de créer notre premier utilisateur (qui sera automatiquement super-utilisateur). Il vous demandera le mot de passe qu’il faudra rentrer 2 fois.

docker-compose exec linkding python manage.py createsuperuser --username=<votrepseudo> --email=<votre email>

Une fois terminé, vous devriez être capable de vous connecter!

Les bookmarks rapides

Linkding a une fonction assez pratique pour sauvegarder ses bookmarks: avec une intégration via marque-pages.

Vous n’avez qu’à la glisser vers la zone des marques pages pour l’avoir en tout temps.

Désormais, une fois que vous êtes sur une page que vous souhaitez garder, vous n’avez plus qu’à cliquer dessus: cette page apparaitra:

Plus qu’à sauvegarder! Cet onglet se fermera (et non la page que vous étiez en train de lire, histoire de clarifier), et vous le verrez dans votre liste!

L’extension pour navigateur

Linkding a aussi une extension (gérée par son auteur!) disponible sur Firefox ou sur tout navigateur basé sur Chrome. Et ça tombe bien, car on nous montre comment l’obtenir rapidement, dans les options.

Bon, OK… La page donnée pour Firefox est en allemand (développeur oblige), mais cela ne devrait pas vous gêner quand même pour savoir où cliquer pour l’installer. Si vous avez vraiment pas envie de chercher, ceci est le lien FR de l’extension. Le lien vers Chrome en revanche n’a pas ce souci et est bien en version FR.

Une fois installé, il vous suffit d’aller dans la page d’extensions (CTRL + SHIFT + A) , et d’aller dans les options du plugin (... => Options ). Plus qu’à remplir les informations demandées. Pour rappel, la clé d’authentification se trouve en bas de la page « Intégrations » de Linkding.

Une fois le plugin enfin configuré, comment le faire fonctionner? Tout simplement avec le raccourci SHIFT + ALT + L. Un petit onglet apparait, où vous pouvez remplir les tags, et d’autres petites options. Pratique!

Conclusion

Malgré son aspect un peu plus « classique », Linkding va être ma nouvelle application pour sauvegarder mes marques pages et nettoyer un peu mes anciennes applications. Shiori aurait pu être bien, mais il est oublié aux yeux de tous, y compris auprès des développeurs. Dommage…

Le fait qu’il possède des intégrations non-seulement sur navigateur mais aussi via des applications (comme sur iOS) le rend très utile au quotidien, car je regarde très régulièrement une quantité de liens pour m’informer, pour me faire une petite base de connaissances (notamment lors de la réparation de matériel), ou quand j’ai besoin de prendre du temps pour les lire.

Bon, FOSS oblige, le design peut rebuter, mais on s’y habitue…

Il n’y a pas si longtemps que ca, j’ai parlé de Shiori, un outil de bookmarking (marque-pages) self-hosté codé entièrement en Golang. Certes, le projet est sympa, mais il avait plein de soucis:

  • Depuis le changement de propriétaire du projet, la progression n’est toujours pas la (la dernière release lors de l’article remonte au 2 Janvier 2023);
  • Ensuite, l’outil est un peu faible en fonctionnalités directes (pas d’exportation directe depuis le site par exemple), et est un enfer sans nom via Docker;
  • Et enfin, l’outil tiers pour Mozilla Firefox ou basé pour Chrome est d’une calamité sans nom: reconnexion toutes les 15 minutes, beaucoup d’erreurs, et lui-aussi semble être oublié depuis un temps.
Installer Shiori avec Docker: rapide mais pas si simple... – Ch0wW | Le Blog
Cet article vous montre comment j’ai pu installer Shiori (un clone Open-Source de Pocket) pour Docker.

Il est grand temps de changer de cap, et de trouver un truc plus moderne et fonctionnel. C’est dommage, j’aimais bien l’archivage local, et la preview imagée de la page.

Donc après plusieurs heures de recherches,  j’ai voulu prendre un meilleur outil de bookmarking, qui est régulièrement à jour. Et j’en ai trouvé un: il s’agit de Linkding. Non, pas Linkedin ; Linkding. Sérieusement le nom du projet est relativement stupide et prête immédiatement à confusion, à moi y compris, surtout dans la prononciation du nom du projet. Mais passons ce détail, cet outil gère quasiment tout ce que Shiori faisait durant ce temps.

Exemple de son interface

Installation

Le README.md du repository officiel contient déjà tout ce qu’il vous faut pour l’installer via docker ou docker-compose. Personnellement je n’utilise que docker-compose pour tous mes contenaires, donc on va utiliser celui inclus dans la documentation:

version: '3'

services:
  linkding:
    container_name: "${LD_CONTAINER_NAME:-linkding}"
    image: sissbruecker/linkding:latest
    ports:
      - "${LD_HOST_PORT:-9090}:9090"
    volumes:
      - "${LD_HOST_DATA_DIR:-./data}:/etc/linkding/data"
    env_file:
      - .env
    restart: unless-stopped

Si vous utilisez Traefik en tant que reverse proxy, vous aurez besoin de changer la variable d’environnement LD_CSRF_TRUSTED_ORIGINS , en pointant vers le lien complet de votre instance Linkding (par exemple, https://linkding.monsiteamoi.fr). Mis à part cette info, la mise en place des infos de Traefik ne change pas.

Exemple de docker-compose avec Traefik (depuis Portainer)

Maintenant, n’oubliez pas de télécharger le fichier .env.sample, que vous allez renommer en .env.

Une fois que c’est lancé, vous allez sur votre site ( http://<votre IP>:9090), et vous tomberez sur ceci. Problème: vous n’avez pas d’identifiants… On va régler ça.

La documentation l’explique heureusement: dans une nouvelle invite de commande, on va lancer une commande permettant de créer notre premier utilisateur (qui sera automatiquement super-utilisateur). Il vous demandera le mot de passe qu’il faudra rentrer 2 fois.

docker-compose exec linkding python manage.py createsuperuser --username=<votrepseudo> --email=<votre email>

Une fois terminé, vous devriez être capable de vous connecter!

Les bookmarks rapides

Linkding a une fonction assez pratique pour sauvegarder ses bookmarks: avec une intégration via marque-pages.

Vous n’avez qu’à la glisser vers la zone des marques pages pour l’avoir en tout temps.

Désormais, une fois que vous êtes sur une page que vous souhaitez garder, vous n’avez plus qu’à cliquer dessus: cette page apparaitra:

Plus qu’à sauvegarder! Cet onglet se fermera (et non la page que vous étiez en train de lire, histoire de clarifier), et vous le verrez dans votre liste!

L’extension pour navigateur

Linkding a aussi une extension (gérée par son auteur!) disponible sur Firefox ou sur tout navigateur basé sur Chrome. Et ça tombe bien, car on nous montre comment l’obtenir rapidement, dans les options.

Bon, OK… La page donnée pour Firefox est en allemand (développeur oblige), mais cela ne devrait pas vous gêner quand même pour savoir où cliquer pour l’installer. Si vous avez vraiment pas envie de chercher, ceci est le lien FR de l’extension. Le lien vers Chrome en revanche n’a pas ce souci et est bien en version FR.

Une fois installé, il vous suffit d’aller dans la page d’extensions (CTRL + SHIFT + A) , et d’aller dans les options du plugin (... => Options ). Plus qu’à remplir les informations demandées. Pour rappel, la clé d’authentification se trouve en bas de la page « Intégrations » de Linkding.

Une fois le plugin enfin configuré, comment le faire fonctionner? Tout simplement avec le raccourci SHIFT + ALT + L. Un petit onglet apparait, où vous pouvez remplir les tags, et d’autres petites options. Pratique!

Conclusion

Malgré son aspect un peu plus « classique », Linkding va être ma nouvelle application pour sauvegarder mes marques pages et nettoyer un peu mes anciennes applications. Shiori aurait pu être bien, il avait clairement un gros potentiel, mais il est oublié aux yeux de tous, y compris auprès des développeurs. Dommage…

Le fait qu’il possède des intégrations non-seulement sur navigateur mais aussi via des applications (comme sur iOS) le rend très utile au quotidien, car je regarde très régulièrement une quantité de liens pour m’informer, pour me faire une petite base de connaissances (notamment lors de la réparation de matériel), ou quand j’ai besoin de prendre du temps pour les lire.

Bon, FOSS oblige, le design peut rebuter, mais on s’y habitue… Après tout, on demande à un programme d'être utile, pas d'être joli.

Mots clés

Ch0wW

🌍 Entrez dans mon monde! Je poste du contenu en rapport avec les jeux retro, l'informatique, le modding et la réparation d'appareils... N'hésitez pas à me contacter pour toute question ou demande!