README.md 2.82 KB
Newer Older
erdnaxe's avatar
erdnaxe committed
1 2
# SaphSync

erdnaxe's avatar
erdnaxe committed
3
SaphSync permet de synchroniser son agenda SAPHIRE en :
erdnaxe's avatar
erdnaxe committed
4

erdnaxe's avatar
erdnaxe committed
5 6
  * Enlevant les TP, TD et BE qui ne nous concerne pas ;
  * Enlevant les évènements passés ;
erdnaxe's avatar
erdnaxe committed
7
  * En fussionnant tout en un unique calendrier au format ICS.
erdnaxe's avatar
erdnaxe committed
8 9 10 11

Il a été testé avec :

  * Mozilla Thunderbird ;
erdnaxe's avatar
erdnaxe committed
12 13
  * Gnome Calendar (Gnome Desktop) ;
  * Orage (XFCE Desktop) ;
erdnaxe's avatar
erdnaxe committed
14 15
  * Google Calendar (web and Android) ;
  * ICSx5 (Android).
erdnaxe's avatar
erdnaxe committed
16 17 18

## Mise en place

erdnaxe's avatar
erdnaxe committed
19 20 21 22 23 24 25
### Installation des dépendances

SaphSync requiert quelques dépendances dont :

  * Python 3 ;
  * `keyring` pour gérer les trousseaux de clés ;
  * `yaml` pour lire la configuration YAML ;
26
  * `caldav` pour accèder au serveur caldav de l'ENS ;
erdnaxe's avatar
erdnaxe committed
27 28
  * `icalendar` pour écrire facilement un fichier iCalendar.

erdnaxe's avatar
erdnaxe committed
29 30
Il est nécessaire d'utiliser pour le moment `caldav==0.5.0` car la dernière version est cassée.

erdnaxe's avatar
erdnaxe committed
31 32
### Configuration

erdnaxe's avatar
erdnaxe committed
33
Il faut créer `config.yml` à partir de `config.yml.example`.
erdnaxe's avatar
erdnaxe committed
34 35
Dans ce fichier on défini le nom d'utilisateur ENS, ainsi que nos groupes de TD, TP ou BE.
Si on ne souhaite pas filtrer un cours, alors il faut supprimer ou commenter la ligne.
erdnaxe's avatar
erdnaxe committed
36

erdnaxe's avatar
erdnaxe committed
37 38
Ensuite il faut donner son mot de passe ENS dans son trousseau de clé système.
Pour cela, on peut le faire en Python de cette manière :
erdnaxe's avatar
erdnaxe committed
39 40 41

```Python
import keyring
Otthorn's avatar
Otthorn committed
42
keyring.get_password('sogo', 'identifiant')
erdnaxe's avatar
erdnaxe committed
43
```
44
Puis suivez les instructions pour renseigner votre mot de passe.
erdnaxe's avatar
erdnaxe committed
45

erdnaxe's avatar
erdnaxe committed
46 47 48 49 50 51 52 53 54 55 56
### Lancement

Placez vous dans le dossier où vous avez cloné le code et lancer le script :

```bash
./saphsync.py
```

Un fichier `calendar.ics` va être écrit.
C'est ce fichier que vous voulez ensuite utiliser et intégrer dans vos différentes applications.

erdnaxe's avatar
erdnaxe committed
57
## Exemples d'intégration
erdnaxe's avatar
erdnaxe committed
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84

### Intégration à Gnome Calendar

Il peut être sympathique d'avoir ses évènements directement dans ses notifications de bureau Gnome.
Pour cela ouvrez l'application *Gnome Calendar* et dans `Calendar Settings` ajouter un calendrier
à partir d'un fichier local.

À chaque fois que SaphSync sera exécuté, le calendrier Gnome sera automatiquement mis à jour.

### Intégration à Google Calendar

Pour mettre son calendrier dans Google Calendar il faut qu'il soit publique sur internet.

On va utiliser le serveur Zamok du Cr@ns.

Copier le fichier `icalendar.ics` vers votre page publique Zamok :

```bash
scp calendar.ics zamok.crans.org:~/www/
```

Votre calendrier est maintenant accessible à <https://perso.crans.org/pseudo/calendar.ics>.

Ouvrez maintenant les paramètres de Google Calendar Web
puis aller dans [Ajouter un calendrier à partir d'une URL](https://calendar.google.com/calendar/r/settings/addbyurl).

Voilà :)
erdnaxe's avatar
erdnaxe committed
85

erdnaxe's avatar
erdnaxe committed
86 87 88 89 90 91
### Intégration à Orage

Orage est une application de calendrier très légère du projet XFCE.
Il est possible de directement lui fournir le fichier ICS en entrée et
ensuite il suffira de cliquer sur le calendrier dans la zone des notifications
pour voir ses évènements.