Documentation
Vue iCal
Table des matières ▼
Présentation
La vue iCal permet d'envoyer des flux au format iCalendar, utilisés pour transmettre des événements à ajouter dans un calendrier.
Utilisation
Pour utiliser la vue iCal, il faut définir l'usage de cette vue. En plus de cela, il faut assigner une variable de templates nommée ical, qui est un tableau associatif avec les clés suivantes :
- name : (optionel) Nom du calendrier.
- description : (optionnel) Description du calendrier.
-
events : (obligatoire) Liste des événements du calendrier. Chaque élément
de la liste doit être un tableau associatif avec les clés suivantes :
- name : (obligatoire) Nom de l'événement.
- description : (optionnel) Description de l'événement.
- html : (optionnel) Description de l'événement au format HTML.
- date : (optionnel) Date de l'événement au format 'YYYY-MM-DD' (si cette clé n'est pas définie, il faut définir les clés dateStart et dateEnd).
- dateStart : (optionnel) Date de début de l'événement au format 'YYYY-MM-DD hh:mm:ssZ' ou 'YYYY-MM-DD hh:mm:ss+hh:mm' (si cette clé n'est pas définie, il faut définier la clé date).
- dateEnd : (optionnel) Date de fin de l'événement au format 'YYYY-MM-DD hh:mm:ssZ' ou 'YYYY-MM-DD hh:mm:ss+hh:mm' (si cette clé n'est pas définie, il faut définier la clé date).
- uid : (optionnel) Identifiant unique de l'événement (recommandé ;génère un identifiant aléatoire sinon).
- dateCreation : (optionnel) Date de création de l'événement au format 'YYYY-MM-DD hh:mm:ssZ' ou 'YYYY-MM-DD hh:mm:ss+hh:mm'.
- organizerName : (optionnel) Nom de l'organisateur de l'événement.
- organizerEmail : (optionnel) Adresse email de l'organisateur de l'événement.
Voici un exemple de d'envoi de données au format RSS :
class ApiController extends \Temma\Web\Controller {
public function getEventss() {
$this['ical'] = [
'name' => 'Mon agenda',
'events' => [
[
'name' => 'Dentiste',
'dateStart' => '2025-04-07 15:30:00+01:00',
'dateEnd' => '2025-04-07 16:25:00+01:00',
'uid' => 'evt-01',
],
];
$this->_view('\Temma\Views\ICal');
}
}
- Lignes 3 à 12 : Définition des données qui seront transmises à la vue.
- Ligne 13 : On spécifie que la vue à utiliser pour les données sortantes est la vue iCal (et non pas la vue Smarty habituelle).
À noter : La vue iCal n'a évidemment pas besoin de templates, dans la mesure où ce sont les données PHP qui sont directement sérialisées.
Les données reçues ressembleront à cela :
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Temma//ICalView 1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-TIMEZONE:UTC
X-WR-CALNAME:Mon agenda
BEGIN:VEVENT
UID:evt-01
DTSTART:20250407T143000Z
DTEND:20250407T152500Z
SUMMARY:Dentiste
TRANSP:TRANSPARENT
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
Précédent : | Vue INI |
Suivant : | Injection de dépendances |
Table des matières
- Migration : Comment passer de Temma 1.x à la version 2
- Installation : Télécharger Temma et l'installer pour démarrer votre projet Web
- Configuration : Toutes les directives de configuration du fichier etc/temma.json et les variables d'environnement utilisables en option
- Bibliothèques externes : Comment utiliser des bibliothèques de fonctions externes
- Routage : Le système de routage par défaut de Temma, et le routage avancé
- Log : Utilisation du système de log, gestion par niveaux de criticité
- Contrôleurs : Pièces essentiels de votre application Web
- Vues : Templates Smarty ou exports JSON/CSV/RSS/iCal/INI
- Injection de dépendances : La colonne vertébrale de vos développements applicatifs
- Sessions : Extension des sessions utilisateurs gérées par PHP
- Sources de données : Pour gérer l'accès aux données de manière unifiée
- Modèle : Comment utiliser les DAO pour accéder aux bases de données
- Flux d'exécution : Comment gérer le flux d'exécution, entre les plugins et le contrôleur
- Plugins : Comment utiliser les plugins, et écrire les vôtres pour modulariser votre code
- Attributs : Comment filtrer l'accès aux contrôleurs et aux actions
- Tests : Pour écrire des tests d'intégration automatisés.
- Interface en ligne de commande : Pour créer des scripts exécutables en ligne de commande, initialisés automatiquement par Temma
- Helpers : Objets proposés par Temma pour vous aider dans plusieurs circonstances