159 lines
5.8 KiB
Markdown
159 lines
5.8 KiB
Markdown
---
|
|
title: Wallabag
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, bookmarks, read-later, php, symfony, pocket-alternative, epub, annotations]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Bookmarks, https://wallabag.it, https://github.com/wallabag/wallabag]
|
|
---
|
|
|
|
# 📚 Wallabag
|
|
|
|
> **Le vétéran francophone du read-it-later** : alternative open-source à Pocket, écrite en PHP/Symfony, qui conserve vos articles pour une lecture offline confortable et annotée.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [wallabag.it](https://wallabag.it) |
|
|
| **GitHub** | [wallabag/wallabag](https://github.com/wallabag/wallabag) |
|
|
| **Licence** | MIT |
|
|
| **Langage** | PHP (Symfony) |
|
|
| **Étoiles GitHub** | 8.7k ⭐ |
|
|
| **Dernière MAJ** | 2026-05-19 |
|
|
| **Catégorie** | [[cat-bookmarks\|Bookmarks]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Wallabag** est né en 2013 d'un fork francophone de Pocket (alors encore ouvert). Plus de dix ans plus tard, c'est l'une des solutions read-it-later les plus **matures, stables et respectueuses de la vie privée** du marché. Le projet est développé par une petite équipe française et compte une communauté solide en Europe.
|
|
|
|
Le principe est simple : un bookmarklet, une extension ou l'API permet d'**envoyer un article** dans votre instance Wallabag. Le contenu est nettoyé (DOM purgé des pubs, scripts, trackers), **stocké localement** dans une base PostgreSQL/MySQL/SQLite, et lu via une **vue article épurée** avec options de typographie, taille de police, et mode sombre.
|
|
|
|
Wallabag se distingue par ses **fonctionnalités d'annotation** : surlignage, annotations attachées, étiquettes, archives, et **export multi-format** (EPUB, MOBI, PDF, JSON, Markdown, TXT, HTML). L'API REST est complète, ce qui en fait un excellent backend pour des clients tiers (iOS, Android, Kindle, Kobo via Calibre).
|
|
|
|
Pour un homelab, Wallabag demande un **LAMP/LEMP stack** classique. Le `docker-compose.yml` officiel est éprouvé et la documentation abondante. C'est l'option idéale si la **stabilité et la longévité** priment sur l'esthétique dernier cri.
|
|
|
|
Points forts :
|
|
- ✅ Plus de 10 ans de développement continu
|
|
- ✅ Export EPUB/PDF/Kindle propre
|
|
- ✅ API REST très complète, OAuth2
|
|
- ✅ Multi-utilisateurs, LDAP, SSO OIDC
|
|
- ✅ Clients natifs iOS/Android + intégration Calibre
|
|
- ⚠️ UI moins moderne que [[app-karakeep]] ou [[app-linkwarden]]
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option 1 : Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
wallabag:
|
|
image: wallabag/wallabag:latest
|
|
container_name: wallabag
|
|
restart: unless-stopped
|
|
environment:
|
|
- SYMFONY_ENV=prod
|
|
- DATABASE_DRIVER=pdo_mysql
|
|
- DATABASE_HOST=db
|
|
- DATABASE_PORT=3306
|
|
- DATABASE_NAME=wallabag
|
|
- DATABASE_USER=wallabag
|
|
- DATABASE_PASSWORD=changez-moi
|
|
- DATABASE_CHARSET=utf8mb4
|
|
- DEFAULT_LOCALE=fr
|
|
- TRUSTED_HOSTS=wallabag.example.com,localhost
|
|
- DOMAIN_NAME=https://wallabag.example.com
|
|
- FOSUSER_CONFIRMATION=false
|
|
- TWO_FACTOR_AUTH=true
|
|
volumes:
|
|
- wallabag-images:/var/www/wallabag/web/assets/images
|
|
- wallabag-data:/var/www/wallabag/var
|
|
ports:
|
|
- "8282:80"
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
|
|
db:
|
|
image: mariadb:10.11
|
|
container_name: wallabag-db
|
|
restart: unless-stopped
|
|
environment:
|
|
- MARIADB_DATABASE=wallabag
|
|
- MARIADB_USER=wallabag
|
|
- MARIADB_PASSWORD=changez-moi
|
|
- MARIADB_RANDOM_ROOT_PASSWORD=yes
|
|
volumes:
|
|
- wallabag-db:/var/lib/mysql
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: wallabag-redis
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
wallabag-images:
|
|
wallabag-data:
|
|
wallabag-db:
|
|
```
|
|
|
|
### Option 2 : Paquet Debian / manuel
|
|
|
|
```bash
|
|
# Debian 12
|
|
sudo apt install -y wallabag
|
|
sudo systemctl enable --now wallabag
|
|
# UI : http://localhost:8282
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Comptes par défaut** : `wallabag` / `wallabag` (admin) et `user` / `user` — **à changer immédiatement**.
|
|
2. **Activer 2FA** pour tous les comptes via l'admin (`/admin`).
|
|
3. **Configurer SMTP** pour la récupération de mot de passe.
|
|
4. **Brancher un reverse proxy HTTPS** (Traefik/Caddy) pour les extensions navigateur.
|
|
5. **Importer** depuis Pocket, Readability, Instapaper ou le format natif.
|
|
6. **Configurer les clients mobiles** (officiels ou **Wallabag-Android/iOS**) avec un token d'API.
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-karakeep]] — Plus moderne, IA, highlights
|
|
- [[app-linkwarden]] — Collaboratif, snapshots Wayback
|
|
- [[app-linkding]] — Minimaliste, single-user
|
|
- [[app-shiori]] — Go, binaire unique, sans DB externe
|
|
- [[app-readeck]] — Successeur spirituel, plus moderne
|
|
|
|
### Propriétaires (ce que Wallabag remplace)
|
|
- **Pocket** — Sunset 2025, données au format propriétaire
|
|
- **Instapaper** — Fermé à l'auto-hébergement
|
|
- **Matter** — Fermé
|
|
- **Readwise Reader** — Freemium, cloud-first
|
|
- **Evernote Web Clipper** — Lourd, payants
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- Authentification **bcrypt** + **2FA TOTP** optionnel
|
|
- Support **LDAP, OAuth2/OIDC** pour SSO entreprise
|
|
- Mises à jour de sécurité Symfony fréquentes
|
|
- **Trusted hosts** et **CSRF** activés par défaut
|
|
- Ne pas exposer MySQL publiquement (port 3306 fermé)
|
|
- Sauvegarder `wallabag-db` et le volume `images` (covers des articles)
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Site officiel](https://wallabag.it)
|
|
- [Documentation](https://doc.wallabag.org)
|
|
- [Dépôt GitHub](https://github.com/wallabag/wallabag)
|
|
- [Forum communautaire](https://github.com/wallabag/wallabag/discussions)
|
|
- [selfh.st — Bookmarks](https://selfh.st/apps/?tag=Bookmarks)
|
|
|
|
## Pages Liées
|
|
- [[cat-bookmarks]] — Vue d'ensemble de la catégorie Bookmarks
|
|
- [[app-karakeep]] — Concurrent moderne en Next.js
|
|
- [[app-readeck]] — Successeur Go, mêmes objectifs
|
|
- [[recettes-docker-compose]] — Bonnes pratiques Docker Compose
|