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

142 lines
6.6 KiB
Markdown

---
title: LinguaCafe
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, books, language-learning, srs, flashcards, reader, laravel, vue, docker]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=books, https://github.com/simjanos-dev/LinguaCafe, https://simjanos-dev.github.io/LinguaCafeHome/]
---
# 🌍 LinguaCafe
> **Plateforme de lecture multilingue avec SRS intégré** : lisez des textes en langue étrangère, surlignez les mots inconnus, et révisez-les automatiquement avec un système de cartes mémoire inspiré d'Anki — le tout auto-hébergé.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [simjanos-dev.github.io/LinguaCafeHome](https://simjanos-dev.github.io/LinguaCafeHome/) |
| **GitHub** | [simjanos-dev/LinguaCafe](https://github.com/simjanos-dev/LinguaCafe) |
| **Licence** | GPL-3.0 |
| **Langage** | PHP (Laravel 11), Vue 3, Python (NLP) |
| **Étoiles GitHub** | 1.4k ⭐ |
| **Dernière MAJ** | 2025-03 (v0.14.1) |
| **Catégorie** | [[cat-books]] |
## 📝 Description
**LinguaCafe** est une application web conçue pour les **apprenants de langues étrangères** qui veulent combiner lecture immersive et acquisition de vocabulaire. Le principe : vous importez vos textes (articles web, ebooks EPUB, fichiers PDF), vous lisez dans un **lecteur intégré** qui annote automatiquement chaque mot, vous cliquez sur un mot inconnu pour voir sa **traduction contextuelle**, et l'application l'envoie dans un **système de répétition espacée (SRS)**. Quand vous voulez réviser, vous ouvrez l'écran **Review** et l'algo vous fait réviser les mots selon la courbe de l'oubli.
LinguaCafe supporte **27 langues** : japonais (le mieux servi grâce à JMDict, KANJIDIC2, MeCab et furigana automatique), coréen, chinois, français, allemand, espagnol, italien, russe, portugais, néerlandais, polonais, turc, grec, latin, etc. Le niveau de support varie — japonais, anglais et français sont les plus complets, certaines langues n'ont que le tokenizer. Pour le japonais, l'application génère le **furigana** sur les kanji, supporte le **kana→kanji** (pykakasi) et lit les fichiers **EPUB avec vert/horiz**.
L'application propose aussi un **scanner ISBN** (mobile), une **intégration Jellyfin** (pour lire ses sous-titres de séries), une **intégration DeepL** (traduction) et une **intégration Anki** (export de paquets). C'est un outil pensé pour les apprenants **sérieux** qui veulent arrêter de gérer leurs flashcards à la main dans un tableur.
**Points forts** : SRS vraiment efficace, lecteur fluide avec surlignage, dictionnaire intégré, 27 langues, intégration DeepL/Anki/Jellyfin, sauvegardes automatiques (`backup.sh`).
**Points faibles** : mono-utilisateur (un seul compte par instance), pas d'images Docker ARM (Raspberry Pi non supporté), RAM ≥ 2 Go si toutes les langues activées, encore en développement actif (l'auteur prévient : « please test before actively using »).
## 🚀 Installation
### Option recommandée : Docker Compose
Le dépôt fournit un `docker-compose.yml` de production clé-en-main (webserver Laravel + service Python NLP + PostgreSQL + Redis).
```yaml
# docker-compose.yml
services:
linguacafe-webserver:
image: ghcr.io/simjanos-dev/linguacafe-webserver:latest
container_name: linguacafe-webserver
restart: unless-stopped
env_file: .env
ports:
- "8080:80"
depends_on:
- linguacafe-database
- linguacafe-redis
volumes:
- linguacafe_storage:/var/www/html/storage
linguacafe-python-service:
image: ghcr.io/simjanos-dev/linguacafe-python-service:latest
container_name: linguacafe-python-service
restart: unless-stopped
linguacafe-database:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: linguacafe
POSTGRES_USER: linguacafe
POSTGRES_PASSWORD: change-me-strong
volumes:
- linguacafe_db:/var/lib/postgresql/data
linguacafe-redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- linguacafe_redis:/data
volumes:
linguacafe_storage:
linguacafe_db:
linguacafe_redis:
```
### Installation manuelle
Un script Windows est fourni (`install_linguacafe.bat`). Sur Linux : cloner le dépôt, `cp .env.example .env`, `composer install`, `npm install && npm run build`, configurer PostgreSQL et Redis, puis `php artisan migrate` et `php artisan serve`. Prévoir PHP 8.3+, Node 20+, Python 3.11+ pour le service NLP.
## ⚙️ Configuration Initiale
1. **Choisir les langues actives** dans `.env` (variable d'activation par code langue) — chaque langue alourdit l'empreinte RAM.
2. **Ajouter une clé DeepL** (optionnel) pour la traduction contextuelle.
3. **Configurer l'intégration Anki** (URL + clé API) pour exporter les decks.
4. **Connecter Jellyfin** (URL + token) si vous voulez lire les sous-titres.
5. **Activer les sauvegardes automatiques** via le script `backup.sh` fourni (cron quotidien).
6. **Placer derrière un reverse proxy HTTPS** (Caddy/Nginx) pour l'accès distant.
## 🔄 Alternatives
### Open Source
- [[app-readarr]] — pour l'automatisation d'acquisition de livres
- [[app-audiobookshelf]] — focus audiobooks
- **Anki + AnkiConnect** — SRS pur, sans lecteur intégré
- **Lute** — lecteur SRS similaire, plus minimaliste
- **Readlang** — équivalent web (mais fermé)
### Propriétaires
- **WaniKani** — SRS japonais spécifiquement
- **LingQ** — lecteur multilingue avec SRS, freemium, pas self-hostable
- **Readibu** — lecteur chinois avec dictionnaire, freemium
- **LingoDeer / Duolingo** — apps mobiles, pas de vraies lectures immersives
## 🔐 Sécurité
-**Authentification** par email + mot de passe (Laravel Breeze/Jetstream)
- ⚠️ **Mono-utilisateur** par instance (limitation de conception)
-**HTTPS obligatoire** dès qu'on sort du LAN
-**Sauvegardes automatiques** via `backup.sh` — indispensable
- ⚠️ **Stockage local** des EPUB importés : bien protéger le volume
- ⚠️ **DeepL API key** à garder secrète (compte payant)
- ✅ PostgreSQL avec mot de passe fort
## 📚 Ressources
- [Site officiel](https://simjanos-dev.github.io/LinguaCafeHome/)
- [GitHub simjanos-dev/LinguaCafe](https://github.com/simjanos-dev/LinguaCafe)
- [Wiki — Setup](https://github.com/simjanos-dev/LinguaCafe/wiki/2.-Setup#installation)
- [Discord LinguaCafe](https://discord.gg/wZYZYrdaeP)
- [Subreddit r/linguacafe](https://reddit.com/r/linguacafe)
## Pages Liées
- [[cat-books]] — Catégorie Books
- [[app-readarr]] — PVR livres/audiobooks
- [[app-audiobookshelf]] — Streaming audiobooks
- [[app-caddy]] — Reverse proxy HTTPS
- [[recettes-docker-compose]] — Templates Docker