Files
wiki/Catalogue-Self-Hosted/apps/app-linkace.md
T
2026-06-09 18:40:21 +02:00

149 lines
5.0 KiB
Markdown

---
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](https://www.linkace.org) |
| **GitHub** | [Kovah/LinkAce](https://github.com/Kovah/LinkAce) |
| **Licence** | AGPL-3.0 |
| **Langage** | PHP (Laravel) |
| **Étoiles GitHub** | 2.0k ⭐ |
| **Dernière MAJ** | 2026-04-15 |
| **Catégorie** | [[cat-bookmarks\|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é)
```yaml
# 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
```bash
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
1. **Créer le premier utilisateur** via l'UI (signup ouvert au premier lancement).
2. **Désactiver l'inscription publique** depuis l'admin.
3. **Configurer SMTP** pour les notifications de liens morts.
4. **Lancer le worker de queue** : `php artisan queue:work` (important pour les backgrounds jobs).
5. **Activer la Wayback Machine** dans les options (`archive.org`).
6. **Brancher un reverse proxy HTTPS** (Caddy/Traefik).
7. **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
- [Site officiel](https://www.linkace.org)
- [Documentation](https://www.linkace.org/docs)
- [Dépôt GitHub](https://github.com/Kovah/LinkAce)
- [selfh.st — Bookmarks](https://selfh.st/apps/?tag=Bookmarks)
## 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