145 lines
5.2 KiB
Markdown
145 lines
5.2 KiB
Markdown
---
|
|
title: Shaarli
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, bookmarks, php, single-file, veteran, markdown, atom-rss, plugin]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Bookmarks, https://shaarli.readthedocs.io, https://github.com/shaarli/Shaarli]
|
|
---
|
|
|
|
# 🦞 Shaarli
|
|
|
|
> **Le doyen des bookmarks auto-hébergés** : un seul fichier PHP, zero base de données, et plus de 13 ans de développement. Pour les amateurs de minimalisme radical et de fiabilité à toute épreuve.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [shaarli.readthedocs.io](https://shaarli.readthedocs.io) |
|
|
| **GitHub** | [shaarli/Shaarli](https://github.com/shaarli/Shaarli) |
|
|
| **Licence** | Zlib |
|
|
| **Langage** | PHP (sans framework) |
|
|
| **Étoiles GitHub** | 3.1k ⭐ |
|
|
| **Dernière MAJ** | 2026-05-12 |
|
|
| **Catégorie** | [[cat-bookmarks\|Bookmarks]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Shaarli** est né en 2011 sous le nom de *Shaarli the ultimate personal links/microblog manager*. Plus de treize ans plus tard, c'est toujours l'un des **gestionnaires de bookmarks les plus simples à déployer** qui existent : un seul dossier PHP copié sur un serveur web, et ça tourne. Pas de MySQL, pas de Redis, pas de Node.js : **un fichier plat (datastore JSON/SQLite)**, c'est tout.
|
|
|
|
L'UI est volontairement **old-school**, dans la lignée de del.icio.us et de Pinboard. Les onglets, les flux RSS/Atom par tag, le **mode lecture privée**, le **short URL automatique**, le **share link éphémère** avec mot de passe, et le **wallabag-like viewer** pour les articles. Les extensions navigateur et les bookmarklets sont officiellement supportés.
|
|
|
|
Shaarli brille par :
|
|
- ⚡ **Vitesse d'installation** : unzip → ça marche
|
|
- 🔌 **Système de plugins** mature (RSS, Markdown, Wallabag, Readability…)
|
|
- 📡 **Flux RSS/Atom** par tag, par recherche
|
|
- 🔐 **Authentification simple** (login/pass) + sessions sécurisées
|
|
- 📥 **Import** depuis Del.icio.us, Pinboard, Scrapbook, Netscape, Firefox Sync
|
|
- 🏷️ **Tags hiérarchiques** (préfixe `parent/enfant`)
|
|
- 📦 **Sauvegarde triviale** : un dossier, c'est tout
|
|
|
|
Idéal pour :
|
|
- 🐧 Un vieux serveur Synology/NAS sous PHP 8
|
|
- 🔌 Un mutu OVH/hébergeur low-cost
|
|
- 🧓 Les utilisateurs qui veulent **le moins de moving parts possible**
|
|
- ⚠️ Moins adapté si on veut une UI 2025
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option 1 : Téléchargement direct (le plus simple)
|
|
|
|
```bash
|
|
# Télécharger la dernière release
|
|
wget https://github.com/shaarli/Shaarli/releases/latest/download/shaarli-v0.x.y-full.zip
|
|
unzip shaarli-v0.x.y-full.zip -d /var/www/shaarli
|
|
chown -R www-data:www-data /var/www/shaarli
|
|
|
|
# Configurer Nginx
|
|
cat > /etc/nginx/sites-available/shaarli <<'EOF'
|
|
server {
|
|
listen 80;
|
|
server_name shaarli.example.com;
|
|
root /var/www/shaarli;
|
|
index index.php;
|
|
location / { try_files $uri $uri/ /index.php?$query_string; }
|
|
location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/run/php/php-fpm.sock; }
|
|
}
|
|
EOF
|
|
```
|
|
|
|
### Option 2 : Docker Compose
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
shaarli:
|
|
image: shaarli/shaarli:latest
|
|
container_name: shaarli
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8085:80"
|
|
volumes:
|
|
- shaarli-data:/var/www/shaarli/data
|
|
|
|
volumes:
|
|
shaarli-data:
|
|
```
|
|
|
|
### Option 3 : Composer
|
|
|
|
```bash
|
|
composer create-project shaarli/shaarli
|
|
cd shaarli
|
|
php -S 0.0.0.0:8085 -t .
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Accéder à l'UI** et créer le compte administrateur.
|
|
2. **Changer immédiatement** le login (`admin` → autre) et le mot de passe.
|
|
3. **Configurer `config.json`** : timezone, langue, thème.
|
|
4. **Installer les plugins** utiles (Markdown, Wallabag, Readability).
|
|
5. **Brancher un reverse proxy HTTPS** (Caddy, Traefik).
|
|
6. **Importer** depuis un ancien Del.icio.us/Pinboard via l'UI d'import.
|
|
7. **Configurer le bookmarklet** sur la barre du navigateur.
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-linkding]] — Python/Django, plus moderne, même philosophie single-user
|
|
- [[app-shiori]] — Go, binaire unique, minimaliste aussi
|
|
- [[app-karakeep]] — Next.js moderne, avec IA
|
|
- [[app-wallabag]] — PHP/Symfony, plus complet
|
|
- [[app-linkace]] — Laravel, plus récent
|
|
|
|
### Propriétaires (ce que Shaarli remplace)
|
|
- **Pocket** — Sunset 2025
|
|
- **Del.icio.us** — Mort et enterré
|
|
- **Pinboard** — 25$/an, vieillissant
|
|
- **Instapaper** — Cloud-only
|
|
- **Linkatopia / Diigo** — Freemium lourd
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- Authentification par **session PHP sécurisée** (HttpOnly, SameSite)
|
|
- **Pas de 2FA natif** ⚠️ → recommandé en SSO via Authelia/Authentik
|
|
- Mises à jour de sécurité fréquentes (watch les releases)
|
|
- Filtrage CSRF sur les actions sensibles
|
|
- **HTTPS obligatoire** dès que public
|
|
- Sauvegarder régulièrement le dossier `data/` (et `cache/`)
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Documentation](https://shaarli.readthedocs.io)
|
|
- [Dépôt GitHub](https://github.com/shaarli/Shaarli)
|
|
- [Demo officielle](https://demo.shaarli.org)
|
|
- [selfh.st — Bookmarks](https://selfh.st/apps/?tag=Bookmarks)
|
|
|
|
## Pages Liées
|
|
- [[cat-bookmarks]] — Vue d'ensemble de la catégorie Bookmarks
|
|
- [[app-linkding]] — Successeur spirituel en Python
|
|
- [[app-shiori]] — Concurrent Go minimaliste
|
|
- [[recettes-docker-compose]] — Bonnes pratiques Docker Compose
|