Virtual Pen, état d'avancement
Ce document n'est plus tenu à jour !
28 août 2001
Les grands travaux de rénovation interne commencés après le SMUG de
printemps (qui s'est tenu dans le cadre de Computer Expo 2001) n'ont avancé que
très lentement (en partie dû au fait que je n'ai pas pu consacrer le nombre
d'heures nécessaires au projet avant fin août).
Ces travaux de rénovation touchent surtout au découpage de Virtual Pen en
une application interactive (GUI) et une application centrale, non
interactive (core).
Ce qui existe (fin août 2001) :
- Une bibliothèque permettant de décrire une interface de manière
indépendante de la plate-forme et des widgets utilisés : GUISyn
(prononcer Guisan :-).
- Un moteur gérant le document.
- Un moteur graphique basé sur Ghostscript.
- Une application OPaC qui donne accès à une vue du document et quelques
dialogues OPaC très simples, pour des tests.
Le moteur gérant le document et l'application OPaC ne font actuellement
qu'un seul bloc (bien que les fonctionalités sont séparées en un exécutable
et une DLL).
Ce qui va être fait en septembre
- Ecrire l'application interactive en se reposant sur GUISyn, le moteur
graphique et, pour l'instant, OPaC pour les widgets.
- Epurer le moteur gérant le document et l'attacher à l'application
interactive par l'entremise de GUISyn.
27 septembre 2001
Les objectifs à court terme fixés il y a un mois sont en partie atteints.
Un embryon de VP partagé en deux applications entièrement séparées
existe : un front-end présente l'interface utilisateur basée sur
la bibliothèque GUISyn et fait le lien avec OPaC et le moteur Ghostscript; un back-end
gère le document.
La communication entre le front-end et le back-end est partiellement
asynchrone, en ce sens que le front-end génère des commandes en
réponse aux actions de l'utilisateur et que le back-end les consomme à son
rythme. L'interface graphique n'est ainsi jamais bloquée par le travail du
back-end. L'affichage peut se faire de manière découplée.
Ce qui a été fait en septembre
- La bibliothèque GUISyn a été complétée en fonction des besoins qui se
sont fait sentir. Le support pour une vue Ghostscript, des palettes d'icones
et des menus a été rajouté; quelques détails restent encore à régler
du côté de la génération des commandes.
- L'application a été coupée en deux... un front-end et un back-end.
- Un lien bidirectionnel entre le front-end et le back-end a été réalisé
au moyen de pipes. Toute la communication circule en texte clair, ce
qui devrait permettre un debug simplifié.
Ce qui va être fait en octobre
- Consolider GUISyn, le front-end et le back-end pour arriver à un proto-VP
mettant en oeuvre tous les mécanismes importants qui seront nécessaires
par la suite.
- Récrire sous forme de commandes un certain nombre de fonctions
implémentées auparavant directement dans l'application.
- Documenter VP et ses API.
- Dresser une liste des travaux/objets/définitions en vue d'un travail en
équipe.
Les efforts de ce mois ont dérivé de GUISyn vers le core, ce qui
explique pourquoi les objectifs fixés en septembre n'ont pas été atteints
directement.
Ce qui a été fait en octobre
- La structure interne du document a été solidifiée et partiellement
documentée : vues, pages, groupes, etc. Ceci a nécessité de
nombreuses petites modifications et vérifications dans le core.
- Les gestionnaires de document, poignées, sélections et vues ont été
complétés. Ceci fournit les bases nécessaires à l'implémentation des
commandes du côté back-end.
- Une partie des éléments modifiés de VP ont été documentés.
Ce qui va être fait en novembre
- Créer le proto-VP prévu pour octobre, y compris les commandes de base.
- Continuer la documentation de VP et de ses API.
- Dresser une liste des travaux/objets/définitions en vue d'un travail en
équipe.