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 classiquesequence/plan_de_travail/: Template plan de travaileval/: 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 interactivepyyaml: Lecture du fichier de configurationquestionary: Menus et saisies modernes
Prérequis système
- Python 3.8+
uvpour la gestion des dépendances- Locale française pour l'affichage optimal des dates