Programmation Orientée 0bjet d un Editeur Graphique dans un contexte d Enseignement Assisté par Ordinateur : EGEAO



Documents pareils
Créer un modèle Impress

Réalisation de cartes vectorielles avec Word

Traitement numérique de l'image. Raphaël Isdant

Formats d images. 1 Introduction

Initiation à linfographie

Publication Assistée par Ordinateur

VOS PREMIERS PAS AVEC TRACENPOCHE

TD : Codage des images

Structure du format BMP, sa lecture, sa construction et son écriture

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

Google Drive, le cloud de Google

TP SIN Traitement d image

Utiliser le logiciel Photofiltre Sommaire

Tp_chemins..doc. Dans la barre "arche 2" couleur claire 1/5 21/01/13

Prise en main du logiciel. Smart BOARD Notebook 10

INFO 2 : Traitement des images

Premier cours d informatique

FORMATS DE FICHIERS. Quels sont les différents types d informations numériques dans un document multimédia?

Traitement par lot redimensionner des images

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

Cours de numérisation sur Epson Perfection

Cours de D.A.O. Mécanique

Fête de la science Initiation au traitement des images

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

Support de formation Notebook

La C.A.O (Conception Assistée par Ordinateur). Le logiciel de C.A.O.

Dans l idéal, ceci devrait être fait en amont pour chaque image envoyée sur l espace de stockage de votre site internet.

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

Tune Sweeper Manuel de l'utilisateur

Formation > Développement > Internet > Réseaux > Matériel > Maintenance

Excel 2010 Intermediaire

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Création de maquette web

Initiation au dessin Bitmap

Projet Matlab : un logiciel de cryptage

PowerPoint offre trois modes d affichage principaux : le mode Normal, le mode Trieuse de diapositives et le mode Diaporama

Freeway 7. Nouvelles fonctionnalités

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

MODULES 3D TAG CLOUD. Par GENIUS AOM

Utilisation de XnView

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

GIMP. Le traitement d'images libre INSTALLATION SUR WINDOWS

Infolettre #18 : Les graphiques avec Excel 2010

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Auguria_PCM Product & Combination Manager

MEMENTO D'UTILISATION Du T.N.I. SmartBoard (Version )

L espace de travail de Photoshop

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

COMMENCER AVEC VUE. Chapitre 1

Supports. Images numériques. notions de base [1]

Gestion de projets. avec. Microsoft Office PROJECT 2003

Annexe : La Programmation Informatique

Utilisation de l éditeur.

pcon.planner 6 Préparer et présenter une implantation en toute simplicité

Mise en forme d'un document écrit sous Word - quelques rappels pour consolider ses connaissances -

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Le poids et la taille des fichiers

Animation Shop PREAMBULE... 2 CONTRAINTE... 2 CREER UNE ANIMATION... 2 AJOUTER DES IMAGES... 3 ENREGISTRER UNE ANIMATION... 3

Tutoriaux : Faites vos premiers pas avec Microsoft Visio 2010

Microsoft Windows NT Server

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

PRISE EN MAIN D ILLUSTRATOR

PHOTOSHOP - L'AFFICHAGE

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Conservez la documentation à portée de main pour toute référence future. Le terme «pointeur» dans ce manuel désigne le pointeur interactif YA-P10.

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

My Custom Design ver.1.0

2013 Pearson France Adobe Illustrator CC Adobe Press

SOS Info: Traitement de textes. 1. Structurer un document. 2. Enregistrer un document

Faire de la déformation interactive avec GIMP

Internet : Naviguer en toute sérénité

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Le cas «BOURSE» annexe

Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon

Premiers pas avec NetSupport SCHOOL

Chapitre 2 Créer son site et ses pages avec Google Site

LES TOUT PREMIERS PAS

Guide pour la réalisation d'un document avec Open Office Writer 2.2


Gestion de projet. GanttProject Didacticiel V novembre Gérard Gervois Frédéric Giamarchi

NOTICE D' UTILISATION CAMWORKS FRAISAGE. Luc Vallée Lycée Blaise Pascal Segré

Modules Multimédia PAO (Adobe)

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Choisir entre le détourage plume et le détourage par les couches.

Inspiration 7.5. Brève description d Inspiration. Avantages d Inspiration. Inconvénients d Inspiration

Tutoriel. Votre site web en 30 minutes

Utilisation du logiciel GALAAD

Dessiner dans Galaad FRANÇOIS PALLUT

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdfghjklz mqwertyuiopasdfghjklzxcvbnmqwert

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

WHS ProRealTime. édition

FAA : Fonctions Automatiques de l Application. Les fonctions automatiques incluses dans vos applications développées avec

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

SpeechiTablet Notice d utilisation

Transcription:

SETIT 2005 3 rd International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March 27-31, 2005 TUNISIA Programmation Orientée 0bjet d un Editeur Graphique dans un contexte d Enseignement Assisté par Ordinateur : EGEAO D.Souilem Boumiza 1, M.Ben Youssef 2 Ecole Nationale d Ingénieur de Monastir 1 Dalila.Souilem@enim.rnu.tn 2 maher222222003@yahoo.fr Résumé: C est dans un contexte d Enseignement Assisté par Ordinateur que nous travaillons et notre objectif est de concevoir un Editeur graphique convivial et simple qui sera utilisé aussi bien au niveau Système Auteur comme outil d aide à la création d un cours qu au niveau système Apprenant comme outil d aide au suivi d un cours. Les concepts de base de la réalisation de cet Editeur peuvent être évoqués à travers les points suivants : Elaborer des fonctionnalités graphiques de base (objets). Schématiser un graphe soit à partir de sa forme vectorielle soit à partir de sa forme bitmap. Création d une base d objets graphiques qui peut faire partie de la base d informations d un Système d E.A.O. EGEAO est programmé en Orienté Objet où chaque forme graphique élémentaire est représentée à l aide d objet défini par le triplet <identifiant, Attributs, Méthodes >. Mots clés: Editeur Graphique, Enseignement Assisté par Ordinateur, Héritage, Méthodes, Programmation Orientée Objet. 1 INTRODUCTION Notre Projet consiste à développer un Editeur Graphique dans un contexte d Enseignement Assisté par Ordinateur (EGEAO). La conséquence pratique de notre travail est de fournir un environnement qui permet de rendre le développement et la réalisation d'application d EAO plus complet en fournissant un moyen qui permet de créer ou modifier des dessins selon les besoins de l'enseignant ou selon les désirs de créativité de l'élève. L EGEAO va permettre d une part, aux enseignants et aux auteurs utilisant le système Auteur de créer facilement leur cours éducatifs multimédias toute en assurant le partage efficace et pertinent de l'interactivité entre l'étudiant et le système et respectant le concept de facilité/difficulté des questions en relation avec la compétence, la personnalité et l'intime conviction de l apprenant Comme ce logiciel sera mis à la disposition de tout utilisateur, même s il n est pas un informaticien, de plus le fait de disposer d une présentation agréable et d une grande souplesse d utilisation peut avoir une importance déterminante pour l utilisateur. Ainsi, notre premier but à réaliser était donc de créer une interface graphique qui englobe les principales fonctions qui puisse guider l utilisateur dans la création de son graphique à l aide de la représentation claire et facile de son menu principal. Un autre but que nous nous étions fixé était de développer un code aisément compréhensible, fortement commenté et relativement facile à maintenir ce qui nous insiste à utiliser un langage de programmation orienté objet. 2 LES PRINCIPALES FONCTIONS DE L EDITEUR GRAPHIQUE Cet éditeur graphique possède des outils permettant de traiter les images en fonction de besoins spécifiques de l'enseignant ou de l'élève. Ses principales fonctions sont les suivantes : Saisir et mémoriser des données graphiques. Construire des graphiques, tableaux, schémas. Traiter des images. Créer des dessins Importer des dessins à partir d'une banque de données graphiques. Mise à jour d'un fichier (modification d'un dessin, graphique). Exporter un dessin ou fichier vers un autre logiciel (dessin, traitement de texte, etc.)

3. L ENVIRONNEMENT DU TRAVAIL : 3.1 MFC (Microsoft Fondation Classes) Les Microsoft Fondation Classes (MFC) constituent à l heure actuelle l interface de programmation Windows la plus utilisée. Elles sont constituent sur un ensemble de classes prédéfinies bâties sur Win32 API autour desquelles s articule la programmation Windows avec Visual C++. On eut les voir comme l'aspect orienté objet de la programmation Windows. L utilisation des MFC simplifie considérablement la création d applications Windows, notamment en facilitant l accès à des classes existantes réputées stables et en permettant de réutiliser des structures développées par l utilisateur. Des assistants (Wizards) puissants créent en quelques secondes des applications opérationnelles et immédiatement utilisables ou de nouvelles classes dotées de la fonctionnalité souhaitée par le programmeur. Travailler avec MFC revient en quelque sorte à jouer avec un jeu de construction. Vous disposer les pièces à l intérieur d une structure prédéfinie, dans laquelle vous sont également proposés quantité d outils tous plus pratiques les uns que les autres. Le générateur de code créé des objets qui contiennent des fonctions membres permettant la communication avec Windows, le traitement des messages Windows et l échange des messages entre eux. Il reste au programmeur à ajouter les fonctions membres et les champs qui permettent de personnaliser les classes. Il nous est de plus possible de jouer sur l'héritage d'une ou plusieurs de ces classes afin de définir nos propres éléments basés sur les classes MFC, mais avec des propriétés que nous leur adjoindrons. Nous pourrons ainsi personnaliser nos classes pour doter nos programmes de fonctionnalités spécifiques dont ils ont besoin. La structure de L API Win32 est procédurale. Les MFC encapsulent leurs fonctions et proposent ainsi aux programmeurs une interface orientée objet. Les MFC proposent également un modèle complet d applications qui autorise la réalisation rapide et pratique de programmes complexes. Dans la programmation MFC, chaque type de fenêtre (application, document, vue, boite de dialogue ), correspond à une classe de base. Pour que la fenêtre ait un comportement spécifique dans chaque application (réaction aux événement), on définit pour chaque application et pour chaque type de fenêtre on définie une classe qui dérive (hérite) d une classe MFC de base. 3.2 Images bitmap et images vectorielles : L importation et l exportation d images vont bien au-delà du simple chargement/sauvegarde de fichiers image. Cela englobe, des algorithmes de dés encodage et d encodage propres à chaque format de fichier. On distingue deux grandes catégories d'images: Les images bitmap : il s'agit d'images pixellisées, c'est-à-dire un ensemble de points (pixels) contenus dans un tableau, chacun de ces points possédant une ou plusieurs valeurs décrivant sa couleur. Les images vectorielles: les images vectorielles sont des représentations d'entités géométriques simples telles qu'un cercle, un rectangle ou un segment. Ceux ci sont représentés par des formules mathématiques (un rectangle est défini par deux points, un cercle par un centre et un rayon, une courbe par plusieurs points et une équation) donc il est possible de lui appliquer facilement des transformations géométriques (zoom, étirement,...), tandis qu'une image bitmap, faite de pixels, ne pourra subir de telles transformations qu'au prix d'une perte d'information (distorsion). image vectorielle image bitmap 3.3 Structure d un fichier graphique *.BMP La structure d'un fichier bitmap est la suivante : Entête du fichier, Entête du bitmap, Palette (optionnellement), Corps de l image. 3.3.1 En-tête du fichier L'entête est composé de quatre champs : La signature (sur 2 octets), indiquant qu'il s'agit d'un fichier BMP à l'aide des deux caractères. La taille totale du fichier en octets (codée sur 4octets). Un champ réservé (sur 4 octets). L'offset de l'image (sur 4 octets), en français décalage, c'est-à-dire l'adresse relative du début des informations concernant l'image par rapport au début du fichier. 3.3.2 En-tête de l image L'entête de l'image est composé de: La taille de l'entête de l'image en octets (codée sur 4 octets). La largeur de l'image (sur 4 octets), c'est-à-dire le nombre de pixels horizontalement La hauteur de l'image (sur 4 octets), c'est-à-dire le nombre de pixels verticalement Le nombre de plans (sur 2 octets). Cette valeur vaut toujours 0 La profondeur de codage de la couleur (sur 2 octets), c'est-à-dire le nombre de bits utilisés pour coder la couleur. Cette valeur peut-être égale à 1, 4, 8, 16, 24 ou 32 La méthode de compression (sur 4 octets). Cette valeur vaut 0 lorsque l'image n'est pas compressée, ou bien 1, 2 ou 3 suivant le type de compression utilisé. La taille totale de l'image en octets (sur 4 octets). La résolution horizontale (sur 4 octets), c'est-à-dire le nombre de pixels par mètre horizontalement. La résolution verticale (sur 4 octets), c'est-à-dire le nombre de pixels par mètre verticalement.

Le nombre de couleurs de la palette (sur 4 octets) Le nombre de couleurs importantes de la palette (sur 4 octets). Ce champ peut être égal à 0 lorsque chaque couleur a son importance. 3.3.3 Palette de l image La palette est optionnelle. Lorsqu'une palette est définie, elle contient successivement 4 octets pour chacune de ses entrées représentant : La composante bleue (sur un octet). La composante verte (sur un octet). La composante rouge (sur un octet). Un champ réservé (sur un octet). 3.3.4 Codage de l image Le codage de l'image se fait en écrivant successivement les bits correspondant à chaque pixel, ligne par ligne en commençant par le pixel en bas à gauche. Les images en 2 couleurs utilisent 1 bit par pixel, ce qui signifie qu'un octet permet de coder 8 pixels. Les images en 16 couleurs utilisent 4 bits par pixel, ce qui signifie qu'un octet permet de coder 2 pixels. Les images en 256 couleurs utilisent 8 bits par pixel, ce qui signifie qu'un octet code chaque pixel. Les images en couleurs réelles utilisent 24 bits par pixel, ce qui signifie qu'il faut 3 octets pour coder chaque pixel, en prenant soin de respecter l'ordre de l'alternance bleu, vert et rouge. Effacement. Déplacement d'un objet. Rajoutons maintenant par exemple deux classes spécialisées : Ligne et Cercle. Chacune rajoute ses attributs propres : le rayon pour le cercle, la longueur et l'angle pour la ligne. Ainsi, les classes Ligne et Cercle disposent: Des attributs qu ils héritent de la classe de base. De leurs attributs propres qui traduisent leur spécialisation. Les méthodes de la classe de base sont également héritées. Les classes Ligne et Cercle n'ont pas, par exemple, à fournir de code pour la méthode getx chargée de renvoyer la valeur de l'attribut X. En revanche, elles sont libres de rajouter les méthodes qui leur sont spécifiques, en particulier des méthodes permettant d accéder aux attributs supplémentaires. 4. MISE EN OEUVRE DES NOTIONS DE LA POO DANS NOTRE APPLICATION La programmation orientée objets a pour but de rapprocher la représentation de la réalité en programmation. Elle permet d organiser et d exploiter des types abstraits de données à l aide des techniques d encapsulation, d héritage et de liaisons dynamiques et polymorphismes. Chaque forme graphique élémentaire est représentée sous forme d objet qui présente des caractéristiques propres qui permettent de l identifier (attributs) et d autres qui sont commun avec les autres objets. La représentation est faite de telle façon que ces formes communiquent et interagirent entre elles à l aide des relations. Chaque objet graphique peut être considéré relativement à un point de base que nous représenterons par ses coordonnées cartésiennes X et Y. On lui associe également sa Couleur ainsi que l'épaisseur du trait. Hormis la création et la destruction d'objets, nous associons les méthodes suivantes à notre objet graphique : Accès en lecture et en écriture des attributs. Affichage. En outre, les objets Ligne et Cercle redéfinissent les méthodes Afficher et Effacer : en effet, un cercle ne s'affiche pas de la même manière qu'une ligne : c est le polymorphisme appliqué aux méthodes Afficher et Effacer dans le cadre des classes Ligne et Cercle et qui se présente sous deux formes : Une forme faible : la surcharge qui permet d utiliser le même nom de méthode / procédure / fonction avec des listes paramètres différentes. La forme forte du polymorphisme concerne la redéfinition d une méthode d une classe mère par ses classes dérivées en utilisant la même signature d arguments (même liste de paramètres et même type de retour). On se rend compte très vite par cette modélisation simple des avantages que l'on retire à utiliser l'héritage : Le code est de taille plus faible car l'on factorise au niveau des classes généralisées les comportements communs à toute une hiérarchie. Au niveau des classes dérivées, seul le code spécifique reste à écrire, il est donc inutile de réinventer la roue à chaque étape, et le développement est plus rapide.

La modélisation repose sur une approche naturelle qui permet de créer des systèmes conceptuellement cohérents. Le mécanisme de polymorphisme fort repose largement sur l héritage. Le code des classes les plus élevées dans la hiérarchie (les plus généralistes) est utilisé très souvent. Il gagne donc rapidement en fiabilité du fait d un déboguage précoce. 5. PRESENTATION DE MENU OUTILS DE L EDITEUR GRAPHIQUE Ce menu permet de réaliser un bon nombre de fonctionnalité graphique tel que personnaliser le tracer d un objet où choisir un format pour le texte ou encore visualiser le traçage d une courbe. La commande Set Ligne, permet de personnaliser le traçage d un trait en choisissant une couleur, une épaisseur et également un style. La commande Set Cercle, permet de personnaliser le traçage d un cercle puisque elle offre la possibilité de choisir une couleur intérieure,un style de remplissage... Commande Set Rectangle : cette boite de dialogue s affiche nous permet de personnaliser le traçage de notre rectangle puisque elle offre la possibilité de choisir une couleur intérieure, un style de remplissage... La commande Graphe : En choisissant cette commande, une boite de dialogue s affiche et qui nous permet de Visualiser le traçage d un graphe à partir d une série de points fournis par l utilisateur. 6. EXEMPLE DE CONCEPTION D UN COURS Système Auteur : création d un cours Cours : Géométrie Titre : Cercle 6.1 Définition Courbe plane fermée dont tous les points sont à égale distance d'un point intérieur appelé centre. La distance commune est appelée rayon. Courbe algébrique plane. Étant donné un point A d'un plan euclidien P et un nombre réel R, on appelle cercle (ou circonférence) de centre A et de rayon R l'ensembles des points P dont la distance à A est égale à R Un cercle est une sphère dans le plan euclidien Le cercle de diamètre AB est le lieu des points d'où l'on voit le segment AB sous l'angle droit Le cercle est une courbe fermée de courbure constante Le cercle est la figure qui enferme la surface maximale pour un périmètre donné 6.2 Equations Coordonnées cartésiennes x² + y² = R² de centre O de centre I (a, b) (x-a)² + (y-b)² = R² Coordonnées polaires x = a + R cos θ y = b + R sin θ Coordonnées x = a + R (1-t²) / (1+t²) paramétriques y = b + 2Rt / (1+t²) avec t = tg ( ) Système Apprenant : suivi d un cours (évaluation) Cours : Géométrie Titre : Cercle. Commande Set Format Texte : En cliquant une boite de dialogue apparaît et nous permet de choisir une police, un style, une taille et une couleur pour l affichage de notre chaîne de caractère. Commande Equation : En choisissant la commande Equation, une boite de dialogue s affiche et nous permet de Visualiser la forme et la pente d une droite dont l équation caractéristique est donnée par l utilisateur NB : Barrer la mauvaise réponse Q : Définir un cercle? Quadrilatère, côtés opposés parallèles et égaux deux à deux. Courbe fermée de courbure constante. Ensemble de points dont la distance au centre n est pas égale. Q : Comment est représenter graphiquement un cercle? NB : Mettre une croix sur la réponse juste

CONCLUSION L objectif d un tel outil est de pouvoir définir au moyen d un langage Orienté Objet des objets à dessiner, afin de les placer dans des didacticiels. Associé à un système expert, cette interface graphique devrait aider à la mise en oeuvre d un système d EAO à qualité appréciable. Nous pensons que de telles fonctionnalités graphiques provoqueront un imaginaire à la fois marquant, concis et normatif, ce qui est important pour l enseignement. REMERCIEMENTS Nous faisons un devoir de remercier toute la famille, nos professeurs, le personnel administratif et technique du l école qui ont contribué à nous assurer une bonne formation et nous garantir tous les moyens de succès. Il nous est très agréable de remercier vivement Mohamed Slim BOUHLEL & Bassel SOLAIMAN en acceptant notre travail. Veuillez trouver ici l expression de notre grande estime et de notre profonde reconnaissance. REFERENCES (Maryléne & Medard 1997) Marylène Micheloud, Medard Rieder, Programmation orientée objet en C++, une approche évolutive. Presse polytechnique et universitaires romandes 1997. (Soyed & Kachbouri 1995) Soyed Hassen & Kachbouri khaled, Utilitaires de développement d un système d informatique multimédia appliqué à l EAO 1995 (www1) http://www.recherche.aix-mrs.iufm.fr (www2) http://castyde.christian.free.fr