Windows compatibility
This commit is contained in:
+65
-14
@@ -1,7 +1,7 @@
|
||||
#+title: Script
|
||||
#+author: Sébastien Miquel
|
||||
#+date: 14-03-2026
|
||||
# Time-stamp: <20-08-26 09:59>
|
||||
# Time-stamp: <20-08-26 11:37>
|
||||
#+OPTIONS:
|
||||
|
||||
* Méta
|
||||
@@ -38,6 +38,23 @@ examples du rendu final (dans le sous dossier =BGnot=).
|
||||
Cette situation s'améliorera peut-être, mais faciliter l'utilisation
|
||||
de ce système n'est pas une priorité.
|
||||
|
||||
** 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
|
||||
|
||||
Certains labels sont utilisés directement comme noms de fichiers et de
|
||||
dossiers. Les labels contenant notamment =:= ne sont pas acceptés par
|
||||
Windows. Sous Windows, les scripts refusent ces labels avant de
|
||||
poursuivre et affichent la liste des valeurs à corriger. Aucune
|
||||
conversion silencieuse n'est appliquée ; utiliser par exemple
|
||||
=Ex 1 - a)= au lieu de =Ex 1 : a)=. Le diagnostic du GUI permet de les
|
||||
repérer avant de lancer une étape.
|
||||
|
||||
** Requirements
|
||||
|
||||
*** Python
|
||||
@@ -74,6 +91,34 @@ ou éventuellement, la renseigner directement dans le fichier
|
||||
|
||||
Copier `default_config.py` en `config.py`. Éventuellement le modifier.
|
||||
|
||||
*** Interface graphique
|
||||
|
||||
Lancer l'assistant avec :
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
python gui.py
|
||||
#+END_SRC
|
||||
|
||||
On peut aussi ouvrir directement une évaluation avec
|
||||
=python gui.py 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.
|
||||
|
||||
La variable =SHOW_PERSONAL_STEPS= de =config.py= permet d'afficher ou de
|
||||
masquer les étapes propres au workflow personnel.
|
||||
|
||||
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=.
|
||||
|
||||
** Correction d'un paquet de copies
|
||||
|
||||
1. Créer un fichier =names= dans le dossier courant, avec les
|
||||
@@ -82,7 +127,12 @@ Copier `default_config.py` en `config.py`. Éventuellement le modifier.
|
||||
suite)
|
||||
3. Suivre les instructions suivantes
|
||||
|
||||
|
||||
* Étapes et Script
|
||||
|
||||
Utiliser `python gui.py` ou `python gui.py Interro` pour lancer un GUI
|
||||
qui suit automatiquement les étapes décrites ci-dessous.
|
||||
|
||||
** Prétraitement de l'énoncé
|
||||
|
||||
Dans le dossier de l'évaluation, mettre les fichiers suivants de l'évaluation :
|
||||
@@ -127,11 +177,11 @@ Dans le dossier de l'évaluation, mettre les fichiers suivants de l'évaluation
|
||||
|
||||
Mettre les copies scannées au format pdf dans =Interro=.
|
||||
|
||||
1. =./rotate_all.sh Interro= (facultatif)
|
||||
1. =python copies_tools.py rotate Interro= (facultatif)
|
||||
|
||||
Retourne tous les pdf de 180°, si la photocopie a été faite à
|
||||
l'envers.
|
||||
2. =./rename_to_copie.sh Interro=
|
||||
2. =python copies_tools.py rename Interro=
|
||||
change le nom des copies en =Copie{id}.pdf=
|
||||
3. =python page_splitter.py Interro=
|
||||
|
||||
@@ -198,7 +248,6 @@ Optional : Set proxy with ~export HTTPS_PROXY="http://10.0.0.1:3128"~
|
||||
2. =python correction.py Interro --limit 240= OU
|
||||
=python correction.py Interro/Par\ label/Ex\ 2/Group_1.jpg= OU
|
||||
=python correction.py Interro --overwrite=
|
||||
=python correction.py Interro --pro-by-label= (needs `labels_for_pro`)
|
||||
|
||||
Fais les requêtes de correction à Gemini.
|
||||
|
||||
@@ -259,20 +308,20 @@ OU
|
||||
3. =python export.py Interro= (gestion perso)
|
||||
Cela déplace les groupes dans le dossier configuré par =EXPORT_DIR=
|
||||
(par défaut =Export=).
|
||||
- Les mettre dans le dossier racine de la tablette, et renommer en =aaa=.
|
||||
- Vider =Syncthing/Annotées= sur la tablette et localement.
|
||||
À automatiser, aussi c'est lent…
|
||||
|
||||
Il faut ensuite annoter les fichiers dans `EXPORT_DIR` avec une
|
||||
tablette graphique.
|
||||
|
||||
** Lecture de la correction manuscrite
|
||||
|
||||
1. =python import.py Interro= (gestion perso)
|
||||
_Before_ : vider le dossier configuré par =IMPORT_DIR= (par défaut
|
||||
=Import=), puis y copier ou synchroniser les fichiers depuis la tablette.
|
||||
|
||||
_Before_ : vider le dossier configuré par =IMPORT_DIR= (par défaut
|
||||
=Import=), puis y copier ou synchroniser les fichiers depuis la tablette.
|
||||
1. =python import.py Interro=
|
||||
|
||||
Une fois les corrections manuelles appliquées aux fichiers
|
||||
=Concat.pdf=, il faut enregistrer le fichier annoté au même endroit,
|
||||
sous le nom =Concat_annotated.pdf=.
|
||||
Une fois les corrections manuelles appliquées aux fichiers
|
||||
=Concat.pdf=, il faut enregistrer le fichier annoté au même endroit,
|
||||
sous le nom =Concat_annotated.pdf=.
|
||||
|
||||
2. =python reading_annotations.py Interro=
|
||||
|
||||
@@ -290,8 +339,9 @@ OU
|
||||
+ un fichier =score.json= qui contient les notes par question
|
||||
|
||||
Si un nom est =Unknown= : renommer à la main le dossier et le fichier dedans.
|
||||
4. Éventuellement, faire des modifications manuelles aux =score.json=.
|
||||
|
||||
4. On peut faire des changements manuels aux =score.json= ici, puis
|
||||
Puis
|
||||
- `python reading_annotations.py --update-score Interro`
|
||||
- `python reading_grouped_annotations.py --update-score Interro`
|
||||
pour mettre à jour les scores dans les images.
|
||||
@@ -309,6 +359,7 @@ OU
|
||||
+ update the copies from =miqmacs.fr/admin=.
|
||||
6. (gestion perso) Impression d'une copie. Via Evince » print to pdf.
|
||||
|
||||
* Autres
|
||||
** Recorrection d'une seule copie (peu testé)
|
||||
|
||||
!! Attention, refaire ne marchera pas si tu fais une annotation non
|
||||
|
||||
Reference in New Issue
Block a user