Problème identifié :
- Les liens Google News changent à chaque requête (tracking)
- Les mêmes articles étaient considérés comme nouveaux
- Empêchait l'ajout des vrais nouveaux articles (13 nov)
Solution :
- Double vérification : par lien ET par titre+date
- Évite les doublons même si le lien change
- Permet d'ajouter les vrais nouveaux articles
Détails techniques :
- Vérifie existingByLink (contrainte UNIQUE de la DB)
- Vérifie existingByTitleDate (même titre + même jour)
- N'ajoute que si les deux vérifications échouent
- Normalise pubDate avant comparaison
Scripts ajoutés :
- debug-rss-fetch.js : Debug détaillé de la récupération
- cleanup-duplicates.js : Analyse et nettoyage des doublons
Correction de l'ordre d'affichage :
- Supprime le .reverse() dans loadRssArticles()
- Les articles s'affichent maintenant du plus récent au plus ancien
- Correspond au comportement standard d'un lecteur RSS
Résout le problème où les nouveaux articles (13 nov) étaient
à la fin et nécessitaient de paginer jusqu'à la dernière page.
Maintenant les articles les plus récents apparaissent en premier.
Ajout de scripts utilitaires :
- check-rss-dates.js : Vérifie les dates des articles en DB
- init-rss-feeds.js : Initialise des flux RSS par défaut
- force-refresh-rss.js : Force une mise à jour manuelle
Améliorations majeures de la fluidité de l'application :
RSS Auto-Initialization:
- Auto-initialisation de 3 flux français par défaut (Le Monde, BBC, Le Figaro)
- Lancement automatique au premier démarrage du serveur
- Timeout protection (15s) pour parsing RSS
- Logging détaillé avec emojis pour meilleur suivi
Visual Feedback System:
- Skeleton loaders CSS pour performance perçue améliorée
- Indicateur de rafraîchissement (top-right) pendant mises à jour RSS
- Loading spinners animés
- Animations fade-in fluides
- Empty states avec styles appropriés
Diagnostic Tools:
- Script diagnose-rss.js pour troubleshooting
- Affiche état complet: feeds, articles, résumés, settings
- Auto-initialise la base de données si nécessaire
Client Improvements:
- Fonctions showRefreshIndicator() / hideRefreshIndicator()
- Indicateur visuel pendant auto-refresh toutes les 30s
- Meilleure gestion des erreurs avec feedback visuel
Files modified:
- services/rss-scheduler.js: initializeDefaultFeeds()
- public/css/skeleton.css: NEW - Complete visual feedback system
- public/index.html: Added skeleton.css + refresh indicator
- public/js/complete-app.js: Visual feedback functions
- scripts/diagnose-rss.js: NEW - RSS diagnostic tool
User impact:
✓ Flux RSS automatiquement peuplés au premier lancement
✓ Interface plus fluide avec indicateurs visuels
✓ Performance perçue grandement améliorée
✓ Auto-refresh transparent toutes les 30s