111 lines
5.3 KiB
Markdown
111 lines
5.3 KiB
Markdown
---
|
|
title: Eddrit
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, front-end, reddit, haskell, yesod, alt-front-end, minimaliste, sans-pub, docker]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Front-End, https://github.com/corenting/eddrit]
|
|
---
|
|
|
|
# 🦉 Eddrit
|
|
|
|
> **Un front-end alternatif léger pour Reddit**, écrit en Haskell/Yesod, sans pub, sans tracking et avec une esthétique qui rappelle l'ancien reddit.com.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://eddrit.com (instance de démo) |
|
|
| **GitHub** | https://github.com/corenting/eddrit |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage principal** | Haskell (Yesod) |
|
|
| **Étoiles GitHub** | ~7 ⭐ |
|
|
| **Dernière MAJ** | 2025 (active) |
|
|
| **Catégorie** | [[cat-front-end]] |
|
|
|
|
## Description
|
|
|
|
**Eddrit** est un **front-end tiers pour Reddit** qui se place dans la même famille que Libreddit, Teddit ou Phantombuster. L'idée est simple : interroger l'API publique de Reddit et afficher les subreddits, posts, commentaires et médias **sans jamais toucher au site officiel**, donc sans pub, sans pistage, sans la refonte graphique controversée de 2023 et sans compte obligatoire.
|
|
|
|
Ce qui distingue Eddrit des autres alternatives, c'est son **stack technique inhabituelle pour le genre** : **Haskell** avec le framework **Yesod**. Yesod est un framework web typé, robuste, qui compile en binaire unique et consomme peu de RAM à l'exécution. Résultat : Eddrit est **particulièrement léger et rapide** une fois compilé, et la garantie de typage de Haskell élimine toute une classe de bugs (XSS, parsing). Le look est volontairement **compact et old.reddit-esque**, optimisé mobile.
|
|
|
|
Le projet est **maintenu par un seul développeur principal** (bus factor 1) mais bénéficie d'une **qualité de code élevée** et d'une stack qui pardonne peu les erreurs — Haskell oblige. C'est typiquement le bon choix pour quelqu'un qui veut un **front-end Reddit stable, peu gourmand en ressources, et qui n'a pas peur d'une build time longue**. L'API non officielle de Reddit reste un point de friction externe : si Reddit la durcit (comme il l'a fait en 2023), Eddrit doit s'adapter.
|
|
|
|
## Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
version: "3.8"
|
|
|
|
services:
|
|
eddrit:
|
|
image: ghcr.io/corenting/eddrit:latest
|
|
container_name: eddrit
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5000:5000"
|
|
environment:
|
|
- EDDRIT_LISTEN_PORT=5000
|
|
- EDDRIT_DEFAULT_SUBREDDIT=linux
|
|
- EDDRIT_USE_HTTPS=true
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "http://localhost:5000/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
```
|
|
|
|
> **Note** : l'image officielle est sur le GitHub Container Registry (`ghcr.io/corenting/eddrit`).
|
|
|
|
### Installation manuelle (depuis les sources)
|
|
|
|
1. Installer **GHC** (Glasgow Haskell Compiler, version 9.x recommandée) et **Cabal**
|
|
2. Cloner le dépôt : `git clone https://github.com/corenting/eddrit.git && cd eddrit`
|
|
3. Compiler : `cabal build` (la première compilation prend **plusieurs minutes**, c'est normal pour Haskell)
|
|
4. Configurer via les variables d'environnement (`EDDRIT_LISTEN_PORT`, `EDDRIT_DEFAULT_SUBREDDIT`, etc.)
|
|
5. Lancer : `cabal run eddrit`
|
|
6. Exposer derrière un reverse proxy (Caddy, Nginx) avec HTTPS obligatoire
|
|
|
|
## Configuration
|
|
|
|
- **Port d'écoute** : `EDDRIT_LISTEN_PORT` (défaut 5000)
|
|
- **Subreddit par défaut** : `EDDRIT_DEFAULT_SUBREDDIT` (ex. `linux`, `selfhosted`)
|
|
- **HTTPS** : `EDDRIT_USE_HTTPS=true` si vous terminez le TLS en amont
|
|
- **Pas d'auth** : Eddrit ne supporte pas l'authentification Reddit (lecture seule, pas de vote ni de post)
|
|
- **Thème** : pas de customization lourde, le design est figé old.reddit-like
|
|
- **Cache** : par défaut Eddrit cache les requêtes API pour limiter la charge et le rate-limiting Reddit
|
|
|
|
## Alternatives
|
|
|
|
### Open source
|
|
- [[app-libreddit]] — front-end Reddit en Rust, plus populaire
|
|
- [[app-teddit]] — front-end Reddit en Python/Rust, plus complet historiquement
|
|
- **Phantombuster** — autre alternative, plus minimaliste
|
|
- **Old Reddit Redirect** — extension navigateur (pas self-host)
|
|
|
|
### Propriétaires
|
|
- **reddit.com** — site officiel, mais pistage, pub, refonte 2023
|
|
- **App Reddit mobile** — encore plus de tracking, OAuth obligatoire
|
|
|
|
## Sécurité
|
|
|
|
- ✅ **Binaire statique Haskell** : surface d'attaque réduite, peu de dépendances runtime
|
|
- ✅ **Pas de JS tiers** : aucun tracker, aucun appel externe au-delà de l'API Reddit
|
|
- ✅ **AGPL-3.0** : tout fork doit rester open source, ce qui protège l'écosystème
|
|
- ⚠️ **Pas d'auth** : pas de risque de fuite de credentials utilisateur puisque l'app n'en stocke aucun
|
|
- ⚠️ **Dépendance à l'API Reddit non-officielle** : si Reddit casse la compat, Eddrit casse aussi
|
|
- **Reverse proxy HTTPS obligatoire** : pour éviter l'écoute du trafic
|
|
- **Bus factor 1** : surveiller les issues et PRs en attente, et garder un backup mental (Libreddit) si le projet s'arrête
|
|
|
|
## Ressources
|
|
- [Dépôt GitHub corenting/eddrit](https://github.com/corenting/eddrit)
|
|
- [Instance de démonstration](https://eddrit.com)
|
|
- [Documentation Yesod (framework)](https://www.yesodweb.com/)
|
|
- [Libreddit (alternative plus mature)](https://github.com/libreddit/libreddit)
|
|
|
|
## Pages Liées
|
|
- [[cat-front-end]]
|
|
- [[app-libreddit]]
|
|
- [[recettes-docker-compose]]
|