• Aucun résultat trouvé

Bilan sur la programmation dans les micro-mondes de géométrie

D’autres logiciels permettant de programmer

C) Bilan sur la programmation dans les micro-mondes de géométrie

a. Résumé

Nous avons vu dans le premier chapitre la nécessité d’un accès à la structure logique des programmes de construction dans Cabri. Dans le second chapitre, nous avons étudié la question du support de cette information. Dans le présent chapitre, nous avons ensuite montré plus précisément comment les supports aidaient l’activité de programmation, en nous intéressant plus particulièrement aux manipulations permises dans les différentes vues et au langage utilisé pour décrire les programmes.

GéoPlan permet une édition textuelle avec un éditeur spécifique doté de fonctionnalités propres à la manipulation de textes. Mais cet éditeur n’est pas étroitement lié à l’éditeur graphique.

Cinderella propose plusieurs vues synchronisées et dynamiques, dont une vue textuelle. Mais d’une part, il ne permet pas de structurer les programmes de construction puisque le logiciel n’intègre aucun concept hiérarchique (sous-programme, procédure, macro, script) et, d’autre part, le langage met sur le même plan les différents niveaux d’abstraction, de la géométrie dynamique à la géométrie analytique (coordonnées des points).

Enfin, Sketchpad propose une vue textuelle de ses enregistrements, mais pas de toute la construction. De plus le concept choisi ne peut pas intégrer la hiérarchisation.

Donc parmi les logiciels proches de Cabri, il n’y a rien de comparable avec les possibilités de programmation de Cabri, en particulier aucun ne permet de structuration hiérarchique des programmes. Mais chacun apporte des « idées » intéressantes.

Les logiciels des domaines connexes permettent de compléter la liste des « nécessités ». Les autres logiciels qui permettent des activités de programmation sans être dédiés à son enseignement, montrent l’intérêt d’une vue textuelle comme support d’information sur la structure logique des programmes. Cette vue doit être liée à l’exécution du programme.

La proximité entre le monde du problème et le monde du programme est réalisée dans le domaine de la géométrie. L’usage d’un support graphique dynamique à la Cabri donne un accès immédiat aux effets du programme sur le modèle : la structure du programme n’est pas visualisée explicitement, mais son interprétation est exécutée en temps réel. Une telle démarche est envisageable dans le domaine de la géométrie, et dans quelques autres domaines accessibles par Cabri - voir §I.1-, ou encore lorsque les objets du domaine sont représentables dans leur état vis-à-vis des actions de l’utilisateur.

Les logiciels dédiés à l’enseignement de la géométrie montrent la nécessité de proposer à l’utilisateur des moyens pour naviguer entre différents niveaux d’abstraction.

Les niveaux d’abstraction sont liés aux possibilités de hiérarchisation : même si, dans Cabri, les macros ne sont pas réellement des procédures, il est tout de même possible de structurer la construction des figures, et même le processus de construction de nouvelles macros, comme si elles pouvaient s’imbriquer. Comme l’utilisateur n’a pas accès explicitement au contenu des macros, mais peut décider de définir une macro a posteriori, cette encapsulation est implicite. Si dans les faits, le logiciel, lui, ne conserve pas de trace de l’encapsulation, mais seulement des constructions extraites, l’utilisateur, n’ayant pas accès au contenu effectif de ses macros, peut imaginer un modèle de fonctionnement du logiciel dans lequel les macros sont imbriquées. Si le comportement des macros est cohérent, son modèle n’est pas mis en défaut.

Cependant il serait préférable de donner les moyens à l’utilisateur de se construire un modèle réaliste, c’est-à-dire en accord avec la réalité. Deux possibilités s’offrent pour Cabri : soit gérer des macros dont la structure hiérarchique est effective à tous les niveaux (plus de remplacement de l’appel par l’extrait utile de son contenu), soit informer continuellement les utilisateurs du contenu effectif des macros.

Un dernier aspect, qui permet de rester fidèle aux principes mis en œuvre dans Cabri, est de laisser à l’utilisateur le plus de choix possibles, lui laissant la possibilité d’évoluer entre différents niveaux d’abstraction et supports, et le supposant capable de choisir celui qui lui convient le mieux pour chaque tâche particulière.

En ce qui concerne la navigation entre les différents niveaux d’abstraction, c’est l’utilisateur qui doit pouvoir décider de rester à un niveau formel ou de passer à un niveau analytique, de rester au niveau de la règle et du compas (outils de base) ou de passer à un niveau abstrait (outils ad hoc).

Quant à la forme du programme, sa manipulation doit pouvoir s’appuyer ou non sur l’éditeur structurel, qu’il soit textuel ou graphique, selon ses besoins immédiats.

Il s’agit d’un principe de non-choix pour le programmeur du logiciel, et de tout choix pour son utilisateur.

b. Critères d’évaluation de logiciels de géométrie dynamique

De toute cette analyse, nous tirons maintenant une liste de critères utiles et pertinents pour catégoriser et évaluer les logiciels de géométrie dynamique, orientée vers l’évaluation de l’aide que ces logiciels apportent à leurs utilisateurs pour des activités au caractère programmatoire.

Cette liste est issue de la confrontation de l’étude théorique du chapitre I-2, qui nous a permis de dégager les notions importantes pour les systèmes qui offrent des capacités de programmation à des utilisateurs non-programmeurs, avec l’examen des logiciels des domaines connexes et des logiciels de géométrie.

Cette liste est divisée en deux parties principales : la première concerne les caractéristiques de l’interface, qui sont indépendantes du domaine d’application (la géométrie), et la deuxième permet d’examiner plus précisément les fonctionnalités offertes par les logiciels.

Critères d’interface :

• Ergonomie

• Ergonomie visuelle

Mode de représentation de l’état « sélectionné » (clignotement, poignées, sur-brillance, sous-brillance)

Ubiquité des objets et des outils en multivue • Ergonomie manipulatoire

Modes de saisie (clavier, souris, son) adaptés aux formes des données manipulées

• Accès à la sémantique

• Manipulation directe,

Retour d’information en mode transformation (déformation, déplacement) et en mode construction

Contrôle des transformations (déformation, déplacement...) en temps réel Mode opératoire adapté

Polymorphisme (pas d’ordre sur les éléments des procédures) Opérations rapides, incrémentales et réversibles

• Qualité des métaphores (réalité augmentée permettant de tirer parti de la familiarité extérieure des fonctionnalités /versus/ fonctionnement modal),

Prise en compte d’un modèle de conception graphique des icônes Quels icônes pour les instructions conditionnelles ? Expressivité des rôles, susceptibilité d’induire en erreur Nommage automatique des objets

• Prise en compte de la culture de l’utilisateur (langue maternelle, notations et symboles usuels)

• Possibilités de notations secondaires (adaptées en cas de « multivue » : indentations — présentation ajustable et commentaires pour la vue structurelle) • Difficulté des opérations mentales

• Notion d’objets complexes

• Comportement

• Engagement direct (contre-exemple : dialogue fantôme obligeant à une réponse pour rendre la main),

• Petit nombre ou absence d’engagements prématurés — Green — (mode opératoire adapté et opérations réversibles)

Polymorphisme (prise en compte équivalente de tous les types d’objets conceptuellement utilisables pour l’outil, gestion de l’ambiguïté)

Anticipation sur les désirs (prise en compte de l’implicite par application d’outils préemptifs : proposition de changement d‘outil à la volée)

• Cohérence (c’est-à-dire le même schéma),

• Viscosité (mesure de l’effort pour aboutir à un changement),

Critères liés aux fonctionnalités

• Richesse,

• Redéfinition (cohérence de cet outil, et donc même degré de polymorphisme que les autres outils)

• Modifications d’attributs graphiques Remplissage

Accès à l’ordre

Choix (couleur, hachurage, transparence) • Étiquetage

Autoritaire /libre /mixte Position de l’étiquette

Longueur bornée ou non de la chaîne • Macros

Choix a priori/a posteriori (« engagement prématuré »)

Visibilité du contenu effectif (« dépendances cachées perceptibles ou symboliques »)

Possibilité de modifier sans tout refaire (« engagement prématuré ») Évaluation incrémentale (dynamique)

Possibilité de paramétrisation « globale » Respect de la cohérence pour les outils résultants

Possibilité de définir des macros qui respectent le même degré de polymorphisme que les outils de base de l’interface et donc éventuellement plusieurs méthodes pour une même macro

Possibilité d’intégrer cette macro dans les outils préemptifs Macros récursives

Itération / condition d’arrêt • Multi-vue

Choix euclidien, hyperbolique, textuel… Synchronisation entre les vues

Ubiquité des objets

Simultanéité des modifications

Dynamisme (autonomie possible de chaque vue)

Recouvrement, complémentarité et complétude de l’ensemble des vues (« visibilité »)

• Vue textuelle

Fichier et /ou fenêtre Figure et macros

Structuration possible du « programme » (« gradient d’abstraction ») Avertissement des conséquences de destruction d’objets (« engagement prématuré »)

• Pertinence,

• Manipulation du texte dans la vue textuelle

• Arrêt des appels récursifs en géométrie dynamique (profondeur dynamique)

• Qualité de la réalisation, • Banc d’essais

Coût à plate-forme fixe (multi-vue /uni-vue) Nombre d’objets avant borne mémoire Rapport temps de chargement d’une figure

• Qualité du micro-monde réalisé • Extensibilité

Paramétrabilité du micro-monde avec intégration des outils de l’utilisateur • Macros

Répétition de séquences Extraction de constructions.

D) Conclusion

Un environnement supportant des activités programmatoires doit permettre à l’utilisateur de maîtriser deux facettes transversales de l’ensemble des données manipulées : une vue résultat et une vue programme. Par exemple, les objets du domaine doivent être manipulables par leur valeur (instance) et par leur rôle dans l’ensemble des données.

Les vues résultats sont susceptibles de prendre toutes les formes permettant d’appréhender différemment le domaine (en géométrie, représentation euclidienne, hyperbolique, sphérique ; en IHM une horloge peut avoir une représentation classique ou numérique). Cela correspond au module « présentation » du modèle PAC [Coutaz 90]. La structure logique n’est pas explicite.

Les vues programmes sont susceptibles de prendre toutes les formes permettant de représenter toutes les informations qui concernent la structure logique du programme.

Dans le cas de Cabri, trois formes peuvent coexister avec deux qualités. Il s’agit des formes : géométrique, textuelle et graphique, et des qualités : synchronisée et dynamique.

Le principe consistant à laisser la maîtrise des choix à l’utilisateur est un principe fondamental du logiciel Cabri-géomètre. Ainsi, toutes les vues doivent pouvoir être utilisées indépendamment et conjointement.

Le respect de ce principe conduit au problème de la gestion simultanée et autonome des artefacts de manipulation spécifiques à chaque forme de support. En effet, les différents supports portent des vues synchronisées et dynamiques dans lesquelles les formes de manipulation des données sont fondamentalement distinctes, dans leur structure (dessin / texte), comme dans leur relation (structure logique de programme : relations sémantiques entre les données du programme et relations syntaxiques entre les éléments textuels).

Apports potentiels