Files
silly-rss/README.md
T
paraandClaude Sonnet 5 ecf9baaa4d Add RSS feed generator for commune de Silly (actualites + agenda)
Scrapes the imio.smartweb JSON API used by www.silly.be (found via the
smartweb-news/smartweb-events web components in the raw HTML) instead of
needing a headless browser. Shells out to curl since Cloudflare silently
blocks Python's urllib/requests TLS fingerprint. Includes Yunohost cron
and nginx deployment snippets.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-25 21:36:39 +02:00

1.7 KiB

Flux RSS - Commune de Silly

Genere deux flux RSS 2.0 (actualites + agenda) pour la commune de Silly (Belgique), a partir de l'API JSON REST (Plone / imio.smartweb) utilisee par www.silly.be — sans navigateur headless.

Voir silly_rss.py pour le detail technique (empreinte Cloudflare, contrainte b_size=20, etc.).

Utilisation manuelle

python3 silly_rss.py /chemin/de/sortie

Genere actualites.xml et agenda.xml dans le dossier indique (. par defaut). Aucune dependance externe : Python 3.10+ (stdlib) et curl (present par defaut sur Yunohost).

Deploiement sur Yunohost

  1. Dossier de sortie

    sudo mkdir -p /var/www/silly-rss
    sudo chown $(whoami):www-data /var/www/silly-rss
    
  2. Cron — voir deploy/silly-rss.cron pour la ligne a ajouter via crontab -e (execution toutes les heures).

  3. nginx — voir deploy/nginx-silly-rss.conf, a copier dans /etc/nginx/conf.d/<votre-domaine>.d/silly-rss.conf puis :

    sudo nginx -t && sudo systemctl reload nginx
    
  4. Premiere generation (avant le premier passage du cron) :

    python3 silly_rss.py /var/www/silly-rss
    
  5. FreshRSS — ajouter comme sources :

    • https://<votre-domaine>/silly-rss/actualites.xml
    • https://<votre-domaine>/silly-rss/agenda.xml

Facebook (page communedesilly)

Pas de solution fiable trouvee : le HTML de facebook.com est vide de contenu exploitable sans authentification, et l'instance RSS-Bridge testee (FacebookBridge) renvoie une erreur 400. Recommandation : un service tiers specialise (RSS.app, Fetch RSS) plutot qu'un scraper maison, qui sera cassé au premier changement de Facebook.