Spaces:
Runtime error
Runtime error
A newer version of the Gradio SDK is available: 6.26.0
metadata
title: Veille CI
emoji: 🔎
colorFrom: green
colorTo: yellow
sdk: gradio
sdk_version: 5.0.0
app_file: app.py
pinned: false
Veille automatisée — Côte d'Ivoire (prototype gratuit)
Pipeline : recherche web → extraction du contenu → synthèse IA avec citations → cache local.
1. Obtenir les clés API gratuites (5 min)
Tavily (recherche web) — gratuit, 1000 requêtes/mois
- Aller sur https://tavily.com
- Créer un compte (gratuit, pas de carte bancaire requise)
- Copier la clé API depuis le dashboard
Google Gemini (synthèse IA) — gratuit, quota généreux (~1500 requêtes/jour)
- Aller sur https://aistudio.google.com/apikey
- Se connecter avec un compte Google
- Cliquer sur "Create API key"
- Copier la clé
2. Installation
cd veille-app
pip install -r requirements.txt
3. Configuration
export TAVILY_API_KEY="ta_cle_tavily"
export GEMINI_API_KEY="ta_cle_gemini"
(Sur Windows PowerShell : $env:TAVILY_API_KEY="ta_cle")
4. Lancer
python app.py
L'interface s'ouvre sur http://127.0.0.1:7860
5. Déploiement gratuit (optionnel)
Pour rendre l'app accessible en ligne, gratuitement :
- Créer un Hugging Face Space (type Gradio) : https://huggingface.co/new-space
- Uploader
app.pyetrequirements.txt - Ajouter
TAVILY_API_KEYetGEMINI_API_KEYdans les "Secrets" du Space (Settings > Repository secrets) - Le Space se déploie automatiquement
Comment ça marche
- Recherche : Tavily cherche les pages web récentes sur le thème + "Côte d'Ivoire", en
priorisant certains domaines fiables (gouv.ci, aip.ci, fratmat.info, etc.) — modifiable
dans
DOMAINES_PRIORITAIRESen haut deapp.py. - Extraction :
trafilaturanettoie chaque page pour ne garder que le texte utile (sans pubs, menus, etc.). - Synthèse : Gemini reçoit les extraits numérotés et génère une synthèse structurée où
chaque affirmation est reliée à sa source
[1],[2], etc. Il évalue aussi la fiabilité des informations. - Cache : chaque thème recherché est mis en cache 6h dans
veille_cache.db(SQLite) pour éviter de repayer une recherche identique. Modifiable viaCACHE_TTL_HOURS.
Limites connues de ce prototype
- Certains sites ivoiriens bloquent le scraping ou ont un contenu mal structuré →
trafilaturapeut échouer à extraire le texte sur certaines pages (ce n'est pas grave, la source est simplement ignorée). - Le free tier Tavily (1000/mois) et Gemini (~1500/jour) sont largement suffisants pour un usage personnel ou une démo, mais à surveiller si tu ouvres l'accès à plusieurs utilisateurs.
- Pas d'authentification utilisateur ni de limitation d'usage — à ajouter avant une mise en production publique.
Pistes d'amélioration
- Ajouter des embeddings (Chroma) pour permettre une recherche sémantique dans l'historique des synthèses déjà générées.
- Filtrer les résultats Tavily par date exacte (
start_date/end_datedans l'API) plutôt que de compter sur la mention "2026" dans la requête. - Ajouter un export PDF de la synthèse.
- Permettre à l'utilisateur de choisir la fenêtre temporelle (dernière semaine / mois / an).