Problème pour communiquer entre JS-HTML et CaRMetal

Pour tout ce qui concerne l'utilisation du logiciel.
Répondre
projetmbc
Messages : 83
Enregistré le : sam. déc. 15, 2007 12:31 pm
Localisation : France

Problème pour communiquer entre JS-HTML et CaRMetal

Message par projetmbc »

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

Code : Tout sélectionner

<!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 : Tout sélectionner

CODE="rene.zirkel.ZirkelApplet.class"


Comment réparer ceci ?
Modifié en dernier par projetmbc le mer. août 18, 2010 5:29 pm, modifié 2 fois.

Hesperion
Messages : 260
Enregistré le : dim. nov. 11, 2007 2:14 pm
Localisation : Blois

Message par Hesperion »

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 : Tout sélectionner

<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
Messages : 83
Enregistré le : sam. déc. 15, 2007 12:31 pm
Localisation : France

Message par projetmbc »

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...
Fichiers joints
screenshot_01.png
(67.57 Kio) Téléchargé 3783 fois

Hesperion
Messages : 260
Enregistré le : dim. nov. 11, 2007 2:14 pm
Localisation : Blois

Message par Hesperion »

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

projetmbc
Messages : 83
Enregistré le : sam. déc. 15, 2007 12:31 pm
Localisation : France

Message par projetmbc »

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
Messages : 260
Enregistré le : dim. nov. 11, 2007 2:14 pm
Localisation : Blois

Message par Hesperion »

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).

Avatar du membre
yves974
Messages : 268
Enregistré le : mar. oct. 30, 2007 3:11 am
Localisation : Réunion

Message par yves974 »

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 : Tout sélectionner

... 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
Messages : 83
Enregistré le : sam. déc. 15, 2007 12:31 pm
Localisation : France

Message par projetmbc »

Hesperion a écrit :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 a écrit :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.

Avatar du membre
yves974
Messages : 268
Enregistré le : mar. oct. 30, 2007 3:11 am
Localisation : Réunion

Message par yves974 »

Code : Tout sélectionner

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
Messages : 260
Enregistré le : dim. nov. 11, 2007 2:14 pm
Localisation : Blois

Message par Hesperion »

projetmbc a écrit :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
Fichiers joints
rep_graph.zip
(6.86 Kio) Téléchargé 572 fois
Modifié en dernier par Hesperion le ven. sept. 03, 2010 12:09 pm, modifié 3 fois.

projetmbc
Messages : 83
Enregistré le : sam. déc. 15, 2007 12:31 pm
Localisation : France

Message par projetmbc »

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.

Avatar du membre
erichake
Site Admin
Messages : 145
Enregistré le : dim. oct. 28, 2007 11:51 pm
Localisation : Millau

Message par erichake »

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
Messages : 83
Enregistré le : sam. déc. 15, 2007 12:31 pm
Localisation : France

Message par projetmbc »

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.

Avatar du membre
alain974
Messages : 150
Enregistré le : sam. juin 13, 2009 9:08 am
Localisation : Réunion

Message par alain974 »

À 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!

Répondre