⚙️

⚙️ Scripts d'automatisation — À développer

📌 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 Niveau et Année scolaire active depuis 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 renseigne Image de couverture dans 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