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

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