Configurations GradeBook — déplacées sur GDrive
Le dépôt CoursIA est agnostique des écoles. Les configurations de notation par cohorte (notes, emails étudiants, overrides, ajustements manuels) sont des données privées : elles ne vivent plus dans ce dépôt public. Elles sont sur Google Drive, point d’entrée unique de tout le contenu spécifique aux écoles.
Où vivent les configs
G:\Mon Drive\MyIA\Formation\<école>\<année>\grading\
Exemples (2026) :
| École / cohorte | Dossier GDrive | Fichiers |
|---|---|---|
| EPITA-IS — PrCon | Formation\Epita\2026\grading\ |
prcon_2026_config.py, compile_prcon_2026.py, epf_2026_prcon.py (collégiale, superseded) |
| EPF — GenAI / MIS / Min1 / Min2 | Formation\EPF\2026\grading\ |
epf_2026_genai.py, epf_2026_ml.py, epf_2026_min1.py, epf_2026_min2.py |
| ECE | Formation\ECE\2026\grading\ |
doc pipeline = …\ECE\2026\grading\ece-grading.md (GDrive, privé) |
| ESGF | Formation\ESGF\2026\grading\ |
doc pipeline = …\ESGF\2026\grading\esgf-grading.md (GDrive, privé) |
Ce qui reste dans le dépôt (moteur agnostique)
gradebook.py— pipeline de notation (collégiale, redressement statistique, multi-épreuve)run_grading.py— orchestrateur historiqueconfigs/__init__.py— marqueur de package (vide, configs sur GDrive)
Résolution du moteur depuis GDrive — COURSIA_ROOT
Chaque config sur GDrive retrouve le moteur du dépôt via la variable d’environnement COURSIA_ROOT (fallback D:\CoursIA) :
if __name__ == '__main__':
import sys, os
from pathlib import Path
# Engine lives in the repo (school-agnostic); resolved via COURSIA_ROOT.
sys.path.insert(0, str(Path(os.environ.get("COURSIA_ROOT", r"D:\CoursIA")) / "GradeBookApp"))
from gradebook import run_pipeline
run_pipeline(CONFIG)Exécution
# Définir COURSIA_ROOT si le dépôt n'est pas en D:\CoursIA
setx COURSIA_ROOT "D:\CoursIA" # une fois (Windows)
cd "G:\Mon Drive\MyIA\Formation\EPF\2026\grading"
python epf_2026_ml.py
python epf_2026_genai.pyCréer une nouvelle config
- Dans
Formation\<école>\<année>\grading\(pas dans le dépôt), dupliquer une config existante. - Adapter
CONFIG(chemins GDrive, mapping colonnes,target_mean/target_std,professor_email). - Conserver le bloc
__main__avec le shimCOURSIA_ROOTci-dessus. - Tester :
python <nouvelle_config>.py.
Structure du dictionnaire CONFIG
Inchangée (le moteur gradebook.py la consomme telle quelle) :
CONFIG = {
'nom_classe': str,
'inscriptions_path': str, # CSV inscriptions (GDrive)
'evaluations_path': str, # CSV évaluations (GDrive)
'output_path': str, # XLSX de sortie (GDrive)
'column_mapping': {"Prénom": "prenom", "Nom de famille": "nom", "Projet": "sujet_projet_1"},
'target_mean': float,
'target_std': float,
'teacher_weight': float, # 1.0 = 50%/50%
'professor_email': str,
'blacklisted_groups': list, # optionnel
}Configs multi-épreuves (Min1/Min2) : voir la clé epreuves dans les fichiers sur GDrive.
Voir aussi
gradebook.py— moteurFormation\ECE\2026\grading\ece-grading.md(GDrive, privé) — même schéma (ECE)Formation\ESGF\2026\grading\esgf-grading.md(GDrive, privé) — même schéma (ESGF)