📌 Cette page liste les trois scripts à développer après le lancement du site. Ils seront hébergés sur Infomaniak et lancés via cron job.
Script 1 — kDrive → Notion
Objectif : Importer automatiquement les PDFs de kDrive dans la base "Ressources Pédagogiques"
Fonctionnement :
- Lit la structure des dossiers kDrive via l'API kDrive / WebDAV
- Pour chaque PDF trouvé, crée une entrée dans la base Ressources
- Déduit automatiquement
NiveauetAnnée scolaire activedepuis la structure des dossiers
- Génère une vignette de la première page du PDF (bibliothèque PyMuPDF)
- Uploade la vignette sur kDrive (
/vignettes/) et renseigneImage de couverturedans Notion
Structure kDrive attendue :
kDrive/Cours tibétain/ ├── Tib1/ │ ├── 2024-2025/ │ └── 2025-2026/ ├── Tib2/ │ └── 2025-2026/ └── Tib3/ └── 2025-2026/
Propriétés renseignées automatiquement : Titre, Fichier (lien kDrive), Date d'ajout, Taille fichier, Niveau, Année scolaire active, Image de couverture
Propriétés à compléter manuellement : Description, Chapitre/Section, Mots-clés, Ordre
Technologie : Python, PyMuPDF, API kDrive Infomaniak, API Notion
Script 2 — CalDAV (kCalendar Infomaniak) → Notion
Objectif : Synchroniser les événements du calendrier Infomaniak vers une base Notion "Cours à venir"
Fonctionnement :
- Lit le flux CalDAV de kCalendar (Infomaniak) via un token d'application
- Compare avec les entrées existantes dans la base Notion "Cours à venir"
- Crée ou met à jour les événements manquants
- Archive les événements passés
Base Notion à créer — "Cours à venir" :
Propriété | Type |
Titre | Titre |
Date | Date + heure |
Niveau | Sélection (Tib 1 / Tib 2 / Tib 3) |
Lieu | Texte |
Description | Texte |
Statut | Sélection (Confirmé / Annulé) |
Affichage : Vue filtrée embarquée dans la page Accueil (événements futurs, statut = Confirmé, triés par date)
Technologie : Python, bibliothèque caldav, API Notion, cron job Infomaniak
Script 3 — YouTube Playlists → Notion
Objectif : Importer automatiquement les vidéos de playlists YouTube dans une base Notion "Vidéos"
Fonctionnement :
- Interroge l'API YouTube Data v3 pour récupérer toutes les vidéos d'une playlist
- Crée une entrée dans la base Notion "Vidéos" pour chaque vidéo
- Gère les mises à jour (nouvelles vidéos ajoutées à la playlist)
Base Notion à créer — "Vidéos – Cours de Tibétain" :
Propriété | Type | Source |
Titre | Titre | Automatique |
URL YouTube | URL | Automatique |
Niveau | Sélection | Manuel ou convention de nommage |
Année scolaire | Sélection | Manuel ou convention de nommage |
Date | Date | Automatique |
Description | Texte | Automatique |
Public | Case à cocher | Manuel |
Affichage :
- Vue publique : page Accueil ou Grammaire (vidéos Public = ✅)
- Vue privée : dans chaque Espace Tib 1/2/3
Technologie : Python, YouTube Data API v3, API Notion, cron job Infomaniak
Notes communes
- Les trois scripts sont hébergés sur Infomaniak (hébergement mutualisé existant)
- Lancés via cron job Infomaniak (fréquence à définir : quotidien ou hebdomadaire)
- Développés ensemble dans le même chantier, après le lancement du site
- Même structure de base : lecture source → comparaison → écriture Notion API