SimuLab est un package Java (JDK 1.1, compatible avec d'anciens systèmes) permettant de créer facilement des applets de simulation numérique. Avec SimuLab, il suffit d'écrire le calcul d'une simulation en Java et de décrire les paramètres d'entrée et de sortie de l'algorithme, pour obtenir une applet prête à l'emploi sur le web. SimuLab se charge de gérer l'interface utilisateur, depuis la saisie des données jusqu'à l'affichage du résultat.
SimuLab a été écrit initialement en Java, mais il a été converti en Javascript en 2012. Il est donc maintenant possible d'utiliser cette version pour créer des simulations en Javascript, qui pourront fonctionner dans un navigateur moderne sans que cela nécessite de plugin Java. Comme l'API utilisée est la même dans la version en Javascript et que SimuLab se charge du travail délicat de l'interface utilisateur, il n'est pas très difficile de transformer une simulation écrite pour la version en Java dans une autre en Javascript (les 2 problèmes principaux étant l'absence de classes et de typage fort en Javascript).
Cela se fait en suivant les étapes suivantes:
Des explications beaucoup plus détaillées se trouvent ici. Les débutants en Java peuvent également lire une rapide introduction à Java.
L'API est aussi disponible en ligne. Les classes intéressantes pour une utilisation normale de SimuLab sont SimuApplet, SimuParams, ListeValeurs, ParamIn, ParamOut et Affichage. Les autres sont utilisées en interne par SimuLab.
SimuLab est distribué gratuitement, sous licence GPL.
Un grand merci aux développeurs qui ont participé à SimuLab sans le savoir.
simulab.tar.gz (version 2.2)
Jaxe, un éditeur XML permettant (en lui ajoutant les fichiers de configuration de SimuLab) de créer les fichiers de paramètres et de documentation
SimuLab a été réalisé dans le cadre du projet Astrophysique sur Mesure. L'auteur principal est Damien Guillaume, mais plusieurs stagiaires (Julien Montel et Konstantin Tcholokachvili) ont participé au développement. Pour tout renseignement, contacter Damien.Guillaume à obspm.fr