Refonte de Natbraille
La version « trunk » de Natbraille est une refonte du moteur de transcription de la version « brailliti ». Il reprend de cette dernière version les feuilles de transformation XSL pour le Braille intégral, l'abrégé progressif, les mathématiques et la chimie, ainsi que la détranscription, et enfin, les feuilles de transformation XSL de mise en page.
Cette refonte a été envisagée d'abord pour permettre la réalisation d'un service de transcription à distance (« serveur web ») basé sur « Brailliti » qui n'avait pas été prévu pour faire plusieurs transcriptions simultanément avec des configurations variées.
Nous avons tenté de profiter de cette réécriture pour :
- Supprimer autant que possible le recours à l'écriture de fichiers temporaires
- Rationaliser l'organisation des filtres de transcription opérant uniquement sur des documents avec des options de transcription.
- Dé-dupliquer le code dans les filtres de transcription et modulariser le code commun de façon à faciliter l'écriture de nouveaux filtres.
- Modulariser les parties du programmes qui pouvaient l'être (table braille, intégration d'openoffice).
- Supprimer autant que possible des effets de bord (souvent rendus obligatoires par l'écriture dans les fichiers temporaires) en limitant au mieux les états,
- Rendre la transcription moins tolérante aux erreurs dans les options de transcription.
- Tâcher d'organiser les sources de façon à les rendre compréhensibles plus facilement par un programmeur extérieur au projet en
- adoptant les conventions du gestionnaire de compilation maven et en découpant le programme le plus possible par fonctionnalité.
- Écrivant programme et commentaires en anglais.
Ce travail aboutit à l'écriture des modules suivants :
Natbraille-core
Natbraille-core est le moteur de transcription de Natbraille.
Une transcription est une suite de « filtres » (transformation XSL ou non) opérées sur un document de son format ou de son encodage.
Natbraille-cli
Natbraille-cli est l'interface en ligne de commande des fonctions de Natbraille-core.
Elle permet la transcription
- en mode batch, en fournissant une liste de documents d'entrées aux formats d'entrée traités par nat.
- en mode interactif (chaque ligne rentrée est transcrite sur la ligne suivante) qui permet la modification des options de transcription.
- Du flux rentrant (pipes sous unix)
Elle offre, de plus, la possibilité de créer facilement des fichiers de configuration de façon incrémentale.
Natbraille-brailletable
Natbraille-brailletable contient les traitements et données relatives aux tables Braille utilisées par les autres projets (ex. Natbraille-core, Natbraille-braillefont, Natbraille-pdf).Natbraille-brailletable dispose d'une interface en ligne de commande qui permet de transcoder un document braille (changement de table Braille et d'encodage de caractère). Par exemple pour transformer un document formaté destiné à la lecture sur une plage braille donée en document embossage, ou l'inverse.
Natbraille-jodconverter & Natbraille-soffice
Ces deux composants utilisent libreoffice ou openoffice, si installé sur le poste de l'utilisateur, pour l'import des nombreux formats de document que reconnaissent ces deux programmes (word toutes version, rtf, etc.) dans Natbraille. Natbraille-jodconverter
Ce composant est une version dérivée de la branche nuxeo de jodconverter qui permet l'utilisation de openoffice et libreoffice à travers un « serveur openoffice/libreoffice ».
Le mode serveur de libreoffice, openoffice est notablement peu fiable. Dans la précédente version, cela se traduit par la nécessité de lancer plusieurs fois une transcription parfois de stopper le programme et le relancer. Ce comportement est tolérable pour une utilisation indivuelle mais n'est pas acceptable dans le cadre d'une utilisation sur un serveur.
Natbraille-soffice
Natbraille-soffice prend le parti de relancer libreoffice à chaque transcription, plutôt que de recourir au « serveur openoffice/libreoffice ». Le principal problème de cette approche est qu'il utilise une option de la ligne de commande qui n'existe que pour LibreOffice.
Natbraille-writer2latex
Ce module est la variante de writer2latex utilisée par natraille-core pour transformer les documents au format openoffice vers le xhtml+mathml.
Natbraille-nonregression
Tests de non regression. Intègre le script de non regression de « brailliti » au programme java. L’exécution des tests de non régression de Natbraille était limitée auparavant aux systèmes unix.Natbraille-http
Consultez l'article détaillé sur le natbraille-http.Natbraille-mongodb-tomcat-realm
Un « realm » (base de données utilisateur et admin pour tomcat) a été développé pour permettre l'utilisation d'u moteur de base de données commun entre le serveur de transcription proprement dit, et ses utilisateurs.Ce « realm » n'est pas destiné à être utilisé en production. On lui substituera la base utilisée sur le serveur.