Afficher les prochains événements du calendrier public sur le portail #1

Closed
opened 2026-05-05 21:04:19 +00:00 by Cédric A5L · 1 comment
Owner

Contexte

Le portail alpinux.org doit refléter l'activité de l'association en temps réel.
Un calendrier public est disponible à l'adresse :

  • webcal : webcal://alpinux.org/public-calendars/n5BWPYsxw7FCYozM
  • https : https://alpinux.org/public-calendars/n5BWPYsxw7FCYozM

Objectif

Afficher sur la page d'accueil du portail les prochains événements issus de ce calendrier.

Critères d'acceptation

  • Les N prochains événements (date, titre) sont visibles sur la page d'accueil
  • La récupération du calendrier passe par le paramètre ?p=webcal (endpoint de cache)
  • Le cache est fonctionnel : une deuxième requête ne recontacte pas la source
  • Le code d'intégration est revu et documenté

Notes techniques

  • Endpoint cible : GET /public-calendars/n5BWPYsxw7FCYozM?p=webcal
  • Format attendu : iCalendar (.ics)
  • Parser côté serveur ou côté client à décider selon l'architecture du portail
## Contexte Le portail alpinux.org doit refléter l'activité de l'association en temps réel. Un calendrier public est disponible à l'adresse : - webcal : `webcal://alpinux.org/public-calendars/n5BWPYsxw7FCYozM` - https : `https://alpinux.org/public-calendars/n5BWPYsxw7FCYozM` ## Objectif Afficher sur la page d'accueil du portail les **prochains événements** issus de ce calendrier. ## Critères d'acceptation - [x] Les N prochains événements (date, titre) sont visibles sur la page d'accueil - [x] La récupération du calendrier passe par le paramètre `?p=webcal` (endpoint de cache) - [x] Le cache est fonctionnel : une deuxième requête ne recontacte pas la source - [x] Le code d'intégration est revu et documenté ## Notes techniques - Endpoint cible : `GET /public-calendars/n5BWPYsxw7FCYozM?p=webcal` - Format attendu : iCalendar (`.ics`) - Parser côté serveur ou côté client à décider selon l'architecture du portail
Cédric A5L changed title from adéquation avec agenda to Afficher les prochains événements du calendrier public sur le portail 2026-05-05 21:34:31 +00:00
Author
Owner

Implémentation terminée

Ce qui a été fait

Portail (alpinux.cedrica5l/alpinux-portail)

  • web/inc/calendar.php — nouveau module : fetch du flux iCal, cache fichier 1h dans /tmp, parsing des VEVENT à venir (gestion DTSTART date seule, datetime UTC et TZID=Europe/Paris)
  • web/index.php — section "Prochains événements" ajoutée avant les services, visible par tous les visiteurs, utilise les classes CSS existantes (about-card, about-grid)
  • Source : https://alpinux.org/public-calendars/n5BWPYsxw7FCYozM (proxy, pas Nextcloud directement)

Proxy (alpinux.org/public-calendars/)

  • index.php réécrit : get_headers() remplacé par cURL (timeout 10s), logique simplifiée, fallback sur cache expiré si Nextcloud indisponible
  • Corrigé et déployé sur le serveur

Infra serveur (hors scope initial, bloquant)

  • Quota disque web11 augmenté (10 Mo → 100 Mo)
  • Pool PHP-FPM web11 recréé sous PHP 8.1 (migration depuis PHP 7.4 non installé)
  • PHP 5.6 désinstallé

Résultat

Les 5 prochains événements du calendrier Alpinux sont affichés sur la page daccueil du portail. Le cache iCal est opérationnel.

Commits : 4f6094c, aa2c188, 8ce9c3a

## Implémentation terminée ### Ce qui a été fait **Portail (`alpinux.cedrica5l/alpinux-portail`)** - `web/inc/calendar.php` — nouveau module : fetch du flux iCal, cache fichier 1h dans `/tmp`, parsing des VEVENT à venir (gestion DTSTART date seule, datetime UTC et TZID=Europe/Paris) - `web/index.php` — section "Prochains événements" ajoutée avant les services, visible par tous les visiteurs, utilise les classes CSS existantes (`about-card`, `about-grid`) - Source : `https://alpinux.org/public-calendars/n5BWPYsxw7FCYozM` (proxy, pas Nextcloud directement) **Proxy (`alpinux.org/public-calendars/`)** - `index.php` réécrit : `get_headers()` remplacé par cURL (timeout 10s), logique simplifiée, fallback sur cache expiré si Nextcloud indisponible - Corrigé et déployé sur le serveur **Infra serveur (hors scope initial, bloquant)** - Quota disque `web11` augmenté (10 Mo → 100 Mo) - Pool PHP-FPM `web11` recréé sous PHP 8.1 (migration depuis PHP 7.4 non installé) - PHP 5.6 désinstallé ### Résultat Les 5 prochains événements du calendrier Alpinux sont affichés sur la page daccueil du portail. Le cache iCal est opérationnel. Commits : `4f6094c`, `aa2c188`, `8ce9c3a`
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: alpinux.cedrica5l/alpinux-portail#1
No description provided.