# Tradarr Agrégateur d'actualités financières avec résumés IA personnalisés par utilisateur. Tradarr scrape des sources d'information (Bloomberg, StockTwits, Reuters, WatcherGuru), croise les articles avec la watchlist de chaque trader, puis génère via IA un résumé structuré orienté trading. L'utilisateur peut ensuite sélectionner des extraits du résumé et poser des questions à l'IA pour approfondir une analyse. ## Fonctionnalités - Scraping automatique de plusieurs sources financières (planifiable) - Résumés IA personnalisés selon la watchlist de chaque utilisateur - Filtrage intelligent des articles par pertinence (passe 1) avant résumé (passe 2) - Questions/réponses IA sur des extraits de résumés (rapports) - Support de plusieurs fournisseurs IA : OpenAI, Anthropic, Gemini, Ollama, Claude Code CLI - Interface PWA (installable sur mobile) - Panel d'administration complet ## Installation (production) ### Prérequis - Docker et Docker Compose installés sur le serveur - Si tu utilises **Claude Code** comme fournisseur IA : Claude Code CLI installé et authentifié sur la machine hôte (`claude login`) ### 1. Créer le fichier `.env` ```bash cp .env.example .env ``` Édite `.env` avec tes valeurs : ```env # PostgreSQL POSTGRES_DB=tradarr POSTGRES_USER=tradarr POSTGRES_PASSWORD= # Secret JWT pour les tokens de session JWT_SECRET= # Clé de chiffrement AES-256 pour les clés API et credentials (32 bytes en hex) # Générer avec : openssl rand -hex 32 ENCRYPTION_KEY=<32_bytes_en_hex> # Compte administrateur créé automatiquement au premier démarrage ADMIN_EMAIL=admin@example.com ADMIN_PASSWORD= # Port exposé sur le serveur (défaut : 80) FRONTEND_PORT=80 ``` ### 2. Ajuster `docker-compose.prod.yml` si nécessaire #### Fournisseur Claude Code CLI (optionnel) Si tu veux utiliser **Claude Code** comme fournisseur IA, le backend doit accéder aux credentials de ta session Claude. La configuration par défaut monte `/home/anthony/.claude` — adapte ce chemin à l'utilisateur qui exécute Docker sur ton serveur : ```yaml # dans docker-compose.prod.yml, section backend > volumes volumes: - /home//.claude:/root/.claude ``` #### Images Docker Les images sont référencées par tag dans `docker-compose.prod.yml`. Mets à jour les tags selon la version à déployer : ```yaml backend: image: gitea.anthonybouteiller.ovh/blomios/tradarr-backend:v1.0.0 frontend: image: gitea.anthonybouteiller.ovh/blomios/tradarr-frontend:v1.0.0 scraper: image: gitea.anthonybouteiller.ovh/blomios/tradarr-scraper:v1.0.0 ``` ### 3. Démarrer ```bash docker compose -f docker-compose.prod.yml up -d ``` L'interface est accessible sur `http://:`. --- ## Configuration post-démarrage (panel admin) Connecte-toi avec le compte admin défini dans `.env`, puis accède à **Admin** pour configurer : ### Fournisseurs IA Ajoute au moins un fournisseur IA et assigne-le aux trois rôles disponibles : | Rôle | Description | |------|-------------| | Résumés | Génération du résumé quotidien (passe 2) | | Rapports | Réponses aux questions sur les résumés | | Filtre articles | Sélection des articles pertinents (passe 1) | Fournisseurs supportés : | Nom | Clé API requise | Endpoint | |-----|----------------|----------| | `openai` | Oui | — | | `anthropic` | Oui | — | | `gemini` | Oui | — | | `ollama` | Non | `http://ollama:11434` (par défaut) | | `claudecode` | Non | — (utilise le CLI local) | ### Paramètres | Clé | Description | Défaut | |-----|-------------|--------| | `articles_lookback_hours` | Fenêtre de temps pour récupérer les articles | `24` | | `summary_max_articles` | Nombre max d'articles envoyés au modèle pour le résumé | `50` | | `filter_batch_size` | Taille des lots pour la passe de filtrage IA | `20` | | `timezone` | Fuseau horaire affiché dans les résumés | `UTC` | | `ai_system_prompt` | Prompt système pour la génération des résumés | prompt par défaut | ### Planning Configure les créneaux de génération automatique des résumés (jours et heures). ### Sources Active ou désactive les sources de scraping : - **Bloomberg** — nécessite des credentials (onglet Credentials) - **StockTwits** — public, aucune configuration requise - **Reuters** — public - **WatcherGuru** — public ### Credentials Bloomberg Renseigne ton login/mot de passe Bloomberg pour activer le scraping de cette source. --- ## Développement local ```bash # Démarrer tous les services docker compose up -d # Rebuild après modification du code docker compose build backend frontend && docker compose up -d backend frontend ``` Logs : ```bash docker compose logs -f backend docker compose logs -f frontend ```