Auto-héberger son agenda avec Baïkal

Magazine
Marque
Linux Pratique
HS n°
Numéro
46
Mois de parution
octobre 2019
Domaines


Résumé

Il est très utile de pouvoir avoir un calendrier partagé accessible à tout moment sur toute sorte de clients : PC, tablette, téléphone... La solution la plus simple est souvent d’utiliser Google Calendar. Dans cet article, nous allons voir qu’il n’est pas si compliqué d’héberger soi-même un calendrier partagé à l’aide de Baïkal. Nous aborderons l’installation et la configuration de Baïkal. Pour finir, nous découvrirons la configuration des clients Thunderbird, Android et iOS.


Body

Site du projet : http://sabre.io/baikal/

1. Premiers pas

1.1 Téléchargement de Baïkal

On télécharge d’abord Baïkal sur le site https://github.com/sabre-io/Baikal/releases :

$ wget https://github.com/sabre-io/Baikal/releases/download/0.5.3/baikal-0.5.3.zip

$ unzip baikal-0.5.3.zip
$ ls -l baikal

total 16

drwxr-xr-x 4 scolas scolas 4096 avril 23 15:55 Core

drwxr-xr-x 4 scolas scolas 4096 juin  17 19:10 html

drwxr-xr-x 3 scolas scolas 4096 mai   13 16:25 Specific

drwxr-xr-x 7 scolas scolas 4096 mai   13 16:26 vendor

La documentation nous apprend que seul le répertoire html doit être accessible et que les autres répertoires doivent être inaccessibles pour éviter toute faille de sécurité.

1.2 Configuration du site d’hébergement

Nous allons voir comment installer Baïkal chez notre hébergeur (OVH ici). Une manipulation similaire sera à effectuer chez d’autres hébergeurs.

Pour l’installation de Baïkal, le plus simple est donc de créer un sous-domaine à l’aide de la console OVH comme par exemple http://calendrier.monsite.fr et de positionner le répertoire racine du site à html.

1.3 Envoi des fichiers

L’étape suivante consiste à envoyer les fichiers sur le site de l’hébergeur. Nous pouvons transférer les fichiers à l’aide d’un client FTP tel que Filezilla.

2. Installer et configurer Baïkal

2.1 Installer Baïkal

Accédons ensuite au site pour effectuer l’installation : https://calendrier.monsite.fr (Figure 1).

 

02

 

Figure 1

On choisit le fuseau horaire sur lequel on se trouve : dans notre cas Europe/Paris.

On active CalDav (la partie gestion de calendrier) et CardDav (la partie gestion du carnet de contacts). Au niveau de l’authentification, nous laisserons la valeur par défaut digest.

Finalement, nous spécifions le mot de passe administrateur.

Il va nous falloir ensuite configurer la base de données que nous souhaitons utiliser. Nous avons deux possibilités :

  • SQLite : une base de données stockée dans un fichier ;
  • MySQL : une base de données plus classique et aussi plus fiable.

Dans notre exemple, nous utiliserons la base de données MySQL fournie par OVH, il faut donc saisir les informations de connexion à la base (host, port, database name, username, password).

Une fois la base de données configurée, nous pouvons utiliser Baïkal en accédant au menu d’administration : https://calendrier.monsite.fr/admin.

2.2 Configurer son calendrier

Connectons-nous sur l’interface d’administration : https://calendrier.monsite.fr/admin.

Une fois connectés, la page principale apparaît (le dashboard, figure 2). Les informations qui nous intéressent se situent en bas, on y découvre : le nombre d’utilisateurs, le nombre de calendriers, le nombre d’évènements, le nombre de carnets d’adresses ainsi que le nombre de contacts.

 

06

 

Figure 2

Créons maintenant un nouvel utilisateur. Pour ce faire, il faut cliquer sur Users and resources tout en haut de l’interface d’administration.

Pour le moment, il n’y a pas d’utilisateur, créons donc un nouvel utilisateur avec le bouton Add User.

Nous renseignons les informations de notre nouvel utilisateur qui va pouvoir utiliser calendrier et carnet d’adresse Baïkal (Figure 3).

 

09

 

Figure 3

Accédons maintenant à la configuration de notre utilisateur en cliquant sur Calendars. Nous constatons que notre utilisateur dispose d’un calendrier par défaut : « Default Calendar ». Cliquons sur le bouton Edit en bleu pour configurer ce calendrier (Figure 4).

 

11

 

Figure 4

Le menu suivant nous apprend que l’ID de notre calendrier est default, nous pouvons ensuite changer différentes informations telles que le nom à afficher (Display Name) et la description (Description).

Validons les modifications en cliquant sur le bouton Save changes. Notre calendrier est désormais prêt à l’emploi.

3. Utiliser son calendrier

Le calendrier est désormais opérationnel. Notre URL d’accès est : https://calendrier.monsite.fr/cal.php/calendars/Sebastien/defaut/.

3.1 Calendrier Thunderbird

 

13

 

Figure 5

Sous Thunderbird, pour retrouver notre calendrier, on clique sur Ajouter calendrier et on spécifie notre URL.

3.2 Calendrier Android

Malheureusement, les systèmes Android ne supportent pas nativement les calendriers CalDav.
Installons l’application « Caldav Sync Free Beta » (Figure 6).

 

14

 

Figure 6

Une fois installée, nous pouvons ajouter un nouveau compte CalDav. Entrons ensuite les paramètres de notre calendrier.

Notre calendrier est désormais prêt à l’emploi (Figure 7).

 

17

 

Figure 7

3.3 Calendrier iOS

Les systèmes iOS quant à eux supportent nativement les calendriers CalDav.

Configurons donc notre calendrier à l’aide de notre URL (Figure 8).

 

18

 

Figure 8

4. Créer un calendrier partagé

Il est très souvent utile de pouvoir partager son calendrier sans pour autant que celui-ci ne soit accessible en modification. Pour ce faire, il existe un plugin permettant de modifier les permissions. Téléchargeons-le :

$ ls -l baikal

total 16

drwxr-xr-x 4 scolas scolas 4096 avril 23 15:55 Core

drwxr-xr-x 4 scolas scolas 4096 juin  17 19:10 html

drwxr-xr-x 3 scolas scolas 4096 mai   13 16:25 Specific

drwxr-xr-x 7 scolas scolas 4096 mai   13 16:26 vendor
$ cd baikal/html/admin$ wget https://raw.githubusercontent.com/mrbaseman/calendar-tools/master/permissions.php

Une fois téléchargé, envoyons-le chez notre hébergeur en FTP.

Ensuite, créons le nouvel utilisateur public.

Ce nouvel utilisateur accédera en lecture seule à notre précédent calendrier, il est donc conseillé de supprimer le calendrier par défaut de cet utilisateur.

Donnons l’accès en lecture seule à public au calendrier Sebastien via l’URL :https://calendrier.monsite.fr/admin/permissions.php (Figure 9).

 

20

 

Figure 9

Finalement, configurons l’accès au calendrier Sebastien avec l’utilisateur public (Figure 10).

 

21

 

Figure 10

Désormais, l’utilisateur public pourra consulter le calendrier de Sebastien sans pour autant pouvoir le modifier.

Conclusion

En quelques étapes simples, nous sommes désormais capables d’héberger nous-mêmes notre calendrier partagé et donc nous passer d’un fournisseur externe dont nous ne savons pas toujours comment sont utilisées nos données.

 



Articles qui pourraient vous intéresser...

Flutter : applications mobiles, web et desktop

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

Flutter est un framework permettant de développer des applications natives pour Linux, Windows, macOS, Android, iOS et le Web à partir du même code source. Un moteur graphique OpenGL ultra performant et la compilation native en ARM, x86-64 ainsi que WebAssembly, associés à un cycle de développement agile et hyper intuitif, en font la solution ultime pour les créateurs d’applications. L’essayer, c’est l’adopter !

Un bot qui surveille le Web et envoie des alertes

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

De nos jours, lorsque l’on recherche une information, on se tourne immédiatement vers le Web. Ainsi, de très nombreuses informations sont mises à jour quotidiennement et il faut donc penser à visiter les sites les produisant, de manière à être au courant des dernières modifications. Et si nous codions un bot qui ferait cela pour nous ?

Les différents frameworks de web scraping

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

Il ne viendrait à l’idée à personne de nos jours de se lancer dans la récupération de données sur le Web sans s’appuyer sur un framework simplifiant la tâche et évitant de réinventer la roue (carrée). Voyons donc quelques outils indispensables permettant de mener à bien cette tâche.

Web scraping avec Node.js

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

Le web scraping, c’est l’activité qui consiste à gratter (to scrap) du code HTML pour en extraire des données exploitables. Node.js se prête particulièrement bien à l’exercice, aussi je vous propose d’apprendre à gratter de la donnée avec ce formidable outil.

Le partage de fichiers en ligne, simple et sécurisé

Magazine
Marque
Linux Pratique
Numéro
123
Mois de parution
janvier 2021
Domaines
Résumé

À l’heure où nous rédigeons ces lignes, le recours au télétravail est fortement recommandé, ce qui nécessite de s’équiper au mieux pour pouvoir assurer la continuité de son activité dans de bonnes conditions. Dans ce contexte, il n’est pas toujours aisé de partager facilement et de manière sécurisée des données avec ses collaborateurs. Cela est également valable dans un cadre privé, où l’on souhaiterait par exemple pouvoir échanger en quelques clics les photos des dernières fêtes ou des documents sensibles avec ses proches. Gros plan sur trois services en lignes libres, décentralisés et respectueux de la vie privée qui se révèleront fort utiles dans ces situations.