Il existe des anciennes versions de Leximnesia. Ces versions ne sont pas téléchargeables (je peux vous les envoyer par e-mail sur demande, mais sans garantie que ça fonctionne bien).
Le format f48 est un format facile à mettre en œuvre dans un programme, et plus ou moins lisible par l’être humain. Le gros problème est que les questions et réponses ne sont pas séparées des informations relatives à l’utilisateur (nombre de fois où la question a été vue, nombre de réponses justes, nombre de réponses justes successives, position de la question dans la queue, etc.) L’autre inconvénient de ce format est qu’il ne supportait pas la catégorisation (les tags).
La première version, baptisée "apprendre!", utilisait pyGtk, supportait les images, mais avait quelques inconvénients (algorithme et format interne des données).
Une version utilisant pyQt a suivi, mais elle était identique à la version pyGtk d’origine.
Je suis ensuite passé à Tkinter, et le développement s’est accéléré : les versions Tkinter privilégiaient les fonctionnalités sur la beauté de l’interface.
Le format .deck.lxa / .user.lxa est plus complexe que son prédécesseur, mais beaucoup plus lisible par l’être humain. Les ensembles {question/réponse/tags} sont tous dans un fichier .deck.lxa et le fichier .user.lxa contient les informations relatives à l’utilisateur (à chaque ensemble {question/réponse/tags} est associé un score, un nombre de vues, etc. (cf. ci-dessus).
Il n’y a qu’un format .deck.lxa mais plusieurs formats .user.lxa différents (en fonction de la version de Leximnesia, les informations stockées peuvent différer). C’est encore un avantage du format .deck.lxa : il peut être transmis d’une application à l’autre si elle le prend en charge.
La version Web est une expérience assez intéressante : Leximnesia était ici un serveur Web et l’utilisateur l’ouvrait dans son navigateur. La programmation n’était pas très difficile, mais en fonction des navigateurs, divers problèmes pouvaient survenir, comme toujours avec le Web. Le principal obstacle était la réactivité de l’application.
La version Tkinter 0.4 revient à Tkinter pour la réactivité, la facilité d’installation et de programmation. Cette version est incomplète en tant qu’outil de révision, mais est excellente en tant que dictionnaire. Elle m’a permis de vérifier une chose que je pensais déjà : le paradigme Tkinter est le meilleur possible, mais Tkinter est trop vieille et n’a pas assez de possibilités (notamment pas de manipulation d’images en natif, fonctions de mise en forme de texte dépassées).
La version pyGtk 0.4 revient à pyGtk pour la beauté de l’interface plus que pour autre chose. La programmation avec pyGtk n’est pas toujours un plaisir (contrairement à Tkinter), mais c’est efficace et on arrive à obtenir ce qu’on veut. Cette version est quasiment complète.
Je n’ai pas encore programmé :