Ecoutez, suivre Trump est epuisant. Le bonhomme domine les gros titres de BBC, Guardian, NPR, Al Jazeera et meme Babylon Bee. Verifier plus de 10 sites par jour ? Non merci. Alors j'ai construit Trump Daily ! C'est un agregateur RSS auto-heberge qui deverse tout dans une interface claire et unique. https://trumpdaily.site est ne !

Et honnetement ? C'etait le projet le plus amusant que j'aie code depuis des mois, il y a quelques annees de cela.

La Stack (Ou : Pourquoi J'ai Choisi des Technologies Ennuyeuses)

  • Backend : Python/Flask (oui, j'adore !)
  • Base de donnees : PostgreSQL
  • Cache : Redis (pour absolument tout)
  • Taches : Celery (recuperation RSS en arriere-plan)
  • Frontend : Vanilla JS (pas de React, venez vous battre)
  • Deploiement : Docker Compose (une commande, termine)

Le tout fait environ 1000 lignes de Python et 400 lignes de JS. Fonctionne en local. Pas de tracking (Juste Google Analytics). Pas de factures cloud. Pas de bullshit.

Comment Ca Marche

Flux RSS -> Celery -> Mots-cles -> PostgreSQL -> Flask API -> Navigateur
                         |
              (Drole ? Politique ? Serieuse ?)

Toutes les 5 minutes, Celery recupere les flux et categorise les articles en utilisant la correspondance de mots-cles :

  • "investigation" + "inculpation" = Serieuse
  • "ridicule" + "bizarre" = Drole
  • "tarif douanier" + "guerre commerciale" = Economique

Regex simple, precision d'environ 85%. Aucun ML necessaire.

Pourquoi C'etait Incroyablement Amusant

1. Ca Marche Vraiment
Contrairement a la plupart des projets personnels qui prennent la poussiere, j'utilise celui-ci chaque matin. Construire quelque chose dont vous avez vraiment besoin, c'est different.

2. Vanilla JS est Liberateur
Pas de webpack. Pas de babel. Pas de node_modules de 500 Mo. Juste 400 lignes de JavaScript qui chargent instantanement. Le frontend filtre plus de 500 articles cote client sans le moindre effort.

3. Docker Compose est Magique
Un seul docker compose up -d lance 5 services (nginx, flask, postgres, redis, celery). Zero enfer de configuration.

4. Python Fait le Boulot
Projet de week-end -> Prototype fonctionnel en 3 jours. L'ecosysteme (feedparser, SQLAlchemy, Celery) fonctionne tout simplement. Zero bug de librairie.

Les Compromis (Ou : Et Si J'Avais Utilise Go/Rust ?)

Python n'est pas rapide. Soyons honnetes :

LangageParsing RSSMemoireTemps Dev
Python15-30s~600Mo3 jours
Go3-5s~50Mo5-7 jours
Rust2-4s~30Mo9-15 jours
Node.js12-25s~500Mo3 jours
Bun5-8s~200Mo3 jours

Est-ce que Go pourrait parser les flux 10x plus vite ? Oui.
Est-ce que ca changerait quelque chose ? Absolument pas.

L'application semble deja instantanee. Le RSS se met a jour toutes les 5 minutes. Qu'importe si l'ingestion prend 15 secondes au lieu de 3 secondes ? Je ne gere pas Twitter ici.

Quand Je Choisirais Autrement

  • 10 000 utilisateurs simultanes ? Go ou Rust.
  • WebSockets en temps reel ? Elixir/Phoenix.
  • VPS a 5$/mois ? Go (memoire plus faible).
  • Vous connaissez deja Rust ? Utilisez ce que vous connaissez.

Mais pour un outil mono-utilisateur, auto-heberge ? Python est parfait.

Meilleures Decisions

- Filtrage cote client - Charger les 500 articles, filtrer dans le navigateur. Rapide et simple.
- Docker Compose - Pas de complexite Kubernetes pour un projet personnel.
- Pas de frameworks - Vanilla JS charge en millisecondes, pas d'etape de build.
- PostgreSQL - Index corrects, pas de probleme de verrouillage SQLite.
- Respect de la vie privee - Fonctionne en local, zero tracking, zero cloud.

Pires Decisions

- Pas de recherche plein texte - Le LIKE de PostgreSQL est basique, mais suffisant.
- Pas de mises a jour en temps reel - Les articles se rafraichissent toutes les 5 min, pas en direct.
- Utilisation memoire - 600 Mo, c'est exagere pour ce projet, mais peu importe.

Vous Voulez Contribuer ?

Le depot est prive sur GitHub, mais je suis heureux d'ajouter des collaborateurs. Si vous voulez :

  • Explorer le code
  • Contribuer des fonctionnalites
  • Le forker pour votre propre agregateur

Envoyez-moi simplement votre nom d'utilisateur GitHub ou votre adresse e-mail. Je l'ai garde prive pour eviter le spam, mais j'adore la collaboration.

Lecons Apprises

  1. Les technos ennuyeuses gagnent - Flask, PostgreSQL, Redis sont ennuyeux. Ils sont aussi eprouves au combat et previsibles.
  2. Le rendu cote client est sous-estime - Les navigateurs modernes sont rapides. Utilisez-les.
  3. Docker Compose > Kubernetes - Pour les petits projets, K8s est un overkill insense.
  4. Vanilla JS est suffisant - React/Vue sont excellents, mais une complexite inutile pour des IUs simples.
  5. Le RSS n'est pas mort - Simple, standardise, pas de cles API, ca marche, point.

Le Verdict

Python etait absolument le bon choix. Pas parce qu'il est rapide (il ne l'est pas), mais parce que :

  • J'ai livre en 3 heures avec Github Co-Pilot
  • Le code est lisible
  • La performance est "suffisante"
  • J'aime vraiment le maintenir

Go pourrait-il etre 10x plus rapide ? Bien sur. Est-ce que ca changerait quelque chose ? Non.

Choisissez des outils qui vous permettent de livrer vite, de resoudre le probleme, et ne faites pas d'over-engineering.


Techno : Python, Flask, PostgreSQL, Redis, Celery, Vanilla JS
Lignes de Code : ~1400 au total
Temps de Dev : 3 heures avec Github Co-Pilot
Deploiement : docker compose up -d
Statut : Depot prive, collaborateurs bienvenus

2026. Construit, livre, utilise quotidiennement. C'est comme ca que les projets personnels devraient etre.