Chapitre 1

7
1 Chapitre 1 : Programmation événementielle 1.1 Introduction La programmation événementielle (ou programmation par événements) est un type de programmation fondé sur les événements. Elle s'oppose à la Programmation séquentielle. Le programme sera principalement défini par ses réactions aux différents événements qui peuvent se produire ; l'ordre d'exécution des différentes opérations n'est pas strictement déterminé à l'avance. La programmation événementielle peut également être définie comme une technique d'architecture logicielle où l'application a une boucle principale divisée en deux sections : la première section détecte les événements, la seconde les gère. La programmation événementielle peut être réalisée dans n'importe quel langage de programmation, bien que la tâche soit plus aisée dans les langages de haut niveau. Certains environnements de développement intégré (IDE) permettent de générer automatiquement le code des tâches récurrentes dans la gestion des événements. Parmi les environnements de développement intégré on trouve Visual Studio, SharpDevelop, MonoDevelop,…. 1.2 Visual Studio Microsoft Visual Studio est une suite de logiciels de développement pour Windows conçu par Microsoft. Visual Studio est un ensemble complet d'outils de développement permettant de générer des applications Web ASP.NET, des Services Web XML, des applications bureautiques et des applications mobiles. Visual Basic, Visual C++, Visual C# et Visual J# utilisent tous le même environnement de développement intégré, qui leur permet de partager des outils et facilite la création de solutions faisant appel à plusieurs langages. Par ailleurs, ces langages permettent de mieux tirer parti des fonctionnalités du Framework .NET. 1.2.1 Framework .NET Le .NET Framework est un framework qui peut être utilisé par le système d'exploitation Microsoft Windows. Le framework .NET s'appuie sur la norme Common Language Infrastructure (CLI) qui est indépendante du langage de programmation utilisé. Ainsi tous les langages compatibles respectant la norme CLI ont accès à toutes les bibliothèques installées (installables) dans l'environnement d'exécution. Le framework .NET est un sous ensemble de la technologie Microsoft .NET. Il a pour but de faciliter la tâche des développeurs en proposant une approche unifiée à la conception

Transcript of Chapitre 1

1

Chapitre 1 : Programmation événementielle

1.1 Introduction

La programmation événementielle (ou programmation par événements) est un type de programmation fondé sur les événements. Elle s'oppose à la Programmation séquentielle. Le programme sera principalement défini par ses réactions aux différents événements qui peuvent se produire ; l'ordre d'exécution des différentes opérations n'est pas strictement déterminé à l'avance.

La programmation événementielle peut également être définie comme une technique d'architecture logicielle où l'application a une boucle principale divisée en deux sections : la première section détecte les événements, la seconde les gère.

La programmation événementielle peut être réalisée dans n'importe quel langage de programmation, bien que la tâche soit plus aisée dans les langages de haut niveau. Certains environnements de développement intégré (IDE) permettent de générer automatiquement le code des tâches récurrentes dans la gestion des événements. Parmi les environnements de développement intégré on trouve Visual Studio, SharpDevelop, MonoDevelop,….

1.2 Visual Studio

Microsoft Visual Studio est une suite de logiciels de développement pour Windows conçu par Microsoft. Visual Studio est un ensemble complet d'outils de développement permettant de générer des applications Web ASP.NET, des Services Web XML, des applications bureautiques et des applications mobiles. Visual Basic, Visual C++, Visual C# et Visual J# utilisent tous le même environnement de développement intégré, qui leur permet de partager des outils et facilite la création de solutions faisant appel à plusieurs langages. Par ailleurs, ces langages permettent de mieux tirer parti des fonctionnalités du Framework .NET.

1.2.1 Framework .NET

Le .NET Framework est un framework qui peut être utilisé par le système d'exploitation Microsoft Windows. Le framework .NET s'appuie sur la norme Common Language Infrastructure (CLI) qui est indépendante du langage de programmation utilisé. Ainsi tous les langages compatibles respectant la norme CLI ont accès à toutes les bibliothèques installées (installables) dans l'environnement d'exécution.

Le framework .NET est un sous ensemble de la technologie Microsoft .NET. Il a pour but de faciliter la tâche des développeurs en proposant une approche unifiée à la conception

2

d'applications Windows ou Web, tout en introduisant des facilités pour le développement, le déploiement et la maintenance d'applications.

Le framework gère tous les aspects de l'exécution d'une application :

• il alloue la mémoire pour le stockage des données et des instructions du programme ; • il autorise ou refuse des droits à l'application ; • il démarre et gère l'exécution ; • il gère la ré-allocation de la mémoire pour les ressources qui ne sont plus utilisées.

Il est composé de deux blocs principaux :

• l'implémentation d'une machine virtuelle compatible Common Language Infrastructure (CLI) sous le nom de Common Language Runtime (CLR) et Dynamic Language Runtime (DLR);

• bibliothèques de classes .NET

Figure 1 : L’architecture fonctionnelle de .NET

a)

CommomachineCommoprogramLanguagLanguag

Quel quen CILinstructipas êtrepar le JIest exéc

F

Common La

on Language virtuelle don Languagmmes. Le Cge- CIL appge IL.

ue soit le lanL (Commonion relative

e exécuté dirIT Compilecuté et stock

Figure 2 : Sché

anguage Ru

ge Runtime du framewoe InfrastrucCLR fait topelé aussi M

ngage utilisn Intermedie au matérierectement. U

er (''Just in Tké en mémo

éma explicatif d

untime

(CLR) est ork .NET. Ilcture (CLI) ourner une

Microsoft In

sé pour écririate Languael (i.e. hardUne fois le Time) en laoire sous for

3

du Common L

le nom chol s'agit de l'iqui définit sorte de b

ntermediate

re une appliage). Ce c

dware) ou acode présen

angage natifrme de code

Language Infra

oisi par Miimplémental'environnebytecode nLanguage -

ication .NEcode intermau système nt dans le Cf de la mache natif.

astructure (CL

icrosoft pouation par Miement d'exécnommé Com- MSIL ou e

ET, le code dmédiaire ned'exploitati

CLR, il va phine. Une fo

LI)

ur le compoicrosoft du cution des cmmon Interencore Inter

doit être trae comporte ion. Il ne peouvoir être ois compilé

osant de standard codes de rmediate rmediate

ansformé aucune

eut donc compilé , le code

4

Le CLR est nécessaire pour exécuter le code intermédiaire. Il est basé sur le CTS (Common Type System) et le CLS (Common Language Specification). Le CLS définit les fonctionnalités auxquelles doit répondre un langage pour être « .NET Compatible ». Le CTS garantit que tous les types manipulés par les langages sont les mêmes. Le CLR apporte de nombreuses fonctionnalités comme le ramasse-miettes (en anglais : Garbage Collector) (la mémoire utilisée par l'application lors de l'exécution est optimisée), la BCL (Base Class Library) et le système de sécurité.

b) Bibliothèques de classes .NET

Il y a trois couches au-dessus du Common Language Runtime –CLR (voir figure 1), chacune comportant des classes apportant des fonctionnalités de plus en plus évoluées.

• Base Class Library

Dans la première couche se trouve la Base Class Library (BCL), rassemblant des classes permettant les manipulations de chaînes de texte, la gestion des entrées/sorties, des communications réseaux, des processus légers et le design des interfaces utilisateur. Ces classes sont similaires à celles présentes dans l'API Java développée par Sun Microsystems. Par exemple, la manipulation des chaînes est disponible dans la classe String, dans les deux langages ; la différence étant qu'en Java il n'existe pas de type de base pour manipuler les chaînes (on manipule des objets 'String'), alors qu'en .NET, le type string (avec un 's' minuscule) a spécifiquement été défini.

• Classes d'accès aux données

La deuxième couche est composée de deux bibliothèques de classes d'accès aux données. Tout d'abord, ADO.NET, s'élevant sur les bases de l'ancien ADO (ActiveX Data Objects) utilisé par les développeurs ASP, et permettant l'accès sous format XML aux interfaces de bases de données SQL Server, ODBC, OLE DB, Oracle et Sybase, et bien sûr aux fichiers XML. Les XML Classes permettent de manipuler les données XML.

• XML Web Services, Web Forms, Windows Forms

La dernière couche, la plus élevée, est utilisée pour la création de services web, de pages Web, et d'applications Windows. Les deux premiers forment ASP.NET, là aussi une référence à l'ancien langage de programmation Web. Les pages internet ayant pour extension .aspx sont généralement des pages Web écrites en .NET, tandis que les pages écrites en ASP se terminent généralement en .asp.

5

1.2.2 Les versions successives

a) Visual Studio 97

La première version de Visual Studio a été publiée en 1997 par Microsoft, afin de rassembler au sein d'un même environnement de développement plusieurs de ses outils de programmation. Visual Studio 97 incluait Visual Basic 5.0 et Visual C++ 5.0, pour le développement d'application Windows, Visual J++ 1.1 pour la programmation Java et Visual FoxPro 5.0 pour la programmation xBase. Visual InterDev était utilisé pour créer des pages web générées dynamiquement en ASP.

b) Visual Studio 6.0

La version suivante (6.0) date de 1998. Cette version a été la base du développement pour Microsoft pour les quatre années suivantes, jusqu'au passage au développement .NET. Visual Studio 6.0 a été la dernière version incluant Visual Basic tel que le connaissait la majeure partie des programmeurs VB.

c) Visual Studio .NET (2002)

En 2002, Visual Studio .NET est publié. Le principal changement a été l'introduction du .NET Framework. Les programmes développés en utilisant .NET ne sont pas compilés en langage machine (au contraire du C++, par exemple) mais dans un langage intermédiaire MSIL. Une application MSIL est ensuite compilée, au moment de son exécution, dans le langage machine approprié à la plate-forme sur laquelle elle est exécutée. Cette compilation s'appelle une compilation « juste à temps » (Just-In-Time en anglais ou JIT).

En dissociant le programme binaire de la plateforme, cette méthode permet notamment à Microsoft de mieux supporter les différentes versions du système d'exploitation Windows ainsi que les nouvelles architectures de micro-processeurs. Les programmes compilés en MSIL peuvent être exécutés seulement sur des plates-formes possédant une implémentation du .NET framework. Il est possible de lancer des programmes MSIL sur Linux ou Mac OS X grâce à des implémentations non-Microsoft de .NET comme Mono et DotGNU.

Microsoft a aussi introduit le langage C#, similaire au langage Java.

Visual Basic, renommé Visual Basic .NET, a subi des modifications drastiques pour correspondre au nouveau framework, notamment en introduisant la programmation orientée objet.

Le numéro de version interne de Visual Studio .NET est 7.0.

6

d) Visual Studio .NET 2003

Il s'agit d'une mise à jour mineure de Visual Studio 2002. Le Framework .Net est passé à la version 1.1.

Le numéro de version interne de Visual Studio 2003 est 7.1.

e) Visual Studio 2005

Visual Studio 2005 a été publiée en ligne en octobre 2005. Le Framework .NET est alors dans sa version 2.0. Une des nouvelles fonctionnalités de cette version est le "Deployment Designer" permettant de valider la conception d'applications avant leur déploiement. L'ASP.net est passé en 2.0. Visual Studio 2005 inclut un support du 64-bit. La nouvelle API du Framework .Net inclus les types génériques permettant de créer des patrons de classes ou de méthodes.

Le numéro de version interne de Visual Studio 2005 est 8.0 (il s'agit d'une révision majeure).

f) Visual Studio Express

Microsoft propose maintenant des versions "express" dans un package nommé Microsoft Visual Studio Express. Ces versions sont gratuites et disponibles sur le site de téléchargement. Cependant, il n'existe pas de version express de Visual Studio complète. Les éléments sont disponibles indépendamment les uns des autres (Visual Basic, Visual C++, ...).

g) Visual Studio 2008

Cette version est sortie en version finale à la fin de l'année 2007. Cette version est fondée sur le .NET Framework 3.5.

Le numéro de version interne de Visual Studio 2008 est 9.0.

h) Visual Studio 2010

Cette version est sortie en version finale le 12 avril 2010. Cette nouvelle version utilise la version 4.0 du .NET Framework dans le logiciel ainsi qu'une refonte de l'interface graphique propulsé par WPF.

Un nouveau langage de programmation fait officiellement son apparition : F#

7

Ou trouver Visual Basic 2010 Express?

Cliquer sur le lien: http://www.microsoft.com/express/downloads/ Dans la liste de lien, cliquer sur 'Visual Basic Express 2010' Puis dans la liste 'Select language", choisissez "French", une fenêtre pop-up démarre.

1.3 Visual Basic

Visual Basic a été conçu pour être facile à apprendre et à utiliser. Le langage permet de créer des applications graphiques de façon simple, mais également de créer des applications véritablement complexes. Programmer en VB est un mélange de plusieurs tâches, comme disposer visuellement les composants et contrôles sur les formulaires, définir les propriétés et les actions associées à ces composants, et enfin ajouter du code pour ajouter des fonctionnalités. Comme les attributs et les actions reçoivent des valeurs par défaut, il est possible de créer un programme simple sans que le programmeur ait à écrire de nombreuses lignes de code.

Dans l'IDE, les formulaires sont créés en utilisant la technique de Glisser-déposer, permettant de disposer des contrôles (boîte de saisie, case à cocher, bouton, etc.) sur le formulaire. Les contrôles possèdent tous des attributs et des gestionnaires d’évènements associés. Des valeurs par défaut sont attribuées, qui peuvent être modifiées par le programmeur. De nombreux attributs peuvent être modifiés dynamiquement lors de l’exécution, en réponse à des actions de l’utilisateur ou à des changements dans l’environnement. Les contrôles fournissent les fonctionnalités de base de l’application, les programmeurs ajoutant simplement le fonctionnel supplémentaire en insérant du code dans les gestionnaires d’évènements appropriés. Visual Basic permet de créer des exécutables (fichiers .EXE).