Adaptez-le à vos besoins
Configuration du bouton Add to Calendar
La liste suivante contient tous les attributs possibles pour configurer et personnaliser votre prochain bouton Add to Calendar.
Consultez la démo pour essayer la plupart d’entre eux et parcourez les pages d’exemples pour obtenir des descriptions plus détaillées de cas particuliers.
Pour définir une valeur booléenne dans l’élément HTML personnalisé, il suffit d’ajouter le nom de l’attribut.
S’il n’est pas défini, sa valeur est automatiquement « false ». Vous pouvez également toujours l’écrire sous forme de chaîne, par exemple attributeName="true".
Paramètres PRO
| Nom(Valeur) | Détails | |
|---|---|---|
| prokey | StringRéservé à PRO | Si vous utilisez le service PRO, l’attribut « prokey » permet de relier le bouton à l’un de vos événements. |
| group-overview | BooleanRéservé à PRO | Si un groupe d’événements est configuré à la fois pour un abonnement et une liste d’événements, le bouton d’abonnement s’affiche par défaut. Utilisez cet attribut pour afficher plutôt la liste des événements. |
| group-overview-config | ObjectRéservé à PRO | Paramètres facultatifs de
|
Paramètres de l’événement
| Nom(Valeur) | Détails | |
|---|---|---|
| name | StringObligatoire | Le titre de votre événement. Il doit s’agir d’une chaîne plutôt courte. |
| description | String | Prend en charge les pseudo-balises HTML de mise en forme : [url], [br], [hr], [p], [strong], [u], [i], [em], [li], [ul], [ol], [h*] (comme h1, h2, h3, ...). (En cas de problème de compatibilité, vous pouvez utiliser des accolades {} au lieu des crochets [].) (Apple, Yahoo et Microsoft Teams ne sont pas entièrement pris en charge ; le contenu est automatiquement converti en texte brut, avec uniquement les sauts de ligne et les liens.) |
| start-date | StringObligatoire sans les options « dates » ou « subscribe »YYYY-MM-DD | Une date doit respecter le format YYYY-MM-DD défini par ISO-8601. Vous pouvez utiliser le mot magique « today » pour définir dynamiquement le jour actuel. Ajouter « +5 » à la fin ajoute automatiquement 5 jours à la date calculée. De manière non officielle, un format tel que « YYYY-MM-DDTHH:MMZ » fonctionne également. |
| start-time | StringHH:MM | Si elle n’est pas définie, l’événement est considéré comme durant toute la journée. |
| end-date | StringYYYY-MM-DD | Une date doit respecter le format YYYY-MM-DD défini par ISO-8601. Si aucune date de fin n’est définie, elle est supposée identique à la date de début. Le mot magique « today » définit dynamiquement le jour actuel. Ajouter « +5 » ajoute automatiquement 5 jours à la date calculée. De manière non officielle, un format tel que « YYYY-MM-DDTHH:MMZ » fonctionne également. |
| end-time | StringHH:MM | Si elle n’est pas définie, l’événement est considéré comme durant toute la journée. |
| time-zone | StringValeur par défaut: GMT | Ce champ n’est pas obligatoire, mais il est recommandé d’ajouter un fuseau horaire. La valeur « currentBrowser » permet d’utiliser dynamiquement l’heure du navigateur de l’utilisateur. Utilisez-la avec prudence, car l’heure de l’événement différera alors selon l’utilisateur, ce qui n’est généralement pas souhaitable. |
| use-user-tz | BooleanValeur par défaut: False | Cette option convertit l’heure et le fuseau horaire selon les réglages de chaque utilisateur. Avec la valeur « true », l’heure est convertie dans le fuseau horaire de l’utilisateur. |
| location | StringObligatoire pour les données enrichies Schema.org | Peut contenir n’importe quelle valeur. S’il s’agit d’une URL, l’événement est classé comme « événement en ligne » dans la déclaration schema.org. |
| status | StringOptions: tentative, confirmed, cancelledValeur par défaut: confirmed | Permet de gérer les modifications d’un événement conformément à la spécification iCalendar RFC5545. |
| sequence | NumberValeur par défaut: 0 | Doit être un nombre entier positif. |
| availability | StringOptions: busy, freeValeur par défaut: Réglage par défaut du calendrier de l’utilisateur | Par défaut, l’événement est marqué comme occupé/libre/disponible selon les réglages du calendrier de l’utilisateur. |
| uid | StringXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXValeur par défaut: Généré aléatoirement | L’identifiant unique de l’événement tel qu’il est utilisé dans le fichier iCal. Il ne peut contenir que des lettres, des chiffres et des tirets, et doit compter moins de 255 caractères. |
| organizer | StringNAME|EMAIL | Utilisez le schéma « NOM|E-MAIL » (par ex. « Jean Dupont|jean.dupont@gmail.com »). L’organisateur apparaît dans les données enrichies schema.org ainsi que dans le fichier iCal. |
| attendee | StringNAME|EMAIL | Utilisez le schéma « NOM|E-MAIL » (par ex. « Jean Dupont|jean.dupont@gmail.com »), ou uniquement l’adresse e-mail car le nom est facultatif. Un seul participant peut être indiqué. Lorsque vous indiquez un participant, vous devez aussi indiquer un organisateur. |
| dates | Tableau d’objets | Pour définir une série d’événements, utilisez l’objet « dates ». Il reprend la structure de date du niveau racine, mais permet de définir plusieurs événements. Les valeurs racine remplacent celles de l’objet « dates », sauf le nom lorsqu’il y a plusieurs dates (le nom racine devient alors le titre de la série). Cas particulier : l’« UID » racine ne s’applique qu’au premier sous-événement, puisqu’il doit être unique. Les suivants reçoivent de nouveaux UID aléatoires. Attributs de chaque sous-événement :
|
| recurrence | StringOptions: "RRULE:..."; daily, weekly, monthly, yearly | Définit des événements récurrents. Cette option désactive Yahoo et Microsoft (ainsi que Google sous iOS), qui ne les prennent actuellement pas en charge ; les utilisateurs peuvent toujours employer iCal. Si aucune option ne reste, iCal sert de solution de secours. Vous pouvez utiliser toute RRULE valide sauf BYHOUR, BYMINUTE et BYSECOND (générateur). À la place, les paramètres de récurrence simplifiés suivants peuvent générer la RRULE en arrière-plan. Dans ce cas, indiquez dans « recurrence » la fréquence (daily, weekly, monthly, yearly) plutôt que la RRULE. |
| recurrence-interval | NumberValeur par défaut: 1 | Définit l’intervalle entre les répétitions. |
| recurrence-until | StringYYYYMMDDTHHMMSSZ | Définit une date de fin. |
| recurrence-count | Number | Définit un nombre maximal de répétitions. |
| recurrence-by-day | String | Définit les jours de la semaine (MO, TU, WE, TH, FR, SA, SU) où l’événement a lieu, par exemple s’il est lié au mardi plutôt qu’au 24. |
| recurrence-by-month-day | String | Utilisez cette option à la place de « byDay » pour choisir un jour numéroté (1, 2, ... 31) plutôt qu’un jour de la semaine. |
| recurrence-by-month | StringOptions: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 | Définit les mois (1, 2, 3, ... 12) où l’événement doit avoir lieu. |
| recurrence-weekstart | StringOptions: MO, TU, WE, TH, FR, SA, SUValeur par défaut: MO | Définit un jour précis comme début de la semaine. |
| subscribe | BooleanValeur par défaut: False | Au lieu de fournir un événement prédéfini, vous pouvez héberger un calendrier et proposer de s’y abonner (un calendrier hébergé est requis). « Name » et « start-date » restent nécessaires à des fins d’organisation, mais tous les autres paramètres d’événement peuvent être omis. Pour les services Microsoft, « Name » sert de nom au calendrier. Microsoft Teams n’est pas encore pris en charge et Yahoo ne l’est plus ; les deux sont désactivés automatiquement, tout comme les autres services Microsoft sur mobile. Si le navigateur ne reconnaît aucune application de calendrier installée, un écran vide peut apparaître. La version PRO atténue ce problème avec un écran intermédiaire explicatif. |
| ics-file | StringURL | Le fichier iCal/ics est créé dynamiquement. Dans le cas d’un abonnement, indiquez ici le calendrier externe. Avec plusieurs dates et un organisateur ou un statut, préparez plusieurs fichiers ics : celui de la première date est indiqué ici, puis chaque date suivante cherche un fichier de même nom auquel est ajouté un numéro à partir de 2 (par ex. « event-2.ics »). |
| ical-file-name | StringValeur par défaut: event-to-save-in-my-calendar | Pour attribuer un nom précis à tout fichier ics (iCal) généré, utilisez l’option ical-file-name. |
Options du fichier ics
Ces options modifient uniquement le fichier ics généré : elles s’appliquent aux calendriers « apple » et « ical » ; tous les autres les ignorent simplement (sans erreur ni suppression d’option).
Toutes sauf « ics-exdate » peuvent aussi être définies pour chaque entrée du tableau multi-date « dates » (les valeurs racine remplacent celles de l’entrée, comme pour les autres champs de date).
| Nom(Valeur) | Détails | |
|---|---|---|
| ics-reminder | String / Number | Ajoute une alarme. Indiquez les minutes avant le début (par ex. |
| ics-url | String | Ajoute un lien canonique (propriété URL) à l’événement. Il doit s’agir d’une URL http(s) valide. |
| ics-categories | String / Array | Associe à l’événement une liste de catégories séparées par des virgules. |
| ics-class | StringOptions: public, private, confidential | Définit la classification de l’événement. |
| ics-priority | NumberOptions: 0 - 9 | Définit la priorité de 0 (indéfinie), 1 (maximale) à 9 (minimale). |
| ics-geo | Stringlatitude,longitude | Ajoute des coordonnées géographiques. Avec « location », Apple Calendar affiche un aperçu de carte. |
| ics-attach | String / Array | Joint des fichiers par URL (liste d’URL http(s) séparées par des virgules), comme un PDF ou un billet. |
| ics-exdate | String / ArrayYYYY-MM-DD | Exclut des dates d’un événement récurrent (liste séparée par des virgules). Nécessite « recurrence » et ne peut pas être définie par entrée de date. |
| ics-created | StringYYYYMMDDTHHMMSSZValeur par défaut: Heure de téléchargement du fichier | Le champ « Created » prend par défaut l’heure de génération et de téléchargement. Utilisez cette option pour fixer un horodatage UTC statique, par ex. « 20231201T103000Z ». |
| ics-updated | StringYYYYMMDDTHHMMSSZValeur par défaut: Heure de téléchargement du fichier | Le champ « Updated » prend par défaut l’heure de génération. Utilisez cette option pour fixer un horodatage UTC statique, par ex. « 20231201T103000Z ». |
Paramètres de mise en page
| Nom(Valeur) | Détails | |
|---|---|---|
| options | ArrayOptions: apple, google, ical, ms365, msteams, outlookcom, yahoo | Tableau des calendriers de la liste. Avec un seul type, son icône remplace l’icône standard et l’action est directe. Certaines options peuvent être exclues selon les autres réglages ; « ical » devient « apple » sous iOS. options-mobile définit les appareils mobiles et options-ios remplace ce choix sous iOS (pas sur Mac). |
| button-style | StringOptions: default, simple, 3d, flat, round, neumorphism, text, date, custom, noneValeur par défaut: default | Plusieurs styles intégrés influencent aussi d’autres paramètres. Essayez-les. « none » ne charge aucun CSS et « custom » exige le fichier de « custom-css ». Seul le style par défaut est inclus ; les autres se chargent à la demande ou via les imports de styles. Importez |
| inline | BooleanValeur par défaut: False | Affiche le bouton en ligne plutôt qu’en bloc. |
| custom-css | StringURL | Charge un fichier CSS externe avec button-style « custom ». Le CSS personnalisé n’est pas chargé en SSR. |
| style-source | StringURL | Remplace l’URL de base des styles et langues chargés à la demande. Elle doit viser le dossier contenant |
| load-all-styles | BooleanValeur par défaut: False | Précharge tous les styles pour un changement à l’exécution sans délai réseau. Uniquement avec une balise script ; avec npm, importez les modules ou |
| buttons-list | BooleanValeur par défaut: False | Affiche un bouton par calendrier. |
| label | StringValeur par défaut: Add to Calendar | Remplace le texte du bouton. |
| trigger | StringOptions: hover, clickValeur par défaut: hover | La liste s’ouvre généralement au survol ; choisissez « click » pour l’ouvrir au clic. |
| list-style | StringOptions: dropdown, dropdown-static, dropup-static, overlay, modalValeur par défaut: dropdown | Affiche la liste en menu, superposition ou fenêtre. Le menu choisit automatiquement le haut ou le bas ; les variantes statiques imposent la direction. |
| force-overlay | BooleanValeur par défaut: False | Place le bouton et le menu au-dessus de tout pour éviter les conflits de mise en page, avec un léger coût de performance. |
| hide-background | BooleanValeur par défaut: False | Rend l’arrière-plan totalement transparent. |
| hide-icon-button | BooleanValeur par défaut: False | Masque l’icône du bouton. |
| hide-icon-list | BooleanValeur par défaut: False | Masque les icônes de la liste. |
| hide-icon-modal | BooleanValeur par défaut: False | Masque l’icône des fenêtres d’information. |
| hide-text-label-button | BooleanValeur par défaut: False | Masque le texte du bouton. |
| hide-text-label-list | BooleanValeur par défaut: False | Masque les textes de la liste. |
| hide-checkmark | BooleanValeur par défaut: False | Après un clic, une coche marque l’événement comme enregistré, sauf sans libellé, avec buttons-list ou atcb_action. Cette option la désactive aussi dans les autres cas. |
| past-date-handling | StringOptions: none, disable, hideValeur par défaut: none | Définit le traitement d’un événement passé : « disable » désactive le bouton et « hide » le masque. Ne s’applique pas aux événements récurrents. |
| size | StringX|X|XValeur par défaut: 6|6|6 | Nombre de 0 à 10. Une valeur vaut partout ; jusqu’à trois valeurs ciblent les grands, moyens et petits écrans. Avec deux, la seconde vaut pour moyens et petits. |
| light-mode | StringOptions: system, dark, light, bodySchemeValeur par défaut: light | Choisissez clair, sombre, le réglage système ou « bodyScheme », qui suit les classes « atcb-dark » ou « dark » de html/body. |
| language | StringOptions: ar, az, be, bg, bs, cs, da, de, el, en, es, et, fa, fi, fr, he, hi, hr, hu, hy, id, it, ja, ka, ko, lt, lv, mk, mt, nb, nl, nn, no, pl, pt, pt_BR, ro, ru, sk, sl, sq, sr, sr_latin, sv, tr, uk, vi, zh, zh_hantValeur par défaut: en | Sélectionne les traductions incluses, avec prise en charge RTL. L’anglais est intégré ; les autres langues se chargent à la demande ou par import. Les locales complètes préfèrent le pack et le format de date régionaux. |
| custom-labels | Object | Remplace les textes via un objet JSON et des clés aplaties comme |
| style-light | String | Remplace les variables CSS globales du bouton. Consultez les fichiers CSS du dépôt. style-light est la valeur par défaut ; définissez style-dark pour le mode sombre. |
| style-dark | String | Remplace les variables CSS globales du bouton ; consultez le début du fichier CSS correspondant dans le dépôt. |
Paramètres supplémentaires
| Nom(Valeur) | Détails | |
|---|---|---|
| images | ArrayURLs | Enrichit les données schema.org. Utilisez au moins une image absolue de 720 px, idéalement trois images de 1920 px aux formats 1x1, 4x3 et 16x9. |
| hide-rich-data | BooleanValeur par défaut: False | Désactive les données schema.org générées automatiquement lorsque name, start-date et location sont définis. |
| identifier | StringValeur par défaut: Nombre croissant | Définit l’identifiant lisible utilisé pour le suivi ; par défaut un nombre croissant, unique et sans caractères spéciaux. |
| bypass-web-view-check | BooleanValeur par défaut: False | Contourne l’aide WebView iPhone uniquement dans votre propre application si le téléchargement s’ouvre dans le navigateur et si ics-file est fourni. |
| hide-branding | BooleanValeur par défaut: False | Supprime le discret marquage qui soutient ce projet open source gratuit, tout en respectant la licence. |
| cspnonce | String | Ajoute l’attribut « nonce » aux scripts et styles intégrés pour les CSP strictes. |
| instance | Number | Incrémentez cette valeur pour forcer un nouveau rendu. |
| pro-override | BooleanValeur par défaut: False | Permet aux réglages locaux de remplacer ceux de l’application PRO. Prudence : cela peut créer des incohérences. |
| debug | BooleanValeur par défaut: False | Affiche les erreurs de configuration dans la console et à la place du calendrier ; utile lors de la première intégration. |