7387 sujets

Développement web côté serveur, CMS

Bonjour à tous

Je gère le site d'une association musicale, dont la page la plus utile aux membres de l'association est la liste des répétitions et concerts (dits "évènements").
En haut de cette page, j'ai mis un bouton qui déclenche le chargement d'un fichier ics
Cela permet aux membres qui disposent d'un téléphone mobile d'enregistrer les évènements dans le calendrier de leur appareil.
Un membre de l'association m'a dit que certains sites proposent des "abonnements", c'est à dire qu'à chaque modification des évènements son calendrier est mis à jour automatiquement, sans qu'il ait à cliquer sur quoi que ce soit.
Quelqu'un a-t-il l'expérience de cette technique et de la façon de la mettre en œuvre?
Merci de vos conseils
Bonjour,
Est ce que c'est possible au moins d'avoir un aperçu du site ?
C'est la technologie Ajax qui peut aider à faire cela
Je ne crois pas que ce soit un problème Ajax ou autre similaire.
Je ne peux pas te montrer le site, car le bouton en question est réservé aux abonnés.
Du point de vue image, ça donne:
upload/1495194073-48769-am.jpg
Quand on clique sur le bouton vert à gauche du titre, ça lance un programme PHP qui génère l'envoi d'un fichier ics:

    $calendar = new Calendar($startDate, $endDate);
    header('Content-type: text/calendar; charset=utf-8');
    header('Content-Disposition: attachment; filename=' . 'Alma-Musica.ics');
    echo $calendar -> icsItem();

"Calendar" étant une classe d'objet qui extrait de la base les évènements entre deux dates, la méthode icsItem génère le contenu du fichier ics.
Quand un navigateur Safari reçoit un fichier de ce type, il en met le contenu dans le calendrier.
Ce code fonctionne sans problème depuis des années, pas de problème.

Par contre le concept d'"abonnement" à une liste d'évènements est quelque chose que je ne connais pas.
Modifié par PapyJP (20 May 2017 - 09:50)
Bonjour.

Je suppose que l'abonnement doit mettre en relation la liste des événements possibles caractérisés par une ou plusieurs catégories et un utilisateur.

À part passer par les triggers, qui permettent le déclenchement d'une action à chaque insertion, je ne vois pas.

Smiley smile
Administrateur
Bonjour,

On peut ajouter à Google Calendar des URL de fichier ICS que le site va mettre à jour et regénérer après chaque changement par le site créant les évènements. GCal consulte de temps à temps s'il y a une mise à jour - quand il veut Smiley confus mais ça va encore - et si oui met à jour le calendrier de l'abonné.
On utilise ça en interne pour nos besoins, par exemple pour nos sessions de formations affichées directement dans GCal.

D'autres moyens d'indiquer un changement - visuellement - avec les mots-clés notifications et/ou push mais je connais peu, que ce soit comme utilisateur ou concepteur https://www.sitepoint.com/introduction-web-notifications-api/
Modifié par Felipe (19 May 2017 - 16:14)