5.0 KiB
5.0 KiB
title: LinkAce created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, bookmarks, php, laravel, mysql, lists, tags, watchlist, dead-link-checker] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Bookmarks, https://www.linkace.org, https://github.com/Kovah/LinkAce]
🗂️ LinkAce
Le bookmarks manager Laravel pour les amoureux des bases organisées : listes imbriquées, étiquettes, watchlists, vérificateur de liens morts et historique complet de chaque URL.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | linkace.org |
| GitHub | Kovah/LinkAce |
| Licence | AGPL-3.0 |
| Langage | PHP (Laravel) |
| Étoiles GitHub | 2.0k ⭐ |
| Dernière MAJ | 2026-04-15 |
| Catégorie | cat-bookmarks |
📝 Description
LinkAce est un gestionnaire de bookmarks open-source construit sur Laravel (PHP). C'est l'alternative idéale pour ceux qui veulent plus de structure que Linkding ou Shiori, sans tomber dans la complexité collaborative de Linkwarden. Le projet est allemand, régulier, et conçu pour qu'un seul utilisateur gère une bibliothèque de liens qui grossit sur des années.
Le point fort de LinkAce, c'est son modèle de données hiérarchique :
- 📚 Listes (lists) imbriquées à volonté (arborescence)
- 🏷️ Étiquettes (tags) colorées
- 👁️ Watchlists (listes surveillées, vérifiées régulièrement)
- 📜 Historique : un lien déjà supprimé garde son titre, sa description, son snapshot
Les autres points marquants :
- ✅ Background link check : détecte les liens morts (404/500) automatiquement
- ✅ Screenshot automatique des liens via wkhtmltoimage ou headless Chrome
- ✅ Full-text search via Laravel Scout + Meilisearch
- ✅ Import : Netscape HTML, Pocket, Pinboard, Linkwarden
- ✅ API REST + bookmarklet + extension navigateur
- ⚠️ Nécessite MySQL/MariaDB (pas de SQLite natif)
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
services:
linkace:
image: linkace/linkace:latest
container_name: linkace
restart: unless-stopped
ports:
- "8755:80"
environment:
- APP_URL=http://localhost:8755
- DB_CONNECTION=mysql
- DB_HOST=db
- DB_PORT=3306
- DB_DATABASE=linkace
- DB_USERNAME=linkace
- DB_PASSWORD=*** - CACHE_DRIVER=file
- SESSION_DRIVER=file
- QUEUE_CONNECTION=database
- MAIL_MAILER=log
volumes:
- linkace-data:/app/storage
depends_on:
- db
db:
image: mariadb:10.11
container_name: linkace-db
restart: unless-stopped
environment:
- MARIADB_DATABASE=linkace
- MARIADB_USER=linkace
- MARIADB_PASSWORD=*** - MARIADB_RANDOM_ROOT_PASSWORD=*** volumes:
- linkace-db:/var/lib/mysql
volumes:
linkace-data:
linkace-db:
Option 2 : LAMP classique
git clone https://github.com/Kovah/LinkAce.git
cd LinkAce
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate --seed
php artisan storage:link
⚙️ Configuration Initiale
- Créer le premier utilisateur via l'UI (signup ouvert au premier lancement).
- Désactiver l'inscription publique depuis l'admin.
- Configurer SMTP pour les notifications de liens morts.
- Lancer le worker de queue :
php artisan queue:work(important pour les backgrounds jobs). - Activer la Wayback Machine dans les options (
archive.org). - Brancher un reverse proxy HTTPS (Caddy/Traefik).
- Importer depuis un dump Pocket/Pinboard/HTML.
🔄 Alternatives
Open Source
- app-linkwarden — Plus collaboratif, snapshots Wayback
- app-karakeep — Plus moderne, IA
- app-wallabag — Plus mature, plus lourd
- app-linkding — Django, single-user, plus simple
- app-shiori — Go, binaire unique
Propriétaires (ce que LinkAce remplace)
- Pocket — Sunset 2025
- Pinboard — 25$/an
- Del.icio.us — Défunt
- Raindrop.io — Freemium
- Linkstash — Windows-only, abandonné
🔐 Sécurité
- Authentification Laravel (bcrypt) + 2FA TOTP depuis l'admin
- OAuth/OIDC supporté (Google, GitHub, generic)
- CSRF, XSS, SQL injection couverts par Laravel
- HTTPS obligatoire pour les extensions
- Ne pas exposer MySQL publiquement
- Sauvegarder DB +
linkace-data(storage)
📚 Ressources
Pages Liées
- cat-bookmarks — Vue d'ensemble de la catégorie Bookmarks
- app-linkwarden — Concurrent avec collaboration
- app-linkding — Concurrent single-user plus minimaliste
- recettes-docker-compose — Bonnes pratiques Docker Compose