Le développement de la géométrie
dynamique dans l'enseignement suscite la création de
nombreux sites Web pédagogiques qui ne peuvent aujourd'hui
bénéficier de cet outil au fil de leurs pages. Les
techniques classiques d'animation de figures sur le Web sont soit
trop limitées, soit trop difficiles à mettre en
oeuvre. Le projet Cabri-java se propose dans un premier temps de
développer une applet Java permettant de retrouver tous les
avantages de la géométrie dynamique dans des figures
actives. La réalisation d'une application Java
complète de création et de manipulation de figures
est étudiée.
Plan
Géométrie dynamique et
enseignement
Aujourd'hui, le développement de la
géométrie dynamique est étroitement
lié à celui de la manipulation directe par
ordinateur.
Mais en fait, les origines de la géométrie dynamique
remontent bien avant quand plusieurs mathématiciens dont
Clairault (XVIIIe) et d'autres auteurs plus
récents ont développé l'idée de
déplacer les éléments d'un figure dans le but
d'illustrer des phénomènes
(géométriques) et de prouver des
théorèmes.
Géométrie dynamique et manipulation directe sont
souvent associées dans les environnements informatiques
proposés à l'utilisateur, enseignant ou apprenant.
comme moyen de développer des activités
intellectuelles basées sur leurs connaissances
géométriques. En d'autres termes, l'utilisateur est
placé dans un micromonde, au sens de la définition
donnée par Seymour Papert dans son livre fameux :
Mindstorms,Children, Computers, and Powerful Ideas
[1] (Cf le développement
de Logo). Au contraire de Logo, dans un micromonde bâti sur
la géométrie, comme dans Cabri ou Geometer's
Sketchpad, les bases mathématiques à enseigner
jouent un rôle primordial. Au travers de la manipulation
directe, l'étudiant peut construire ses propres
constructions complexes, faisant appel pour cela à des
connaissances géométriques plus ou moins
avancées : il peut ainsi interagir directement sur les
représentations d'objets géométriques
théoriques.
Les caractéristiques-clés de tels environnements
de géométrie dynamique sont :
- une base mathématique solide de la
géométrie à représenter.
- une interface utilisateur conviviale autorisant une prise
en main immédiate d'une part importante des outils.
- un rapide retour d'interaction du système permettant
à l'utilisateur de contrôler le comportement des
objets qu'il a construits.
Depuis plusieurs années, de nombreux travaux
[2,3, 4,
5] ont montré l'importance de
l'engagement direct de l'apprenant à travers l'usage de
logiciels de construction et de manipulation d'objets
géométriques. Les recherches menées autour du
logiciel Cabri-géomètre
[6] soulignent le rôle
prépondérant de l'investissement personnel de
l'élève, qui, affranchi des difficultés de
construction d'objets géométriques souvent
difficiles à dessiner, peut analyser librement les
problèmes qui lui sont posés d'une manière
dynamique et active. Ce logiciel multilingue disponible sur
plate-forme Macintosh ou PC, mais aussi sur calculatrices de poche
[7] a aujourd'hui
dépassé le million d'exemplaires vendus dans le
monde et a suscité la création de nombreux groupes
collaboratifs appelés "clubs cabri". Son usage en classe,
mais aussi en auto-apprentissage hors du temps scolaire s'est
largement développé au point de réunir des
centaines d'utilisateurs lors d'universités
d'été organisées autour de ce logiciel.
Cet outil de géométrie dynamique est
également utilisé de manière fructueuse dans
d'autres domaines où la géométrie sert de
support mathématique comme l'optique,
l'électronique, la mécanique, l'astronomie...
L'utilisation de ce type d'outil s'avère
également bien adaptée dans des contextes
d'élèves en difficulté, soit au niveau
scolaire (soutien personnalisé), soit au niveau
médical (projet TéléCabri
[8] , de
télé-enseignement pour des enfants
hospitalisés ).
Géométrie sur le
Web
Dès ces débuts, le Web est apparu comme un outil
indispensable pour permettre une meilleure collaboration dans un
premier temps entre enseignants. Ceux-ci pouvaient ainsi
échanger leurs cours, discuter sur des documents concrets
des meilleurs outils d'enseignement. Des listes de diffusion ont
été créées, de nombreux sites Web se
sont développés de par le monde et en particulier
autour de la
géométrie dynamique.
D'autres expériences d'enseignement centrées
autour de la création de sites Web directement par les
élèves se sont développées depuis
quelques années. Dans ce cadre, les élèves
sont amenés à devenir acteurs de leur apprentissage,
à communiquer avec d'autres classes de par le monde,
à transmettre leur savoir naissant. Placés dans
cette situation nouvelle pour eux, certains élèves
qui subissaient un enseignement traditionnel se retrouvent
pleinement dans un contexte où leur initiative personnelle
est plus sollicitée. Les idées
généreuses de la jeunesse d'entraide d'autres
élèves en échec scolaire ou en
difficulté passagère (par exemple
hospitalisés) motivent souvent les enfants à donner
le meilleur d'eux-mêmes pour placer des exercices
commentés sur le Web, des activités ludiques
d'apprentissage ou des corrigés d'examens comme par exemple
sur ce site d'un collège grenoblois [6].
Comment arriver alors à regrouper les bienfaits de la
géométrie dynamique et du Web ?
La première solution consiste à décrire
par l'énoncé et par des copies d'écran les
exercices à réaliser ensuite à travers un
logiciel comme Cabri-géomètre.
L'inconvénient majeur de cette méthode est une perte
de temps entraînée par la mise en place des
éléments géométriques de la figure
avant d'être à même d'aborder réellement
le problème posé. Le côté ludique de
l'apprentissage par le Web est alors totalement gommé.
Une deuxième possibilité est de permettre le
déchargement direct de fichiers issus du logiciel de
géométrie dynamique depuis le serveur Web. Cette
solution nécessite la définition d'un type MIME pour
le transfert des fichiers, la configuration souvent manuelle des
navigateurs ainsi que l'existence préalable sur
l'ordinateur du client du logiciel Cabri-géomètre,
qui devra pouvoir ainsi se lancer en même temps que le
navigateur, comme une application d'aide. Si toutes ces conditions
sont réunies, l'utilisateur pourra ainsi
bénéficier pleinement des capacités du
logiciel, mais son travail ne sera pas directement
intégré dans la page Web d'où la figure aura
été déchargée. Il devra alors
effectuer des aller-retours entre le logiciel et le navigateur
pour suivre par exemple les instructions données dans la
page Web.
Ces deux méthodes ont donc toutes deux les
inconvénients de conditionner l'utilisation de la
géométrie dynamique au travers du Web à
plusieurs préalables :
- posséder le logiciel
Cabri-géomètre, lequel n'existe pas en
dehors des systèmes compatibles DOS, Windows ou
MacOS.
- avoir éventuellement configuré son navigateur
pour lancer Cabri directement à partir des figures ou
macros déchargées.
- avoir une machine assez puissante pour permettre le
lancement des deux logiciels en parallèle : le
navigateur et le logiciel de géométrie
dynamique.
En attendant une solution plus adaptée, certains sites
utilisent néanmoins cette méthode comme par exemple
le site abraCAdaBRI [10]
hébergé sur le serveur du projet Cabri. Mais tous
les webmestres de ces sites réclament d'avoir le moyen de
placer des figures animées de géométrie
directement dans leurs pages Web.
Supports classiques pour les
animations
Étudions les moyens de placer des animations issues d'un
logiciel de géométrie dynamique directement dans des
pages d'un site Web.
Les formats d'animations les plus utilisés comme
QuickTime ou AVI peuvent servir à coder des
séquences animées capturées à partir
d'une utilisation directe du logiciel. Mais malgré un
support croissant de ces formats sur diverses plateformes, il
reste des zones d'incompatibilité sur certains
systèmes. Par ailleurs la taille des animations produites
reste souvent trop importante pour des liaisons lentes.
Pour pallier cette difficulté une solution peut
consister à produire des animations graphiques dans le
format Gifs animés supportés directement par tous
les navigateurs récents. De nombreux outils permettent
aujourd'hui de créer de telles animations à partir
d'une séquence de fichiers issus de "captures
d'écran". En limitant le nombre de couleurs (souvent un
codage sur 4 ou 5 bits est suffisant), la taille des fichiers
animés est souvent moindre que ceux des fichiers QuickTime
ou AVI correspondants. Le site officiel de Cabri montrent quelques
exemples
simples d'animations ainsi produites.
Ces animations souffrent toutefois d'un défaut majeur :
il ne s'agit que de "films" d'une séquence animée
devant lequel l'élève reste passif. Tout engagement
direct disparaît et avec lui un des apports essentiels des
Sciences de l'Education de ces dernières années.
Comment permettre alors de créer une réelle
interactivité entre l'élève et la figure
animée sur le Web ?
La première solution consiste à utiliser un des
logiciels d'animation les plus connus comme Macromedia
Shockwave pour créer des séquences
animées basées sur un véritable
scénario d'interaction; l'utilisation gratuite du plugin
Shockwave permettant ensuite l'intégration de
l'animation aux pages Web. C'est ce moyen qui a été
utilisé dans certaines pages du site abraCAdaBRI
[10],, dont une copie figure
ci-après.
Plusieurs inconvénients majeurs de cette méthode
:
- le coût du logiciel Director produisant les
animations Shockwave souvent trop cher pour des budgets
scolaires.
- le temps nécessaire pour créer une animation
(l'auteur de l'animation en exemple déclare avoir eu
besoin d'une journée complète pour la
créer)
- l'interactivité trop dirigée incompatible
avec la nécessaire découverte des solutions par
auto-apprentissage.
- la taille-mémoire supplémentaire
demandée au navigateur lors du chargement du plugin qui
souvent entraîne un blocage de celui-ci sur des
configurations limitées.
Une autre solution à envisager : la réalisation
d'un plugin spécifique permettant de recréer
l'environnement Cabri pour des figures intégrées aux
pages Web. L'écriture de ce plugin en code natif
présente un avantage et un inconvénient : d'une
part, c'est la façon la plus efficace de transporter Cabri
sur le Web, d'autre part il est nécessaire de
réécrire le plugin pour chaque système
existant ou à venir. Ce dernier point ajouté au
problème d'installation préalable inhérent
aux plugins nous a conduit a écarté cette
possibilité.
Cabri-java
- La solution choisie finalement pour placer des figures
actives sur le Web a été d'utiliser le langage
objet Java. Ce choix a été guidé par
plusieurs considérations :
- le support multiplateforme de Java à travers des
machines virtuelles pour chaque architecture.
- l'intégration de plus en plus étroite du Web
et de Java dans les navigateurs récents.
- la programmation-objet bien adaptée à la
réalisation d'animations d'objets
géométriques structurés.
Le projet Cabri-java dans sa phase actuelle se consacre dans un
premier temps à l'écriture d'une applet
permettant d'animer une figure de géométrie
dynamique en reprenant le plus possible l'ergonomie du logiciel
Cabri lui-même. Ceci est rendu parfois difficile en raison
des lacunes des premiers outils de développement Java (JDK
1.0.2). Les classes standards seules connues des navigateurs ne
proposent pas de possibilité directe de changer la forme du
curseur de la souris dans une applet, ni l'affichage de menus
pop-up dans la zone de l'applet elle-même. Au niveau
graphique, l'aspect pointillé ou gras des tracés
n'est pas prévu, sauf en le programmant soi-même, ce
qui ne serait pas efficace par rapport à l'appel de
méthodes natives sur chaque architecture. Tous ces manques
sont néanmoins en voie d'être comblés par le
JDK 1.2 et la nouvelle API standard Java 2D.
Java étant choisi, il restait à déterminer
par quel moyen transmettre à l'applet les nombreux
paramètres permettant de définir une figure
géométrique même peu complexe. Une solution
pouvait être de décrire tous les objets et leurs
propriétés au moyen des balises PARAM de l'applet.
C'est cette solution qui a été choisie pour
communiquer les données géométriques dans
deux autres projets de géométrie dynamique en java
[11, 12] Mais,
d'une part il est vite très difficile de créer
toutes ces données manuellement et d'autre part les
fichiers HTML s'en serait trouvés très alourdis. Le
choix effectué a été de conserver
intégralement les fichiers générés par
le logiciel Cabri en les plaçant sur le serveur afin que
l'applet puisse les lire, une seule balise PARAM étant
nécessaire pour indiquer le nom du fichier et sa position
sur le serveur Web.
Cette solution présente l'avantage d'une publication
aisée, mais a l'inconvénient d'exiger de
posséder le logiciel Cabri, ce qui n'est pas une vraie
restriction pour des webmestres développant des sites
consacrés à l'utilisation de ce logiciel en
classe...
Comment faire pratiquement pour publier une figure active ?
- il faut placer sur le serveur Web les fichiers binaires
Java (.class) de l'applet ou une archive zip non
compressée de ces binaires. (On peut aussi
référencer un autre serveur qui possède
les binaires de l'applet à travers le paramètre
CODEBASE)
- dans les pages Web, la balise décrivant l'applet
peut être par exemple :
<APPLET CODE="CabriJava.class" WIDTH=600 HEIGHT=400
ARCHIVE="CabriJava.zip">
<PARAM name = "lang" value = "fr">
<PARAM name = "file" value =
"figures/College/Etoile">
</APPLET>
Le paramètre "lang" peut pour le moment prendre les
valeurs "fr" pour les messages en français et "en" pour
l'anglais.
Le paramètre "file" indique le chemin (ici relatif) de
la figure sur le serveur.
- d'autres paramètres de décoration ont
été ajoutés à l'instar des balises
de fond de page Web :
<PARAM name = "background" value =
"images/fond.gif">
<PARAM name = "bgcolor" value = "#F0F0A0">
<PARAM name = "border" value = "0">
Déjà dans sa version préliminaire
actuelle, l'applet CabriJava permet de placer dans des
pages Web des figures actives dans lesquels l'utilisateur peut
à son gré déplacer les objets
géométriques tout en conservant les
propriétés topologiques définies à
leur création. Une page de démonstration disponible
sur le serveur du projet Cabri [13]
permet de mieux tester les possibilités.
Même si toutes les possibiltés du logiciel Cabri
ne sont pas encore transcrites en Java (lieux de points,
coniques...), une première utilisation pédagogique a
déjà été placée sur le Serveur
Mathématique de La Réunion [14]
Au stade actuel, Cabri-java souffre des lenteurs des machines
virtuelles proposées avec les navigateurs, mais une
nouvelle génération de VM (virtual machines) mettant
en oeuvre la technologie de compilation JIT(Just-In-Time) arrive,
permettant d'obtenir un retour d'interaction tout à fait
suffisant lors du déplacement d'objets.
Prolongements
En parallèle avec le travail consistant à
compléter l'applet CabriJava pour y intégrer
l'essentiel des possibilités offertes par le logiciel
lui-même, le projet se développe dans deux voies
:
- implanter des aspects animation sur action ou a
priori : Cabri permet déjà d'animer les figures
sur action de l'utilisateur en utilisant l'outil "ressort
d'animation" comme dans la figure ci-contre. Mais, il semble
aussi utile de pouvoir animer des figures sur le Web dès
leur affichage en l'absence d'intervention de l'utilisateur.
Afin de spécifier les déplacements à
effectuer, un paramètre supplémentaire de
l'applet pourra par exemple transmettre des messages aux objets
nommés de la figure par l'intermédiaire d'un
langage de script déjà défini dans le
cadre du projet Cabri-script de communication entre figures
Cabri.
- concevoir et réaliser une application Java de
construction et de manipulation de figures Cabri :
l'équivalent d'un Cabri multi-plateforme. Même si
ce programme n'aura jamais la fluidité des applications
Cabri natives, il sera très apprécié pour
permettre de créer des figures utilisables ensuite par
l'applet CabriJava. Un autre intérêt d'une
telle application sera de faire mieux connaître la
géométrie dynamique en permettant une diffusion
plus large de son approche et son utilisation dans de
nombreuses figures actives au fil de pages Web. Pour
développer une telle application présentant une
même interface utilisateur sur toutes les plateformes, il
est envisagé d'utiliser les Java Foundations
Classes définies par SUN [14]
Bibliographie
- Papert S "Mindstorms,Children,
Computers, and Powerful Ideas" 1980 New-York
- Schneiderman B "Direct
Manipulation: a Step Beyond Programming Languages", IEEE
Computer (16)8 57-69 1983
- Laborde JM "Des connaissances
abstraites aux réalités artificielles, le concept
de micromonde Cabri" dans Environnements Interactifs
d'Apprentissage avec Ordinateurs, pp 29-41, Eyrolles Paris
1996
- Laborde JM & Strasser R,
"Cabri-Géomètre : A microworld of geometry for
guided discovery learning", Zentrablatt für Didactik
der Mathematik 5 p. 171-177, 1990
- Schumann H "The design of microworlds
in geometry based on a two-dimensoinal graphics system devised
for second education", INT. J. MATH. EDUC. SCI. TECHNOL.,
1993, VOL. 24, N°2, 231-250
- Site officiel du projet Cabri
http://www-cabri.imag.fr/index.html
- Site Cabri chez Texas
Instruments
http://www.ti.com/calc/docs/cabri.htm
- Site du projet TeleCabri
http://www-cabri.imag.fr/TeleCabri/
- Desigaux M. Collège Jules
Flandrin
http://www-cabri.imag.fr/TeleCabri/PassionRecherche/
- Martin Y. site abraCAdaBRI
http://www-cabri.imag.fr/abracadabri/
- Jackiw N. site JavaSketchpad
http://forum.swarthmore.edu/dynamic/java_gsp/
- Joyce D. site Geometry
applet
http://aleph0.clarku.edu/~djoyce/java/Geometry/Geometry.html
- Kuntz G. projet Cabri-java
1997
http://www-cabri.imag.fr/cabrijava/
- Hakenholz E. Première
expérimentation de Cabri-java 1998
http://www.ac-reunion.fr/pedagogie/covincep/icosaweb/GeomJava/activite/Quatre/Docs/Pytha/Pytha.htm
- Sun Microsystems Java Foundations
Classes
http://java.sun.com/products/jfc/