mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
158 lines
3.8 KiB
Markdown
158 lines
3.8 KiB
Markdown
# Guide Système RSS V2
|
|
|
|
## 🚀 Nouveau Système RSS - Plus Simple et Robuste
|
|
|
|
Le système RSS a été complètement réécrit pour résoudre les problèmes de mise à jour des articles.
|
|
|
|
### ✅ Problèmes Résolus
|
|
|
|
- ✓ Articles non mis à jour (bloqués au 12 novembre)
|
|
- ✓ Détection de doublons défaillante
|
|
- ✓ Cache trop agressif
|
|
- ✓ Logique complexe et difficile à déboguer
|
|
|
|
### 🆕 Nouvelle Architecture
|
|
|
|
**Simplicité avant tout:**
|
|
|
|
1. **Détection de doublons simple**: Uniquement par lien (pas de logique complexe titre+date)
|
|
2. **Pas de cache**: Requêtes SQL directes à chaque fois
|
|
3. **Nettoyage automatique**: Garde les 100 derniers articles par flux
|
|
4. **Logs clairs**: Chaque étape est tracée pour faciliter le debug
|
|
5. **Robustesse**: Timeout 15s, gestion d'erreurs, fetch séquentiel
|
|
|
|
### 📋 Migration
|
|
|
|
#### Étape 1: Nettoyer la Base de Données (Recommandé)
|
|
|
|
```bash
|
|
node scripts/reset-rss.js
|
|
```
|
|
|
|
Ceci supprime TOUS les anciens articles et flux RSS. Vous repartirez de zéro.
|
|
|
|
#### Étape 2: Redémarrer le Serveur
|
|
|
|
```bash
|
|
npm restart
|
|
# ou
|
|
pm2 restart noteflow
|
|
```
|
|
|
|
#### Étape 3: Ajouter vos Flux RSS
|
|
|
|
Via l'interface web, ajoutez vos flux RSS:
|
|
- Les articles seront récupérés immédiatement
|
|
- Puis toutes les 2 minutes automatiquement
|
|
|
|
### 🔧 Scripts Utiles
|
|
|
|
**Diagnostic:**
|
|
```bash
|
|
# Vérifier l'état du système
|
|
node scripts/check-rss-dates.js
|
|
|
|
# Debug détaillé d'un flux
|
|
node scripts/debug-rss-fetch.js
|
|
|
|
# Analyser les doublons
|
|
node scripts/cleanup-duplicates.js
|
|
```
|
|
|
|
**Maintenance:**
|
|
```bash
|
|
# Reset complet
|
|
node scripts/reset-rss.js
|
|
|
|
# Initialiser des flux par défaut
|
|
node scripts/init-rss-feeds.js
|
|
|
|
# Forcer une mise à jour
|
|
node scripts/force-refresh-rss.js
|
|
```
|
|
|
|
### 📊 Configuration
|
|
|
|
**Constantes (services/rss-scheduler.js):**
|
|
- `MAX_ARTICLES_PER_FEED`: 100 (articles max par flux)
|
|
- `FETCH_INTERVAL`: 2 minutes (fréquence de mise à jour)
|
|
- `STARTUP_DELAY`: 5 secondes (délai avant 1er fetch)
|
|
|
|
### 🎯 Comportement Attendu
|
|
|
|
1. **Ajout d'un flux**:
|
|
- Validation immédiate
|
|
- Fetch automatique dans la seconde
|
|
- Articles affichés du plus récent au plus ancien
|
|
|
|
2. **Mises à jour automatiques**:
|
|
- Toutes les 2 minutes
|
|
- Nouveaux articles détectés par lien
|
|
- Anciens articles nettoyés automatiquement
|
|
|
|
3. **Affichage**:
|
|
- 50 articles par défaut (limite API)
|
|
- 8 articles par page (pagination frontend)
|
|
- Tri: plus récent en premier
|
|
|
|
### 🔄 Rollback vers V1
|
|
|
|
Si besoin de revenir à l'ancien système:
|
|
|
|
```bash
|
|
# Restaurer les backups
|
|
cp services/rss-scheduler.js.backup services/rss-scheduler.js
|
|
cp routes/rss.routes.js.backup routes/rss.routes.js
|
|
|
|
# Redémarrer
|
|
npm restart
|
|
```
|
|
|
|
### 📝 Logs
|
|
|
|
Les logs sont maintenant ultra-clairs:
|
|
|
|
```
|
|
[INFO]: 🔄 === Début mise à jour RSS ===
|
|
[INFO]: 📰 3 flux à traiter
|
|
[INFO]: ⏳ Récupération: NBA - Google Actualités
|
|
[INFO]: ✅ NBA - Google Actualités: 27 nouveaux (2.34s)
|
|
[INFO]: ✅ === Fin: 27 nouveaux articles (3 OK, 0 erreurs, 7.12s) ===
|
|
```
|
|
|
|
### ❓ Dépannage
|
|
|
|
**Problème: Aucun article ne s'affiche**
|
|
```bash
|
|
# Vérifier la DB
|
|
node scripts/check-rss-dates.js
|
|
|
|
# Vérifier qu'il y a des flux activés
|
|
# Dans l'interface admin > Flux RSS
|
|
```
|
|
|
|
**Problème: Toujours les mêmes articles**
|
|
```bash
|
|
# Reset complet
|
|
node scripts/reset-rss.js
|
|
|
|
# Réajouter les flux via l'interface
|
|
```
|
|
|
|
**Problème: Erreurs de fetch**
|
|
```bash
|
|
# Voir les logs
|
|
tail -f data/app.log
|
|
|
|
# Debug un flux spécifique
|
|
node scripts/debug-rss-fetch.js
|
|
```
|
|
|
|
### 🎉 Résultat
|
|
|
|
Le système devrait maintenant:
|
|
- ✅ Récupérer les nouveaux articles dans les 2 minutes
|
|
- ✅ Afficher les articles du jour (14 novembre)
|
|
- ✅ Éviter les doublons
|
|
- ✅ Être simple à maintenir et déboguer
|