58 lines
3.1 KiB
Markdown
58 lines
3.1 KiB
Markdown
# Flux RSS - Commune de Silly
|
|
|
|
Genere trois flux RSS/Atom pour la commune de Silly (Belgique) : actualites,
|
|
agenda et page Facebook, a deployer sur un hebergement PHP mutualise
|
|
(extensions `curl` et `dom` uniquement, aucun cron ni conf serveur : chaque
|
|
flux se regenere a la demande et est mis en cache).
|
|
|
|
Depuis le 14/10/2026, www.silly.be est passe de Plone (`imio.smartweb`) a
|
|
WordPress. L'ancienne API JSON n'existe plus ; la variante Python
|
|
(`silly_rss.py`) et ses fichiers de deploiement (nginx/cron) qui en
|
|
dependaient ont ete supprimes (historique git). Nouvelles sources :
|
|
|
|
| Flux | Source | Cache |
|
|
| --- | --- | --- |
|
|
| `actualites.php` | flux RSS WordPress `https://www.silly.be/actualites/feed/` (50 derniers articles via `?paged=1..5`, texte complet), re-servi tel quel avec `atom:link rel="self"` corrige | 15 min |
|
|
| `agenda.php` | iCal officiel `https://www.silly.be/agenda/?ics=1`, converti en RSS (guid = UID, link = URL, description = dates + lieu + texte) | 12 h |
|
|
| `facebook.php` | proxy du flux [FetchRSS](https://fetchrss.com) | 15 min |
|
|
|
|
Limites de l'agenda : l'iCal ne liste que les evenements a venir, et les
|
|
regles de recurrence (`RRULE`) ne sont pas developpees. L'API REST
|
|
`/wp-json/wp/v2/evenement` expose davantage d'evenements (passes inclus) mais
|
|
sans aucune date (champ `acf` vide), donc inutilisable pour un agenda.
|
|
|
|
## Deploiement (hebergement perso — sillycone-village.be)
|
|
|
|
1. Copier tout le dossier [php/](php/) sur l'hebergement (FTP/SFTP), dans
|
|
`silly-rss/` a la racine du site (Apache, confirme actif sur
|
|
`sillycone-village.be`).
|
|
2. Verifier que PHP a les extensions `curl` et `dom` activees (quasi toujours le cas en
|
|
mutualise standard).
|
|
3. Le dossier `php/cache/` doit etre inscriptible par PHP (permissions par
|
|
defaut suffisent generalement sur du mutualise ; sinon `chmod 775`).
|
|
4. Les flux sont alors accessibles en :
|
|
- `https://sillycone-village.be/silly-rss/actualites.php`
|
|
- `https://sillycone-village.be/silly-rss/agenda.php`
|
|
- `https://sillycone-village.be/silly-rss/facebook.php` (proxy/cache du
|
|
flux [FetchRSS](https://fetchrss.com) de la page Facebook, pour avoir
|
|
une URL stable sur votre propre domaine)
|
|
5. Ajouter ces 3 URLs comme sources dans FreshRSS (Administration > Flux
|
|
RSS > Ajouter un flux), sur `https://akbar.nohost.me/rss`.
|
|
|
|
Note CSP : `sillycone-village.be` sert ses pages HTML avec un
|
|
`Content-Security-Policy` strict (`connect-src 'self' ...`). Cela ne
|
|
concerne que le JS execute dans le navigateur sur ce site — sans impact ici
|
|
puisque FreshRSS recupere les flux XML cote serveur.
|
|
|
|
Teste avec PHP 8.3 CLI (16/10/2026) : les 3 scripts produisent du XML bien forme
|
|
avec de vraies donnees (10 actualites, 4 evenements).
|
|
|
|
## Facebook (page communedesilly)
|
|
|
|
Pas de solution fiable trouvee en scraping direct : le HTML de
|
|
facebook.com est vide de contenu exploitable sans authentification, et
|
|
l'instance RSS-Bridge testee (`FacebookBridge`) renvoie une erreur 400.
|
|
Solution retenue : [FetchRSS](https://fetchrss.com) (service tiers),
|
|
reproxifie sous votre propre domaine (`facebook.php`) pour avoir 3 URLs
|
|
stables et partageables.
|