Files

Scripts de création de contenus

Ce répertoire contient les scripts Python interactifs pour créer de nouveaux contenus éducatifs avec interface moderne.

Scripts disponibles

new_sequence.py

Script Python interactif pour créer une nouvelle séquence pédagogique.

Utilisation :

make sequence
# ou directement
uv run python -m tools.scripts.new_sequence

Fonctionnalités :

  • Calendrier interactif : Sélection de date avec navigation intuitive (flèches, PageUp/PageDown)
  • Sélection de la classe via menu moderne (prompt_toolkit)
  • Détection automatique du numéro de séquence
  • Saisie interactive du titre et résumé
  • Système de tags intelligent : Auto-complétion depuis l'existant + tags personnalisés
  • Choix du type de séquence (classique/plan de travail)
  • Génération des fichiers depuis les templates avec substitution de variables

new_eval.py

Script Python interactif pour créer une nouvelle évaluation.

Utilisation :

make eval
# ou directement
uv run python -m tools.scripts.new_eval

Fonctionnalités :

  • Calendrier interactif partagé : Même interface moderne que new_sequence
  • Sélection de la classe depuis la configuration
  • Saisie du nom et de la durée de l'évaluation
  • Génération automatique du répertoire DS_YYYY-MM-DD
  • Création des fichiers LaTeX depuis les templates

Architecture Python

Module commun (common_widgets.py)

  • CalendarWidget : Calendrier interactif avec prompt_toolkit
    • Navigation : ←→↑↓ (jours/semaines), PageUp/PageDown (mois)
    • Affichage français des mois et jours
    • Style coloré (aujourd'hui, sélection, weekends)
  • Fonctions utilitaires : Formatage des dates en français

Configuration locale française

  • Mois et jours affichés en français dans le calendrier
  • Dates formatées automatiquement en français
  • Fallback robuste si locale française non disponible

Configuration

Les scripts utilisent le fichier tools/config/year_config.yaml pour :

  • Définir les classes communes pour séquences et évaluations
  • Configurer les types de séquences
  • Paramétrer les formats de dates français
  • Définir l'auteur et les chemins des templates

Templates

Les fichiers de base sont dans tools/skeleton/ :

  • sequence/common/ : Templates partagés (index.rst, exercises.tex)
  • sequence/classique/ : Template séquence classique
  • sequence/plan_de_travail/ : Template plan de travail
  • eval/ : Templates d'évaluation (sujet.tex, exercises.tex)

Les variables substituées sont :

  • ${title}, ${author}, ${date}
  • ${tribe} (classe), ${tags}, ${summary}
  • ${date_short} pour l'affichage français des dates

Fonctionnalités avancées

Interface moderne

  • Calendrier visuel interactif avec navigation intuitive
  • Menus modernes avec prompt_toolkit/questionary
  • Code mutualisé entre séquences et évaluations
  • Gestion robuste des erreurs et annulations
  • Configuration unifiée dans year_config.yaml
  • Support Unicode natif et dates françaises

Installation et dépendances

make install  # Configure uv et installe les dépendances

Dépendances Python

  • prompt-toolkit : Interface utilisateur interactive
  • pyyaml : Lecture du fichier de configuration
  • questionary : Menus et saisies modernes

Prérequis système

  • Python 3.8+
  • uv pour la gestion des dépendances
  • Locale française pour l'affichage optimal des dates