J'ai donné hier un TP pour un cours d'(introduction à
l')arithmétique pour la
cryptographie[#] dont je suis
responsable à Télécom (dans le cadre d'un master sécurité
). Le
choix du logiciel de calcul
symbolique dans lequel travailler est toujours un peu épineux. Je
préfère par principe un logiciel libre, ce qui laisse encore un
certain choix ; mais il faut tenir compte de l'environnement
disponible dans les salles de TP auxquelles j'ai accès.
Or, à ce sujet, sauf à aller frapper à la porte d'autres départements
de l'École, le choix est entre des salles de PC Windows
(or je ne sais pas utiliser Windows, et je n'ai pas trop envie
d'apprendre) ou de Sun (également Intel) sous Solaris 11,
l'installation de ce dernier OS n'étant pas toujours
complètement orthodoxe (et, concrètement, compiler n'importe quoi est
une gageüre). L'an dernier j'avais fait mes TP
sous Maxima qui est, il
faut le dire, assez mauvais (et je ne sais pas qui a eu l'idée
d'utiliser “:
” pour l'affectation, mais il
devait vraiment avoir fumé quelque chose). Cette année, j'ai jeté
l'éponge sur l'idée de compiler quoi que ce soit sur les machines
de TP, et j'ai
utilisé Sage[#2] à
distance : le programme tourne sur ma machine au bureau, et les
étudiants y accèdent par un navigateur Web. Il faut dire que Sage a
un système de worksheets assez impressionnant de
ce point de vue-là (il y en a une démonstration publiquement
accessible
sur www.sagenb.org
[#3]).
C'est une idée séduisante a priori : au lieu de faire une interface graphique, un programme peut toujours décider d'utiliser un navigateur pour ça, de se présenter sous la forme d'un site Web. Et de fait, les webapplications rencontrent un succès spectaculaire qu'on peut juger au nombre de bouquins sur Ajax (il ne s'agit pas du cousin d'Achille) qu'on peut trouver dans n'importe quel rayon informatique (section technologies Web) de librairie.
Mais en fait, le concept a aussi ses limitations, qu'on rencontre rapidement même quand la réalisation est soignée, et qui donnent un petit goût désagréable d'inachevé ou de bricolé. Prenez les racourcis clavier : on ne peut y mettre que ce que le navigateur lui-même n'a pas réquisitionné ; prenez les commandes à la souris : elles sont sévèrement contraintes par ce que le modèle de focus du document permet ; on a du mal à avoir un vrai menu contextuel, on a du mal à avoir du glisser-déplacer qui marche de façon fluide et claire, on a du mal à avoir un copier-coller riche, on a du mal à avoir un système de menus ou un toolkit qui s'harmonise bien avec le navigateur, l'édition des textes se fait dans des widgets qui ne sont pas de vrais éditeurs, la notion de session est difficile à faire avaler à un système (le Web) prévu pour être sans état… Bref, l'idée est sympa et certainement très utile, mais j'aimerais bien que des solutions soient trouvées pour que ça cesse d'être du bricolage et que l'intégration soit vraiment parfaite (c'est-à-dire aussi bonne que pour une application native) : or j'y crois fort peu. S'agissant de l'interface worksheet de Sage, le boulot réalisé est impressionnant, certes, mais ce genre de limitations me frappe toujours : le copier-coller a des ratées, les rectangles de saisie varient parfois de taille de façon inexpliquée, bref, les finitions manquent (et ce n'est pas la faute de Sage, c'est le concept de webapplication qui rend ça pour l'instant inévitable).
Bon, le pire ça a surtout été quand j'ai voulu faire cet après-midi
un corrigé de ce TP : je me suis dit que j'allais
l'écrire comme une worksheet Sage, justement
(plutôt qu'en tapant tout en TeX). Mauvaise idée. D'abord, tous les
commentaires entourant les commandes, j'ai dû les saisir dans un
éditeur HTML appelé depuis l'interface et qui est certes
impressionnant mais qui n'est pas l'éditeur que j'ai l'habitude
d'utiliser (et pour ce qui est du copier-coller, de nouveau, c'est pas
terrible). Mais une fois que j'eus fini et que j'eus publié
ma worksheet, je me suis senti un peu escroqué :
la page Web ainsi produite est assez jolie, mais pas moyen de
l'exporter en PDF (si j'essaie de l'imprimer vers
un PDF, mon navigateur produit quelque chose de vraiment
très moche), pas vraiment moyen non plus de la sauver comme une
page HTML (elle fait appel à des quantités
invraisemblables de JavaScript de
chez jQuery
et jsMath), on
peut juste en sauvegarder une version au format Sage worksheet, qui
sera certes lisible sur un autre Sage, mais bon, le problème initial
était justement que ce n'est pas la chose la plus facile au monde à
installer.
[#] Le but du cours étant d'arriver à faire comprendre à des gens qui ont fait des parcours assez différents (et parfois plus fait de maths depuis longtemps) comment « fonctionnent », si j'ose dire, ℤ/mℤ (le théorème chinois, les éléments primitifs, ce genre de choses) et (un tout petit peu) les corps finis.
[#2] Aux dernières nouvelles, Sage ne tourne pas sous Windows, et pas bien (ou pas complètement) sous Solaris. Donc c'était peu évident, comme solution !
[#3] Je me demande comment ce site fait pour ne pas être complètement vandalisé, d'ailleurs.