Du coup, je me suis lancé dans l'amélioration de l'add-in (vive les licences libres permettant ce genre de boulot ! ), au niveau de l'interface, et je pense que ça commence à ressembler à quelque chose de bien utilisable ! En tout cas c'est de toute manière mieux (selon moi) que la version anciennement dispo.
Je vous mets quelques images, même si l'intérêt est limité pour ce genre de programme, ça peut présenter un peu l'avancée pour ceux qui n'auraient pas de quoi tester !
(Si quelqu'un sait comment spécifier une dimension dans la balise img, je prends volontiers !)
Une grande partie des fonctions souvent utilisées est maintenant accessibles via des menus correspondants aux touches F1 à F6. C'est pour l'instant le seul moyen d'accéder aux fonctions sans taper leur nom "à la main" (comme c'était le cas avant), ce qui fait que si une fonction n'est pas dans ces menus, il faudra taper le nom, le temps qu'un catalogue complet annexe soit mis en place. Néanmoins, ces menus sont en fait régis par un fichier ( "fmenu.cfg" qui se crée avec un contenu par défaut à la racine de la mémoire de stockage si il n'est pas présent au lancement), ce qui fait que si vous utilisez souvent une fonction non disponible par défaut, ou si vous voulez tout simplement réagencer les menus selon vos envies, vous n'avez qu'à modifier ce fichier (avec Edit, ou depuis un PC, la syntaxe est assez explicite je pense, mais si vous avez des questions, n'hésitez surtout pas !). D'ailleurs ça vous pouvez mettre un peu ce que vous voulez (nom de fonctions, noms de variables... c'est tout simplement du texte qui sera injecté dans la console), dans la limite de 7 entrées par sous menus (pour l'instant à nouveau, ça pourra sans doute être élargi simplement. Vous pouvez également partager vos propres fichiers de configuration si vous trouvez la configuration ultime selon vous, ou une configuration particulièrement adaptée à un domaine précis !
(La configuration par défaut est gracieusement offerte par Scientifix)
L'autre "grosse" amélioration par rapport à l'add-in de Mike, c'est l'ajout d'un système de rendu des résultats en écriture naturelle, activable ou désactivable (activée par défaut) !
(Écriture naturelle activée puis désactivée pour le dernier résultat)
Le "truc" c'est que intégrer l'écriture naturelle directement sur le flux "classique" des résultats aurait demandé (et demandera car c'est prévu ! ) un certain gros travail de réécriture du code de la console, déjà que le comprendre n'a pas été une mince (les commentaires en mandarin c'est sympa ! Heureusement Google Traduction ne se débrouille pas si mal que ça finalement quand on a pas besoin d'un texte de Shakespeare à la sortie). Du coup, en tant que fan absolu du système D, j'ai mis en place une solution, qui d'après les quelques retours que j'ai eu, permet déjà de profiter de l'écriture naturelle de manière correcte à l'usage, et qui me permettait de le sortir et le tester avant le Bac.
En fait lorsque l'écriture naturelle est activée, et lorsque qu'un résultat "vaut la peine" d'être affiché en écriture naturelle, dans le flux des résultats, sera affiché : "Pretty Print" : il suffira de naviguer pour se placer la dessus comme on sélectionnerait un résultat classique, et d'appuyer sur [Exe], pour que s'ouvre une fenêtre contenant l'expression en écriture naturelle.
Normalement le système supporte des résultats potentiellement infinis en taille avec un système de scrolling, dans la limite des capacités de la machine à stocker des résultats aussi grands .
Ce système est peu être un peu brouillon, mais comme je l'ai dit offrait l'avantage de pouvoir être implémenté très rapidement, et d'être un minimum pratique, tout en sachant que l'on peut désactiver l'écriture naturelle simplement en passant par le menu qui s'ouvre avec [Shift]+[Menu]. (Ah, et j'ai oublié de dire, le fait d'activer ou non l'écriture naturelle va affecter les prochains résultats, les résultats antérieurs à l'activation / désactivation resteront consultables tels quels)
Le système repose pas mal sur le moteur d'interprétation TeX de LePhenixNoir !
Au final je parle beaucoup pour ne pas dire grand chose j'ai l'impression, mais bon, c'est assez typique des messages que je poste ça...
Donc je fais un petit topo synthétique en mode changelog des modifications apportées depuis la version de Mike :
-> Refonte du système de curseur : il est quasiment identique à l'usage à celui de Casio dans le menu Run-Mat
-> Ajout de menus correspondants aux touches F1 à F6 configurables via un fichier dans la mémoire de stockage
-> Ajout d'un système d'écriture naturelle suivant le fonctionnement en "pop-up" décrit ci haut.
-> Corrections de quelques bugs ou problèmes.
-> Ajout de quelques fonctionnalités (type un alias pour la fonction dérivé : "derive(x) = d(x)")
Je mettrai des liens vers les diverses personnes / bibliothèques dont je parle et compléterai le changelog quand PC sera de nouveau debout !
Une version de l'add-in est fournie en fichier joint, elle a l'inconvénient d'être assez lourde cependant (~260Kio), le moteur en lui même étant déjà volumineux dans sa version d'origine (dans les 240Kio il me semble, je vérifierai).
Le code source est dispo sous GPL2 ici pour ceux qui seraient intéressés éventuellement !
Même si je révise (assez doucement avouons le... ^^) le Bac, je suis assez dispo pour des questions / suggestions / retours...