par Alain Busser, Patrice Debrabant
Pourquoi diable ce nom de « CaRMetal » ?…
Cet article peut être librement diffusé et son contenu réutilisé pour une utilisation non commerciale (contacter l’auteur pour une utilisation commerciale)(http://creativecommons.org/licenses/by-nc-sa/3.0/fr/legalcode)
Formuler un mode d’emploi de CaRMetal. Tel est le projet de cet article (qui peut sembler relever du « réchauffé »).
Ce mode d’emploi est orienté vers une utilisation pédagogique. Il a été conçu pour faciliter la prise en main du logiciel, en s’attachant à expliciter les petits points qui peuvent rendre le logiciel difficile à appréhender. Ce ne sont que de petits points, mais ils peuvent s’avérer bloquants.
C’est pourquoi ce mode d’emploi m’a semblé nécessaire. J’espère qu’il pourra être utile à certains lecteurs et qu’il leur donnera envie d’aller plus loin avec CaRMetal.
L’article est illustré par des tutoriels vidéo. Ceux-ci consistent souvent à mobiliser CaRMetal pour réaliser une activité pédagogique (plutôt de type collège).
On n’abordera pas les scripts, qui constituent une composante essentielle de CaRMetal mais feront l’objet d’un article ultérieur.
Tous les tutoriels présentés sont inédits.
Introduction
CaRMetal est un logiciel Open Source issu de C.a.R, un logiciel développé par René Grothmann.
CaRMetal est dévelopé par Eric Hakenholz, qui développe depuis peu DGPad, un logiciel prometteur de géométrie dynamique destiné aux tablettes (mais aussi utilisable sur un ordinateur classique).
Le nom « CaRMetal » est un hommage à son ancètre C.a.R, mais peut prêter à une interprétation fallacieuse : CaRMetal est un pur logiciel de géométrie dynamique, destiné aux mathématiques.
Qu’est-ce qui distingue CaRMetal des autres logiciels de GD ?
1) Tout d’abord, et avant même toute investigation du logiciel, il y a la qualité des figures produites. Ces figures sont « vectorielles » et ne subissent pas de déformation par redimensionnement.
Par ailleurs, elles sont produites à l’échelle 1 sans difficulté (le professeur peut aisément insérer dans ses corrections des figures « parfaites »).
On me dira que cela n’a rien d’exceptionnel et on aura raison.
Mais il suffit d’observer une figure créée par CaRMetal pour se convaincre de la finesse de son rendu.
2) Ensuite, il y a l’approche constructive sans boîte de dialogue. La philosophie du logiciel est de ne jamais interrompre le flux de travail par une fenêtre bloquante en pop-up.
Signalons que cette approche peut rebuter et qu’elle demande un petit peu de temps d’adaptation.
Mais cet effort en vaut la peine : quand on a intimisé cette approche, on en comprend la pertinence et on en apprécie tout le confort pour la pensée, qui n’est jamais coupée dans son élan.
3) Enfin, il y a l’intégration des différents points de vue : macros, CaRScripts, JavaScript... Tout est parfaitement articulé du point de vue logique et extrêmement pédagogique.
Voici le plan de l’article :
- Lancer CaRMetal (installation)
- L’avenir et le passé dans CaRMetal
- Construire une figure de GD
- La barre de propriété
- Exportation d’une figure
- Les macros
- La 3D dans CaRMetal (partie différée)
L’article ne se veut pas exhaustif. De nombreuses fonctionnalités seront passées sous silence. L’idée est de se concentrer sur les lignes de force du logiciel et de donner des exemples pratiques dès que possible.
Par ailleurs, comme précisé dans l’introduction, on ne parlera pas ici des scripts.
1. Lancer CaRMetal (installation)
CaRMetal est un logiciel développé en Java (comme Geogebra).
A ce propos, signalons que le langage Java est actuellement dans la tourmente, en particulier les applets Java que l’on avait l’habitude d’insérer dans les pages web.
C’est un vaste débat, que l’avenir tranchera.
Mais cela ne compromet pas la version installée, qui continuera à être fonctionelle.
De plus, si un logiciel de GD en Javascript venait à s’imposer, il y a fort à parier qu’il reprendra la plupart des approches de CaRMetal. [1]
On peut installer CaRMetal à partir des sources sur le site (choisir le mode d’installation selon le système d’exploitation).
2. L’avenir et le passé dans CaRMetal
Le panneau encadré en vert est toujours disponible. Il est piloté par le panneau du dessus et permet de définir l’aspect d’un type d’objet par défaut.
La barre de propriété (encadrée en rouge) est contextuelle : on fait un clic droit sur l’objet voulu et cette barre apparaît (ou est mise à jour).
Ce principe est très important à comprendre.
Notons que pour certains objets moins susceptibles d’être multipliés, comme les courbes de fonction, l’aspect ne peut être défini que dans la barre de propriété.
Remarque au sujet des vidéos : si vous rencontrez un problème de lecture, n’hésitez pas à essayer avec un autre navigateur (la vidéo chargée est différente selon le navigateur).
Par ailleurs, les vidéos peuvent être visionnées sur la chaîne de CaRMetal sur Youtube.
3. Construire une figure de géométrie dynamique
Avant de commencer, je reprends un conseil, prodigué par Monique Gironce, auteur de nombreux tutoriels, et dont nous sommes nombreux à avoir apprécié les réponses attentives et éclairées à nos inquiétudes sur le forum :
« Je conseille à ceux qui débutent avec CaRMetal de travailler avec le panneau d’aide toujours ouvert. On clique sur un outil et aussitôt on a les explications correspondantes ; sans aller ouvrir ni un pdf ni une page web explicative. »
Angles
En première analyse, il y a deux types d’angle dans CaRMetal :
- les angles saillants non orientés = les angles géométriques (mesure entre 0 et 180°) ;
- les angles orientés (mesure entre 0 et 360°), qui sont orientés dans le sens trigonométrique.
On passe d’un type à l’autre en utilisant le bouton radio .
Cercles et arcs de cercle
Dans beaucoup de logiciels de géométrie dynamique, par exemple dans GeoGebra, on peut regretter que les outils arcs soient livrés sans réelle unité logique et sans rendre compte de leur analogie structurelle avec les angles.
Le système proposé par CaRMetal me semble plus soigné et convaincant.
Il y a cinq outils relatifs aux cercles et aux angles, ces outils sont regroupés sur une ligne.
Mais ce n’est pas tout, comme me l’a fait remarquer très justement Monique Gironce : une bascule dans la barre de propriété des cercles permet de les transformer en arcs. Il suffit alors de désigner deux points quelconques (disons A et B), et on obtient l’arc de cercle correspondant à l’angle $\widehat{AOB}$ (où O est le centre du cercle).
On reconnaît ici le sens de l’économie de CaRMetal et sa très grande cohérence : ces cinq outils sont suffisants pour réaliser toutes les constructions, et la bascule dans la barre de propriété vient compléter le dispositif de façon remarquable.
Les arcs sont traités avec la même rigueur que les angles, et l’analogie est parfaitement implémentée.
Par exemple, on remarque qu’il n’y a pas d’outil arc de cercle défini par centre et deux points.
Mais cet outil est source de confusion. Les deux points doivent être équidistants du centre pour que la construction soit claire (ou alors il faut préjuger du fonctionnement précis de l’outil).
Dans CaRMetal, la bascule dans la barre de propriété des cercles remplace avantageusement cet outil vicié par essence. L’arc est alors défini par intersection du cercle et d’un angle, ce qui est parfaitement cohérent.
Dans la partie consacrée aux macros, on construira aussi une macro permettant de construire un arc de cercle défini par centre et deux points, cette macro ayant le même effet que l’outil de GeoGebra uniquement quand les points sont équidistants du centre.
Cette macro est inutile et assez maladroite. Mais comme on l’aura construit nous-même, on saura précisément ce qu’elle fait. C’est aussi l’intérêt des macros.
Faisons le point :
Il n’y a pas de boîte de dialogue. On trace, puis on ajuste si nécessaire dans la barre de propriété.
Par exemple (source de perplexité au début), pour tracer un cercle de rayon donné, on choisit l’outil « cercle de rayon donné », puis on choisit le centre et on clique n’importe où pour créer un cercle de rayon fixe, ou on clique-glisse n’importe où pour créer un cercle de rayon dynamique.
Cette manipulation, qui devient vite un réflexe, crée un cercle de rayon donné, que l’on rectifie immédiatement dans la barre de propriété (qui est activée très opportunément).
4. La barre de propriétés
La barre de propriétés est très astucieuse, mais elle peut laisser perplexe dans certains cas. Il convient de s’y accoutumer.
La barre de propriétés d’un objet est activée par clic droit ou en utilisant l’outil
.
On ne parlera ici que du bouton radio fixe et de la gestion de la couleur.
A) Le bouton radio fixe
Le bouton radio « fixe » est proposé dans la barre de propriété de certains objets.
Cette option permet a priori de « fixer » un paramètre de l’objet.
Cette notion de paramètre « fixe » mérite une explication... Car un paramètre « fixe » reste susceptible de bouger dans certains cas.
Alors, qu’est-ce qu’un paramètre « fixe » ?
Partons d’une figure vide et prenons le cas le plus simple, celui d’un point.
Quand on crée un point avec l’outil point, le point créé n’est pas fixe (voir la barre de propriété). En fait, ce n’est pas le point lui-même qui est fixe, mais ses coordonnées (on va me dire que c’est pareil, patience...)
Cela signifie ici que l’on peut le déplacer dynamiquement à la souris (en mode Déplacement)
Si l’on coche le bouton radio « fixe », on ne peux plus le déplacer dynamiquement à la souris.
Jusque là, c’est simple.
Mais un point peut avoir des coordonnées fixes, et pourtant bouger !
On entre ici dans une composante intégrée essentielle de CaRMetal, à savoir sa capacité à utiliser des expressions référencées en lieu et place de valeurs numériques.
Reprenons notre exemple. On a un point A fixe. Créons un point B (par défaut pas fixe). Modifions ainsi les coordonnées de A dans la barre de propriété :
Déplaçons dynamiquement le point B à la souris. Le point A bouge, bien que ses coordonnées restent « fixes ».
Remarque : si on fait afficher les coordonnées de A (bouton radio dans la barre des propriétés), on aura l’impression qu’elles ne sont pas fixes car elles seront calculées avant d’être affichées. Mais elles sont fixes en tant qu’expressions.
Pour le cercle de rayon donné, c’est pareil : le bouton radio rayon « fixe » contrôle le statut (fixe/pas fixe) du paramètre rayon.
Ce n’est pas le cercle qui est fixe, mais son rayon. Là encore, si le rayon est défini comme une expression, le rayon sera « fixe » mais bougera.
A) La gestion de la couleur
Comme toute propriété, la gestion de la couleur peut se faire dans la barre de propriétés (pour les objets déjà construits) ou dans le panneau de construction (pour les objets futurs).
CaRMetal permet de construire des objets possédant un contour, objets qui peuvent être remplis ou pas, et partiellement transparents ou opaques (tout cela sans curseur).
Il y a trois boutons radio qui pilotent le tout :
- le bouton épaisseur, avec 3 options : fin (pointillés), normal, épais.
- le bouton rempli/pas rempli.
- Le bouton opaque/partiellement transparent.
Voici les points importants :
- Quand on fixe la couleur d’un objet (par ses composantes RVB), il s’agit de la couleur du contour. Tout découlera de cette couleur du contour.
La couleur par défaut de l’intérieur en est déduite (40% couleur du contour + 60% blanc). - En mode pas rempli, l’option épaisseur s’applique au contour sans surprise.
- En mode rempli, l’option épaisseur s’applique autrement (contrairement à ce que pourrait laisser penser l’icône !) :
- épais : l’intérieur prend la couleur du contour et est toujours opaque ;
- normal : le contour est visible, l’intérieur est opaque ou pas ;
- fin (pointillé) : le contour est invisible, l’intérieur est opaque ou pas.
C’est étonnant, mais extrêmement astucieux et économique.
(Mais on pourrait tout de même préférer une gestion plus claire et plus intuitive.)
Poursuivons avec quelques activités qui peuvent être présentées en classe :
5. Exportation d’une figure
Comment exporter une figure [2] pour l’insérer dans un document texte (cours écrit, devoir, etc) ?
On utilise le menu Fichier ou la palette Fichier (qui renvoie aux mêmes outils).
1) La première possibilité consiste à faire un export au format png, qui est un format bitmap.
On sélectionne une zone de sélection avec l’outil idoine puis on exporte.
Cette méthode est fonctionnelle (et on obtient une figure à l’échelle 1), mais elle a deux défauts :
- Elle exporte un fond de couleur blanche
- Une image au format bitmap est dégradée si on la réduit et surtout si on l’agrandit. On peut donc perdre en qualité au gré des manipulations opérées sur la figure.
Pour exemple, on va utiliser une nouvelle fonctionnalité de la version 3.8.2 : la représentation graphique d’une fonction discontinue définie par morceaux (en respectant les conventions).
Voici le résultat de l’export en png :
Profitons de cet exemple pour faire une petite digression sur la représentation graphique des fonctions avec CaRMetal.
Certains (et moi-même à l’occasion, par paresse) déplorent l’impossibilité de tracer la courbe dans un repère qui ne soit pas orthonormé.
Il ne s’agit nullement d’une incapacité fondamentale du logiciel. Les développeurs seraient en mesure d’implémenter cette fonctionnalité sans grand effort. S’ils ne le font pas, c’est par choix, pour respecter la logique et la cohérence du logiciel. En effet, dans un repère non orthonormé, les objets perdent leur sens, les longueurs sont déformées, les cercles deviennent des ellipses,…
CaRMetal, contrairement à d’autres logiciels, ne cède pas à cette facilité : on peut quand-même tracer une courbe dans un repère non orthonormé, mais il faut construire ce repère (flottant) soit-même, ce qui préserve l’intégrité des outils.
2) La méthode la plus recommandée est l’export dans un format vectoriel. Les figures vectorielles (codées par des fonctions) ne sont pas dégradées par redimensionnement.
CaRMetal propose trois formats vectoriels (autrement dit tous les formats vectoriels utiles) :
- le format svg (notamment utilisé par Wikipedia et par HTML 5) ;
- le format eps (utilisé par Acrobat et par LaTeX) ;
- le format pdf (utilisé aussi par LaTeX).
Là encore, on a un export à l’échelle 1.
Pour LibreOffice, le format le plus adapté est le svg. On insère l’image comme on le fait avec l’image png. Voici le résultat :
Et cette fois, la figure est vectorielle, comme on peut le constater en zoomant sur la figure (Ctr + sur PC ou Cmd + sur Mac… puis Ctr 0 ou Cmd 0 pour revenir à l’affichage normal).
La qualité est identique lors d’un export en eps ou en pdf pour LaTeX.
Dans certains cas, il pourra être nécessaire de supprimer le fond dans la figure initialement exportée, ce qui se fait facilement en utilisant un logiciel d’images vectorielles (Inskape par exemple). Le fond est situé dans un calque, qu’il suffit de sélectionner, puis de supprimer.
On a choisi d’illustrer l’export par une nouveauté de la version 3.8.2.
En pratique, pour les documents prof, les figures géométriques à l’échelle 1 constituent sans doute l’exemple le plus utile des capacités de l’export avec CaRMetal.
6. Les macros
Le concept de macro est un élément essentiel de CaRMetal (comme de beaucoup de logiciels de GD).
Les macros sont des outils personnalisés, que l’utilisateur peut créer à loisir à partir des outils existants, des expressions, des macros antérieures, et pourquoi pas des scripts. Une fois de plus, l’intégration est parfaite.
Vous trouvez qu’il manque un outil à CaRMetal ? Pas de problème, il suffit de créer une macro. Désormais, vous disposerez de cet outil.
La macro est une fonction à plusieurs variables, qui renvoie plusieurs variables (les variables en question sont les noms des objets de CaRMetal : des points, des droites, des expressions, ...). Certaines sont proposées par défaut avec le logiciel plutôt que sous forme d’outil, par choix délibéré des développeurs.
NB : la macro présentée dans ce tutoriel a beaucoup de défauts.
Elle permet juste d’illustrer la procédure dans un cas familier.
7. La 3D dans CaRMetal
Il est possible de construire des figures en pseudo-3D avec CaRMetal, ces figures pouvant être très sophistiquées, comme le montrent par exemple cet article et cet autre d’Yves Martin et de Pierre-Marc Mazat.
Cela étant, la 3D reste en stade de développement, et l’intégration parfaite dans une surcouche du logiciel n’est pas encore réalisée.
Pour l’instant, il existe un repère mobile et quelques outils, mais toute construction un peu compliquée devra faire appel aux scripts.
Par conséquent, cette partie sera traitée dans un futur article consacré aux scripts.
Pour information, cet article est sous licence Creative Commons (CC BY-NC-SA) [3].