Bonjour tout le monde,

        Je me joins � la liste parceque j'ai � faire la promo du superbe outil
qui est d�velopp� ici � l'universit� technique de Berlin: C'est un IDE
java, gratuit (license quasi GPL), �crit en java:

http://www-sfb288.math.tu-berlin.de/~jtem/oorange/

Il s'agit d'un outil de prototypage rapide (style 
http://www.ist.co.uk/visaj/ en moins graphique): Vous glissez-d�posez
des classes sur un panneau. Cel� instantie un objet, avec lequel vous
pouvez discuter � travers un bean-shell et dont vous pouvez inspecter
(et modifier le cas �ch�ant) toutes les ressources accessibles � l'aide
d'un �diteur, de mani�re r�cursive (si une m�thode renvoie un objet,
l'inspecteur vous permet de voir ses propri�t�s et ainsi de suite
jusqu'aux primitives visualisables).

Vous interconnectez ces objets en un r�seau de d�pendance, de mani�re
graphique. Chaque lien a une source et un but, et vous indiquez au but
quoi faire avec les param�tres pass�s par la source. Des boucles de
r�troaction sont possibles. Vous pouvez choisir la mani�re dont sont mis
� jour les objets en fonction des changements dans leur environnement.

Quand �a vous pla�t, vous pouvez exporter le r�seau sous forme d'une jar
classique. Si vous n'�tes pas content, vous pouvez utiliser votre
�diteur favori, modifier une classe, et un simple clic avertit oorange
du changement, il r�instantie un nouvel objet en gardant le plus
possible de param�tres fixes et sans perturber le reste du r�seau. Vous
pouvez �galement �diter le code du r�seau ou de chaque noeud s�par�ment.

Ce qui est vraiment bien c'est que le code suppl�mentaire pour
interconnecter les objets n'est pas contenu dans la classe de l'objet
lui-m�me (�a ne modifie pas les classes existantes) mais dans du code
attach� aux noeuds du r�seau et � chacun des liens, leur indiquant
comment s'initialiser, quand notifier d'un changement et quoi en faire.
Bien entendu, ce genre de code ne fait en g�n�ral que quelques lignes,
par exemple vous avez un lien d'un nuage de points vers un
visualisateur, le lien va simplement dire au visualisateur "affiche ce
nuage de point".  Ce code peut �tre entr� directement dans oorange ou
bien �dit� ailleurs (l'�diteur Swing �tant ce qu'il est, quand le code
d'update d'un noeud est un peu velu, devinez quelle solution vous
pr�f�rerez).

Une grosse diff�rence avec visaj et d'autres, qui tient au fait que
oorange a �t� d�velopper principalement pour faire des maths, c'est que
les noeuds et leurs propri�t�s sont pr�sent�s de mani�re surtout
textuelle. Il y a bien des ornements (de couleurs, de fonte,
d'ic�nes...) sur les noeuds pour indiquer leur �tat 

("� jour", "run-time exception" <- vous pouvez alors voir un backtrace
tr�s lisible de ce qui l'a provoqu�, "erreur de compilation" <- quand le
code que vous avez entr� pour un lien n'est pas valide, "en train de
tourner" <-Quand l'update d'un noeud n'est pas fini etc...) 

mais le noeud associ� � une JFrame ne ressemble pas � une JFrame, c'est
une b�te bo�te avec un nom. Sur le r�seau il peut avoir des d�pendances
comme une barre de menu, des checks box, des pano etc que vous organisez
graphiqument mais ceux-ci sont encore de b�tes bo�tes. Simplement avoir
un tel noeud dans votre r�seau vous instantie l'objet graphique fen�tre
et ses d�pendances (vous les voyez � l'�cran) et l'inspecteur vous
montre ses propri�t�s. Vous pouvez changer l'objet soit interactivement
en agissant sur la fen�tre avec la souris, soit dans l'inspecteur en
entrant des coordonn�es. 

Egalement, ce que vous glissez d�posez, ce n'est pas une ic�ne
ressemblant � une fen�tre mais bien la classe JFrame que vous �tes all�
chercher sur votre disque dur qq part dans l'arborescence usuelle et pas
dans une jolie petite toolbox. De plus, m�me si vous pouvez apprendre �
l'inspecteur comment visualiser et �diter certains objets, cel� demande
quand-m�me d'�crire du code sp�cialement pour oorange dans votre classe,
qu'oorange sait interpr�ter. Le d�faut est que seules les primitives
(boolean, int, double, arrays etc...) sont visualis�es. Par exemple si
votre JFrame contient un paneau, vous ne pouvez pas �diter ses
propri�t�s graphiquement avec la souris dans l'inspecteur comme c'est le
cas dans un certain nombre de prototypeurs de GUI (comme visaj). Vous
verrez le panneau dans la fen�tre instanti�e, mais dans l'inspecteur
vous n'aurez que le nom du panneau, sur lequel vous pouvez cliquer pour
modifier ses param�tres. 

Vous �tes les bienvenus si vous voulez apprendre � oorange � �diter
graphiquement une GUI, mais comprenez que ce n'est pas notre
pr�occupation principale, oorange a �t� con�u pour d�velopper du java
scientifique: Java Tools for Experimental Mathematics (jtem prononc� "je
t'aime")

http://www-sfb288.math.tu-berlin.de/~jtem/

Mais vous pouvez voir dans les exemples que la visualisation est
importante pour nous. JTEM est en cours de d�veloppement constant, si
vous �tes scientifique vous �tes invit�s � nous faire part de vos
classes int�ressantes. Si vous avez impl�ment� des algorithmes de calcul
scientifique facilement r�utilisables, nous sommes preneurs.

Vol�, tenez moi au courant, faites tourner l'info,

                Christian Mercat pour la Sfb288

Répondre à