# MyGes Planning Sync Google Calendar

[GitHub repo](https://github.com/Nouuu/MyGes-Planning-Sync-Google-Calendar)

<p class="callout danger">LE PROJET N'EST PLUS MAINTENU. Cette fonctionnalité sera intégrée et maintenu au sein de cet autre projet désormais : [myges-cli](https://github.com/quantumsheep/myges-cli)</p>

Ce script permet de récupérer votre planning présent sur myges et de le synchroniser à un calendrier google.

## Installation :

Version php utilisé : 7.4

- Téléchargez le projet.
- Lancez la commande :
    
    ```bash
    composer install
    
    ```
    
    Pour installer les dépendances nécessaires
- Renommez le fichier `env.php.example` en `env.php` et remplissez les informations :
    
    
    - `user_login` identifiant myges (ex: jdupond)
    - `user_password` mot de passe myges
    - `calendar_api_application_name` [Nom de l'API google calendar](#api-google)
    - `calendar_api_auth_config_file` [Nom du fichiers d'authentification à l'API google calendar.](#api-google)
    - `calendar_id`[ Id du calendrier google](#calendrier-google) (ex: vf2kq9ary690m8iee8ahv3e3d0@group.calendar.google.com)
    - `max_batch_request` Nombre maximum d'évènement dans une seule requête pour l'api (ne pas dépasser 50 !)

## Lancement

Une fois le fichier `env.php` rempli, lancez (avec linux ou phpstorm de préférence, **evitez git bash !**) la commande : `php run.php`.

Le programme vous demandera le nombre de jours à synchroniser à partir d'aujourd'hui.

Vous pouvez également indiquer le nombre de jours voulu directement depuis la ligne de commande de cette manière : `php run.php 7`

![image](https://i.imgur.com/qojtmG6.png)

## API google

Pour faire fonctionner le script, vous devez créer un API google calendar et enregistrer ses informations comme ceci :

- Rendez vous sur [https://developers.google.com/calendar/quickstart/php](https://developers.google.com/calendar/quickstart/php)
- Créez un projet Google Calendar API (retenez bien le nom que vous donnez à votre projet pour le `env.php`) :

<table id="bkmrk--0"><thead><tr><th>  
</th><th>  
</th></tr></thead><tbody><tr><td>![image](https://i.imgur.com/xZkQC03.png)</td><td>![image](https://i.imgur.com/QVQ6vH2.png)</td></tr><tr><td>![image](https://i.imgur.com/AmHIOfb.png)</td><td>  
</td></tr></tbody></table>

- Enregistrez le fichier `credentials.json` à la racine du projet :

![image](https://i.imgur.com/XxVO6z5.png)

## Calendrier google

<p class="callout warning">Veillez bien à créer un calendrier dédié UNIQUEMENT à votre planning ! Sinon le script supprimera les autres évènements présents dans votre calendrier ...</p>

Pour récupérer l'id de votre calendrier :

- Rendez vous sur [google calendar](https://calendar.google.com)
- Allez dans "Paramètres et partage" du calendrier dédié à votre planning ![image](https://i.imgur.com/QAZPssf.png)
- Vous trouverez l'id de votre agenda dans la section "Intégrer l'agenda" ![image](https://i.imgur.com/1p0Ra2q.png)