Chapitre 19. Interfaces Graphiques de Base



Documents pareils
Le Framework.Net. Introduction. Pourquoi.Net?

DotNet. Plan. Les outils de développement

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Environnements de développement (intégrés)

Module.NET 3 Les Assemblys.NET

Annexe : La Programmation Informatique

Éléments de programmation et introduction à Java

Notions fondamentales du langage C# Version 1.0

Le partenaire tic de référence. Gestion des ressources humaines INOVA RH

Technologies DotNET. Vision de Microsoft

Le nouveau Windows Runtime

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

Service de lettre électronique sécurisée de bpost. Spécificités techniques

Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»

< Atelier 1 /> Démarrer une application web

Remise à niveau d un programme JAVA du domaine public

Urbanisation et architecture des systèmes d information

wxwidgets dans un environnement Microsoft Windows

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Installation d un manuel numérique 2.0

Programmeur Java 1.4 et 5.0

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

Interface Homme-Machine 1

Projet de développement

INSTALLER LA DERNIERE VERSION DE SECURITOO PC

Vulgarisation Java EE Java EE, c est quoi?

Procédure d installation des outils pour la messagerie sécurisée

But de cette présentation. Bac à sable (Sandbox) Principes. Principes. Hainaut P

DotNet. Présentation de l'offre

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

Cours. Cours 8 : Révisions. Importance. Interface homme-machine

Bluetooth pour Windows

CAHIER DES CHARGES D IMPLANTATION

Comment autoriser un programme à communiquer avec Internet sous Vista?

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Déployer une application cliente avec le Framework.NET 3.5 Client Profile

Tutoriel code::blocks

Machine virtuelle Java pour Palm TX

La technologie Java Card TM

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Découvrir la messagerie électronique et communiquer entre collègues. Entrer dans le programme Microsoft Outlook Web Access

Single User. Guide d Installation

Enregistrement de votre Géorando Maxi Liberté

Guide d installation de MySQL

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

L assistant Boot Camp pour utiliser aussi Windows sur un Mac sous OS X Yosemite

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Clear2Pay Belgium SA Solution B-web V4 Procédure d installation. Solution B-web V4. Procédure d installation. Clear2Pay Belgium SA Page 1 de 18

LA CARTE D IDENTITE ELECTRONIQUE (eid)

Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft

Manuel du client de bureau distant de KDE

Cours 1 : La compilation

Installation et prise en main d UBUNTU

LES ACCES DISTANTS ET SECURISES. Installation et utilisation du client. Cisco AnyConnect VPN Client. pour Windows

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Formateur.NET expérimenté Forte expertise dans la conception et le développement d applications.net, associée à une grande pédagogie

2 - VMWARE SERVER.doc

Le framework contient deux éléments principaux : le Common Language Runtime et la bibliothèque de classes du.net Framework.

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Systèmes en réseau : Linux 1ère partie : Introduction

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC MÉMOIRE PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

Manuel d utilisation. Logiciel (Device Monitor) Pour les systèmes d imagerie numérique. Configuration requise Description générale

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

Vous pouvez à présent à reconfigurer votre messagerie en cliquant ici.

Hébergée dans le cloud, notre solution est un logiciel-service (SaaS) entièrement géré par NUXIT :

Chapitre I Notions de base et outils de travail

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Introduction à Windows Script Host DescoDev

Guide d installation TV sur ordinateur Internet 3G+

Procédure d'installation complète de Click&Decide sur un serveur

et de suivi de la corpulence des enfants

FORMATION Offre de Formation - Packaging. Les bonnes pratiques du packaging avec Installshield et AdminStudio. Contact et inscriptions

Guide de configuration. Logiciel de courriel

GUIDE D'INSTALLATION DU SYSTEME DE GESTION DE BASES DE DONNEES MYSQL POUR LE PGI EBP

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

Utilisation des ressources informatiques de l N7 à distance

Permis de conduire info

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

Installer VMware vsphere

Internet Explorer. Microsoft. Sommaire :

INSTALLATION DE LA CLÉ 3G+ UTILISATION VOTRE COMPTE CLIENT. Clé 3G+ Elle vous permet de connecter votre ordinateur aux réseaux haut débit mobile.

Mise en route. QuickBooks. en ligne. Quelques conseils pour démarrer en beauté

Cyber-base du Pays Martégal. Atelier «Découverte de l ordinateur»

Fiche technique rue de Londres Paris Tél. : Mail : contact@omnikles.com

Le serveur web Windows Home Server 2011

Le cas «BOURSE» annexe

Connexion à SQL server

Fonctionnement de Windows XP Mode avec Windows Virtual PC

FAQ Mobiclic/ Toboclic

Armand PY-PATINEC 2010

Facility Touch Client. SAUTER EY-TC505F110 Logiciel Facility Touch Client Mise en service. Manuel D /26 D D

Guide de l'agent de notification

Comment installer un client Rivalis Devis factures

Transcription:

Chapitre 19 : Interfaces Graphiques de Base 303 Chapitre 19 Interfaces Graphiques de Base Chapitre 19 : Interfaces Graphiques de Base 304 1. Interfaces Graphiques - Une interface graphique c'est un ensemble de programmes permettant d'utiliser un système donné de manière plus souple et intuitive que les lignes de commande qui sont parfois difficiles à comprendre. - Avec la rapidité croissante de l internet, de plus en plus de personnes ou de sociétés aimeraient offrir des services ou contrôler divers équipements à partir du réseau. - L interface graphique coté utilisateur devra donc tourner indépendamment du matériel et va agir comme un simple client, recevant et envoyant des données critiques (nécessitant des mesures de sécurité appropriées) ou non critiques.

Chapitre 19 : Interfaces Graphiques de Base 305 2. La face cachée d une interface graphique Quand vous voyez ceci En réalité vous avez codé ceci - Il existe donc des composants graphiques qui en contiennent d'autres (et gèrent leur apparition, leur positionnement,...) et d'autres qui n'en contiennent pas comme les boutons poussoirs, les fenêtres textes de saisie,... Ces derniers sont parfois appelés les contrôles. Chapitre 19 : Interfaces Graphiques de Base 306 3. Environnement fenêtré - C'est une surcouche d'un système d'exploitation. - Il présente les bases fonctionnelles d'une interface graphique qui sont: Le système de fenêtres (Windows), Les icônes (Icons), Les menus (Menus), et un dispositif de pointage (Pointing device). - Il porte le nom de WIMP (Windows Icons Menus Pointing). - Il a été inventé par XEROX et sa sortie grand public a été faite grâce à Apple dans le milieu des années 80 à l'aide entre autres du Macintosh. - Il est constitué le plus souvent de: Espace de travail (bureau). Ensembles de fenêtres (contrôler des programmes, lister le contenu de répertoires etc.). Icônes (représentations graphiques d'une commande ou d'une application).

Chapitre 19 : Interfaces Graphiques de Base 307 4. Gestion d un environnement fenêtré - C'est le module "Windows Manager" qui se charge suivant certaines règles établies de l'affichage des fenêtres, icônes, menus, barre des tâches, bureau virtuel etc. 5. Développement indépendant de la plate-forme - Avant de se lancer dans la programmation proprement dite d une interface graphique, il est essentiel de répondre d abord à la question : «Pour quel système d exploitation doit-on développer cette application?» - Est-ce uniquement pour Linux? Windows? Peut-être les deux? Pourquoi pas Solaris? Pourquoi pas les trois? Peut-être d autres etc., pour la faire fonctionner sur quel matériel : un PC, un SUN ou un Mac etc. - Si l indépendance est un facteur clé, il est important de regarder s il existe des bibliothèques indépendantes des plateformes permettant de réaliser ces interfaces graphiques. - A noter, qu il faut tenir compte des coûts associés pour effectuer le portage de l application vers d autres systèmes. Chapitre 19 : Interfaces Graphiques de Base 308 6. Bibliothèques indépendantes On distingue deux catégories : - Bibliothèques natives : une bibliothèque spécialement écrite pour une architecture matérielle donnée (processeur, système d exploitation etc.). - On maximise l utilisation des différentes routines et fonctionnalités associées au système d exploitation. - Le but de cette opération est d avoir des interfaces graphiques et les événements associés (cliques, déplacements etc.) qui ressemblent «parfaitement» aux autres applications graphiques du système considéré. - Un comportement et un look : l idée est de programmer un comportement (bouton, menu, boite etc.) et un look (couleur, forme, mise en page etc.) particulier (comportement et un look : look and feel) qui s affiche de la même manière peu importe le système d exploitation utilisé.

Chapitre 19 : Interfaces Graphiques de Base 309 7. Boite à outils («toolkits») - Un ensemble d outils conçus pour fonctionner les uns avec les autres de façon complémentaire. - Ils sont regroupés dans une bibliothèque. - Parmi ces outils, on peut citer : bouton, menu, boite à cocher etc. ainsi que des fonctions de haut niveau pour la gestion de divers événements (cliquer sur une souris, appuyer sur une touche d un clavier etc.) - Les deux points suivants sont des critères essentiels dans le choix d une boite à outils : Documents et support disponibles : pour qu une boite à outils soit efficace, il faudra au moins qu elle soit bien documentée et qu elle ait une porte où frapper en cas de pépins! Les coûts : la plupart des bibliothèques sont gratuites pour un usage personnel et parfois, c est le cas aussi pour un usage académique. Mais dès qu il est question de commercialiser un produit fabriqué à base d une de ces boites, c est toute une autre histoire. Il faudra bien lire la licence d utilisation avant de se lancer dans la tâche. Contraintes de distribution : là aussi il faut bien lire la licence d utilisation de ces boites à outils avant de distribuer une interface graphique à base d une de ces boites à outils! Chapitre 19 : Interfaces Graphiques de Base 310 8. Environnement de développement - Environnement de développement intégré, réunissant tous les outils nécessaires à la création d'applications aussi complexes qu'elles soient. - Il permet de simplifier (dans un sens mais pas dans tous les cas) le travail du développeur. 9. Langages de programmation - Pour programmer votre interface graphique, vous aurez besoin d une boite à outils. - La boite à outils a été programmée en utilisant un langage de programmation donné (C, C++, Java etc.). - Ainsi donc le choix du langage de programmation à utiliser pour coder votre interface graphique peut être du même type que celui de la boite à outil. Comme il peut être différent, si la boite à outils le permet.

Chapitre 19 : Interfaces Graphiques de Base 311 10. Boites à outils et Langages de programmation - C/C++ : Qt : développée par «Trolltech». Langage : C++. Disponible sous licence GPL ou commerciale. Disponible sous GPL depuis peu à la communauté Windows. Exemple : KDE, gestionnaire de fenêtre sous Linux. Navigateur Opera. wxwidgets : développée par la communauté «Open Source». Langage : C++. L ancien nom «wxwindows». Disponible sous licence LGPL. Disponible depuis plus d une dizaine d années. Exemple : AOL Communicator. GTK+/GTKMM : développée par la communauté «Open Source». Langage : C (gtkmm C++) Elle a vu le jour à cause des contraintes de licences associées à l utilisation de Qt. Version Windows chaotique! Il faut être sacrément très patient! Exemple : Gnome, gestionnaire de fenêtre sous Linux. Gimp (images). Chapitre 19 : Interfaces Graphiques de Base 312 - Java : Développer par la compagnie SUN en 1995. Indépendant de la plateforme. AWT est le paquetage de base pour construire et manipuler des interfaces utilisateurs graphiques. Il est parmi les paquetages originaux de Java. Swing un nouveau paquetage dont les composantes sont écrites, manipulées et affichées complètement en Java ("pur" java). - Et Microsoft? : Avant 2001, deux possibilités ont été offertes (version 6 et moins): Visual Basic ou bien Visual C/C++ (MFC). o Visual Basic : pour des applications simples pas complexes de tous les jours. o Visual C/C++ (MFC : Microsoft Foundation Classes) : pour les interfaces plus complexes, s il y a une forte interaction avec le gestionnaire de fenêtre à la Windows etc.

Chapitre 19 : Interfaces Graphiques de Base 313.NET (depuis 2000) o Sa naissance Juillet 2000 et, le premier «framework» la version 1.0 a été rendue publique le 15 janvier 2002. o L aspect le plus intéressant de «.NET» se situe au niveau de la plateforme de développement et des langages qu il met en avant. o Il a permis d unifier l environnement de développement. o Avant son arrivé, le choix d un outil ou d une technologie de développement de Microsoft était une tâche assez ardue! Pour la simple raison que les solutions étaient vastes et pouvaient impliquées une des gadgets Visual Basic 6.0, que C++, VBScript, MFC, DCOM, ATL etc. o Par ailleurs, Microsoft perdait du terrain devant la concurrence de SUN et son langage Java. o Il fallait une solution intégrée, ouverte vers le web. o L objectif est donc le développement de manière simple d applications web interportables d où l arrivée de «.NET». Pour la suite de ce cours, nous allons décrire brièvement l architecture de «.NET» afin de présenter quelques applications graphiques simples en utilisant «.NET». Chapitre 19 : Interfaces Graphiques de Base 314 11. «.NET» 11.1 Architecture de la plateforme «.NET»

Chapitre 19 : Interfaces Graphiques de Base 315 - Le Framework.NET contient deux composants principaux : la Common Language Runtime (CLR) et la bibliothèque de classes du Framework.NET 1. Le CLR peut être considéré comme un agent qui manage le code au moment de l'exécution, fournit des services essentiels comme la gestion de la mémoire, la gestion des threads et l'accès distant. Il applique également une stricte sécurité des types et d'autres formes d'exactitude du code qui garantissent un code sécurisé et robuste. Le code qui cible le CLR porte le nom de code managé (managed) par opposition au code non managé (unmanaged). Il supporte du code écrit dans plusieurs langages différents (C++, VB, C#, Pascal, Cobol...) et simplifie le développement, la gestion et le déploiement d'applications. On peut la comparer à la Java Virtual Machine (JVM). La bibliothèque de classes est une collection complète orientée objet de types réutilisables que vous pouvez utiliser pour développer des applications allant des traditionnelles applications à ligne de commande ou à interface graphique utilisateur (GUI, Graphical User Interface) jusqu'à des applications qui exploitent les dernières innovations fournies par ASP.NET. 1 La description de cette architecture est extraite de la «FAQ» se trouvant à cette adresse. Une autre description intéressante se trouve à cette adresse. Chapitre 19 : Interfaces Graphiques de Base 316 11.2 Compilateur - Les programmes (peu importe le langage utilisé) sont compilés sous la forme d un code binaire intermédiaire, indépendant du matériel et du système d exploitation. - Ce langage est MSIL (Microsoft Intermediate Language). - Le MSIL est traduit par la suite en code machine par un compilateur "Juste à temps" (JiT compiler) pour être exécuté par le CLR. - Ce qui signifie que quelque soit le langage utilisé au départ (C++, C#, VB.NET etc.) dans votre programme, vos exécutables et DLL seront toujours déployés sous la forme de code MSIL. - Il n'y a donc aucune différence entre un composant écrit en C++, C# ou VB.NET. - Ainsi donc en réalité «.NET» «ne supporte» qu un seul langage : MSIL! Pour votre confort, Microsoft vous propose d écrire ce code MSIL avec une syntaxe Visual Basic, ou C++, ou C# etc. - Une autre conséquence directe, du fait que tous les langages de «.NET» sont compilés sous la forme d un même code intermédiaire, est une classe écrite dans un langage et peut être dérivée dans un autre langage. On peut instancier ainsi dans un langage un objet d une classe écrite dans un autre langage. - Pour qu un langage soit éligible au rang de langage supporté par la plateforme «.NET», il faut qu il fournisse un ensemble de possibilités, de constructions qui sont recensées dans un contrat de service dénommé CLS (Common Language Specification). - Pour ajouter un langage à «.NET», il suffit donc a priori qu il satisfasse aux exigences de la CLS et que quelqu un développe un compilateur depuis ce langage vers MSIL.

Chapitre 19 : Interfaces Graphiques de Base 317 11.3 Gestion des événements dans Windows API SDK, - Pour communiquer avec une application ou ses diverses fenêtres, Windows leurs envoie des messages. - Windows va créer un message approprié qu'il va envoyer dans la file d'attente de l'application. - La file d'attente est un tampon où sont stockés les messages en attente de traitement. - À vous de coder, l extraction des messages de la file d attente (GetMessage), traduire le contenu (TranslateMessage) et les renvoyer (DispatchMessage) au bon gestionnaire d événements associé à la fenêtre en question. Chapitre 19 : Interfaces Graphiques de Base 318 MFC/.NET - Dans la plupart des cas, vous pouvez éviter de rentrer dans les détails et gérer par vous-même la file d attente des messages. Ceci peut être simplifié par l introduction de l appel suivant «Application::Run( );» dans le programme principal (WinMain). 11.3 Anatomie d une fenêtre

Chapitre 19 : Interfaces Graphiques de Base 319 Chapitre 19 : Interfaces Graphiques de Base 320 11.4 Développement d interfaces graphiques avec «.NET» Quelques exemples à développer en cours.