Files
noteflow/scripts/force-refresh-rss.js
Claude 87d50920d7 Fix: Affichage articles RSS du plus récent au plus ancien
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
2025-11-13 18:54:53 +00:00

59 lines
1.8 KiB
JavaScript

// Script pour forcer la mise à jour des flux RSS et afficher les résultats
const { fetchAllFeeds } = require('../services/rss-scheduler');
const { getAll } = require('../config/database');
const logger = require('../config/logger');
async function forceRefresh() {
console.log('\n==================== MISE À JOUR FORCÉE RSS ====================\n');
try {
console.log('⏳ Lancement de la mise à jour...\n');
// Forcer la mise à jour
await fetchAllFeeds();
console.log('\n📊 Vérification de la base de données...\n');
// Afficher les statistiques
const total = await getAll('SELECT COUNT(*) as count FROM rss_articles');
console.log(`📄 Total articles: ${total[0]?.count || 0}`);
// Afficher les 10 derniers
const recent = await getAll(`
SELECT
a.title,
a.pub_date,
f.title as feed_title
FROM rss_articles a
LEFT JOIN rss_feeds f ON a.feed_id = f.id
ORDER BY a.pub_date DESC
LIMIT 10
`);
if (recent.length > 0) {
console.log('\n📅 10 articles les plus récents:\n');
recent.forEach((article, i) => {
const pubDate = new Date(article.pub_date);
const now = new Date();
const diffHours = Math.round((now - pubDate) / (1000 * 60 * 60));
console.log(`${i + 1}. ${article.title}`);
console.log(` Source: ${article.feed_title || 'Inconnu'}`);
console.log(` Date: ${pubDate.toLocaleString('fr-FR')} (il y a ${diffHours}h)`);
console.log('');
});
} else {
console.log('\n⚠️ Aucun article dans la base de données');
}
console.log('========================================================\n');
} catch (error) {
console.error('❌ Erreur:', error);
}
process.exit(0);
}
forceRefresh();