Logiciels libres et enseignement

Favoriser l’usage de logiciels libres et de formats ouverts

- Programmes : eukleides (compilateur) et xeukleides (interface graphique).

  • Auteur : Christian Obrecht.
  • Licence : GPL.
  • Langue : anglais, francais.
  • Environnement requis : Linux, Windows, LaTeX pour eukleides, GTK+ pour xeukleides.
  • Site Web.

Présentation :

Eukleides est un langage dédié à la création de figures de géométrie plane. Deux programmes en font usage. Le premier, eukleides, est un compilateur générant du code PSTricks (une extension de LaTeX). Il permet donc d’illustrer des documents LaTeX, simplement en insérant du code Eukleides dans le fichier source. Ce procédé, évitant de recourir à une application WYSIWYG extérieure, reste en accord avec la philosophie du système.

Le compilateur eukleides permet également (à travers le script euk2eps) de produire des figures au format PostScript encapsulé et partant de les visualiser (avec GhostView) ou de les imprimer. Enfin, à condition de disposer de l’utilitaire pstoedit, il permet (à travers le script euk2edit) de convertir un texte source Eukleides en un fichier au format Xfig ou Sketch (entre autres).

Le second programme, utilisant Eukleides est l’interface graphique xeukleides. Au démarrage, cette application se présente sous la forme d’un éditeur de texte élémentaire avec lequel il est possible de saisir, modifier, ouvrir ou sauvegarder un texte source Eukleides. Une pression sur la touche <Échap> permet de basculer en mode graphique et de voir la figure correspondante.

Le principal intérêt de xeukleides réside dans la possibilité de faire varier interactivement certaines valeurs numériques (et donc l’aspect de la figure) simplement en agissant sur le clavier. Il est donc possible de s’en servir pour présenter « en mouvement » des propriétés géométriques.

Un premier exemple :

Le langage Eukleides est conçus pour s’approcher autant que possible de ce qu’un humain dirait (en anglais) pour décrire une figure de géométrie. Supposons que l’on veuille traduire l’énoncé suivant :

Soit MNP un triangle quelconque et C son cercle inscrit. Tracer MNP et C. En Eukleides, cela devient :

M N P triangle

C = incircle(M,N,P)

draw(M,N,P) ; draw(C)

En sauvegardant ces trois lignes dans un fichier, mettons inscrit.euk, et en y appliquant euk2eps, on obtient le fichier inscrit.eps contenant l’image suivante :

PNG - 2.5 ko
Cercle inscrit dans un triangle.

Il est évidement possible d’ajouter divers paramètres à la commande triangle pour modifier l’aspect de MNP. Par exemple, triangle(6,5,4) produira un triangle de côtés respectivement égaux à 6, 5 et 4 cm. Il est également possible, en ajoutant diverses instructions de réglage, de modifier les attributs graphiques des objets tracés (couleur, style des traits, etc.).

Une figure interactive :

Observons à présent le texte source suivant, permettant d’illustrer en mouvement, le fait qu’un triangle inscrit dans un demi-cercle est rectangle :

t interactive(60,-2,0,180,« A »,right)

A = point(0,1) ; B = point(6,1)

C = circle(A,B)

M = point(C,t :)

color(lightgray)

draw(C,0 :,180 :)

color(black)

draw(A,B,M)

mark(A,M,B,right)

La première ligne permet de déclarer t en tant que variable interactive. Elle prend 60 pour valeur initiale et est comprise entre 0 et 180. Une pression sur la flèche droite du clavier la fait diminuer de 2, une pression sur la gauche la fait augmenter de 2. (Nous passerons sur la signification de « A », qui importe peu ici.)

À la deuxième ligne sont définis deux points A et B à partir de leurs coordonnées et à la suivante le cercle C de diamètre [AB]. Le point M défini à la quatrième ligne est un point de C tel que le rayon fasse un angle de t degrés avec la direction horizontale (le caractère `` :’’ signifie « degrés »).

La deuxième partie du code source concerne le dessin à proprement parler. Sont à noter l’instruction de la ligne 6, traçant un arc de cercle et celle de la dernière ligne marquant l’angle droit avec le symbole habituel.

Voici le résultat obtenu avec xeukleides :

PNG - 20.3 ko
Triangle dans un demi cercle

En actionnant les flèches gauche et droite du clavier, on déplace le sommet du triangle d’une extrémité à l’autre du demi-cercle.

Forces et faiblesses :

Le langage Eukleides permet de manipuler tous les objets utilisés en géométrie élémentaire : points, droites, segments, vecteurs, cercles, coniques. (Voir, à ce propos, les exemples figurant sur le site Web.) Il dispose en outre d’une fonction de tracé par points qui autorise la représentation de divers types de lieux géométriques. Il couvre donc largement l’ensemble des notions abordées au collège et au lycée.

Ceci dit, l’utilisation des logiciels eukleides et xeukleides suppose certains acquis : la capacité de s’exprimer dans le langage de la géométrie (et, pour l’instant, une certaine maîtrise de l’anglais). Ils ne s’adressent donc pas directement aux novices (et en particulier aux collégiens), qui trouveront davantage de profit à utiliser des logiciels plus intuitifs tels Dr Genius ou Kseg.

Installation :

L’installation des deux programmes à partir des sources ne pose pas de problème particulier. Il convient simplement de vérifier que l’on dispose bien de flex et de bison et éventuellement d’éditer le Makefile pour modifier certains chemins.

Les sources, ainsi que des binaires aux formats RPM et Debian sont disponibles sur la page de téléchargement du site Web.

Recherche avancée