# Gladys 4 - Service CalDAV

**URL:** <https://community.gladysassistant.com/t/gladys-4-service-caldav/5838>\
**Category:** Développement\
**Tags:** calendrier\
**Created:** [Décembre 3, 2020, 8:13 UTC](https://community.gladysassistant.com/t/gladys-4-service-caldav/5838 "2020-12-03T20:13:20Z")\
**Posts on this page:** 1\
**Showing post:** 96

<div class="post-metadata">

**Author:** ![bertrandda](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/bertrandda/32/5929_2.png) [@bertrandda](https://community.gladysassistant.com/u/bertrandda)\
**Post date:** [Mai 22, 2022, 4:16 UTC](https://community.gladysassistant.com/t/gladys-4-service-caldav/5838/96 "2022-05-22T16:16:52Z")

</div>

Bonjour tout le monde,  
comme dit lors du dernier appel j’ai bossé récemment sur la synchro des calendriers Webcal.

> <https://github.com/GladysAssistant/Gladys/pull/1537>
>
> \### Pull Request check-list
> 
> To ensure your Pull Request can be accepted as fa…st as possible, make sure to review and check all of these items:
> 
> \- \[\] If your changes affects code, did your write the tests?
> \- \[\] Are tests passing? (\`npm test\` on both front/server)
> \- \[\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[\] If you are adding a new features/services, did you run integration comparator? (\`npm run compare-translations\` on front)
> \- \[\] Did you test this pull request in real life? With real devices? If this development is a big feature or a new service, we recommend that you provide a Docker image to \[the community\](https://community.gladysassistant.com/) for testing before merging.
> \- \[\] If your changes modify the API (REST or Node.js), did you modify the API documentation? (Documentation is based on comments in code)
> \- \[\] If you are adding a new features/services which needs explanation, did you modify the user documentation? See \[the GitHub repo\](https://github.com/GladysAssistant/v4-website) and the \[website\](https://gladysassistant.com).
> 
> NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.
> 
> \### Description of change
> 
> Please provide a description of the change here. It's always best with screenshots, so don't hesitate to add some!
> 
> Add synchronization for Webcals associate to CalDAV account.
> Also add description in \`calendar.event\` model and use it in scenes.

Pour ceux qui ne connaissent pas ce sont des calendriers externes à votre compte CalDAV auxquels vous pouvez vous abonner pour afficher dans votre calendrier leurs évènements associés.  
Quelques exemples de sources d’abonnements : [Calendriers des jours fériés — Thunderbird](https://www.thunderbird.net/fr/calendar/holidays/) [Jeux de données - data.gouv.fr](https://www.data.gouv.fr/fr/datasets/?format=ics)  
ça peut être la liste des jours fériés de votre pays, les dates des calendriers scolaire, les horaires des rencontres de votre équipe favorite… ça ouvre pas mal de possibilités avec les scènes  
Les urls d’abonnement pointent vers des fichiers ics contenant des évènements, ces fichiers sont complètement gérés par des organisations tierces. Jusqu’à présent pour les avoir dans Gladys il fallait, télécharger le fichier, l’importer dans un calendrier de votre service CalDAV (Apple, Nextcloud…) et synchroniser. Le problème est, que si un évènement était modifié/ajouté vous deviez re-télécharger ce fichier pour mettre à jour les données. Avec ce développement, vous pourrez vous abonner au calendrier de l’organisation tierce (en utilisant l’url qui pointe vers le fichier pour vous abonner au lieu de le télécharger) sur votre compte CalDAV et l’abonnement sera répercuté dans Gladys.

Le processus étant plus lourd que la synchronisation d’un calendrier CalDAV classique (pas de synchro incrémentale), la synchro de ces calendriers là est par défaut désactivée (activable depuis le menu Synchonisation de l’intégration CalDAV) et faite toute les 12h (au niveau affichage ça ne devrait pas trop vous impacter car en général ces calendriers ne changent pas souvent puisque ce sont des calendriers publique ex: les jours fériés on les connait à l’avance et ils ne changent pas, les matchs d’une compétition ne sont pas mis à jour souvent… et vous pouvez toujours forcer manuellement la Synchronisation avec le bouton Synchroniser de l’intégration particulièrement utile la première fois)

Pour ceux qui veulent tester, une image de dev est dispo sur docker `bertrandda/gladys:caldav`

Dans ce développement j’y ai ajouté également la synchronisation des descriptions des évènements et leur utilisation dans les scènes.

Dans une prochaine version j’aimerai permettre à l’utilisateur de s’abonner à des calendriers Webcal directement dans Gladys. Ainsi ceux qui n’ont pas encore de compte de calendrier CalDAV ou qui n’en on pas besoin, pourront quand même ajouter des calendriers publiques à leur calendrier Gladys et avoir des données à utiliser.

N’hésitez pas si vous avez des retours.

---

_[View the full topic](https://community.gladysassistant.com/t/gladys-4-service-caldav/5838)._
