---
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
