Projet Vibecode — Test des capacités et limites des modèles Claude (Opus, Sonnet, Haiku) dans le développement d'un projet complet de bout en bout.
Ce projet a été développé dans le cadre d'une expérimentation Vibecode visant à évaluer les capacités des modèles Claude (Opus, Sonnet, Haiku) pour :
- ✅ Créer un projet Python complet de A à Z
- ✅ Gérer la complexité d'un bot Discord avec planification
- ✅ Implémenter des collecteurs RSS multi-sources
- ✅ Résoudre des problèmes de déploiement (Docker, réseau)
- ✅ Adapter le code pour compatibilité Python 3.9
- ✅ Personnaliser et affiner les fonctionnalités selon les besoins
Résultat : Un bot Discord fonctionnel, déployé en production, avec un code propre et maintenable, entièrement développé avec l'assistance de Claude.
Le bot collecte automatiquement l'actualité technologique sur 4 catégories et génère un rapport synthétique chaque lundi à 11h00 (heure de Paris).
- Focus : Nouveaux modèles et outils IA pour le code
- Filtrage intelligent : Seuls les articles pertinents pour les développeurs sont conservés
- Sources : OpenAI, Anthropic, Google AI, Hugging Face, GitHub Blog
- Exemples : Codex, Copilot, GPT pour le code, Claude pour développeurs, APIs/SDKs
- Contenu : Mises à jour des frameworks, nouvelles versions, bonnes pratiques
- Sources : React, Next.js, Vue.js, Svelte, Node.js, Deno, Dev.to, MDN
- Format : Top 5 articles avec résumés courts et liens directs
- Alertes : Vulnérabilités critiques, mises à jour de sécurité
- Sources : CERT-FR (prioritaire), The Hacker News, OWASP, PortSwigger
- Focus : Informations actionnables pour les développeurs
- Tendances : Actualités du marché tech en France
- Sources : Welcome to the Jungle, LesJeudis, BlogDuModérateur, FrenchWeb
- Statistiques : Aperçu du marché avec nombre d'offres
📰 Veille Tech Hebdomadaire
📅 Semaine du DD/MM/YYYY
Voici les nouveautés de la semaine ! 🚀
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🤖 IA pour Développeurs
🔍 Cette semaine : X actualités sur les nouveaux modèles et outils.
🚀 Nouveautés de la semaine :
1. [Titre de l'article]
💡 [Résumé court - 120 caractères max]
🔗 [Lien direct]
📅 [Date] • [Source]
[... Top 5 articles par catégorie ...]
- ✅ Top 5 articles par catégorie (lecture rapide)
- ✅ Résumés courts (max 120 caractères)
- ✅ 100% français : Tous les messages en français
- ✅ Format uniforme : Structure claire et digeste
- ✅ Multi-messages : Découpage automatique si > 2000 caractères
| Commande | Description |
|---|---|
!veille |
Génère un rapport de veille immédiat avec toutes les catégories |
!status |
Affiche le statut du bot et la date du prochain rapport automatique |
!aide |
Affiche l'aide complète avec toutes les informations |
- Fréquence : Chaque lundi à 11h00 (heure de Paris)
- Période : Articles des 7 derniers jours
- Canal : Envoi automatique dans le canal Discord configuré
- Configurable : Jour, heure et fuseau horaire modifiables via
.env
BotVeillePy/
├── bot/
│ ├── __init__.py
│ ├── main.py # Point d'entrée, configuration logging
│ ├── config.py # Gestion des variables d'environnement
│ ├── discord_bot.py # Bot Discord, commandes, lifecycle
│ ├── messenger.py # Envoi multi-messages (split 2000 chars)
│ ├── report.py # Génération du rapport complet
│ ├── scheduler.py # Planification APScheduler (cron)
│ └── collectors/
│ ├── __init__.py
│ ├── base.py # Classe abstraite BaseCollector (RSS)
│ ├── ai_collector.py # Veille IA avec filtrage dev
│ ├── frameworks_collector.py # Veille frameworks web
│ ├── security_collector.py # Veille sécurité web
│ └── jobs_collector.py # Veille marché emploi
├── docker-compose.yml # Configuration Docker Compose
├── Dockerfile # Image Docker du bot
├── requirements.txt # Dépendances Python
├── run.py # Script de lancement
├── .env.example # Template de configuration
├── start_bot.sh # Script de démarrage
├── stop_bot.sh # Script d'arrêt
└── status_bot.sh # Script de statut
- Python 3.9+ : Langage principal
- discord.py : Bibliothèque Discord officielle
- aiohttp : Requêtes HTTP asynchrones
- feedparser : Parsing des flux RSS
- APScheduler : Planification des tâches (cron)
- beautifulsoup4 : Parsing HTML pour scraping
- python-dotenv : Gestion des variables d'environnement
- Architecture modulaire : Chaque catégorie = un collecteur indépendant
- Collecte asynchrone : Tous les flux RSS récupérés en parallèle
- Gestion d'erreurs : Continue même si une source échoue
- Filtrage intelligent : Pour l'IA, filtrage par mots-clés dev
Le collecteur IA utilise un système de mots-clés pour ne garder que les articles pertinents :
- Modèles de code :
codex,copilot,gpt,claude,gemini - Outils :
cursor,codeium,ide,editor - APIs :
api,sdk,library,framework - Annonces :
launch,release,new model
- Python 3.9+ (ou Docker)
- Un bot Discord créé sur Discord Developer Portal
- Accès à un serveur Discord avec permissions d'envoyer des messages
- Aller sur Discord Developer Portal
- Cliquer sur New Application → donner un nom
- Aller dans Bot → cliquer sur Reset Token → copier le token
- Activer :
Message Content Intentdans Privileged Gateway Intents - Aller dans OAuth2 → URL Generator :
- Scopes :
bot - Bot Permissions :
Send Messages,Read Message History
- Scopes :
- Copier l'URL générée et inviter le bot sur votre serveur
# Cloner le repository
git clone git@github.com:WilliamPeynichou/BotVeillePy.git
cd BotVeillePy
# Créer l'environnement virtuel
python3 -m venv venv
source venv/bin/activate # Sur Windows: venv\Scripts\activate
# Installer les dépendances
pip install -r requirements.txt
# Configurer les variables d'environnement
cp .env.example .envÉditer .env avec vos valeurs :
DISCORD_TOKEN=votre_token_discord_ici
DISCORD_CHANNEL_ID=id_du_canal_ici
TIMEZONE=Europe/Paris
SCHEDULE_DAY=mon
SCHEDULE_HOUR=11
SCHEDULE_MINUTE=0
LOOKBACK_DAYS=7Trouver l'ID du canal : Activer le mode développeur dans Discord (Paramètres → Avancés), puis clic droit sur le canal → Copier l'identifiant.
# Démarrer le bot
./start_bot.sh
# Voir le statut
./status_bot.sh
# Voir les logs en temps réel
tail -f bot.log
# Arrêter le bot
./stop_bot.shsource venv/bin/activate
python run.pydocker compose build
docker compose up -d
docker compose logs -f| Variable | Défaut | Description |
|---|---|---|
DISCORD_TOKEN |
— | Token du bot Discord (obligatoire) |
DISCORD_CHANNEL_ID |
— | ID du canal pour les rapports (obligatoire) |
TIMEZONE |
Europe/Paris |
Fuseau horaire pour la planification |
SCHEDULE_DAY |
mon |
Jour d'envoi (mon, tue, wed, thu, fri, sat, sun) |
SCHEDULE_HOUR |
11 |
Heure d'envoi (0-23) |
SCHEDULE_MINUTE |
0 |
Minute d'envoi (0-59) |
LOOKBACK_DAYS |
7 |
Nombre de jours de recul pour les articles |
Éditez les fichiers dans bot/collectors/ pour ajouter ou modifier les sources :
# Exemple dans ai_collector.py
feeds = {
"Nouvelle Source": "https://example.com/rss",
}Éditez bot/collectors/ai_collector.py pour ajouter des mots-clés :
DEV_KEYWORDS = [
"votremotcle",
# ...
]- GUIDE_UTILISATEUR.md : Guide complet d'utilisation
- PERSONNALISATION.md : Détails de la personnalisation
- CHANGELOG.md : Historique des versions
Ce projet a permis de tester :
- Capacités de développement : Création d'un projet complet de bout en bout
- Résolution de problèmes : Debug Docker, réseau, compatibilité Python
- Adaptation : Modification du code selon les besoins utilisateur
- Documentation : Génération de documentation complète
- Déploiement : Mise en production fonctionnelle
- ✅ Projet fonctionnel : Bot déployé et opérationnel
- ✅ Code propre : Architecture modulaire et maintenable
- ✅ Documentation : README, guides, changelog complets
- ✅ Personnalisation : Adaptation rapide aux besoins spécifiques
- Claude Opus : Développement initial et architecture
- Claude Sonnet : Résolution de problèmes complexes (Docker, réseau)
- Claude Haiku : Modifications rapides et ajustements
Ce projet est un projet d'expérimentation Vibecode. Les contributions sont les bienvenues pour :
- Améliorer les collecteurs RSS
- Ajouter de nouvelles sources
- Optimiser le filtrage IA
- Améliorer la documentation
MIT License - Voir le fichier LICENSE pour plus de détails.
- Vibecode : Pour l'expérimentation avec Claude
- Discord.py : Bibliothèque Discord officielle
- Toutes les sources RSS : Pour leur contenu de qualité
Développé avec Claude (Opus, Sonnet, Haiku) dans le cadre d'une expérimentation Vibecode 🚀