mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
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
This commit is contained in:
4 files changed
+238
-2
No files matched your search
@@ -0,0 +1,74 @@
|
||||
// Script pour vérifier les dates des articles RSS
|
||||
const { getAll, initDatabase } = require('../config/database');
|
||||
|
||||
async function checkRssDates() {
|
||||
console.log('\n==================== VÉRIFICATION DATES RSS ====================\n');
|
||||
|
||||
try {
|
||||
await initDatabase();
|
||||
|
||||
// Vérifier le nombre total d'articles
|
||||
const total = await getAll('SELECT COUNT(*) as count FROM rss_articles');
|
||||
console.log(`📊 Total articles en base: ${total[0]?.count || 0}\n`);
|
||||
|
||||
// Vérifier les 10 derniers articles par date
|
||||
const recent = await getAll(`
|
||||
SELECT
|
||||
a.title,
|
||||
a.pub_date,
|
||||
a.created_at,
|
||||
f.title as feed_title,
|
||||
a.link
|
||||
FROM rss_articles a
|
||||
LEFT JOIN rss_feeds f ON a.feed_id = f.id
|
||||
ORDER BY a.pub_date DESC
|
||||
LIMIT 10
|
||||
`);
|
||||
|
||||
console.log('📅 10 articles les plus récents (par pub_date):');
|
||||
recent.forEach((article, i) => {
|
||||
const pubDate = new Date(article.pub_date);
|
||||
const createdDate = new Date(article.created_at);
|
||||
console.log(`\n${i + 1}. ${article.title}`);
|
||||
console.log(` Source: ${article.feed_title || 'Inconnu'}`);
|
||||
console.log(` Date publication: ${pubDate.toLocaleString('fr-FR')}`);
|
||||
console.log(` Date ajout DB: ${createdDate.toLocaleString('fr-FR')}`);
|
||||
});
|
||||
|
||||
// Vérifier les flux
|
||||
console.log('\n\n📰 Flux RSS configurés:');
|
||||
const feeds = await getAll('SELECT * FROM rss_feeds WHERE enabled = 1');
|
||||
feeds.forEach(feed => {
|
||||
console.log(`\n- ${feed.title || feed.url}`);
|
||||
console.log(` URL: ${feed.url}`);
|
||||
console.log(` Dernière mise à jour: ${feed.last_fetched_at || 'jamais'}`);
|
||||
});
|
||||
|
||||
// Compter articles par flux
|
||||
console.log('\n\n📈 Articles par flux:');
|
||||
const counts = await getAll(`
|
||||
SELECT
|
||||
f.title,
|
||||
COUNT(a.id) as count,
|
||||
MAX(a.pub_date) as latest
|
||||
FROM rss_feeds f
|
||||
LEFT JOIN rss_articles a ON f.id = a.feed_id
|
||||
WHERE f.enabled = 1
|
||||
GROUP BY f.id
|
||||
`);
|
||||
counts.forEach(c => {
|
||||
const latest = c.latest ? new Date(c.latest).toLocaleString('fr-FR') : 'aucun';
|
||||
console.log(`\n${c.title}: ${c.count} articles`);
|
||||
console.log(` Plus récent: ${latest}`);
|
||||
});
|
||||
|
||||
console.log('\n\n========================================================\n');
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ Erreur:', error);
|
||||
}
|
||||
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
checkRssDates();
|
||||
Reference in new issue
Block a user