Programmation

La programmation

Même si le programme Neuromatiq a été réalisé sous Adobe Flash, il repose entièrement sur une architecture en ActionScript 3 (AS3), développée bloc par bloc. La bibliothèque interne de l'application est volontairement minimaliste, ne contenant que les polices, le module de chargement (loader) et les icônes descriptives utilisées pour la section « Voir aussi ». Tout le reste est chargé depuis l'extérieur, ce qui confère à l'application une grande modularité, puisque les ressources externes peuvent être mises à jour indépendamment de l'environnement Flash.

Le code comporte plus de lignes que le texte entier de la thèse. Cela dit, aucune ligne ne se répète, ce qui est dû au grand nombre de fonctionnalités offertes par le programme : accueil animé, outils de navigation, lecteur vidéo personnalisé, galerie d'images et animations interactives.

J'ai réécrit le code du programme en entier au moins trois fois pour répondre aux exigences de performance, de stabilité et de design, tout en évitant les bugs. C'est le cas, par exemple, du chargeur qui, au lancement, importe tout le contenu nécessaire de la thèse avant d'ouvrir l'application — une fonctionnalité qui n'était pas prévue au début. Le chargement prend quelques secondes, mais c'est bien plus pratique que de devoir attendre que le lecteur DVD se mette à tourner pour accéder au texte à chaque fois.

Neuromatiq est une application Flash/AS3 extrêmement dynamique : les données à charger sont organisées dans des fichiers XML accessibles et éditables via un simple éditeur de texte. Les textes de la thèse sont formatés en HTML et stylisés avec une seule page de style CSS. Ainsi, si l'on change d'avis à propos de la forme, des couleurs ou de la disposition, il suffit de modifier une seule ligne de code pour que cela s'applique à tous les textes utilisés.

La section particulière des animations interactives (encore au stade préliminaire) permet à l'utilisateur de manipuler les structures anatomiques au sein d'un environnement 3D temps réel ; ceci est crucial pour assimiler la disposition spatiale des organes. L'implémentation de ces modèles graphiques depuis le logiciel 3DS MAX a été réalisée grâce à l'API Flare3D.