Merci à dextou pour la suggestion! 👍
Les applications de favoris ou de marque-pages, c'est comme les tableaux de bord : il en existe beaucoup, chacun ayant ses préférences, comme pour les goûts et les couleurs. C'est pourquoi je vous propose, grâce à notre ami dextou, une autre application qui rempli à merveille sa mission!
Aujourd'hui nous allons parler de linkding! Une application de marque-pages qui se veut rapide et minimaliste. Elle est également accompagnée d'une extension dédiée pour Firefox et Chrome afin de faciliter l'ajout de marque-pages.
⚡ Caractéristiques
- Interface utilisateur propre, optimisée pour la lisibilité.
- Organisez les signets avec des balises.
- Édition en masse, notes Markdown, fonctionnalité de lecture ultérieure.
- Partager des favoris avec d'autres utilisateurs ou invités.
- Fournit automatiquement les titres, les descriptions et les icônes des sites Web favoris.
- Archivez automatiquement les sites Web, soit sous forme de fichier HTML local, soit sur Internet Archive.
- Importer et exporter des signets au format HTML Netscape.
- Installable en tant qu'application Web progressive (PWA).
- Extensions pour Firefox et Chrome, ainsi qu'un bookmarklet.
- Prise en charge SSO via OIDC ou proxys d'authentification.
- API REST pour développer des applications tierces.
- Panneau d'administration pour le libre-service des utilisateurs et l'accès aux données brutes.
💾 L'installation
- Créez votre compose.yml dans le dossier ou vous comptez installer linkding:
sudo nano compose.yml
- Et collez ça dedans:
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
On va maintenant créer le fichier .env:
sudo nano .env
Et collez ça dedans:
# Docker container name
LD_CONTAINER_NAME=linkding
# Port on the host system that the application should be published on
LD_HOST_PORT=9191
# Directory on the host system that should be mounted as data dir into the Docker container
LD_HOST_DATA_DIR=./data
# Can be used to run linkding under a context path, for example: linkding/
# Must end with a slash `/`
LD_CONTEXT_PATH=
# Username of the initial superuser to create, leave empty to not create one
LD_SUPERUSER_NAME=admin
# Password for the initial superuser, leave empty to disable credentials authentication and rely on proxy authentication instead
LD_SUPERUSER_PASSWORD=MotDePasse
# Option to disable background tasks
LD_DISABLE_BACKGROUND_TASKS=False
# Option to disable URL validation for bookmarks completely
LD_DISABLE_URL_VALIDATION=False
# Enables support for authentication proxies such as Authelia
LD_ENABLE_AUTH_PROXY=False
# Name of the request header that the auth proxy passes to the application to identify the user
# See docs/Options.md for more details
LD_AUTH_PROXY_USERNAME_HEADER=
# The URL that linkding should redirect to after a logout, when using an auth proxy
# See docs/Options.md for more details
LD_AUTH_PROXY_LOGOUT_URL=
# List of trusted origins from which to accept POST requests
# See docs/Options.md for more details
LD_CSRF_TRUSTED_ORIGINS=
# Database settings
# These are currently only required for configuring PostreSQL.
# By default, linkding uses SQLite for which you don't need to configure anything.
# Database engine, can be sqlite (default) or postgres
LD_DB_ENGINE=
# Database name (default: linkding)
LD_DB_DATABASE=
# Username to connect to the database server (default: linkding)
LD_DB_USER=
# Password to connect to the database server
LD_DB_PASSWORD=
# The hostname where the database is hosted (default: localhost)
LD_DB_HOST=
# Port use to connect to the database server
# Should use the default port if not set
LD_DB_PORT=
# Any additional options to pass to the database (default: {})
LD_DB_OPTIONS=
Veillez à remplir:
- LD_SUPERUSER_NAME=admin => Remplacez admin par un nom d'utilisateur pour votre compte administrateur.
- LD_SUPERUSER_PASSWORD=MotDePasse => Remplacez MotDePasse par le mot de passe de votre compte administrateur.
On va déployer l'application:
docker compose up -d
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 9191 dans ce cas. Attention, en HTTP vous n'aurez pas le CSS d'actif et l'application ne fonctionnera pas.
http://ip:9191/
ou votre domaine:
https://linkdin.mondomaine.com
▶️ Première connexion
Lorsque vous lancez linkding il suffira d'entrer les informations du compte admin créé précédemment:

- Username => Entrez le nom d'utilisateur de votre compte administrateur.
- Password => Entrez le mot de passe de votre compte administrateur.
Cliquez sur Login pour terminer, vous serez redirigé vers votre tableau de bord linkding:

🔗 Ajouter un favoris manuellement
Il existe plusieurs manières d'ajouter un favoris. Voyons comment ajouter un favoris manuellement!
Cliquez sur:

Ce qui ouvre une fenêtre, fenêtre qu'il faudra remplir:

- URL => Indiquez l'URL du site à ajouter en favoris.
- Tags => Dans mon exemple, j'ai ajouté le tag self-hosting, si j'en avais voulu d'autres, j'aurais mis un espace et ajouté le suivant. Ainsi de suite.
- Title => En principe cette donnée s'ajoute toute seule. Si pas, indiquez un titre.
- Description => Idem, linkding va aller chercher les informations du site, s'il n'y en a pas, ajoutez une description.
Cliquez sur Save pour terminer, c'est maintenant en favoris:

⤵️ Importer les favoris de votre navigateur
Si vous souhaitez importer vos favoris, que vous aurez préalablement exportés depuis votre navigateur préféré, rendez-vous dans Settings:

Descendez jusqu'à Import:

Cliquez sur Parcourir... et sélectionnez le fichier qui a été exporté de votre navigateur, dans mon cas le fichier .html. Terminez en cliquant sur Upload ce qui donne :

🔌 Extension navigateur
Téléchargez l'extension correspondant à votre navigateur ou à l'un de ses dérivés.
Firefox

Chrome
Utilisant Firefox, je vais décrire la procédure pour ce navigateur.
Cliquez sur l'icône de l'extension linkding dans votre navigateur et cliquez sur Get started, cela va ouvrir une fenêtre:

- Base URL => Indiquez l'URL de votre instance linkding.
- API Authentication Token => Indiquez le token.
Pour avoir votre token, rendez-vous sur dans Settings et ensuite cliquez sur Integrations:

Descendez jusqu'à REST API et copiez votre token:

Quand tout est correctement rempli, cliquez sur Save:

Quand vous voudrez ajouter un favoris, cliquez sur l'icône de l’extension dans votre navigateur et cliquez sur:

👥 Ajouter un utilisateur
Pour ajouter un utilisateur, cliquez sur Settings et puis sur Admin:

Vous serez redirigé ici:

Cliquez sur + Ajouter et remplissez le formulaire:

- Nom d'utilisateur => Indiquez le nom de d'utilisateur désiré.
- Authentification par mot de passe => Choisissez si oui ou non l'utilisateur doit s'authentifier.
- Mot de passe => Choisissez un mot de passe fort.
- Confirmation du mot de passe => Confirmez le mot de passe.
Cliquez sur ENREGISTRER pour terminer l'ajout de votre utilisateur.