Présentation

Penmentor est un plugin pour xournal++ qui exploite un modèle d’IA (Claude, Gemini ou GPT) afin de marquer les écrits manuscrits de l’utilisateur. En appuyant sur une touche, le système analyse la page affichée, entoure les erreurs, coche les réponses correctes et propose des indices gradués. Le même déclencheur génère également une animation manim inspirée du style de 3Blue1Brown, permettant de visualiser, par exemple, la convergence d’une somme de Riemann.

Architecture et dépendances

L’outil s’exécute sous Linux avec un serveur X11, la configuration recommandée étant le gestionnaire de fenêtres i3. Il repose sur PyQt6 pour l’interface, rofi pour la sélection de raccourcis, slop pour la capture de la zone d’écran et xdotool pour l’injection d’événements clavier. Le modèle d’IA est invoqué via l’agent en ligne de commande déjà installé (Claude, Codex ou AGY). Le code source se clone depuis GitHub et le binaire s’exécute avec la commande :

git clone https://github.com/AbdullahAlhariri/penmentor ~/src/penmentor
~/src/penmentor/bin/penmentor --selftest

Cette séquence vérifie l’intégrité du plugin avant l’utilisation.

Fonctionnalités d’annotation et d’animation

Lorsqu’une page est partagée avec le modèle, l’IA reçoit l’image rasterisée de la zone sélectionnée. Elle identifie les expressions mathématiques, détecte les incohérences (par ex. un signe erroné) et renvoie un jeu d’instructions graphiques : cercle, coche ou soulignement. Les marques restent visibles tant que l’utilisateur n’appuie pas sur Esc, ce qui permet de poursuivre l’exercice sans perdre le feedback. En parallèle, le système crée un script manim où les bornes de l’intégrale peuvent être glissées, offrant une visualisation dynamique du processus de calcul.

Limites et perspectives

Penmentor dépend d’une connexion active à un service d’IA payant ; l’absence de modèle local limite l’utilisation hors ligne. Le traitement d’image repose sur la qualité du rendu de xournal++, ce qui peut affecter la précision de la reconnaissance. De plus, le plugin ne supporte actuellement que les environnements X11, excluant Wayland sans adaptation supplémentaire. Future work pourrait inclure une prise en charge native de Wayland, l’intégration d’un modèle de reconnaissance d’écriture manuscrite dédié, et l’extension du système d’indices à d’autres domaines mathématiques.