Titre, lieu, date et heure, fuseau horaire, récurrence, invités, alertes et notes — téléchargez ensuite le fichier .ics ou ouvrez-le directement dans votre calendrier. Vous pouvez aussi coller un programme ou joindre un document ou une photo pour créer plusieurs événements à la fois.
Qu'est-ce que jCal, et en quoi diffère-t-il d'un fichier .ics ?
jCal est iCalendar écrit en JSON, normalisé sous le nom RFC 7265 en 2014. Il porte exactement les mêmes données qu'un fichier .ics — les mêmes propriétés, paramètres et composants — sous forme de tableaux imbriqués plutôt que d'objets, car un composant peut répéter une propriété et l'ordre peut être significatif. Un calendrier est ["vcalendar", [propriétés], [composants]], chaque propriété est [nom, paramètres, typeDeValeur, valeur], donc SUMMARY:Standup devient ["summary", {}, "text", "Standup"]. Ce n'est pas la même chose que schema.org Event en JSON-LD, qui décrit un événement pour les moteurs de recherche et en conserve bien moins. ICS Maker écrit les fichiers .ics et jCal à partir d'un seul modèle d'événement plutôt que de convertir l'un vers l'autre, de sorte que les deux ne peuvent pas être en désaccord sur ce qu'est l'événement.
La structure
La RFC 7265 fait correspondre iCalendar à des tableaux plutôt qu'à des objets, car l'ordre et la répétition comptent dans un calendrier, ce que les objets JSON n'offrent ni l'un ni l'autre. Un calendrier est ["vcalendar", [properties], [components]], et chaque propriété est [name, parameters, valueType, value] — le nom en minuscules, les paramètres sous forme d'objet, le type étant l'un des types de valeur de la RFC 5545.
Ainsi SUMMARY:Standup devient ["summary", {}, "text", "Standup"], et un début avec fuseau horaire devient ["dtstart", {"tzid":"Europe/London"}, "date-time", "2026-08-15T09:00:00"]. Les dates-heures utilisent ici leur orthographe ISO, et non la forme compacte d'iCalendar, et le fuseau horaire se déplace dans un paramètre.
Pourquoi cela vaut la peine
iCalendar est un format texte avec repliement de lignes, règles d'échappement et fins de ligne CRLF, et l'analyser correctement demande plus de travail qu'il n'y paraît. jCal transmet la même sémantique — fuseaux horaires, règles de récurrence, alarmes, participants — à tout ce qui parle déjà JSON, sans avoir à écrire d'analyseur. C'est un rôle différent de celui du Event de schema.org, que cette page peut aussi produire : le JSON-LD décrit un événement pour un moteur de recherche et aplatit la majeure partie de ce dont un calendrier a besoin.
Comment cette page le génère
Les deux formats sont écrits à partir du même événement, et non convertis l'un à partir de l'autre. Un convertisseur hériterait de chaque décision d'échappement de la forme texte, alors que les valeurs jCal sont explicitement non échappées — JSON gère son propre échappement. Écrire les deux à partir d'un seul modèle signifie qu'ils ne peuvent pas être en désaccord sur ce qu'est l'événement, seulement sur la façon dont il est orthographié.
Questions
- Qu'est-ce que jCal ?
- jCal est le format JSON pour iCalendar, normalisé sous le nom RFC 7265 en 2014. Il représente exactement les mêmes données qu'un fichier .ics — les mêmes propriétés, paramètres et composants — au moyen de tableaux JSON imbriqués, de sorte qu'il peut être converti dans les deux sens sans perte de sens.
- jCal est-il identique à JSON-LD ou à schema.org Event ?
- Non. jCal est une correspondance complète d'iCalendar, il porte donc les règles de récurrence, les fuseaux horaires, les alarmes et le statut de participation des participants. schema.org Event en JSON-LD est une description d'un événement destinée aux moteurs de recherche et à d'autres lecteurs, et en conserve délibérément bien moins. Ce générateur produit les deux, à partir du même événement.
- Pourquoi jCal utilise-t-il des tableaux plutôt que des objets ?
- Parce qu'un composant de calendrier peut porter la même propriété plus d'une fois — plusieurs participants, plusieurs dates d'exception — et l'ordre peut être significatif. Un objet JSON indexé par nom de propriété ne pourrait représenter ni l'un ni l'autre, c'est pourquoi la RFC 7265 utilise à la place des tableaux positionnels.
- Qui lit le jCal ?
- C'est un format de niche, bien pris en charge par des bibliothèques de calendrier JavaScript telles qu'ical.js et disponible dans plusieurs boîtes à outils iCalendar côté serveur. Les applications de calendrier grand public s'attendent encore à des fichiers .ics, donc utilisez jCal entre vos propres systèmes et remettez aux gens le fichier .ics.