diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..a5e9832 --- /dev/null +++ b/TODO.md @@ -0,0 +1,33 @@ +# Todo list — Automatisation email → ICS + +Objectif final : réception d'un mail avec PDF en pièce jointe → conversion automatique en ICS. + +--- + +## 1. Réception des mails +- [ ] Choisir le mode de réception : **IMAP polling** (simple, pas de serveur mail requis) ou **webhook entrant** (Postfix/Haraka/etc.) +- [ ] Configurer une adresse dédiée (ex: `planning@piaf.im`) +- [ ] Ajouter les credentials IMAP dans `config.json` +- [ ] Implémenter un watcher IMAP : connexion, détection nouveaux mails, extraction des pièces jointes PDF + +## 2. Pipeline automatique +- [ ] Filtrer les mails entrants (expéditeur autorisé, pièce jointe `.pdf`) +- [ ] Déclencher `process_pdfs()` sur les PDFs reçus (réutiliser le code existant) +- [ ] Stocker le job dans l'historique comme un job normal (webapp) + +## 3. Diffusion du résultat +- [ ] Définir la destination : répertoire local, CalDAV (Nextcloud), ou réponse mail avec les `.ics` en pièce jointe +- [ ] Implémenter la diffusion choisie + +## 4. Intégration webapp +- [ ] Ajouter un endpoint `/api/mail/check` pour déclencher manuellement une vérification +- [ ] Afficher dans l'interface les jobs déclenchés par mail (badge ou indicateur) +- [ ] Section config dans `config.json` pour activer/désactiver l'auto-mail + +## 5. Planification +- [ ] Ajouter un scheduler dans FastAPI (APScheduler ou tâche asyncio) pour le polling IMAP périodique +- [ ] Configurer l'intervalle dans `config.json` + +--- + +**Ordre recommandé** : 1 → 2 → 5 → 3 → 4