Ajout page Veille avec agrégation RSS automatique

- Création d'un plugin Docusaurus pour agréger les flux RSS au build
  * Récupère 37 flux RSS depuis le fichier OPML
  * Filtre les articles des dernières 24h
  * Génère un fichier JSON statique pour chargement instantané

- Page Veille avec composant React
  * Affichage des articles groupés par catégorie
  * Menus dépliables (repliés par défaut)
  * Chargement ultra-rapide depuis JSON pré-généré
  * Support bilingue FR/EN

- GitHub Actions pour rebuild automatique quotidien
  * Workflow déclenché tous les jours à 6h UTC
  * Met à jour les flux RSS via l'API Cloudflare Pages
  * Déclenchement manuel possible

- Configuration Webpack pour compatibilité navigateur
  * Désactivation des polyfills Node.js côté client
  * Correction du warning onBrokenMarkdownLinks

- Icône RSS dans la navbar
  * Lien vers le flux Atom du blog
  * Style cohérent avec les autres icônes

125 articles trouvés dans les dernières 24h lors du dernier build.
This commit is contained in:
Tellsanguis 2025-12-06 09:33:43 +01:00
parent aaf03916d4
commit df63713055
16 changed files with 1148 additions and 5 deletions

View file

@ -25,6 +25,7 @@ const config: Config = {
'docusaurus-plugin-image-zoom',
'./plugins/docusaurus-plugin-unified-tags',
'./plugins/docusaurus-plugin-recent-articles',
'./plugins/docusaurus-plugin-rss-aggregator',
[
'./plugins/docusaurus-plugin-plausible-custom',
{
@ -32,6 +33,7 @@ const config: Config = {
scriptSrc: 'https://plausible.tellserv.fr/js/script.js',
},
],
'./docusaurus.config.webpack.js',
],
title: 'TellServ Tech Blog',
@ -137,6 +139,7 @@ const config: Config = {
},
{to: '/blog', label: 'Blog', position: 'left'},
{to: '/tags', label: 'Tags', position: 'left'},
{to: '/veille', label: 'Veille', position: 'left'},
{to: '/about', label: 'À propos', position: 'right'},
{
type: 'localeDropdown',
@ -154,6 +157,12 @@ const config: Config = {
className: 'header-forgejo-link',
'aria-label': 'Forgejo profile',
},
{
href: 'https://docs.tellserv.fr/blog/atom.xml',
position: 'right',
className: 'header-rss-link',
'aria-label': 'RSS Feed',
},
],
},
footer: {