Bonjour,
Je viens à la recherche d'un petit coup de pouce, une prise de recul et/ou votre expérience concernant l'algorithme d'une fonctionnalité que je souhaite mettre en place sur mon site.
Je suis actuellement en train de développer un site qui possède un calendrier/agenda (type google) dans lequel on peut créer des événements, uniquement à soit même ou pour un groupe d'utilisateur. A cela j'ai implanté un système d'alerte/notification pour prévenir X temps avant que l'utilisateur à un événement.
Mais voilà, je me confronte à un questionnement au niveau de l'algo. Je m'explique: quand un utilisateur n'est pas sur la même timezone que le créateur. Si je crée un événement qui a lieu à 14h et qui doit m'alerter 1h avant, je serais notifier à 13h que j'ai un événement dans 1h. Cependant si j'ai invité Bryan qui vit au Etat-Unis avec 8h de décalage, comment faire pour que lui soit bien notifié en fonction de sa timezone et non pas à mon 13h.
L'algo que j'ai pour le moment en tête:
-
Avoir dans l'entité User le timezone du user (logique je pense).
-
Lors de la création de mon événement, je crée en base de donné 1 ligne pour chaque user lié à cet événement avec en date de début et fin l'heure calculé de celui-ci et d'alerte en fonction de sa timezone.
-
Si entre temps l'utilisateur change de timezone, je fais une recherche de tous les événements contenant son ID et met à jour les dates et heures.
Je cherche donc à savoir s'il n'y a pas une solution plus optimisée à cela :)
Merci d'avance.
Fabien.