2026-08-22 13:39:20 +02:00
2026-08-20 12:01:31 +02:00
2026-08-22 13:39:20 +02:00
2026-06-06 22:09:00 +02:00
2026-06-06 22:09:00 +02:00
2026-08-22 13:39:20 +02:00

Copienator

Présentation

Quézaco

Ce dépôt contient un certain nombre de script Python que j'utilise pour faire corriger des copies par Gemini.

  1. Les copies sont découpées suivant les labels des questions.
  2. Des requêtes de correction sont faites à Gemini, qui met une note entre 0 et 4 à la question, ajoute des commentaires, et encadre certaines parties de la réponse.
  3. Une version pdf annotée de la copie est générée, faite pour être éditée sur tablette tactile. Le correcteur humain peut modifier la note, supprimer des commentaires de l'IA, ou ajouter des remarques manuscrites.
  4. Ces annotations manuscrites sont lues et recompilées en une version de la copie pour l'élève.

Limitations

Pour l'instant, la correction est faite question par question : le LLM n'a accès qu'à la partie de la copie correspondant à une question fixée. Ça ne gère donc pas les cas où un argument a été donné dans une question précédente ou autre.

Noms de labels sous Windows

Les labels de questions sont utilisés comme noms de fichiers. Les labels contenant notamment : ne sont pas acceptés par Windows.

Requirements

Python

Libraries :

pip install numpy pandas matplotlib pillow pydantic pypdf pdf2image reportlab img2pdf pymupdf ftfy ezodf google
pip install -e .

La seconde commande installe les exécutables copienator et copienator-gui. Sans installation, les mêmes commandes restent accessibles avec python -m copienator.

Poppler (for pdf2image)

Accès à Gemini

Il faut créer une clef API pour Gemini (pas facile).

Puis ajouter GEMINI_API_KEY à l'environnement avec :

export GEMINI_API_KEY=

ou éventuellement, la renseigner directement dans le fichier `config.py`.

Configuration

Copier `default_config.py` en `config.py`. Éventuellement le modifier.

Correction d'un paquet de copies

  1. Créer un fichier names dans le dossier courant, avec les noms/prénoms des élèves, un par ligne
  2. Créer un dossier correspondant à l'évaluation (Interro dans la suite)
  3. Suivre les instructions suivantes

Interface graphique

Lancer l'assistant avec :

python -m copienator gui

On peut aussi ouvrir directement une évaluation avec python -m copienator gui Interro. L'interface conserve l'état et l'historique des étapes dans Interro/.copienator-gui.json, et les sorties complètes dans Interro/.copienator/logs/. Une relance d'une étape antérieure ne supprime aucun résultat ; les étapes suivantes sont seulement marquées comme étant à revalider.

Après la réussite d'un script, l'interface sélectionne automatiquement l'étape suivante. Découper les réponses par question et Regrouper les réponses démarrent automatiquement lors de leur première visite. Avec le mode Correction immédiate, les trois étapes batch sont alors marquées Ignorée à leur première visite. L'étape de résolution manuelle est traitée de la même façon si manual_resolutions.txt est absent, vide ou ne contient que des commentaires. Ces automatismes ne se répètent pas lors d'un retour en arrière.

Le bouton Diagnostic… vérifie les modules Python, Poppler, LaTeX, PDF Arranger et la configuration Gemini. Sous Windows, les exécutables externes doivent être accessibles depuis PATH. Quand la création de liens symboliques ou physiques n'est pas autorisée, l'export et la préparation de A Rendre utilisent automatiquement une copie normale.

Les chemins des étapes personnelles peuvent être adaptés avec CURRENT_SCORE_ODS_PATH, FINAL_SCORE_ODS_PATH, FINAL_SCORE_OUTPUT_DIR et FINAL_SCORE_FONT_PATH dans config.py.

Documentation complémentaire

S
Description
No description provided
Readme
33 MiB
Languages
Python 99.7%
Shell 0.3%