# Intégrations

Lesstime s'intègre avec **4 outils externes** pour fluidifier le workflow dev.

## 🌳 Gitea

Lesstime parle à un serveur Gitea pour automatiser les conventions de branches et suivre les PRs.

### Configuration

1. **Admin → Gitea** : URL serveur + token API
2. Sur un projet : définir `giteaOwner` (org/user) et `giteaRepo` (nom du repo)

### Utilisation

Sur une tâche, le panneau Gitea propose :

- **Créer une branche** : choisir un type (`feature` / `fix` / `refactor` / `hotfix` / `chore`)
- La branche est nommée automatiquement : `<type>/<PROJECT_CODE>-<NUMBER>-<slug-du-titre>`
- **Lister les PRs liées** : par convention, toute PR qui contient `<PROJECT_CODE>-<NUMBER>` dans son nom ou sa description est reliée
- **État CI** : ✅ ou ❌ affiché si le repo a des Actions/Workflows configurées

> 💡 La convention `<PROJECT_CODE>-<NUMBER>` permet à Gitea et Lesstime de se synchroniser **sans webhook** — juste par parsing des noms.

## 📚 BookStack

Lien tâche → documentation.

### Configuration

1. **Admin → BookStack** : URL + token (token ID + token secret, chiffrés via libsodium)
2. Sur un projet : définir `bookstackShelfId` + `bookstackShelfName`

### Utilisation

- Depuis une tâche : bouton **Lier à une page BookStack**
- Sélectionner la page dans le shelf du projet
- Le lien est bidirectionnel (BookStack peut afficher les tâches liées)

## 📅 Zimbra (CalDav)

Sync calendrier pour les tâches planifiées.

### Configuration

1. **Admin → Zimbra** :
   - URL serveur (ex: `https://mail.ovh.com`)
   - Username (ex: `lesstime@ovh.fr`)
   - Password (chiffré côté serveur)
   - Calendar path (ex: `/dav/lesstime@ovh.fr/Calendar/`)
   - **Test de connexion** intégré
2. Active la config (toggle `enabled`)

### Utilisation

Sur une tâche avec **scheduled start + end** :

1. Cocher **Sync calendrier**
2. Au save, Lesstime crée/met à jour l'événement CalDav
3. L'icône `mdi:calendar-check` (verte) apparaît sur la card si succès
4. L'icône `mdi:alert-circle` (rouge) apparaît si erreur — passe dessus pour voir le détail

### Limites

- **Pas de retour Zimbra → Lesstime** : si tu modifies l'événement dans Zimbra, Lesstime ne le voit pas
- **Récurrences** : les patterns RRULE basiques sont supportés (daily, weekly avec jours, monthly)

## 📧 Messagerie (Mail OVH)

Boîte mail partagée OVH (IMAP) lue directement dans Lesstime.

### Configuration

1. **Admin → Mail** :
   - Réception **IMAP** (hôte, port, chiffrement) et envoi **SMTP** (hôte, port, chiffrement)
   - Identifiants (mot de passe chiffré côté serveur) + dossier *Envoyés*
   - **Test de connexion** intégré
2. Active la config (toggle `enabled`)

### Utilisation

- La section **Messagerie** (barre latérale) affiche dossiers, messages et lecteur
- **Synchronisation IMAP à la demande** via le bouton *Rafraîchir* (traitée en asynchrone par Messenger)
- Depuis un mail : **créer une tâche** pré-remplie ou **lier à une tâche** existante
- Badge de non-lus dans la barre latérale, rafraîchi automatiquement (toutes les 30 s)

> 📖 Le guide complet de la messagerie est dans la section *Messagerie*.

### Limites

- **Lecture seule** : pas de rédaction / réponse / suppression de mail depuis l'interface
- Réservée aux rôles **admin** et **user** (pas les clients)
