Développement14 juin 2026· via DEV Community

Les sites statiques peuvent désormais générer des flux de calendrier vivants

Les sites statiques peuvent désormais générer des flux de calendrier vivants

Image : DEV Community

Publicité

Les sites statiques peuvent désormais fournir des flux de calendrier qui semblent « en direct » sans jamais toucher à un serveur. Le secret ? Générer des fichiers iCalendar (.ics) valides pendant le processus de compilation, transformant ce que beaucoup croient nécessiter un backend en une simple étape d'émission de fichiers.

Des flux compilés, pas des API en temps réel

Un flux de souscription .ics n’est qu’un simple fichier texte statique que les applications de calendrier rechargent selon un calendrier prédéfini. Pour un site statique, la méthode la plus propre consiste à utiliser un script post-compilation qui écrit directement toutes les variantes de flux dans le dossier de sortie. Après next build, un petit émetteur Node lit les mêmes données JSON utilisées pour rendre les pages, les convertit en un flux principal, des flux annuels, des flux journaliers, et même une minuscule API JSON — le tout sans nouveaux parcours ou routes serveur. La chaîne de traitement reste simple : compilation, émission, déploiement.

Pièges de la RFC 5545 qui cassent les clients

Les événements sur toute la journée nécessitent des heures de fin exclusives — DTEND doit pointer vers le lendemain, sinon certains clients suppriment l’événement. Au-delà, la norme impose un formatage strict : sauts de ligne CRLF (\r\n), pliage des lignes à 75 octets (pas 75 caractères), et échappement soigné des TEXT pour les virgules, points-virgules et sauts de ligne dans les résumés. La fonction de pliage des lignes est particulièrement délicate : séparer un point de code UTF-8 multi-octets corrompt silencieusement le flux. Un UID stable par événement évite les doublons à chaque recompilation, et l’import silencieux d’Apple Calendar est le moyen le plus rapide de repérer ce que vous avez omis.

Une source unique, zéro décalage

Puisque l’émetteur réutilise les mêmes données que celles utilisées pour rendre les pages, les flux ne se désynchronisent jamais avec le site. Aucun parcours API supplémentaire, pas de ISR, pas de fonctions serverless — juste des fichiers que les applications de calendrier récupèrent comme n’importe quel autre asset.


Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

Lire la source originale sur DEV Community →

← Retour à l'accueil

Publicité