Problème pour communiquer entre JS-HTML et CaRMetal

Pour tout ce qui concerne l'utilisation du logiciel.
Post Reply
projetmbc
Posts: 83
Joined: Sat Dec 15, 2007 12:31 pm
Location: France

Problème pour communiquer entre JS-HTML et CaRMetal

Post by projetmbc » Wed Aug 18, 2010 2:31 pm

Bonjour,
j'ai le code HTML suivant issu d'un exemple du site :

Code: Select all

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<SCRIPT>
function sendToJava() {
   document.myapplet.JSsend(document.myform.mycommand.value);
   document.myform.mycommand.value="";
   }

function receiveFromJava() {
document.myform2.myanswer.value=document.myapplet.JSreceive(document.myform2.myexpression.value);
   }
</SCRIPT>
<body>

<CENTER>
<p>
  <APPLET ARCHIVE="CaRMetal.jar" CODE="rene.zirkel.ZirkelApplet.class" WIDTH="800" HEIGHT="400" ALIGN="CENTER" name="myapplet" MAYSCRIPT>
    <PARAM NAME="file" VALUE="empty.zir">
  </APPLET>
  </P>
</p>

<form name="myform" action="#" onSubmit="sendToJava();return false">
<span class="comment">Send command (e.g. : A=P(-1,2) )</span>
<input name="mycommand" type="text" size="30">
<input type="submit" value="send to Java">
</form>
<P></P>
<form name="myform2" action="#" onSubmit="receiveFromJava();return false">
<span class="comment">Receiving information (e.g. : x(A) )</span>
<input name="myexpression" type="text" size="15">
<input type="submit" value="received from Java :">
<input name="myanswer" type="text" size="15">
</form>

</CENTER>
</BODY>
</HTML>
Lorsque j'ouvre la page HTML, j'ai droit au message suivant :
Module Java 1.6.0_20
Utilisation de la version JRE 1.6.0_20-b02-279-10M3065 Java HotSpot(TM) 64-Bit Server VM
Répertoire de départ de l’utilisateur = /Users/monLogin
Etant donné le contenu de CaRMetal.jar une fois dézippé, je pense que ce qui me cause un souci c'est le morceau :

Code: Select all

CODE="rene.zirkel.ZirkelApplet.class"


Comment réparer ceci ?
Last edited by projetmbc on Wed Aug 18, 2010 5:29 pm, edited 2 times in total.

Hesperion
Posts: 260
Joined: Sun Nov 11, 2007 2:14 pm
Location: Blois

Post by Hesperion » Wed Aug 18, 2010 4:01 pm

Une idée de solution :
Il semblerait que depuis la version 3.5 (peut-être 3.0, mais j'ai pas testé), il y ait eu quelques changements dans l'applet.

Le nouveau code HTML pour les applets depuis la 3.5 est :

Code: Select all

<applet archive="../CaRMetal.jar" code="Main.class" width="1170" height="700" align="center">
	<param name="file" value="sc.zirs">
</applet>
Perso, pour les communications JS-HTML / CaRMetal, je suis resté avec un .jar en version 2.9.8 (flemme de retaper le code)
Tu nous diras si ça fonctionne avec la 3.5.

projetmbc
Posts: 83
Joined: Sat Dec 15, 2007 12:31 pm
Location: France

Post by projetmbc » Wed Aug 18, 2010 4:15 pm

Merci pour la modification. Plus de message d'erreur mais par contre la fenêtre de tracé n'apparaît pas. Voir la copie d'écran.

Il doit y avoir des choses à définir autrement...
Attachments
screenshot_01.png
(67.57 KiB) Downloaded 3713 times

Hesperion
Posts: 260
Joined: Sun Nov 11, 2007 2:14 pm
Location: Blois

Post by Hesperion » Wed Aug 18, 2010 4:46 pm

Cette erreur semblerait due au fait que tu essayes d'utiliser un fichier .zir au lieu de .zirs.

projetmbc
Posts: 83
Joined: Sat Dec 15, 2007 12:31 pm
Location: France

Post by projetmbc » Wed Aug 18, 2010 5:15 pm

Effectivement.

Par contre, la communication ne marche pas du tout... :cry: J'espère que Eric passera par ici un jour ou l'autre.

Sur ce, le vélo m'appelle.

Hesperion
Posts: 260
Joined: Sun Nov 11, 2007 2:14 pm
Location: Blois

Post by Hesperion » Wed Aug 18, 2010 5:36 pm

Depuis l'introduction d'un éditeur JavaScript dans CaRMetal, il n'y a plus vraiment besoin de cette communication entre le JS-HTML et le logiciel

Depuis la 3.5 on peut inclure un fichier .js dans un fichier .zir ou .zirs : lancer un script devient même plus simple (et plus sûr).

User avatar
yves974
Posts: 268
Joined: Tue Oct 30, 2007 3:11 am
Location: Réunion

Post by yves974 » Wed Aug 18, 2010 7:26 pm

Je sais pas ce que ça vaut (au sens de ton problème) mais voici un lien sur un travail en cours (future 3.5.4) pour une communication hyper clean entre CaRMetal et les briques d'ENT générateurs d'exo (typiquement WIMS pour le lycée et la fac, LaboMeP pour le collège). L'équipe WIMS était demandeuse d'un travail de ce type.

Comme Eric a pas l'air d'être là pour le moment je m'autorise à donner cette adresse de travail.
Par contre qui sait la petite note peut être intéressante pour toi ...

Voici un extrait de mail de début juin (attention c'est pour programmeur, moi ça me parle à peine ..)

Code: Select all

... par contre j'ai beaucoup planché sur "faire en sorte que ce soit possible et pertinent"... Alors je ne sais pas si j'y suis arrivé, s'il manque des choses, des branchements auquels je n'aurai pas pensé, n'hésitez pas une seconde à m'en parler (comme je suis dedans, je rectifierais immédiatement). L'état actuel de mes travaux dans le domaine, c'est par là :

http://db-maths.nuxit.net/js/page1.html

*note muy importante : les utilisateur de firefox sur mac sont invité à tester ça sur un autre navigateur... Firefox sur mac a quelques petits soucis avec la conversation java<->javascript et chez moi cela a causé quelques petites incompréhensions....
[/code]

projetmbc
Posts: 83
Joined: Sat Dec 15, 2007 12:31 pm
Location: France

Post by projetmbc » Thu Aug 19, 2010 1:53 pm

Hesperion wrote:Depuis l'introduction d'un éditeur JavaScript dans CaRMetal, il n'y a plus vraiment besoin de cette communication entre le JS-HTML et le logiciel

Depuis la 3.5 on peut inclure un fichier .js dans un fichier .zir ou .zirs : lancer un script devient même plus simple (et plus sûr).
Cela permet-il de modifier le contenu HTML ? Ce que je souhaite aussi faire, c'est afficher deux fenêtres CaRMetal sur une même page HTML et les faire communiquer. Par exemple, on peut imaginer une fenêtre représentant une fonction f(x), la suite récurrente u_(n+1)=f[u_n] via un diagramme en escargot, et dans une autre la représentation de u_n en fonction de n.

En résumé, communiquer avec JS-HTML me parait un outil puissant pour faire des feuilles d'entraînement ou de manipulation dynamique.
yves974 wrote:Je sais pas ce que ça vaut (au sens de ton problème) mais voici un lien sur un travail en cours (future 3.5.4)
Miam, miam... ;-) Cela me met en appétit et c'est bien ce genre de choses que j'aimerais pouvoir faire.

Merci pour ce lien.

Je vais attendre les évolutions futures.

User avatar
yves974
Posts: 268
Joined: Tue Oct 30, 2007 3:11 am
Location: Réunion

Post by yves974 » Thu Aug 19, 2010 2:08 pm

Code: Select all

Ce que je souhaite aussi faire, c'est afficher deux fenêtres CaRMetal sur une même page HTML et les faire communiquer. Par exemple, on peut imaginer une fenêtre représentant une fonction f(x), la suite récurrente u_(n+1)=f[u_n] via un diagramme en escargot, et dans une autre la représentation de u_n en fonction de n.
Sur que ça doit être largement possible. Il faudrait que Alain Busser passe par ici, il pourrait donner des tuyaux, il nous a fait déjà une démo, à un séminaire IREM, d'une figure non triviale de Geogebra pilotée, dans la même page HTML par une figure CaRMetal et ça il y a deux ans donc bien avant la 3.0 de CaRMetal.

Cela dit, chez nous c'était la prérentrée hier et la rentrée aujourdhui, chacun a d'autres petites urgences en ce moment ...

Hesperion
Posts: 260
Joined: Sun Nov 11, 2007 2:14 pm
Location: Blois

Post by Hesperion » Thu Aug 19, 2010 3:22 pm

projetmbc wrote:Par exemple, on peut imaginer une fenêtre représentant une fonction f(x), la suite récurrente u_(n+1)=f[u_n] via un diagramme en escargot, et dans une autre la représentation de u_n en fonction de n.
Un peu comme ce genre, mais en mieux ?
Effectivement, ça serait mieux sur deux pages (la 2nde dépendant de la 1ère) :)

Edit : mise à jour du fichier.
Edit 2 : correction d'une erreur dans les formules
Attachments
rep_graph.zip
(6.86 KiB) Downloaded 554 times
Last edited by Hesperion on Fri Sep 03, 2010 12:09 pm, edited 3 times in total.

projetmbc
Posts: 83
Joined: Sat Dec 15, 2007 12:31 pm
Location: France

Post by projetmbc » Thu Aug 19, 2010 4:01 pm

Merci pour ce fichier, je le garde sous le coude. C'est bien l'idée de l'exemple que je proposais.

En fait, l'exemple que j'ai donné ci-dessus était juste pour montrer un principe. L'idée que j'ai derrière la tête est la création de feuilles dynamiques "évoluées", des exercices en ligne. Je suis en train de finir un outil en Python pour m'aider à taper des maths et je vais y intégrer un moyen "simple" de faire des feuilles dynamiques.

Une autre utilisation de la communication avec JS-HTML est la possibilité d'afficher des résultats avec une très bonne qualité via MathJax.

User avatar
erichake
Site Admin
Posts: 145
Joined: Sun Oct 28, 2007 11:51 pm
Location: Millau

Post by erichake » Fri Aug 20, 2010 3:49 pm

Passage en coup de vent sur le forum, donc pas sûr que ce que je donne ici ai un grand rapport avec le sujet... Toute la partie communication javascript<->carmetal est traitée ici pour les nouveaux classeurs (effectivement, uniquement .zirs et pas .zir dans le param file) :

http://db-maths.nuxit.net/js/page1.html

projetmbc
Posts: 83
Joined: Sat Dec 15, 2007 12:31 pm
Location: France

Post by projetmbc » Fri Aug 20, 2010 9:59 pm

Merci, yves974 m'avait donné ce lien.

Le souci est que je ne sais pas si des choses comme cela sont facilement adaptables, ou bien s'il y aura de gros changements.

Je serais patient si la communication JS-HTML <---> CaRMetal est de nouveau dans les bacs.

PS : pour le moment, j'ai testé avec succès la cohabitation de l'exemple de ton lien avec MathJax.

User avatar
alain974
Posts: 150
Joined: Sat Jun 13, 2009 9:08 am
Location: Réunion

Post by alain974 » Sun Aug 22, 2010 9:51 am

À mon tour de faire un passage rapide, entre deux préparations de cours (la rentrée c'est déjà du passé :( )

De mémoire, je savais communiquer de CaRMetal (applet) vers javascript mais pas de javascript vers CaRMetal (jamais compris pourquoi mais jamais trop cherché non plus). Comme je savais au contraire communiquer entre GeoGebra et javascript dans les deux sens, j'ai utilisé un point sur disque de CaRMetal pour piloter un point sur disque de GeoGebra (possibilité que GeoGebra n'a pas , la honte! :oops: mais n'abusons pas de cruauté...). De même je pouvais faire communiquer deux applets GeoGebra dans une même page html mais c'est pas aussi fluide que deux figures dans une même applet.


Bon courage quand même!

Post Reply