SlideShare une entreprise Scribd logo
1  sur  318
Télécharger pour lire hors ligne
Présentation 
Formation VB.NET 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Présentation du formateur 
• Qu’est ce que VB.NET ? 
• Le plan de formation 
• Les liens utiles 
Programmer en Visual Basic .NET alphorm.com™©
Présentation du formateur 
• Fabien Brissonneau 
• Email : fabien.brissonneau@gmail.com 
• Consultant Concepteur et Formateur 
• Missions d’architecture, de conception , de réalisation logicielles 
• Fondateur de eiXa6 
• Actuellement en mission sur un projet de gestion 
• Mes références : 
 Mon profil Viadeo : http://fr.viadeo.com/fr/profile/fabien.brissonneau 
 Mon profil LinkedIn : http://fr.linkedin.com/pub/fabien-brissonneau/65/902/92a/ 
Programmer en Visual Basic .NET alphorm.com™©
Qu’est-ce que VB.NET ? 
• Langage Microsoft .NET (comme C#, F#, …) 
• S’appuie sur le framework .NET 
• Reprend en partie la syntaxe VB 
• Langage orienté objet 
Programmer en Visual Basic .NET alphorm.com™©
Contenu 
• Généralités 
• Langage orienté objet 
• Les délégués et les 
événements 
• Les fichiers 
• Gérer les exceptions 
• Les bases de données 
• Les méta-données 
• Les opérateurs de VB.NET 
• Les collections 
• Le multithreading 
• Winform 
• ASP.NET 
• WPF 
Programmer en Visual Basic .NET alphorm.com™©
Les liens utiles 
• Microsoft MSDN : 
 http://msdn.microsoft.com/en-us/vstudio/hh388573.aspx 
• Visual Studio : 
 http://msdn.microsoft.com/en-us/vstudio/aa496123 
Programmer en Visual Basic .NET alphorm.com™©
Et maintenant … 
Programmer en Visual Basic .NET alphorm.com™©
Présentation 
VB.NET 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Généralités 
• Langage orienté objet 
• Les délégués et les événements 
• Les opérateurs de VB.NET 
• Les collections 
• Le multithreading 
• Winform 
• Les fichiers 
• Gérer les exceptions 
• Les bases de données 
• Les méta-données 
• ASP.NET 
• WPF 
Programmer en Visual Basic .NET alphorm.com™©
Généralités 
• Visual Studio 
• Compatibilité VB6 
• Le GAC 
• Les espaces de nommage 
Programmer en Visual Basic .NET alphorm.com™©
Langage orienté objets 
• Penser orienté objet 
• Classe et objets 
• Les interfaces 
Programmer en Visual Basic .NET alphorm.com™©
Les points avancés de VB.NET 
• Délégués et événements 
• Les opérateurs 
• Les méta-données 
Programmer en Visual Basic .NET alphorm.com™©
Le framework .NET 
• Les collections 
• Le multithreading 
• Winform 
• Les fichiers 
• Les bases de données 
• WPF 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
• Création d’un projet ASP.NET 
• Le codebehind 
• WebService 
• Gérer les erreurs 
• Les contrôles 
Programmer en Visual Basic .NET alphorm.com™©
Généralités 
Structure du 
programme 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Framework, Profils et Plateformes 
• Bibliothèques de classes portables 
• Les éléments d’une application .NET 
 Types 
 Classes 
 Modules 
 Assemblies 
• CTS, Metadonnées, Attributes 
• ILDASM 
• La mémoire : Garbage Collector, Finalize et IDisposable 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Framework, Profils, Plateformes 
Plateformes Versions 
.Net Framework .Net 4 et +, 4.03 et +,4.5 
SilverLight Silverlight 4 et +, 5 
Windows Phone WP7 et +, WP 7.5 et +, WP8 
.Net pour Metro .Net pour Metro 
Xbox 360 - 
Programmer en Visual Basic .NET alphorm.com™©
Bibliothèque de classes portables 
• Bibliothèques de classes utilisables avec plusieurs plateformes 
Programmer en Visual Basic .NET alphorm.com™©
Elements de l’application .NET 
• Types 
 Encapsule les données 
• Classes 
• Modules 
 Contient le IL, compilé par le CLR via le JIT 
 Native Image Generator, ngen 
• Assembly 
 Informations sur l’assembly, une clé si publique, la sécurité, les dépendances 
Programmer en Visual Basic .NET alphorm.com™©
CTS, Métadonneés et attributes 
• Common Type System garantit l’interopérabilité entre langages 
• Les méta données sont compilées dans l’assembly et accompagne le IL 
• Les attributes sont des infos que le développeur injecte 
Programmer en Visual Basic .NET alphorm.com™©
ILDASM 
• Le dés-assembleur peut lire l’assembly compilé 
Programmer en Visual Basic .NET alphorm.com™©
La mémoire 
• Le Garbage Collector est déclenché par le système 
• La finalisation est non déterministe 
• Une interface est proposée pour s’assurer de la libération des 
ressources 
• Il peut être sollicité par GC.Collect(); 
• Il est optimisé et gère des générations d’objets 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Framework, Profils et Plateformes 
• Bibliothèques de classes portables 
• Les éléments d’une application .NET 
 Types 
 Classes 
 Modules 
 Assemblies 
• CTS, Metadonnées, Attributes 
• ILDASM 
• La mémoire : Garbage Collector, Finalize et IDisposable 
Programmer en Visual Basic .NET alphorm.com™©
Généralités 
Syntaxe de base 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Variables : déclaration et typage 
• Les types primitifs 
• Le contrôle du flux d’exécution 
 Conditions : If Then, Select 
 Boucles 
• Les types références 
• Les String 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Variables et déclarations 
• Il faut déclarer les variables 
• Il faut typer les variables 
• Sous le contrôle des options 
Programmer en Visual Basic .NET alphorm.com™©
Les types primitifs 
• Short, Int16, UInt16 : 2 octets 
• Integer, Int32, UInt32 : 4 octets 
• Long, Int64, UInt64 : 8 octets 
• Single : 4 octets 
• Double : 8 octets 
• Decimal : 16 octets 
• Char, Byte et DateTime 
Programmer en Visual Basic .NET alphorm.com™©
Le contrôle du flux d’exécution 
• Les conditions 
 If Then Else 
 Select Case 
• Les boucles 
While - End While 
  For - 
Programmer en Visual Basic .NET alphorm.com™©
Les types références 
• Les types références sont gérés sur le tas 
• Leur cycle de vie est sous contrôle du Garbage Collector 
• Ils sont accessibles par des références 
• Ils n’ont pas de destructeur déterministe 
Programmer en Visual Basic .NET alphorm.com™©
Les String 
• Différentes façons de créer les String 
• SubString 
• PadLeft et PadRight 
• Split 
• Classe immuable 
• Les constantes 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Variables : déclaration et typage 
• Les types primitifs 
• Le contrôle du flux d’exécution 
 Conditions : If Then, Select 
 Boucles 
• Les types références 
• Les String 
Programmer en Visual Basic .NET alphorm.com™©
Généralités 
Compatibilité VB6 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• VB.NET est un nouveau langage 
• Microsoft.VisualBasic 
• Microsoft.VisualBasic.Compatibility.VB6 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
VB.Net est un nouveau langage 
• Langage orienté objets 
• Basé sur le framework .NET 
• Une syntaxe de base VB 
• MAIS des concepts nouveaux 
Programmer en Visual Basic .NET alphorm.com™©
Microsoft.VisualBasic 
• Encapsule des fonctions, énumérations et constantes VB6 
• Considérés comme sûrs à utiliser dans .NET 
• Vous devriez préférer le Framework .NET 
• Stables 
• AppWinStyle, DateFormat, … Collection, Strings… 
Programmer en Visual Basic .NET alphorm.com™©
Microsoft.VisualBasic.Compatibility.VB6 
• Référencé lors d’une mise à niveau de VB6 vers VB.NET 
• Considérés comme obsolètes 
• Pourrait évoluer dans les futures versions de VB.Net 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• VB.NET est un nouveau langage 
• Microsoft.VisualBasic 
• Microsoft.VisualBasic.Compatibility.VB6 
Programmer en Visual Basic .NET alphorm.com™©
Généralités 
Manipuler le GAC 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Le GAC 
• Générer un assembly privé 
• Générer un assembly partagé 
• Livrer dans le GAC 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Le GAC 
• C:WindowsAssembly 
• Ou C:WindowsMicrosoft NETAssembly - V4.0 
• Un répertoire qui contient les DLL utilisées sur ce poste 
• Les assemblys ont des versions : majeur.mineur.build.revision 
Programmer en Visual Basic .NET alphorm.com™©
Générer un assembly privé 
• Un projet correspond à un assembly 
• La DLL doit être dans le répertoire du client 
• Livraison simple par recopie 
Programmer en Visual Basic .NET alphorm.com™©
Générer un assembly partagé 
• Un assembly partagé est signé 
• La clé est référencée par les assemblys clients 
• Générer la clé avec sn.exe 
• Ou bien utiliser Visual Studio 
Programmer en Visual Basic .NET alphorm.com™©
Livrer dans le GAC 
• Un répertoire dans c:windows 
• Recopier dans le répertoire 
• Utiliser gacutil 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Le GAC 
• Générer un assembly privé 
• Générer un assembly partagé 
• Livrer dans le GAC 
Programmer en Visual Basic .NET alphorm.com™©
Généralités 
Espaces de nommage 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Définition d’un espace de nommage 
• Les espaces de nommage de .NET 
• My 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Définition d’un espace de nommage 
• Bloc de code, nommé 
• Isole les types, classes, fonctions … 
• Permet une organisation logique des classes 
• Vous créez vos propres espaces de nommage 
Programmer en Visual Basic .NET alphorm.com™©
Les espaces de nommage .NET 
• Les espaces de nommage sont importés 
• Importation implicite par la boîte de projet 
• Alias d’espaces possible 
• Cas de Microsoft.VisualBasic 
• Importation valable aussi dans ASP.NET 
Programmer en Visual Basic .NET alphorm.com™©
My 
• Pas un vrai espace de nommage 
• Donne un accès rapide à certains objets importants 
• Application, Computer, Forms, Resources, Settings … 
• Plus restreint si ASP.NET 
• Vous pouvez l’étendre … 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Définition d’un espace de nommage 
• Les espaces de nommage de .NET 
• My 
Programmer en Visual Basic .NET alphorm.com™©
Généralités 
Les conventions 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les espaces de nommage 
• Les classes 
• Les méthodes 
• Les champs 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les espaces de nommage 
• Regroupement de classes … 
• Par ensemble logique 
• Par technologie 
• Par entreprise 
Programmer en Visual Basic .NET alphorm.com™©
Les classes 
• Les types que vous manipulez 
• Un nom clair, définissant l’objectif de votre classe 
• Un regroupement de méthodes et de champs 
• Dans un fichier portant son nom 
Programmer en Visual Basic .NET alphorm.com™©
Les méthodes 
• Les traitements associés aux classes 
• Un nom évocateur 
• Un modificateur Sub ou Function 
• Une visibilité 
• Des paramètres clairs 
• Les parenthèses 
Programmer en Visual Basic .NET alphorm.com™©
Les champs 
• Les variables utilisées dans les classes 
• Un nom bien choisi 
• Un type adapté 
• Une visibilité 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les espaces de nommage 
• Les classes 
• Les méthodes 
• Les champs 
Programmer en Visual Basic .NET alphorm.com™©
Généralités 
Les options 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les paramètres de compilation du projet 
• Les options en ligne de commande 
• Les directives de compilation et leurs tests 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les paramètres de génération 
• Le projet 
• Le compilateur 
Programmer en Visual Basic .NET alphorm.com™©
Les options de la ligne de commande 
• Vbc.exe 
Programmer en Visual Basic .NET alphorm.com™©
Les directives et leurs tests 
• Compilation conditionnelle 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les paramètres de compilation du projet 
• Les options en ligne de commande 
• Les directives de compilation et leurs tests 
Programmer en Visual Basic .NET alphorm.com™©
Langage orienté objets 
Concevoir et coder 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les objectifs de l’orienté objets 
• Mettre au même endroit données et traitements 
• Penser interactions entre objets 
• Encapsuler l’implémentation 
• Utiliser le diagramme de classes 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les objectifs de l’orienté objets 
• Favoriser la maintenabilité de l’application 
• Améliorer la réutilisabilité des composants 
• Permettre l’extension des systèmes existants 
• Eviter : fragilité, immobilité, rigidité et … viscosité 
Programmer en Visual Basic .NET alphorm.com™©
Données et traitements 
• Dans une classe : 
 Les données : les champs 
 Les traitements : les méthodes 
• Assurer la cohérence 
• Améliorer la lisibilité 
• Favoriser la réutilisabilité 
Programmer en Visual Basic .NET alphorm.com™©
Penser interactions entre objets 
• Les objets interagissent 
• Ils se connaissent via locales, paramètres ou associations 
• Les méthodes sont courtes 
Programmer en Visual Basic .NET alphorm.com™©
Encapsuler l’implémentation 
• Utiliser les visibilités 
 De privé à public 
• Ne pas montrer les données 
• Exposer plutôt des méthodes 
• Jouer avec les propriétés 
Programmer en Visual Basic .NET alphorm.com™©
Utiliser le diagramme de classes 
• Le diagramme de classe UML 
• Donne une vue globale de votre application 
• Permet de concevoir sans les détails 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les objectifs de l’orienté objets 
• Mettre au même endroit données et traitements 
• Penser interactions entre objets 
• Encapsuler l’implémentation 
• Utiliser le diagramme de classes 
Programmer en Visual Basic .NET alphorm.com™©
Langage orienté objets 
Méthodes et 
constructeurs 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Ecrire et utiliser une méthode 
• Ecrire une propriété 
• Ecrire un constructeur 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Ecrire et utiliser une méthode 
• Une méthode est soit Sub, soit Function 
• Possède ou non des paramètres 
• A une visibilité 
• Correspond à un traitement réalisé par un objet 
Programmer en Visual Basic .NET alphorm.com™©
Ecrire une propriété 
• Une propriété est une méthode dédiée à l’accès à un champ 
• Getter et/ou Setter 
• A une visibilité 
Programmer en Visual Basic .NET alphorm.com™©
Ecrire un constructeur 
• Une méthode d’initialisation 
• Existe par défaut si personne n’en a créé 
• Peut avoir des paramètres 
• A une visibilité 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Ecrire et utiliser une méthode 
• Ecrire une propriété 
• Ecrire un constructeur 
Programmer en Visual Basic .NET alphorm.com™©
Langage orienté objets 
La généralisation 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Définition de la généralisation 
• Conséquence d’héritage 
• La redéfinition des méthodes 
• Le polymorphisme 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Définition de la généralisation 
• Une relations statique entre classes 
• La classe mère : super-classe, classe de base 
• La classe fille : sous-classe, classe dérivée 
• Permet de définir une nouvelle classe qui fournit les mêmes services 
qu’une classe existante, en l’enrichissant si besoin 
Programmer en Visual Basic .NET alphorm.com™©
Conséquence de l’héritage 
• Le type « fils » est considéré comme le « père » 
• Le fils hérite de tout ce que contient le père 
• L’interface du père est présente sur le fils 
Programmer en Visual Basic .NET alphorm.com™©
La redéfinition des méthodes 
• Une méthode de la classe mère est : 
 Normalement héritée 
 Peut être ré-écrite si besoin 
 Il faut le prévoir dans la classe mère 
 Et le spécifier dans la classe fille 
Programmer en Visual Basic .NET alphorm.com™©
Le polymorphisme 
• Le mécanisme permet de déclencher une méthode : 
 Qui doit exister sur la classe mère 
 Qui est redéfinie sur la classe fille 
 Sans connaître la classe fille 
• Essentiel dans l’extension des systèmes 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Définition de la généralisation 
• Conséquence d’héritage 
• La redéfinition des méthodes 
• Le polymorphisme 
Programmer en Visual Basic .NET alphorm.com™©
Langage orienté objets 
Les interfaces 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Définition des interfaces 
• Remarque sur les classes abstraites 
• Implémenter une interface 
• Le polymorphisme avec les interfaces 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Définition d’une interface 
• Une interface : 
 Déclare des méthodes, sans corps 
 Ne peut pas être instanciée 
 Ne possède pas de champs 
• Elle sert à : 
 Définir un contrat 
 Définir un type 
Programmer en Visual Basic .NET alphorm.com™©
Remarque sur les classes abstraites 
• Une classe abstraite est une classe qui ne peut pas être instanciée 
• Une classe abstraite : 
 Contient de l’implémentation 
 Possède des constructeurs 
Programmer en Visual Basic .NET alphorm.com™©
Implémenter une interface 
• Une classe peut implémenter une interface : 
 Elle doit redéfinir chaque méthode 
• Une classe peut implémenter plusieurs interfaces 
• Une interface peut hériter d’une ou plusieurs autres 
Programmer en Visual Basic .NET alphorm.com™©
Le polymorphisme avec les interfaces 
• Il faut redéfinir les méthodes prévues par l’interface 
• On peut référencer un objet via son type interface 
• Le polymorphisme fonctionne avec les interfaces 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Définition des interfaces 
• Remarque sur les classes abstraites 
• Implémenter une interface 
• Le polymorphisme avec les interfaces 
Programmer en Visual Basic .NET alphorm.com™©
Langage orienté objets 
Object 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• La classe Object 
• Les méthodes de Object 
• Le polymorphisme avec Object 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
La classe Object 
• Classe mère de toutes les classes 
• On en hérite directement ou indirectement 
• Possède quelques méthodes d’intérêt général 
• Permet : 
 Un comportement commun minimum 
 Des manipulations standards 
Programmer en Visual Basic .NET alphorm.com™©
Les méthodes de Objet 
• Redéfinissable ou pas 
• Protected : Finalize, MemberwiseClone 
• Et publiques : 
Programmer en Visual Basic .NET alphorm.com™©
Le polymorphisme avec Object 
• Manipuler n’importe quel objets VB.NET en tant que Object 
• Un code quasi universel, très stable 
• Une grande réutilisabilité 
• Une occasion pour la « reflection » 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• La classe Object 
• Les méthodes de Object 
• Le polymorphisme avec Object 
Programmer en Visual Basic .NET alphorm.com™©
Langage orienté objets 
Le type runtime 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• La méthode GetType() 
• Les opérateurs Is et IsNot 
• L’opérateur TypeOf 
• La fonction TryCast 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
La méthode GetType 
• Une méthode de Object 
Programmer en Visual Basic .NET alphorm.com™©
Les opérateurs Is et IsNot 
• Utilisable avec GetType et TypeOf 
Programmer en Visual Basic .NET alphorm.com™©
L’opérateur TypeOf 
• Détection du type d’un objet référencé 
Programmer en Visual Basic .NET alphorm.com™©
La fonction TryCast 
• Essayer de convertir dans un type donné 
• En cas d’échec, la référence vaut Nothing 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• La méthode GetType() 
• Les opérateurs Is et IsNot 
• L’opérateur TypeOf 
• La fonction TryCast 
Programmer en Visual Basic .NET alphorm.com™©
Langage orienté objets 
Les membres partagés 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les champs Shared 
• Les méthodes Shared 
• Un modèle classique : le Singleton 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les champs Shared 
• Mot-clé Shared 
• Une valeur commune à tous les objets de la classe 
• Peut être de n’importe quelle visibilité 
Programmer en Visual Basic .NET alphorm.com™©
Les méthodes Shared 
• Mot-clé Shared 
• Méthode commune à tous les objets de la classe 
• Méthode appelée sur la classe 
Programmer en Visual Basic .NET alphorm.com™©
Un modèle classique : le Singleton 
• Un accès global 
• Une création à la demande 
• Une garantie de l’unicité de 
l’instance 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les champs Shared 
• Les méthodes Shared 
• Un modèle classique : le Singleton 
Programmer en Visual Basic .NET alphorm.com™©
Délégués et Events 
Les délégués 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Appeler une fonction sans la connaître 
• Déclaration d’un délégué 
• Appel de la méthode 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Appeler une fonction sans la connaître 
• Une partie de l’application doit déclencher une méthode 
• Cette méthode est située dans une autre partie 
• Que la première ne doit pas connaître 
• Eviter les dépendances cycliques 
Programmer en Visual Basic .NET alphorm.com™©
Déclaration d’un délégué 
Delegate Sub unefonction(ByVal s As String) 
Sub Affiche(ByVal s As String) 
Console.WriteLine(Voici le message   s) 
End Sub 
Programmer en Visual Basic .NET alphorm.com™©
Appel de la méthode 
Dim d As unefonction 
‘ 
d = AddressOf Affiche 
‘on 
d.Invoke(coucou) 
‘et n fait une invocation dynamique 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Appeler une fonction sans la connaître 
• Déclaration d’un délégué 
• Appel de la méthode 
Programmer en Visual Basic .NET alphorm.com™©
Délégués et Events 
Les « Events » 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Emetteur de l’événement 
• Récepteur de l’événement 
• Emission/Réception 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Emetteur de l’événement 
Public Class Emetteur 
Public Event Click(ByVal msg As String) 
Public Sub Declenche() 
RaiseEvent Click(Bouton cliqué) 
End Sub 
End Class 
Programmer en Visual Basic .NET alphorm.com™©
Récepteur de l’événement 
Public Class Recepteur 
Private WithEvents c As Emetteur 
Public Sub New(ByVal cc As Emetteur) 
c = cc 
End Sub 
Public Sub ClickGere(ByVal s As String) Handles c.Click 
Console.WriteLine(Je gère le clic sur le bouton   s) 
End Sub 
End Class 
Programmer en Visual Basic .NET alphorm.com™©
Emission/Réception 
Dim c As Emetteur = New Emetteur 
Dim gc As Recepteur = New Recepteur(c) 
c.Declenche() 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Emetteur de l’événement 
• Récepteur de l’événement 
• Emission/Réception 
Programmer en Visual Basic .NET alphorm.com™©
Les opérateurs 
Les opérateurs 
arithmétiques 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Opérateurs arithmétiques 
• Opérateurs de comparaisons 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Opérateurs arithmétiques 
Programmer en Visual Basic .NET alphorm.com™©
Opérateurs de comparaisons 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Opérateurs arithmétiques 
• Opérateurs de comparaisons 
Programmer en Visual Basic .NET alphorm.com™©
Les opérateurs 
Indexeurs et 
conversions 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Un indexeur 
• Les conversions 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Un indexeur 
Programmer en Visual Basic .NET alphorm.com™©
Les conversions 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Un indexeur 
• Les conversions 
Programmer en Visual Basic .NET alphorm.com™©
Les collections 
Collections séquentielles 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les classes génériques 
• Fonctionnement de List(Of T) 
• List(Of T) et prédicats 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les classes génériques 
• Une famille de classe 
• Le code est généré au moment de l’utilisation 
• La génération est paramétrée 
Programmer en Visual Basic .NET alphorm.com™©
Fonctionnement de List(Of T) 
Dim dinosaurs As New List(Of String) 
dinosaurs.Add(Tyrannosaurus) 
dinosaurs.Add(Amargasaurus) 
dinosaurs.Add(Mamenchisaurus) 
dinosaurs.Add(Deinonychus) 
dinosaurs.Add(Compsognathus) 
For Each dinosaur As String In dinosaurs 
Console.WriteLine(dinosaur) 
… 
Next 
Programmer en Visual Basic .NET alphorm.com™©
List(Of T) et prédicats 
• List. FindAll(Pred) 
• Accept une méthode en paramètre 
 Par délégué 
• Une méthode anonyme 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les classes génériques 
• Fonctionnement de List(Of T) 
• List(Of T) et prédicats 
Programmer en Visual Basic .NET alphorm.com™©
Les collections 
Collections associatives 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• System.Collections : Hashtable 
• System.Collections.Generic : Dictionary (Of K, V) 
• Collections triées : SortedDictionary (Of K, V) 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
System.Collection 
• Collections non génériques 
• Une collection contient des Object 
• Hashtable représente le tableau associatif 
Programmer en Visual Basic .NET alphorm.com™©
System.Collections.Generic 
• Dictionary (Of K, V) est l’archétype des associatifs 
• Implémenté en hashtable 
• Non thread-safe 
Programmer en Visual Basic .NET alphorm.com™©
Collection triée : SortedDictionary 
• SortedDictionary ( Of K, V) 
• Implémenté comme un arbre binaire équilibré 
• Les clés sont comparées par un objet IComparer ( Of K) 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• System.Collections : Hashtable 
• System.Collections.Generic : Dictionary (Of K, V) 
• Collections triées : SortedDictionary (Of K, V) 
Programmer en Visual Basic .NET alphorm.com™©
Les threads 
Créer des threads 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• System.Threading.Thread 
• Thread.Join 
• Start/Abort/Sleep 
• Une autre classe : BackgroundWorker 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
System.Threading.Thread 
Programmer en Visual Basic .NET alphorm.com™©
Thread.Join() 
Programmer en Visual Basic .NET alphorm.com™©
Start, Sleep, Abort 
• Start : démarre 
• Abort : tente d’arrêter 
• Sleep : bloque 
Programmer en Visual Basic .NET alphorm.com™©
Autre classe 
• System.ComponentModel.BackgroundWorker 
 Démarre une tâche 
 On écoute des événements : progression, fin, … 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• System.Threading.Thread 
• Thread.Join 
• Start/Abort/Sleep 
• Une autre classe : BackgroundWorker 
Programmer en Visual Basic .NET alphorm.com™©
Les threads 
Synchroniser des threads 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Le problème des accès simultanés 
• La synchronisation par attente d’un événement 
• La synchronisation par section critique 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Le problème des accès simultanés 
• Les threads partagent la mémoire 
• Lorsque 2 threads accèdent à la même donnée 
• Il veulent la modifier/l’exploiter 
Programmer en Visual Basic .NET alphorm.com™©
Synchronisation par événement 
• Il faut mettre le thread en attente sur un signalement 
• Un autre thread va signaler 
• Possibilités réelles de blocage 
Programmer en Visual Basic .NET alphorm.com™©
La synchronisation par section critique 
• SyncLock 
• Doit s’utiliser sur un type référence uniquement 
• Empêche un Thread de rentrer si un exécute déjà le code 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Le problème des accès simultanés 
• La synchronisation par attente d’un événement 
• La synchronisation par section critique 
Programmer en Visual Basic .NET alphorm.com™©
Winforms 
Créer un formulaire 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Créer un formulaire 
• L’objet formulaire 
• Les contrôles dans le formulaire 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Créer un formulaire 
• Utiliser l’éditeur graphique 
• Les formulaires Windows sont décrits en VB.NET 
Programmer en Visual Basic .NET alphorm.com™©
L’objet formulaire 
• Une classe dérivant de Form 
• Des méthodes 
• Des événements 
Programmer en Visual Basic .NET alphorm.com™©
Les contrôles de formulaire 
• Nombreux, disposés dans la boîte à outils 
• Et des composants non graphiques 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Créer un formulaire 
• L’objet formulaire 
• Les contrôles dans le formulaire 
Programmer en Visual Basic .NET alphorm.com™©
Winforms 
Traiter les événements 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Traiter le Load du formulaire 
• Gérer un événement sur un contrôle 
• Réagir à la sélection sur une liste 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Traiter le Load du formulaire 
• Après le constructeur du formulaire 
• Handles Load 
Programmer en Visual Basic .NET alphorm.com™©
Gérer un événement sur un contrôle 
• Associer le contrôle au gestionnaire 
 Par la feuille de propriétés 
 En double-cliquant 
Programmer en Visual Basic .NET alphorm.com™©
Réagir à la sélection sur une liste 
• Associer l’événement 
• Détecter l’item sélectionner 
• Réagir 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Traiter le Load du formulaire 
• Gérer un événement sur un contrôle 
• Réagir à la sélection sur une liste 
Programmer en Visual Basic .NET alphorm.com™©
Winforms 
Utiliser le DataBinding 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Pour lier un élément graphique à une donnée 
• Ouvrir un second formulaire 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Le databinding 
• Une source de données 
• Un élément graphique 
• Le lien entre les deux 
Programmer en Visual Basic .NET alphorm.com™©
Ouvrir un second formulaire 
• Gérer un événement 
• Créer un objet formulaire 
• Le rendre visible 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Pour lier un élément graphique à une donnée 
• Ouvrir un second formulaire 
Programmer en Visual Basic .NET alphorm.com™©
Les fichiers 
Le système de fichiers 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• FileInfo/DirectoryInfo ou File/Directory 
• Parcours d’un répertoire 
• Examen d’un fichier 
• FileSystemWatcher 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
FileInfo/DirectoryInfo ou File/Directory 
Programmer en Visual Basic .NET alphorm.com™©
Parcours d’un répertoire 
• Avec DirectoryInfo (ou bien Directory), récupération d’informations 
 GetFiles, GetDirectories 
 Create, CreateSubDirectory 
 … 
Programmer en Visual Basic .NET alphorm.com™©
Examen d’un fichier 
• FileInfo (ou bien File) 
Programmer en Visual Basic .NET alphorm.com™©
FileSystemWatcher 
• Gère des événements sur modification d’un répertoire 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• FileInfo/DirectoryInfo ou File/Directory 
• Parcours d’un répertoire 
• Examen d’un fichier 
• FileSystemWatcher 
Programmer en Visual Basic .NET alphorm.com™©
Les fichiers 
Ouvrir et lire un fichier 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les flux 
• Ouvrir un fichier binaire/texte 
• Lire un fichier binaire/texte 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les flux 
Programmer en Visual Basic .NET alphorm.com™©
Ouvrir un fichier binaire/texte 
• Créer explicitement chaque objet 
• Passer par des méthodes de fabrication 
Programmer en Visual Basic .NET alphorm.com™©
Lire un fichier binaire/texte 
• Le fichier texte : encodage ASCII 
• Le fichier binaire 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les flux 
• Ouvrir un fichier binaire/texte 
• Lire un fichier binaire/texte 
Programmer en Visual Basic .NET alphorm.com™©
Les fichiers 
La sérialisation 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Le flux de sérialisation et les contraintes 
• Le flux binaire 
• Le flux texte XML 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Le flux de sérialisation 
• Arrange des objets dans un flux 
• Les classes correspondantes doivent être « Serializable » 
• Les champs sont automatiquement sérialisés 
• Il est possible d’empêcher la sérialisation d’un champ 
Programmer en Visual Basic .NET alphorm.com™©
Le flux binaire 
• System.Runtime.Serialisation.Formatters.Binary.BinaryFormatter 
Dim sw As FileStream 
sw = File.Create(documents.dat) 
Dim xs As BinaryFormatter 
xs = New BinaryFormatter() 
xs.Serialize(sw, obj) ‘ Obj est la référence sur l’objet à sérialiser 
sw.Close() 
Programmer en Visual Basic .NET alphorm.com™©
Le flux texte XML 
• System.Xml.Serialization.XmlSerializer 
• System.Runtime.Serialisation.Formatters.Soap.SoapFormatter 
Dim sw As FileStream 
sw = File.Create(documents.dat) 
Dim xs As SoapFormatter 
xs = New SoapFormatter() 
xs.Serialize(sw, obj) ‘ Obj est la référence sur l’objet à sérialiser 
sw.Close() 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Le flux de sérialisation et les contraintes 
• Le flux binaires 
• Le flux texte XML 
Programmer en Visual Basic .NET alphorm.com™©
Les exceptions 
Gérer les exceptions 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Intérêt des exceptions 
•Mots-clés Try/Catch/Finally pour gérer une exception 
•Mot-clé Throw pour lever une exception 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Intérêt des exceptions 
• Gérer les erreurs exceptionnelles 
• Remonte la pile des appels 
• Sépare le code nominal du code de gestion d’erreurs 
• Fonctionne même sans retour de fonction 
• Le framework communique les erreurs via des exceptions 
Programmer en Visual Basic .NET alphorm.com™©
Mots-clés Try/Catch/Finally 
• Encadre le code qui peut lever une exception 
• Finally optionnel 
• Plusieurs Catch possibles 
Programmer en Visual Basic .NET alphorm.com™©
Mot-clé Throw pour lever une exception 
• Signale une erreur 
• Plutôt code bas-niveau 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Intérêt des exceptions 
•Mots-clés Try/Catch/Finally pour gérer une exception 
•Mot-clé Throw pour lever une exception 
Programmer en Visual Basic .NET alphorm.com™©
Les exceptions 
Créer ses propres 
exceptions 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Une classe d’exception hérite de Exception 
• Les méthodes de Exception 
• Réinterpréter les exceptions 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Une classe d’exception 
• Simplement hériter de Exception ou ApplicationException 
Programmer en Visual Basic .NET alphorm.com™©
Les méthodes de Exception 
• Message 
• ToString 
Programmer en Visual Basic .NET alphorm.com™©
Réinterpréter les exceptions 
• Attraper une exception et relancer un autre objet, plus facilement 
interprétable par l’utilisateur 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Une classe d’exception hérite de Exception 
• Les méthodes de Exception 
• Réinterpréter les exceptions 
Programmer en Visual Basic .NET alphorm.com™©
Les bases de données 
Mode connecté 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les classes essentielles 
• Récupération de la connexion 
• DbCommand 
• DbDataReader 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les classes essentielles 
Classes Description 
SqlCommand, OleDbCommand, 
ODBCCommand 
Encapsulation de commandes 
SQL ou de procédures stockées 
SqlCommandBuilder 
(OleDb/ODBC) 
Générateur de commandes SQL à 
partir du SELECT 
SqlConnection (OleDb/ODBC) Connexion 
SqlDataAdapter (OleDb/ODBC) Contient des commandes, gère la 
mise à jour du dataset ET de la 
database 
SqlDataReader (OleDb/ODBC) Curseur sur une base connectée 
SqlParameter (OleDb/ODBC) Paramètres à fournir au SQL 
SqlTransaction (OleDb/ODBC) Transaction de BD 
Programmer en Visual Basic .NET alphorm.com™©
Récupération de la connexion 
• La forme de la chaîne de connexion dépend du fournisseur 
Programmer en Visual Basic .NET alphorm.com™©
DbCommand 
Programmer en Visual Basic .NET alphorm.com™©
DbDataReader 
• Table de résultat et curseur 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les classes essentielles 
• Récupération de la connexion 
• DbCommand 
• DbDataReader 
Programmer en Visual Basic .NET alphorm.com™©
Les bases de données 
Mode déconnecté 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les classes essentielles 
• DataSet et DbDataAdapter 
•Modèle commun 
• Paramétrer le fournisseur 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les classes essentielles 
Classe Description 
DataSet Contient des DataTables 
DataTable Contient colonnes et lignes 
DataRow Valeur dans la table 
DataColumn Colonne dans la table 
DataRelation Lien entre deux tables 
Constraint Règle de colonne 
Programmer en Visual Basic .NET alphorm.com™©
Dataset et DBDataAdapter 
• DataSet a une existence en mémoire 
• Peut être généré sous forme XML 
Programmer en Visual Basic .NET alphorm.com™©
Modèle commun des fournisseurs 
• Eviter de dépendre de Sql- ou OleDb- X 
• Donner une chaîne de caractères qui représente le fournisseur 
Programmer en Visual Basic .NET alphorm.com™©
Paramétrer le fournisseur 
• App.config ou Web.config 
• Trouver la factory 
• Utiliser la factory 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les classes essentielles 
• DataSet et DbDataAdapter 
•Modèle commun 
• Paramétrer le fournisseur 
Programmer en Visual Basic .NET alphorm.com™©
Les méta-données 
Utiliser les attributes 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Placer les attributs 
• Paramètres et cibles d’attributs 
• Utilisations courantes des attributs 
• Quelques attributs 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Placer les attributs 
• Avant une classe 
• Avant une méthode 
• Avant des paramètres 
Programmer en Visual Basic .NET alphorm.com™©
Paramètres et cibles d’attributs 
• Paramètres 
• Cibles 
Programmer en Visual Basic .NET alphorm.com™©
Utilisations courantes 
• WebMethod pour les services web 
• Décrire l’interopération avec le code natif 
• Décrire les propriété COM de classes 
• Appelé du code non managé 
• Décrire un assembly 
• Désigner les classes à sérialiser 
• Définir les conditions de sécurité 
• … 
Programmer en Visual Basic .NET alphorm.com™©
Quelques attributs 
• Globaux 
 AssemblyName, AssemblyVersion 
• Obsolete 
• Conditional 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Placer les attributs 
• Paramètres et cibles d’attributs 
• Utilisations courantes des attributs 
• Quelques attributs 
Programmer en Visual Basic .NET alphorm.com™©
Les méta-données 
Créer un attribut 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Créer un nouvel attribut 
• Utiliser un attribut 
• Découvrir un attribut 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Créer un nouvel attribut 
• Créer une classe héritant de Attribute 
Programmer en Visual Basic .NET alphorm.com™©
Utiliser un attribut 
• Si usage unique 
• Ou multiple 
Programmer en Visual Basic .NET alphorm.com™©
Découvrir un attribut 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Créer un nouvel attribut 
• Utiliser un attribut 
• Découvrir un attribut 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
Créer un projet 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les projets site Web 
• Un projet WebForms 
• Un projet MVC 
• Un projet Web API 
• L’exécution du projet Web 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les projets Site Web 
• Ajouté depuis VS 2005 
• Structure de répertoire qui reflète le site 
Programmer en Visual Basic .NET alphorm.com™©
Un projet Web Forms 
• Une structure standard 
• Un master fournissant une présentation standardisée 
Programmer en Visual Basic .NET alphorm.com™©
Un projet MVC 
• Améliore les séparations des responsabilités, la testabilité 
Programmer en Visual Basic .NET alphorm.com™©
Un projet Web API 
• Version Microsoft des services RESTful 
Programmer en Visual Basic .NET alphorm.com™©
L’exécution du projet Web 
• IIS Express par défaut pour les applications Web 
• ASP.NET Development Server pour les Website Projects 
• IIS 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Il y a plusieurs types de projets en rapport avec le Web 
• Un projet Web organise les fichiers de façon particulière 
• Plusieurs méthodes d’authentification sont disponibles 
• Nous avons décrit les projets WebForms, MVC, et Web API 
• L’exécution du projet Web peut se faire localement, à des fins de test 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
Créer un formulaire 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• La création du projet application Web ASP.NET 
• Utilisation des onglets de l’éditeur VS 
• Le formatage du texte, feuille de propriétés 
• L’ajout de contrôles dans le formulaire 
• L’examen du code HTML correspondant 
• Le code de rappel 
• L’exécution de la page 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
La création du projet 
Programmer en Visual Basic .NET alphorm.com™©
L’utilisation des onglets de l’éditeur VS 
Programmer en Visual Basic .NET alphorm.com™©
Le formatage du texte 
Programmer en Visual Basic .NET alphorm.com™©
L’ajout de contrôles dans le formulaire 
Programmer en Visual Basic .NET alphorm.com™©
L’examen du code HTML 
Programmer en Visual Basic .NET alphorm.com™©
Le code de rappel 
Programmer en Visual Basic .NET alphorm.com™©
L’exécution de la page 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• La création du formulaire WebForms se fait dans un projet application Web ASP.NET 
• L’éditeur VS permet de créer l’interface Web à la façon d’une application lourde traditionnelle 
• L’ajout de contrôles dans le formulaire est très simple et ergonomique 
• Le code HTML est visible en direct 
• Le code de rappel est codé directement en VB.NET 
• L’exécution de la page se fait très simplement, cela favorise le déboggage 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
Utiliser le codebehind 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Utilisation du projet Web Forms généré par défaut 
• Affichage d’un contenu de base de données 
• Navigation entre pages 
• Validation d’un formulaire 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Utilisation du projet Web Forms 
• Dans les fichiers générés : 
 Le HTML est dans les fichier aspx 
 Le code VB.NET est dans aspx.vb 
Programmer en Visual Basic .NET alphorm.com™©
Affichage du contenu de la base 
• Une ListBox, chargée dans le Load 
Programmer en Visual Basic .NET alphorm.com™©
Navigation entre pages 
• Une page = une classe 
• Gestion d’événements à la façon traditionnelle 
Programmer en Visual Basic .NET alphorm.com™©
Validation d’un formulaire 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Utilisation du projet Web Forms généré par défaut 
• Affichage d’un contenu de base de données 
• Navigation entre pages 
• Validation d’un formulaire 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
Global.asax et 
HttpModule 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• L’application 
• Les modules HTTP 
•Résumé 
Programmer en Visual Basic .NET alphorm.com™©
L’application 
• Données de niveau application 
• Evénements de niveau application 
• Le fichier global.asax 
• Accompagne une applciation 
Programmer en Visual Basic .NET alphorm.com™©
Les modules HTTP 
• Web.config 
• Créer un module HTTP, lui faire hériter de IHttpModule 
• Réaliser Init et Dispose 
• Code commun à plusieurs applications 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• L’application 
• Les modules HTTP 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
Webservices 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
•Créer un service web 
•Consommer un service web 
•Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Créer un service web 
• Page .asmx 
• Attribut WebService 
• Attribut WebMethod 
Programmer en Visual Basic .NET alphorm.com™©
Consommer un service web 
• Ajout de références de services 
• La génération d’un proxy 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Créer un service web 
• Consommer un service web 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
Gérer les erreurs 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• La page jaune d’erreur d’exception 
• La page jaune d’erreur runtime 
• La page d’erreur personnalisée 
•Résumé 
Programmer en Visual Basic .NET alphorm.com™©
La page jaune d’erreur d’exception 
• Une page avec tous les détails 
• Affichée au développeur 
Programmer en Visual Basic .NET alphorm.com™©
La page jaune d’erreur runtime 
• Affichée lors d’une connexion à distance 
Programmer en Visual Basic .NET alphorm.com™©
Une page d’erreur personnalisée 
• Une page qui est adaptée à l’application 
• Utilisée conjointement avec « RemoteOnly » 
• Il est possible d’avoir plusieurs pages d’erreur, par code 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• La page jaune d’erreur d’exception 
• La page jaune d’erreur runtime 
• La page d’erreur personnalisée 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
Les contrôles serveur 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
•Créer un contrôle utilisateur 
•Modifier le rendu du contrôle 
•Emettre un événement 
• Le rôle de viewstate 
•Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Créer un contrôle utilisateur 
• Une classe héritant de WebControl 
• Propriété Text et méthode RenderControl 
Programmer en Visual Basic .NET alphorm.com™©
Modifier le rendu contrôle 
• Réécrire RenderContent 
• Générer du HTML 
• Eventuellement utiliser HtmlTextWriter 
Programmer en Visual Basic .NET alphorm.com™©
Emettre un événement 
• Un contrôle peut proposer un événement 
• Cet événement peut signaler une modification de la propriété 
Programmer en Visual Basic .NET alphorm.com™©
Le rôle de ViewState 
• L’état du contrôle est perdu entre 2 post 
• ViewState est un dictionnaire qui stocke l’état du contrôle 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Créer un contrôle utilisateur 
• Modifier le rendu du contrôle 
• Emettre un événement 
• Le rôle de viewstate 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
Les contrôles de 
validation 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les différents contrôles de validation 
•Utilisation des contrôles de validation 
•Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les différents types de contrôles 
• 6 contrôles de validation 
• Propriétés ErrorMessage et ControlToValidate 
• Peuvent contrôler des contrôles classiques … 
Programmer en Visual Basic .NET alphorm.com™©
Utilisation des contrôles 
• Créer un contrôle classique 
• Préparer la validation du formulaire 
• Placer les contrôles de validation 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les différents contrôles de validation 
• Utilisation des contrôles de validation 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
Les scriptlets 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les blocs de code incorporé 
• Les affichages d’expressions 
• Les directives 
• Les liaisons de données 
• Les générateurs d’expressions 
• Les commentaires 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les blocs de code incorporé 
• % … % 
• Placer du code dans le HTLM 
• Pour compatibilité avec ASP 
Programmer en Visual Basic .NET alphorm.com™©
Les affichages d’expressions 
• %= … % 
• Equivalent d’un seul Response.Write 
Programmer en Visual Basic .NET alphorm.com™©
Les directives 
• % @ … % 
• @Page : spécifie les attributs de page Web Forms 
• @Control : spécifie les attributs de contrôle utilisateur 
• @Import : importe un espace de noms 
• @Register : enregistre un préfixe de contrôle utilisateur 
• @Master : page maître 
Programmer en Visual Basic .NET alphorm.com™©
Les liaisons de données 
• % # …% 
• Lie une propriété de contrôle de serveur et une source de données 
Programmer en Visual Basic .NET alphorm.com™©
Les générateurs d’expressions 
• Définit la valeur de propriété comme issue de la configuration 
Programmer en Visual Basic .NET alphorm.com™©
Les commentaires 
• Les commentaire côté serveur 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les blocs de code incorporé 
• Les affichages d’expressions 
• Les directives 
• Les liaisons de données 
• Les générateurs d’expressions 
• Les commentaires 
Programmer en Visual Basic .NET alphorm.com™©
ASP.NET 
Web.config 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Les fichiers de config 
•Sections 
•Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Les fichiers de config 
• Machine.config 
• Web.config global 
• Web.config de l’application 
Programmer en Visual Basic .NET alphorm.com™©
Les sections 
• Compilation : 
• Custom errors 
• Authentification : 
• Chaînes de connexion : 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Les fichiers de config 
• Sections 
Programmer en Visual Basic .NET alphorm.com™©
WPF 
Le formulaire WPF 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• L’éditeur graphique 
• Le formulaire en XML 
• Les contrôles WPF 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
L’éditeur graphique 
• Un outil de création semblable à Windows Form 
Programmer en Visual Basic .NET alphorm.com™©
Le formulaire en XML 
• Le formulaire est exporté en XML 
• Dialecte XAML 
Programmer en Visual Basic .NET alphorm.com™©
Les contrôles WPF 
• Blend 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• L’éditeur graphique 
• Le formulaire en XML 
• Les contrôles WPF 
Programmer en Visual Basic .NET alphorm.com™©
WPF 
Utiliser le databinding 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Le databinding 
• Binding entre éléments graphiques 
• Données vers Contrôle 
• Binding birectionnel 
• Résumé 
Programmer en Visual Basic .NET alphorm.com™©
Le databinding 
• Un moyen de lier les contrôles aux données 
• Ne pas avoir à gérer les mises à jour de l’un ou de l’autre 
• Fonctionne comme un modèle observateur 
• Peut fonctionner entre contrôles du formulaire 
Programmer en Visual Basic .NET alphorm.com™©
Binding entre éléments graphiques 
• Binding entre deux propriétés Text 
Programmer en Visual Basic .NET alphorm.com™©
Données vers contrôle 
Programmer en Visual Basic .NET alphorm.com™©
Mise à jour 
Programmer en Visual Basic .NET alphorm.com™©
Binding bi-directionnel 
• Les modes possibles : OneWay, TwoWay, OneTime, OneWayToSource 
• Avec TwoWay, modifiant le TextBox, je modifie la donnée 
Programmer en Visual Basic .NET alphorm.com™©
Ce qu’on a couvert 
• Le databinding 
• Binding entre éléments graphiques 
• Données vers Contrôle 
• Binding birectionnel 
Programmer en Visual Basic .NET alphorm.com™©
VB.NET 
Conclusion 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Fabien Brissonneau 
Consultant, concepteur et formateur 
Objets Logiciels 
Contact : fabien.brissonneau@gmail.com 
Programmer en Visual Basic .NET alphorm.com™©
Plan 
• Nous avons présenté VB.NET 
• Langage universel 
• L’avenir 
Programmer en Visual Basic .NET alphorm.com™©
Nous avons présenté VB.NET 
• Un langage héritier de VB et des langages objets 
• Intégré à la plateforme dot-net 
• Doit être utilisé comme un langage orienté objet 
•Manipule les mêmes concepts que son voisin C# 
Programmer en Visual Basic .NET alphorm.com™©
VB.NET est un langage universel 
• VB.Net s’appuie sur la puissance du framework .Net 
• Il peut être utilisé pour tout type d’application 
• Nous avons montré les applications console, fenêtres, asp.net et 
webservices 
Programmer en Visual Basic .NET alphorm.com™©
L’avenir … 
• L’avenir de VB.Net est lié à celui de la plateforme 
• Une utilisation de plus en plus large 
• Tant sur mobiles que serveurs 
Programmer en Visual Basic .NET alphorm.com™©

Contenu connexe

Tendances

Alphorm.com Formation MySQL Administration(1Z0-883)
Alphorm.com   Formation MySQL Administration(1Z0-883)Alphorm.com   Formation MySQL Administration(1Z0-883)
Alphorm.com Formation MySQL Administration(1Z0-883)Alphorm
 
alphorm.com - Formation Configuration de SharePoint 2010 (70-667)
alphorm.com - Formation Configuration de SharePoint 2010 (70-667)alphorm.com - Formation Configuration de SharePoint 2010 (70-667)
alphorm.com - Formation Configuration de SharePoint 2010 (70-667)Alphorm
 
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...Alphorm
 
Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm
 
Alphorm.com Formation Java,avancé OCP (1Z0-804)
Alphorm.com Formation Java,avancé OCP (1Z0-804)Alphorm.com Formation Java,avancé OCP (1Z0-804)
Alphorm.com Formation Java,avancé OCP (1Z0-804)Alphorm
 
Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com Support de la Formation Azure Iaas avancé 2Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com Support de la Formation Azure Iaas avancé 2Alphorm
 
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm
 
Alphorm.com Formation knockoutJS
Alphorm.com Formation knockoutJSAlphorm.com Formation knockoutJS
Alphorm.com Formation knockoutJSAlphorm
 
Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...Alphorm
 
Alphorm.com Formation OS X 10.11 Server El Capitan, Les fondamentaux
Alphorm.com Formation OS X 10.11 Server El Capitan, Les fondamentauxAlphorm.com Formation OS X 10.11 Server El Capitan, Les fondamentaux
Alphorm.com Formation OS X 10.11 Server El Capitan, Les fondamentauxAlphorm
 
alphorm.com - Formation Configuration Exchange 2010 (70-662)
alphorm.com - Formation Configuration Exchange 2010 (70-662)alphorm.com - Formation Configuration Exchange 2010 (70-662)
alphorm.com - Formation Configuration Exchange 2010 (70-662)Alphorm
 
Alphorm.com-Formation windows 2012 (70-410)
Alphorm.com-Formation windows 2012 (70-410)Alphorm.com-Formation windows 2012 (70-410)
Alphorm.com-Formation windows 2012 (70-410)Alphorm
 
Alphorm.com Formation MOS Access 2013 (77-424)
Alphorm.com Formation MOS Access 2013 (77-424)Alphorm.com Formation MOS Access 2013 (77-424)
Alphorm.com Formation MOS Access 2013 (77-424)Alphorm
 
alphorm.com - Formation VMware PowerCLI 5.0
alphorm.com - Formation VMware PowerCLI 5.0alphorm.com - Formation VMware PowerCLI 5.0
alphorm.com - Formation VMware PowerCLI 5.0Alphorm
 
Alphorm.com Formation Office 365 Avancé
Alphorm.com Formation Office 365 AvancéAlphorm.com Formation Office 365 Avancé
Alphorm.com Formation Office 365 AvancéAlphorm
 
Alphorm.com Support Formation SCOM 2012 R2, les fondamentaux
Alphorm.com Support Formation SCOM 2012 R2, les fondamentauxAlphorm.com Support Formation SCOM 2012 R2, les fondamentaux
Alphorm.com Support Formation SCOM 2012 R2, les fondamentauxAlphorm
 
Alphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et ConfigurationAlphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et ConfigurationAlphorm
 
Alphorm.com Formation Lync Server 2013 (70-336)
Alphorm.com Formation Lync Server 2013 (70-336)Alphorm.com Formation Lync Server 2013 (70-336)
Alphorm.com Formation Lync Server 2013 (70-336)Alphorm
 
Alphorm formation OS X 10.11 Client El Capitan
Alphorm formation OS X 10.11 Client El CapitanAlphorm formation OS X 10.11 Client El Capitan
Alphorm formation OS X 10.11 Client El CapitanAlphorm
 

Tendances (20)

Alphorm.com Formation MySQL Administration(1Z0-883)
Alphorm.com   Formation MySQL Administration(1Z0-883)Alphorm.com   Formation MySQL Administration(1Z0-883)
Alphorm.com Formation MySQL Administration(1Z0-883)
 
alphorm.com - Formation Configuration de SharePoint 2010 (70-667)
alphorm.com - Formation Configuration de SharePoint 2010 (70-667)alphorm.com - Formation Configuration de SharePoint 2010 (70-667)
alphorm.com - Formation Configuration de SharePoint 2010 (70-667)
 
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
 
Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux
 
Alphorm.com Formation Java,avancé OCP (1Z0-804)
Alphorm.com Formation Java,avancé OCP (1Z0-804)Alphorm.com Formation Java,avancé OCP (1Z0-804)
Alphorm.com Formation Java,avancé OCP (1Z0-804)
 
Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com Support de la Formation Azure Iaas avancé 2Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com Support de la Formation Azure Iaas avancé 2
 
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateur
 
Alphorm.com Formation knockoutJS
Alphorm.com Formation knockoutJSAlphorm.com Formation knockoutJS
Alphorm.com Formation knockoutJS
 
Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...
 
Alphorm.com Formation OS X 10.11 Server El Capitan, Les fondamentaux
Alphorm.com Formation OS X 10.11 Server El Capitan, Les fondamentauxAlphorm.com Formation OS X 10.11 Server El Capitan, Les fondamentaux
Alphorm.com Formation OS X 10.11 Server El Capitan, Les fondamentaux
 
alphorm.com - Formation Configuration Exchange 2010 (70-662)
alphorm.com - Formation Configuration Exchange 2010 (70-662)alphorm.com - Formation Configuration Exchange 2010 (70-662)
alphorm.com - Formation Configuration Exchange 2010 (70-662)
 
Alphorm.com-Formation windows 2012 (70-410)
Alphorm.com-Formation windows 2012 (70-410)Alphorm.com-Formation windows 2012 (70-410)
Alphorm.com-Formation windows 2012 (70-410)
 
Alphorm.com Formation MOS Access 2013 (77-424)
Alphorm.com Formation MOS Access 2013 (77-424)Alphorm.com Formation MOS Access 2013 (77-424)
Alphorm.com Formation MOS Access 2013 (77-424)
 
alphorm.com - Formation VMware PowerCLI 5.0
alphorm.com - Formation VMware PowerCLI 5.0alphorm.com - Formation VMware PowerCLI 5.0
alphorm.com - Formation VMware PowerCLI 5.0
 
Alphorm.com Formation Office 365 Avancé
Alphorm.com Formation Office 365 AvancéAlphorm.com Formation Office 365 Avancé
Alphorm.com Formation Office 365 Avancé
 
Alphorm.com Support Formation SCOM 2012 R2, les fondamentaux
Alphorm.com Support Formation SCOM 2012 R2, les fondamentauxAlphorm.com Support Formation SCOM 2012 R2, les fondamentaux
Alphorm.com Support Formation SCOM 2012 R2, les fondamentaux
 
Alphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et ConfigurationAlphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et Configuration
 
Alphorm.com Formation Lync Server 2013 (70-336)
Alphorm.com Formation Lync Server 2013 (70-336)Alphorm.com Formation Lync Server 2013 (70-336)
Alphorm.com Formation Lync Server 2013 (70-336)
 
Alphorm formation OS X 10.11 Client El Capitan
Alphorm formation OS X 10.11 Client El CapitanAlphorm formation OS X 10.11 Client El Capitan
Alphorm formation OS X 10.11 Client El Capitan
 

En vedette

Alphorm.com Support de la formation Programmer en C# avec visual studio 2015
Alphorm.com Support de la formation Programmer en C# avec visual studio 2015Alphorm.com Support de la formation Programmer en C# avec visual studio 2015
Alphorm.com Support de la formation Programmer en C# avec visual studio 2015Alphorm
 
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm
 
Alphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm
 
Alphorm.com Support VMware vSphere 6, Le réseau virtuel
Alphorm.com Support VMware vSphere 6, Le réseau virtuelAlphorm.com Support VMware vSphere 6, Le réseau virtuel
Alphorm.com Support VMware vSphere 6, Le réseau virtuelAlphorm
 
alphorm.com - Formation Windows 8.1 (70-688)
alphorm.com - Formation Windows 8.1 (70-688)alphorm.com - Formation Windows 8.1 (70-688)
alphorm.com - Formation Windows 8.1 (70-688)Alphorm
 
Alphorm.com Support de la formation Mac OS X Server 10.11 El Capitan les fonc...
Alphorm.com Support de la formation Mac OS X Server 10.11 El Capitan les fonc...Alphorm.com Support de la formation Mac OS X Server 10.11 El Capitan les fonc...
Alphorm.com Support de la formation Mac OS X Server 10.11 El Capitan les fonc...Alphorm
 
Alphorm.com Support de la Formation Git
Alphorm.com Support de la Formation Git Alphorm.com Support de la Formation Git
Alphorm.com Support de la Formation Git Alphorm
 
Alphorm.com Formation Configuration des services avancés de Windows Server 20...
Alphorm.com Formation Configuration des services avancés de Windows Server 20...Alphorm.com Formation Configuration des services avancés de Windows Server 20...
Alphorm.com Formation Configuration des services avancés de Windows Server 20...Alphorm
 
Alphorm.com Formation CEHV9 II
Alphorm.com Formation CEHV9 IIAlphorm.com Formation CEHV9 II
Alphorm.com Formation CEHV9 IIAlphorm
 
Alphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité MetasploitAlphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité MetasploitAlphorm
 
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockageAlphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockageAlphorm
 
Alphorm.com Support de la Formation Windows 10 Troubleshootings partie 1
Alphorm.com Support de la Formation Windows 10 Troubleshootings partie 1Alphorm.com Support de la Formation Windows 10 Troubleshootings partie 1
Alphorm.com Support de la Formation Windows 10 Troubleshootings partie 1Alphorm
 
Alphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield AdministrationAlphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield AdministrationAlphorm
 
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm
 
alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)Alphorm
 
Alphorm.com-Formation windows phone 8.1
Alphorm.com-Formation windows phone 8.1Alphorm.com-Formation windows phone 8.1
Alphorm.com-Formation windows phone 8.1Alphorm
 
alphorm.com - Formation Microsoft Hyper-V 2012
alphorm.com - Formation Microsoft Hyper-V 2012alphorm.com - Formation Microsoft Hyper-V 2012
alphorm.com - Formation Microsoft Hyper-V 2012Alphorm
 
Alphorm.com support Formation Windows 10 Déploiement et administration
Alphorm.com support Formation Windows 10 Déploiement et administrationAlphorm.com support Formation Windows 10 Déploiement et administration
Alphorm.com support Formation Windows 10 Déploiement et administrationAlphorm
 
Alphorm.com Support de la Formation Azure IAAS avancé 1
Alphorm.com Support de la Formation Azure IAAS avancé 1Alphorm.com Support de la Formation Azure IAAS avancé 1
Alphorm.com Support de la Formation Azure IAAS avancé 1Alphorm
 
alphorm.com - Formation Linux LPIC-2
alphorm.com - Formation Linux LPIC-2alphorm.com - Formation Linux LPIC-2
alphorm.com - Formation Linux LPIC-2Alphorm
 

En vedette (20)

Alphorm.com Support de la formation Programmer en C# avec visual studio 2015
Alphorm.com Support de la formation Programmer en C# avec visual studio 2015Alphorm.com Support de la formation Programmer en C# avec visual studio 2015
Alphorm.com Support de la formation Programmer en C# avec visual studio 2015
 
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
 
Alphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et Administration
 
Alphorm.com Support VMware vSphere 6, Le réseau virtuel
Alphorm.com Support VMware vSphere 6, Le réseau virtuelAlphorm.com Support VMware vSphere 6, Le réseau virtuel
Alphorm.com Support VMware vSphere 6, Le réseau virtuel
 
alphorm.com - Formation Windows 8.1 (70-688)
alphorm.com - Formation Windows 8.1 (70-688)alphorm.com - Formation Windows 8.1 (70-688)
alphorm.com - Formation Windows 8.1 (70-688)
 
Alphorm.com Support de la formation Mac OS X Server 10.11 El Capitan les fonc...
Alphorm.com Support de la formation Mac OS X Server 10.11 El Capitan les fonc...Alphorm.com Support de la formation Mac OS X Server 10.11 El Capitan les fonc...
Alphorm.com Support de la formation Mac OS X Server 10.11 El Capitan les fonc...
 
Alphorm.com Support de la Formation Git
Alphorm.com Support de la Formation Git Alphorm.com Support de la Formation Git
Alphorm.com Support de la Formation Git
 
Alphorm.com Formation Configuration des services avancés de Windows Server 20...
Alphorm.com Formation Configuration des services avancés de Windows Server 20...Alphorm.com Formation Configuration des services avancés de Windows Server 20...
Alphorm.com Formation Configuration des services avancés de Windows Server 20...
 
Alphorm.com Formation CEHV9 II
Alphorm.com Formation CEHV9 IIAlphorm.com Formation CEHV9 II
Alphorm.com Formation CEHV9 II
 
Alphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité MetasploitAlphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité Metasploit
 
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockageAlphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
 
Alphorm.com Support de la Formation Windows 10 Troubleshootings partie 1
Alphorm.com Support de la Formation Windows 10 Troubleshootings partie 1Alphorm.com Support de la Formation Windows 10 Troubleshootings partie 1
Alphorm.com Support de la Formation Windows 10 Troubleshootings partie 1
 
Alphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield AdministrationAlphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield Administration
 
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et Administration
 
alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)
 
Alphorm.com-Formation windows phone 8.1
Alphorm.com-Formation windows phone 8.1Alphorm.com-Formation windows phone 8.1
Alphorm.com-Formation windows phone 8.1
 
alphorm.com - Formation Microsoft Hyper-V 2012
alphorm.com - Formation Microsoft Hyper-V 2012alphorm.com - Formation Microsoft Hyper-V 2012
alphorm.com - Formation Microsoft Hyper-V 2012
 
Alphorm.com support Formation Windows 10 Déploiement et administration
Alphorm.com support Formation Windows 10 Déploiement et administrationAlphorm.com support Formation Windows 10 Déploiement et administration
Alphorm.com support Formation Windows 10 Déploiement et administration
 
Alphorm.com Support de la Formation Azure IAAS avancé 1
Alphorm.com Support de la Formation Azure IAAS avancé 1Alphorm.com Support de la Formation Azure IAAS avancé 1
Alphorm.com Support de la Formation Azure IAAS avancé 1
 
alphorm.com - Formation Linux LPIC-2
alphorm.com - Formation Linux LPIC-2alphorm.com - Formation Linux LPIC-2
alphorm.com - Formation Linux LPIC-2
 

Similaire à Alphorm.com - Formation programmer en Visual Basic .NET

alphorm.com - Formation Programmer en C++
alphorm.com - Formation Programmer en C++alphorm.com - Formation Programmer en C++
alphorm.com - Formation Programmer en C++Alphorm
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & toolsSlim Soussi
 
Orchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesOrchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesXavier Gorse
 
Boostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpeditBoostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpeditauto entrepreneur
 
Alphorm.com Formation Le Language C
Alphorm.com  Formation Le Language C Alphorm.com  Formation Le Language C
Alphorm.com Formation Le Language C Alphorm
 
Alphorm.com support de la formation programmer en C# 6
Alphorm.com support de la formation programmer en C# 6Alphorm.com support de la formation programmer en C# 6
Alphorm.com support de la formation programmer en C# 6Alphorm
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
alphorm.com - Formation UML
alphorm.com - Formation UMLalphorm.com - Formation UML
alphorm.com - Formation UMLAlphorm
 
Tk06 Real Time Web Avec Adobe Flex Fr
Tk06 Real Time Web Avec Adobe Flex FrTk06 Real Time Web Avec Adobe Flex Fr
Tk06 Real Time Web Avec Adobe Flex FrValtech
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm
 
PHPotes: Codeigniter
PHPotes: CodeigniterPHPotes: Codeigniter
PHPotes: CodeigniterAnDaolVras
 
Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Eric D.
 
Alphorm.com Formation Java Server Faces
Alphorm.com Formation Java Server FacesAlphorm.com Formation Java Server Faces
Alphorm.com Formation Java Server FacesAlphorm
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Alphorm.com Formation Le langage Ruby
Alphorm.com Formation Le langage RubyAlphorm.com Formation Le langage Ruby
Alphorm.com Formation Le langage RubyAlphorm
 
Alphorm.com Formation VirtualBox
Alphorm.com Formation VirtualBoxAlphorm.com Formation VirtualBox
Alphorm.com Formation VirtualBoxAlphorm
 

Similaire à Alphorm.com - Formation programmer en Visual Basic .NET (20)

alphorm.com - Formation Programmer en C++
alphorm.com - Formation Programmer en C++alphorm.com - Formation Programmer en C++
alphorm.com - Formation Programmer en C++
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & tools
 
Orchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesOrchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notes
 
Boostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpeditBoostez vos-developpements-symfony-avec-phpedit
Boostez vos-developpements-symfony-avec-phpedit
 
Alphorm.com Formation Le Language C
Alphorm.com  Formation Le Language C Alphorm.com  Formation Le Language C
Alphorm.com Formation Le Language C
 
Alphorm.com support de la formation programmer en C# 6
Alphorm.com support de la formation programmer en C# 6Alphorm.com support de la formation programmer en C# 6
Alphorm.com support de la formation programmer en C# 6
 
Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautés
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
alphorm.com - Formation UML
alphorm.com - Formation UMLalphorm.com - Formation UML
alphorm.com - Formation UML
 
HTML5 & SilverLight 5
HTML5 & SilverLight 5HTML5 & SilverLight 5
HTML5 & SilverLight 5
 
Tk06 Real Time Web Avec Adobe Flex Fr
Tk06 Real Time Web Avec Adobe Flex FrTk06 Real Time Web Avec Adobe Flex Fr
Tk06 Real Time Web Avec Adobe Flex Fr
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Alphorm.com Formation Android 5
Alphorm.com Formation Android 5Alphorm.com Formation Android 5
Alphorm.com Formation Android 5
 
PHPotes: Codeigniter
PHPotes: CodeigniterPHPotes: Codeigniter
PHPotes: Codeigniter
 
Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008
 
Alphorm.com Formation Java Server Faces
Alphorm.com Formation Java Server FacesAlphorm.com Formation Java Server Faces
Alphorm.com Formation Java Server Faces
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Alphorm.com Formation Le langage Ruby
Alphorm.com Formation Le langage RubyAlphorm.com Formation Le langage Ruby
Alphorm.com Formation Le langage Ruby
 
Alphorm.com Formation VirtualBox
Alphorm.com Formation VirtualBoxAlphorm.com Formation VirtualBox
Alphorm.com Formation VirtualBox
 

Plus de Alphorm

Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...Alphorm
 
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm
 
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : SécuritéAlphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : SécuritéAlphorm
 
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm
 
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'ArchitecturesAlphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'ArchitecturesAlphorm
 
Alphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion CommercialeAlphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion CommercialeAlphorm
 
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objetAlphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objetAlphorm
 
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord InteractifAlphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord InteractifAlphorm
 
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm
 
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à NiveauAlphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à NiveauAlphorm
 
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm
 
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes MobilesAlphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes MobilesAlphorm
 
Alphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POOAlphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POOAlphorm
 
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm
 
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm
 
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...Alphorm
 
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBootAlphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBootAlphorm
 
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm
 
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm
 

Plus de Alphorm (20)

Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
 
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
 
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : SécuritéAlphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
 
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
 
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'ArchitecturesAlphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
 
Alphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion CommercialeAlphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion Commerciale
 
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objetAlphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
 
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord InteractifAlphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
 
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
 
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à NiveauAlphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
 
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
 
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes MobilesAlphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
 
Alphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POOAlphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POO
 
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
 
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
 
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
 
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBootAlphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
 
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
 
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
 

Alphorm.com - Formation programmer en Visual Basic .NET

  • 1. Présentation Formation VB.NET Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 2. Plan • Présentation du formateur • Qu’est ce que VB.NET ? • Le plan de formation • Les liens utiles Programmer en Visual Basic .NET alphorm.com™©
  • 3. Présentation du formateur • Fabien Brissonneau • Email : fabien.brissonneau@gmail.com • Consultant Concepteur et Formateur • Missions d’architecture, de conception , de réalisation logicielles • Fondateur de eiXa6 • Actuellement en mission sur un projet de gestion • Mes références : Mon profil Viadeo : http://fr.viadeo.com/fr/profile/fabien.brissonneau Mon profil LinkedIn : http://fr.linkedin.com/pub/fabien-brissonneau/65/902/92a/ Programmer en Visual Basic .NET alphorm.com™©
  • 4. Qu’est-ce que VB.NET ? • Langage Microsoft .NET (comme C#, F#, …) • S’appuie sur le framework .NET • Reprend en partie la syntaxe VB • Langage orienté objet Programmer en Visual Basic .NET alphorm.com™©
  • 5. Contenu • Généralités • Langage orienté objet • Les délégués et les événements • Les fichiers • Gérer les exceptions • Les bases de données • Les méta-données • Les opérateurs de VB.NET • Les collections • Le multithreading • Winform • ASP.NET • WPF Programmer en Visual Basic .NET alphorm.com™©
  • 6. Les liens utiles • Microsoft MSDN : http://msdn.microsoft.com/en-us/vstudio/hh388573.aspx • Visual Studio : http://msdn.microsoft.com/en-us/vstudio/aa496123 Programmer en Visual Basic .NET alphorm.com™©
  • 7. Et maintenant … Programmer en Visual Basic .NET alphorm.com™©
  • 8. Présentation VB.NET Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 9. Plan • Généralités • Langage orienté objet • Les délégués et les événements • Les opérateurs de VB.NET • Les collections • Le multithreading • Winform • Les fichiers • Gérer les exceptions • Les bases de données • Les méta-données • ASP.NET • WPF Programmer en Visual Basic .NET alphorm.com™©
  • 10. Généralités • Visual Studio • Compatibilité VB6 • Le GAC • Les espaces de nommage Programmer en Visual Basic .NET alphorm.com™©
  • 11. Langage orienté objets • Penser orienté objet • Classe et objets • Les interfaces Programmer en Visual Basic .NET alphorm.com™©
  • 12. Les points avancés de VB.NET • Délégués et événements • Les opérateurs • Les méta-données Programmer en Visual Basic .NET alphorm.com™©
  • 13. Le framework .NET • Les collections • Le multithreading • Winform • Les fichiers • Les bases de données • WPF Programmer en Visual Basic .NET alphorm.com™©
  • 14. ASP.NET • Création d’un projet ASP.NET • Le codebehind • WebService • Gérer les erreurs • Les contrôles Programmer en Visual Basic .NET alphorm.com™©
  • 15. Généralités Structure du programme Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 16. Plan • Framework, Profils et Plateformes • Bibliothèques de classes portables • Les éléments d’une application .NET Types Classes Modules Assemblies • CTS, Metadonnées, Attributes • ILDASM • La mémoire : Garbage Collector, Finalize et IDisposable • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 17. Framework, Profils, Plateformes Plateformes Versions .Net Framework .Net 4 et +, 4.03 et +,4.5 SilverLight Silverlight 4 et +, 5 Windows Phone WP7 et +, WP 7.5 et +, WP8 .Net pour Metro .Net pour Metro Xbox 360 - Programmer en Visual Basic .NET alphorm.com™©
  • 18. Bibliothèque de classes portables • Bibliothèques de classes utilisables avec plusieurs plateformes Programmer en Visual Basic .NET alphorm.com™©
  • 19. Elements de l’application .NET • Types Encapsule les données • Classes • Modules Contient le IL, compilé par le CLR via le JIT Native Image Generator, ngen • Assembly Informations sur l’assembly, une clé si publique, la sécurité, les dépendances Programmer en Visual Basic .NET alphorm.com™©
  • 20. CTS, Métadonneés et attributes • Common Type System garantit l’interopérabilité entre langages • Les méta données sont compilées dans l’assembly et accompagne le IL • Les attributes sont des infos que le développeur injecte Programmer en Visual Basic .NET alphorm.com™©
  • 21. ILDASM • Le dés-assembleur peut lire l’assembly compilé Programmer en Visual Basic .NET alphorm.com™©
  • 22. La mémoire • Le Garbage Collector est déclenché par le système • La finalisation est non déterministe • Une interface est proposée pour s’assurer de la libération des ressources • Il peut être sollicité par GC.Collect(); • Il est optimisé et gère des générations d’objets Programmer en Visual Basic .NET alphorm.com™©
  • 23. Ce qu’on a couvert • Framework, Profils et Plateformes • Bibliothèques de classes portables • Les éléments d’une application .NET Types Classes Modules Assemblies • CTS, Metadonnées, Attributes • ILDASM • La mémoire : Garbage Collector, Finalize et IDisposable Programmer en Visual Basic .NET alphorm.com™©
  • 24. Généralités Syntaxe de base Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 25. Plan • Variables : déclaration et typage • Les types primitifs • Le contrôle du flux d’exécution Conditions : If Then, Select Boucles • Les types références • Les String • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 26. Variables et déclarations • Il faut déclarer les variables • Il faut typer les variables • Sous le contrôle des options Programmer en Visual Basic .NET alphorm.com™©
  • 27. Les types primitifs • Short, Int16, UInt16 : 2 octets • Integer, Int32, UInt32 : 4 octets • Long, Int64, UInt64 : 8 octets • Single : 4 octets • Double : 8 octets • Decimal : 16 octets • Char, Byte et DateTime Programmer en Visual Basic .NET alphorm.com™©
  • 28. Le contrôle du flux d’exécution • Les conditions If Then Else Select Case • Les boucles While - End While For - Programmer en Visual Basic .NET alphorm.com™©
  • 29. Les types références • Les types références sont gérés sur le tas • Leur cycle de vie est sous contrôle du Garbage Collector • Ils sont accessibles par des références • Ils n’ont pas de destructeur déterministe Programmer en Visual Basic .NET alphorm.com™©
  • 30. Les String • Différentes façons de créer les String • SubString • PadLeft et PadRight • Split • Classe immuable • Les constantes Programmer en Visual Basic .NET alphorm.com™©
  • 31. Ce qu’on a couvert • Variables : déclaration et typage • Les types primitifs • Le contrôle du flux d’exécution Conditions : If Then, Select Boucles • Les types références • Les String Programmer en Visual Basic .NET alphorm.com™©
  • 32. Généralités Compatibilité VB6 Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 33. Plan • VB.NET est un nouveau langage • Microsoft.VisualBasic • Microsoft.VisualBasic.Compatibility.VB6 • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 34. VB.Net est un nouveau langage • Langage orienté objets • Basé sur le framework .NET • Une syntaxe de base VB • MAIS des concepts nouveaux Programmer en Visual Basic .NET alphorm.com™©
  • 35. Microsoft.VisualBasic • Encapsule des fonctions, énumérations et constantes VB6 • Considérés comme sûrs à utiliser dans .NET • Vous devriez préférer le Framework .NET • Stables • AppWinStyle, DateFormat, … Collection, Strings… Programmer en Visual Basic .NET alphorm.com™©
  • 36. Microsoft.VisualBasic.Compatibility.VB6 • Référencé lors d’une mise à niveau de VB6 vers VB.NET • Considérés comme obsolètes • Pourrait évoluer dans les futures versions de VB.Net Programmer en Visual Basic .NET alphorm.com™©
  • 37. Ce qu’on a couvert • VB.NET est un nouveau langage • Microsoft.VisualBasic • Microsoft.VisualBasic.Compatibility.VB6 Programmer en Visual Basic .NET alphorm.com™©
  • 38. Généralités Manipuler le GAC Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 39. Plan • Le GAC • Générer un assembly privé • Générer un assembly partagé • Livrer dans le GAC • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 40. Le GAC • C:WindowsAssembly • Ou C:WindowsMicrosoft NETAssembly - V4.0 • Un répertoire qui contient les DLL utilisées sur ce poste • Les assemblys ont des versions : majeur.mineur.build.revision Programmer en Visual Basic .NET alphorm.com™©
  • 41. Générer un assembly privé • Un projet correspond à un assembly • La DLL doit être dans le répertoire du client • Livraison simple par recopie Programmer en Visual Basic .NET alphorm.com™©
  • 42. Générer un assembly partagé • Un assembly partagé est signé • La clé est référencée par les assemblys clients • Générer la clé avec sn.exe • Ou bien utiliser Visual Studio Programmer en Visual Basic .NET alphorm.com™©
  • 43. Livrer dans le GAC • Un répertoire dans c:windows • Recopier dans le répertoire • Utiliser gacutil Programmer en Visual Basic .NET alphorm.com™©
  • 44. Ce qu’on a couvert • Le GAC • Générer un assembly privé • Générer un assembly partagé • Livrer dans le GAC Programmer en Visual Basic .NET alphorm.com™©
  • 45. Généralités Espaces de nommage Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 46. Plan • Définition d’un espace de nommage • Les espaces de nommage de .NET • My • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 47. Définition d’un espace de nommage • Bloc de code, nommé • Isole les types, classes, fonctions … • Permet une organisation logique des classes • Vous créez vos propres espaces de nommage Programmer en Visual Basic .NET alphorm.com™©
  • 48. Les espaces de nommage .NET • Les espaces de nommage sont importés • Importation implicite par la boîte de projet • Alias d’espaces possible • Cas de Microsoft.VisualBasic • Importation valable aussi dans ASP.NET Programmer en Visual Basic .NET alphorm.com™©
  • 49. My • Pas un vrai espace de nommage • Donne un accès rapide à certains objets importants • Application, Computer, Forms, Resources, Settings … • Plus restreint si ASP.NET • Vous pouvez l’étendre … Programmer en Visual Basic .NET alphorm.com™©
  • 50. Ce qu’on a couvert • Définition d’un espace de nommage • Les espaces de nommage de .NET • My Programmer en Visual Basic .NET alphorm.com™©
  • 51. Généralités Les conventions Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 52. Plan • Les espaces de nommage • Les classes • Les méthodes • Les champs • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 53. Les espaces de nommage • Regroupement de classes … • Par ensemble logique • Par technologie • Par entreprise Programmer en Visual Basic .NET alphorm.com™©
  • 54. Les classes • Les types que vous manipulez • Un nom clair, définissant l’objectif de votre classe • Un regroupement de méthodes et de champs • Dans un fichier portant son nom Programmer en Visual Basic .NET alphorm.com™©
  • 55. Les méthodes • Les traitements associés aux classes • Un nom évocateur • Un modificateur Sub ou Function • Une visibilité • Des paramètres clairs • Les parenthèses Programmer en Visual Basic .NET alphorm.com™©
  • 56. Les champs • Les variables utilisées dans les classes • Un nom bien choisi • Un type adapté • Une visibilité Programmer en Visual Basic .NET alphorm.com™©
  • 57. Ce qu’on a couvert • Les espaces de nommage • Les classes • Les méthodes • Les champs Programmer en Visual Basic .NET alphorm.com™©
  • 58. Généralités Les options Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 59. Plan • Les paramètres de compilation du projet • Les options en ligne de commande • Les directives de compilation et leurs tests • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 60. Les paramètres de génération • Le projet • Le compilateur Programmer en Visual Basic .NET alphorm.com™©
  • 61. Les options de la ligne de commande • Vbc.exe Programmer en Visual Basic .NET alphorm.com™©
  • 62. Les directives et leurs tests • Compilation conditionnelle Programmer en Visual Basic .NET alphorm.com™©
  • 63. Ce qu’on a couvert • Les paramètres de compilation du projet • Les options en ligne de commande • Les directives de compilation et leurs tests Programmer en Visual Basic .NET alphorm.com™©
  • 64. Langage orienté objets Concevoir et coder Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 65. Plan • Les objectifs de l’orienté objets • Mettre au même endroit données et traitements • Penser interactions entre objets • Encapsuler l’implémentation • Utiliser le diagramme de classes • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 66. Les objectifs de l’orienté objets • Favoriser la maintenabilité de l’application • Améliorer la réutilisabilité des composants • Permettre l’extension des systèmes existants • Eviter : fragilité, immobilité, rigidité et … viscosité Programmer en Visual Basic .NET alphorm.com™©
  • 67. Données et traitements • Dans une classe : Les données : les champs Les traitements : les méthodes • Assurer la cohérence • Améliorer la lisibilité • Favoriser la réutilisabilité Programmer en Visual Basic .NET alphorm.com™©
  • 68. Penser interactions entre objets • Les objets interagissent • Ils se connaissent via locales, paramètres ou associations • Les méthodes sont courtes Programmer en Visual Basic .NET alphorm.com™©
  • 69. Encapsuler l’implémentation • Utiliser les visibilités De privé à public • Ne pas montrer les données • Exposer plutôt des méthodes • Jouer avec les propriétés Programmer en Visual Basic .NET alphorm.com™©
  • 70. Utiliser le diagramme de classes • Le diagramme de classe UML • Donne une vue globale de votre application • Permet de concevoir sans les détails Programmer en Visual Basic .NET alphorm.com™©
  • 71. Ce qu’on a couvert • Les objectifs de l’orienté objets • Mettre au même endroit données et traitements • Penser interactions entre objets • Encapsuler l’implémentation • Utiliser le diagramme de classes Programmer en Visual Basic .NET alphorm.com™©
  • 72. Langage orienté objets Méthodes et constructeurs Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 73. Plan • Ecrire et utiliser une méthode • Ecrire une propriété • Ecrire un constructeur • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 74. Ecrire et utiliser une méthode • Une méthode est soit Sub, soit Function • Possède ou non des paramètres • A une visibilité • Correspond à un traitement réalisé par un objet Programmer en Visual Basic .NET alphorm.com™©
  • 75. Ecrire une propriété • Une propriété est une méthode dédiée à l’accès à un champ • Getter et/ou Setter • A une visibilité Programmer en Visual Basic .NET alphorm.com™©
  • 76. Ecrire un constructeur • Une méthode d’initialisation • Existe par défaut si personne n’en a créé • Peut avoir des paramètres • A une visibilité Programmer en Visual Basic .NET alphorm.com™©
  • 77. Ce qu’on a couvert • Ecrire et utiliser une méthode • Ecrire une propriété • Ecrire un constructeur Programmer en Visual Basic .NET alphorm.com™©
  • 78. Langage orienté objets La généralisation Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 79. Plan • Définition de la généralisation • Conséquence d’héritage • La redéfinition des méthodes • Le polymorphisme • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 80. Définition de la généralisation • Une relations statique entre classes • La classe mère : super-classe, classe de base • La classe fille : sous-classe, classe dérivée • Permet de définir une nouvelle classe qui fournit les mêmes services qu’une classe existante, en l’enrichissant si besoin Programmer en Visual Basic .NET alphorm.com™©
  • 81. Conséquence de l’héritage • Le type « fils » est considéré comme le « père » • Le fils hérite de tout ce que contient le père • L’interface du père est présente sur le fils Programmer en Visual Basic .NET alphorm.com™©
  • 82. La redéfinition des méthodes • Une méthode de la classe mère est : Normalement héritée Peut être ré-écrite si besoin Il faut le prévoir dans la classe mère Et le spécifier dans la classe fille Programmer en Visual Basic .NET alphorm.com™©
  • 83. Le polymorphisme • Le mécanisme permet de déclencher une méthode : Qui doit exister sur la classe mère Qui est redéfinie sur la classe fille Sans connaître la classe fille • Essentiel dans l’extension des systèmes Programmer en Visual Basic .NET alphorm.com™©
  • 84. Ce qu’on a couvert • Définition de la généralisation • Conséquence d’héritage • La redéfinition des méthodes • Le polymorphisme Programmer en Visual Basic .NET alphorm.com™©
  • 85. Langage orienté objets Les interfaces Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 86. Plan • Définition des interfaces • Remarque sur les classes abstraites • Implémenter une interface • Le polymorphisme avec les interfaces • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 87. Définition d’une interface • Une interface : Déclare des méthodes, sans corps Ne peut pas être instanciée Ne possède pas de champs • Elle sert à : Définir un contrat Définir un type Programmer en Visual Basic .NET alphorm.com™©
  • 88. Remarque sur les classes abstraites • Une classe abstraite est une classe qui ne peut pas être instanciée • Une classe abstraite : Contient de l’implémentation Possède des constructeurs Programmer en Visual Basic .NET alphorm.com™©
  • 89. Implémenter une interface • Une classe peut implémenter une interface : Elle doit redéfinir chaque méthode • Une classe peut implémenter plusieurs interfaces • Une interface peut hériter d’une ou plusieurs autres Programmer en Visual Basic .NET alphorm.com™©
  • 90. Le polymorphisme avec les interfaces • Il faut redéfinir les méthodes prévues par l’interface • On peut référencer un objet via son type interface • Le polymorphisme fonctionne avec les interfaces Programmer en Visual Basic .NET alphorm.com™©
  • 91. Ce qu’on a couvert • Définition des interfaces • Remarque sur les classes abstraites • Implémenter une interface • Le polymorphisme avec les interfaces Programmer en Visual Basic .NET alphorm.com™©
  • 92. Langage orienté objets Object Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 93. Plan • La classe Object • Les méthodes de Object • Le polymorphisme avec Object • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 94. La classe Object • Classe mère de toutes les classes • On en hérite directement ou indirectement • Possède quelques méthodes d’intérêt général • Permet : Un comportement commun minimum Des manipulations standards Programmer en Visual Basic .NET alphorm.com™©
  • 95. Les méthodes de Objet • Redéfinissable ou pas • Protected : Finalize, MemberwiseClone • Et publiques : Programmer en Visual Basic .NET alphorm.com™©
  • 96. Le polymorphisme avec Object • Manipuler n’importe quel objets VB.NET en tant que Object • Un code quasi universel, très stable • Une grande réutilisabilité • Une occasion pour la « reflection » Programmer en Visual Basic .NET alphorm.com™©
  • 97. Ce qu’on a couvert • La classe Object • Les méthodes de Object • Le polymorphisme avec Object Programmer en Visual Basic .NET alphorm.com™©
  • 98. Langage orienté objets Le type runtime Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 99. Plan • La méthode GetType() • Les opérateurs Is et IsNot • L’opérateur TypeOf • La fonction TryCast • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 100. La méthode GetType • Une méthode de Object Programmer en Visual Basic .NET alphorm.com™©
  • 101. Les opérateurs Is et IsNot • Utilisable avec GetType et TypeOf Programmer en Visual Basic .NET alphorm.com™©
  • 102. L’opérateur TypeOf • Détection du type d’un objet référencé Programmer en Visual Basic .NET alphorm.com™©
  • 103. La fonction TryCast • Essayer de convertir dans un type donné • En cas d’échec, la référence vaut Nothing Programmer en Visual Basic .NET alphorm.com™©
  • 104. Ce qu’on a couvert • La méthode GetType() • Les opérateurs Is et IsNot • L’opérateur TypeOf • La fonction TryCast Programmer en Visual Basic .NET alphorm.com™©
  • 105. Langage orienté objets Les membres partagés Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 106. Plan • Les champs Shared • Les méthodes Shared • Un modèle classique : le Singleton • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 107. Les champs Shared • Mot-clé Shared • Une valeur commune à tous les objets de la classe • Peut être de n’importe quelle visibilité Programmer en Visual Basic .NET alphorm.com™©
  • 108. Les méthodes Shared • Mot-clé Shared • Méthode commune à tous les objets de la classe • Méthode appelée sur la classe Programmer en Visual Basic .NET alphorm.com™©
  • 109. Un modèle classique : le Singleton • Un accès global • Une création à la demande • Une garantie de l’unicité de l’instance Programmer en Visual Basic .NET alphorm.com™©
  • 110. Ce qu’on a couvert • Les champs Shared • Les méthodes Shared • Un modèle classique : le Singleton Programmer en Visual Basic .NET alphorm.com™©
  • 111. Délégués et Events Les délégués Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 112. Plan • Appeler une fonction sans la connaître • Déclaration d’un délégué • Appel de la méthode • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 113. Appeler une fonction sans la connaître • Une partie de l’application doit déclencher une méthode • Cette méthode est située dans une autre partie • Que la première ne doit pas connaître • Eviter les dépendances cycliques Programmer en Visual Basic .NET alphorm.com™©
  • 114. Déclaration d’un délégué Delegate Sub unefonction(ByVal s As String) Sub Affiche(ByVal s As String) Console.WriteLine(Voici le message s) End Sub Programmer en Visual Basic .NET alphorm.com™©
  • 115. Appel de la méthode Dim d As unefonction ‘ d = AddressOf Affiche ‘on d.Invoke(coucou) ‘et n fait une invocation dynamique Programmer en Visual Basic .NET alphorm.com™©
  • 116. Ce qu’on a couvert • Appeler une fonction sans la connaître • Déclaration d’un délégué • Appel de la méthode Programmer en Visual Basic .NET alphorm.com™©
  • 117. Délégués et Events Les « Events » Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 118. Plan • Emetteur de l’événement • Récepteur de l’événement • Emission/Réception • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 119. Emetteur de l’événement Public Class Emetteur Public Event Click(ByVal msg As String) Public Sub Declenche() RaiseEvent Click(Bouton cliqué) End Sub End Class Programmer en Visual Basic .NET alphorm.com™©
  • 120. Récepteur de l’événement Public Class Recepteur Private WithEvents c As Emetteur Public Sub New(ByVal cc As Emetteur) c = cc End Sub Public Sub ClickGere(ByVal s As String) Handles c.Click Console.WriteLine(Je gère le clic sur le bouton s) End Sub End Class Programmer en Visual Basic .NET alphorm.com™©
  • 121. Emission/Réception Dim c As Emetteur = New Emetteur Dim gc As Recepteur = New Recepteur(c) c.Declenche() Programmer en Visual Basic .NET alphorm.com™©
  • 122. Ce qu’on a couvert • Emetteur de l’événement • Récepteur de l’événement • Emission/Réception Programmer en Visual Basic .NET alphorm.com™©
  • 123. Les opérateurs Les opérateurs arithmétiques Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 124. Plan • Opérateurs arithmétiques • Opérateurs de comparaisons • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 125. Opérateurs arithmétiques Programmer en Visual Basic .NET alphorm.com™©
  • 126. Opérateurs de comparaisons Programmer en Visual Basic .NET alphorm.com™©
  • 127. Ce qu’on a couvert • Opérateurs arithmétiques • Opérateurs de comparaisons Programmer en Visual Basic .NET alphorm.com™©
  • 128. Les opérateurs Indexeurs et conversions Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 129. Plan • Un indexeur • Les conversions • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 130. Un indexeur Programmer en Visual Basic .NET alphorm.com™©
  • 131. Les conversions Programmer en Visual Basic .NET alphorm.com™©
  • 132. Ce qu’on a couvert • Un indexeur • Les conversions Programmer en Visual Basic .NET alphorm.com™©
  • 133. Les collections Collections séquentielles Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 134. Plan • Les classes génériques • Fonctionnement de List(Of T) • List(Of T) et prédicats • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 135. Les classes génériques • Une famille de classe • Le code est généré au moment de l’utilisation • La génération est paramétrée Programmer en Visual Basic .NET alphorm.com™©
  • 136. Fonctionnement de List(Of T) Dim dinosaurs As New List(Of String) dinosaurs.Add(Tyrannosaurus) dinosaurs.Add(Amargasaurus) dinosaurs.Add(Mamenchisaurus) dinosaurs.Add(Deinonychus) dinosaurs.Add(Compsognathus) For Each dinosaur As String In dinosaurs Console.WriteLine(dinosaur) … Next Programmer en Visual Basic .NET alphorm.com™©
  • 137. List(Of T) et prédicats • List. FindAll(Pred) • Accept une méthode en paramètre Par délégué • Une méthode anonyme Programmer en Visual Basic .NET alphorm.com™©
  • 138. Ce qu’on a couvert • Les classes génériques • Fonctionnement de List(Of T) • List(Of T) et prédicats Programmer en Visual Basic .NET alphorm.com™©
  • 139. Les collections Collections associatives Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 140. Plan • System.Collections : Hashtable • System.Collections.Generic : Dictionary (Of K, V) • Collections triées : SortedDictionary (Of K, V) • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 141. System.Collection • Collections non génériques • Une collection contient des Object • Hashtable représente le tableau associatif Programmer en Visual Basic .NET alphorm.com™©
  • 142. System.Collections.Generic • Dictionary (Of K, V) est l’archétype des associatifs • Implémenté en hashtable • Non thread-safe Programmer en Visual Basic .NET alphorm.com™©
  • 143. Collection triée : SortedDictionary • SortedDictionary ( Of K, V) • Implémenté comme un arbre binaire équilibré • Les clés sont comparées par un objet IComparer ( Of K) Programmer en Visual Basic .NET alphorm.com™©
  • 144. Ce qu’on a couvert • System.Collections : Hashtable • System.Collections.Generic : Dictionary (Of K, V) • Collections triées : SortedDictionary (Of K, V) Programmer en Visual Basic .NET alphorm.com™©
  • 145. Les threads Créer des threads Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 146. Plan • System.Threading.Thread • Thread.Join • Start/Abort/Sleep • Une autre classe : BackgroundWorker • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 147. System.Threading.Thread Programmer en Visual Basic .NET alphorm.com™©
  • 148. Thread.Join() Programmer en Visual Basic .NET alphorm.com™©
  • 149. Start, Sleep, Abort • Start : démarre • Abort : tente d’arrêter • Sleep : bloque Programmer en Visual Basic .NET alphorm.com™©
  • 150. Autre classe • System.ComponentModel.BackgroundWorker Démarre une tâche On écoute des événements : progression, fin, … Programmer en Visual Basic .NET alphorm.com™©
  • 151. Ce qu’on a couvert • System.Threading.Thread • Thread.Join • Start/Abort/Sleep • Une autre classe : BackgroundWorker Programmer en Visual Basic .NET alphorm.com™©
  • 152. Les threads Synchroniser des threads Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 153. Plan • Le problème des accès simultanés • La synchronisation par attente d’un événement • La synchronisation par section critique • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 154. Le problème des accès simultanés • Les threads partagent la mémoire • Lorsque 2 threads accèdent à la même donnée • Il veulent la modifier/l’exploiter Programmer en Visual Basic .NET alphorm.com™©
  • 155. Synchronisation par événement • Il faut mettre le thread en attente sur un signalement • Un autre thread va signaler • Possibilités réelles de blocage Programmer en Visual Basic .NET alphorm.com™©
  • 156. La synchronisation par section critique • SyncLock • Doit s’utiliser sur un type référence uniquement • Empêche un Thread de rentrer si un exécute déjà le code Programmer en Visual Basic .NET alphorm.com™©
  • 157. Ce qu’on a couvert • Le problème des accès simultanés • La synchronisation par attente d’un événement • La synchronisation par section critique Programmer en Visual Basic .NET alphorm.com™©
  • 158. Winforms Créer un formulaire Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 159. Plan • Créer un formulaire • L’objet formulaire • Les contrôles dans le formulaire • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 160. Créer un formulaire • Utiliser l’éditeur graphique • Les formulaires Windows sont décrits en VB.NET Programmer en Visual Basic .NET alphorm.com™©
  • 161. L’objet formulaire • Une classe dérivant de Form • Des méthodes • Des événements Programmer en Visual Basic .NET alphorm.com™©
  • 162. Les contrôles de formulaire • Nombreux, disposés dans la boîte à outils • Et des composants non graphiques Programmer en Visual Basic .NET alphorm.com™©
  • 163. Ce qu’on a couvert • Créer un formulaire • L’objet formulaire • Les contrôles dans le formulaire Programmer en Visual Basic .NET alphorm.com™©
  • 164. Winforms Traiter les événements Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 165. Plan • Traiter le Load du formulaire • Gérer un événement sur un contrôle • Réagir à la sélection sur une liste • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 166. Traiter le Load du formulaire • Après le constructeur du formulaire • Handles Load Programmer en Visual Basic .NET alphorm.com™©
  • 167. Gérer un événement sur un contrôle • Associer le contrôle au gestionnaire Par la feuille de propriétés En double-cliquant Programmer en Visual Basic .NET alphorm.com™©
  • 168. Réagir à la sélection sur une liste • Associer l’événement • Détecter l’item sélectionner • Réagir Programmer en Visual Basic .NET alphorm.com™©
  • 169. Ce qu’on a couvert • Traiter le Load du formulaire • Gérer un événement sur un contrôle • Réagir à la sélection sur une liste Programmer en Visual Basic .NET alphorm.com™©
  • 170. Winforms Utiliser le DataBinding Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 171. Plan • Pour lier un élément graphique à une donnée • Ouvrir un second formulaire • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 172. Le databinding • Une source de données • Un élément graphique • Le lien entre les deux Programmer en Visual Basic .NET alphorm.com™©
  • 173. Ouvrir un second formulaire • Gérer un événement • Créer un objet formulaire • Le rendre visible Programmer en Visual Basic .NET alphorm.com™©
  • 174. Ce qu’on a couvert • Pour lier un élément graphique à une donnée • Ouvrir un second formulaire Programmer en Visual Basic .NET alphorm.com™©
  • 175. Les fichiers Le système de fichiers Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 176. Plan • FileInfo/DirectoryInfo ou File/Directory • Parcours d’un répertoire • Examen d’un fichier • FileSystemWatcher • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 177. FileInfo/DirectoryInfo ou File/Directory Programmer en Visual Basic .NET alphorm.com™©
  • 178. Parcours d’un répertoire • Avec DirectoryInfo (ou bien Directory), récupération d’informations GetFiles, GetDirectories Create, CreateSubDirectory … Programmer en Visual Basic .NET alphorm.com™©
  • 179. Examen d’un fichier • FileInfo (ou bien File) Programmer en Visual Basic .NET alphorm.com™©
  • 180. FileSystemWatcher • Gère des événements sur modification d’un répertoire Programmer en Visual Basic .NET alphorm.com™©
  • 181. Ce qu’on a couvert • FileInfo/DirectoryInfo ou File/Directory • Parcours d’un répertoire • Examen d’un fichier • FileSystemWatcher Programmer en Visual Basic .NET alphorm.com™©
  • 182. Les fichiers Ouvrir et lire un fichier Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 183. Plan • Les flux • Ouvrir un fichier binaire/texte • Lire un fichier binaire/texte • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 184. Les flux Programmer en Visual Basic .NET alphorm.com™©
  • 185. Ouvrir un fichier binaire/texte • Créer explicitement chaque objet • Passer par des méthodes de fabrication Programmer en Visual Basic .NET alphorm.com™©
  • 186. Lire un fichier binaire/texte • Le fichier texte : encodage ASCII • Le fichier binaire Programmer en Visual Basic .NET alphorm.com™©
  • 187. Ce qu’on a couvert • Les flux • Ouvrir un fichier binaire/texte • Lire un fichier binaire/texte Programmer en Visual Basic .NET alphorm.com™©
  • 188. Les fichiers La sérialisation Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 189. Plan • Le flux de sérialisation et les contraintes • Le flux binaire • Le flux texte XML • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 190. Le flux de sérialisation • Arrange des objets dans un flux • Les classes correspondantes doivent être « Serializable » • Les champs sont automatiquement sérialisés • Il est possible d’empêcher la sérialisation d’un champ Programmer en Visual Basic .NET alphorm.com™©
  • 191. Le flux binaire • System.Runtime.Serialisation.Formatters.Binary.BinaryFormatter Dim sw As FileStream sw = File.Create(documents.dat) Dim xs As BinaryFormatter xs = New BinaryFormatter() xs.Serialize(sw, obj) ‘ Obj est la référence sur l’objet à sérialiser sw.Close() Programmer en Visual Basic .NET alphorm.com™©
  • 192. Le flux texte XML • System.Xml.Serialization.XmlSerializer • System.Runtime.Serialisation.Formatters.Soap.SoapFormatter Dim sw As FileStream sw = File.Create(documents.dat) Dim xs As SoapFormatter xs = New SoapFormatter() xs.Serialize(sw, obj) ‘ Obj est la référence sur l’objet à sérialiser sw.Close() Programmer en Visual Basic .NET alphorm.com™©
  • 193. Ce qu’on a couvert • Le flux de sérialisation et les contraintes • Le flux binaires • Le flux texte XML Programmer en Visual Basic .NET alphorm.com™©
  • 194. Les exceptions Gérer les exceptions Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 195. Plan • Intérêt des exceptions •Mots-clés Try/Catch/Finally pour gérer une exception •Mot-clé Throw pour lever une exception • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 196. Intérêt des exceptions • Gérer les erreurs exceptionnelles • Remonte la pile des appels • Sépare le code nominal du code de gestion d’erreurs • Fonctionne même sans retour de fonction • Le framework communique les erreurs via des exceptions Programmer en Visual Basic .NET alphorm.com™©
  • 197. Mots-clés Try/Catch/Finally • Encadre le code qui peut lever une exception • Finally optionnel • Plusieurs Catch possibles Programmer en Visual Basic .NET alphorm.com™©
  • 198. Mot-clé Throw pour lever une exception • Signale une erreur • Plutôt code bas-niveau Programmer en Visual Basic .NET alphorm.com™©
  • 199. Ce qu’on a couvert • Intérêt des exceptions •Mots-clés Try/Catch/Finally pour gérer une exception •Mot-clé Throw pour lever une exception Programmer en Visual Basic .NET alphorm.com™©
  • 200. Les exceptions Créer ses propres exceptions Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 201. Plan • Une classe d’exception hérite de Exception • Les méthodes de Exception • Réinterpréter les exceptions • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 202. Une classe d’exception • Simplement hériter de Exception ou ApplicationException Programmer en Visual Basic .NET alphorm.com™©
  • 203. Les méthodes de Exception • Message • ToString Programmer en Visual Basic .NET alphorm.com™©
  • 204. Réinterpréter les exceptions • Attraper une exception et relancer un autre objet, plus facilement interprétable par l’utilisateur Programmer en Visual Basic .NET alphorm.com™©
  • 205. Ce qu’on a couvert • Une classe d’exception hérite de Exception • Les méthodes de Exception • Réinterpréter les exceptions Programmer en Visual Basic .NET alphorm.com™©
  • 206. Les bases de données Mode connecté Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 207. Plan • Les classes essentielles • Récupération de la connexion • DbCommand • DbDataReader • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 208. Les classes essentielles Classes Description SqlCommand, OleDbCommand, ODBCCommand Encapsulation de commandes SQL ou de procédures stockées SqlCommandBuilder (OleDb/ODBC) Générateur de commandes SQL à partir du SELECT SqlConnection (OleDb/ODBC) Connexion SqlDataAdapter (OleDb/ODBC) Contient des commandes, gère la mise à jour du dataset ET de la database SqlDataReader (OleDb/ODBC) Curseur sur une base connectée SqlParameter (OleDb/ODBC) Paramètres à fournir au SQL SqlTransaction (OleDb/ODBC) Transaction de BD Programmer en Visual Basic .NET alphorm.com™©
  • 209. Récupération de la connexion • La forme de la chaîne de connexion dépend du fournisseur Programmer en Visual Basic .NET alphorm.com™©
  • 210. DbCommand Programmer en Visual Basic .NET alphorm.com™©
  • 211. DbDataReader • Table de résultat et curseur Programmer en Visual Basic .NET alphorm.com™©
  • 212. Ce qu’on a couvert • Les classes essentielles • Récupération de la connexion • DbCommand • DbDataReader Programmer en Visual Basic .NET alphorm.com™©
  • 213. Les bases de données Mode déconnecté Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 214. Plan • Les classes essentielles • DataSet et DbDataAdapter •Modèle commun • Paramétrer le fournisseur • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 215. Les classes essentielles Classe Description DataSet Contient des DataTables DataTable Contient colonnes et lignes DataRow Valeur dans la table DataColumn Colonne dans la table DataRelation Lien entre deux tables Constraint Règle de colonne Programmer en Visual Basic .NET alphorm.com™©
  • 216. Dataset et DBDataAdapter • DataSet a une existence en mémoire • Peut être généré sous forme XML Programmer en Visual Basic .NET alphorm.com™©
  • 217. Modèle commun des fournisseurs • Eviter de dépendre de Sql- ou OleDb- X • Donner une chaîne de caractères qui représente le fournisseur Programmer en Visual Basic .NET alphorm.com™©
  • 218. Paramétrer le fournisseur • App.config ou Web.config • Trouver la factory • Utiliser la factory Programmer en Visual Basic .NET alphorm.com™©
  • 219. Ce qu’on a couvert • Les classes essentielles • DataSet et DbDataAdapter •Modèle commun • Paramétrer le fournisseur Programmer en Visual Basic .NET alphorm.com™©
  • 220. Les méta-données Utiliser les attributes Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 221. Plan • Placer les attributs • Paramètres et cibles d’attributs • Utilisations courantes des attributs • Quelques attributs • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 222. Placer les attributs • Avant une classe • Avant une méthode • Avant des paramètres Programmer en Visual Basic .NET alphorm.com™©
  • 223. Paramètres et cibles d’attributs • Paramètres • Cibles Programmer en Visual Basic .NET alphorm.com™©
  • 224. Utilisations courantes • WebMethod pour les services web • Décrire l’interopération avec le code natif • Décrire les propriété COM de classes • Appelé du code non managé • Décrire un assembly • Désigner les classes à sérialiser • Définir les conditions de sécurité • … Programmer en Visual Basic .NET alphorm.com™©
  • 225. Quelques attributs • Globaux AssemblyName, AssemblyVersion • Obsolete • Conditional Programmer en Visual Basic .NET alphorm.com™©
  • 226. Ce qu’on a couvert • Placer les attributs • Paramètres et cibles d’attributs • Utilisations courantes des attributs • Quelques attributs Programmer en Visual Basic .NET alphorm.com™©
  • 227. Les méta-données Créer un attribut Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 228. Plan • Créer un nouvel attribut • Utiliser un attribut • Découvrir un attribut • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 229. Créer un nouvel attribut • Créer une classe héritant de Attribute Programmer en Visual Basic .NET alphorm.com™©
  • 230. Utiliser un attribut • Si usage unique • Ou multiple Programmer en Visual Basic .NET alphorm.com™©
  • 231. Découvrir un attribut Programmer en Visual Basic .NET alphorm.com™©
  • 232. Ce qu’on a couvert • Créer un nouvel attribut • Utiliser un attribut • Découvrir un attribut Programmer en Visual Basic .NET alphorm.com™©
  • 233. ASP.NET Créer un projet Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 234. Plan • Les projets site Web • Un projet WebForms • Un projet MVC • Un projet Web API • L’exécution du projet Web • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 235. Les projets Site Web • Ajouté depuis VS 2005 • Structure de répertoire qui reflète le site Programmer en Visual Basic .NET alphorm.com™©
  • 236. Un projet Web Forms • Une structure standard • Un master fournissant une présentation standardisée Programmer en Visual Basic .NET alphorm.com™©
  • 237. Un projet MVC • Améliore les séparations des responsabilités, la testabilité Programmer en Visual Basic .NET alphorm.com™©
  • 238. Un projet Web API • Version Microsoft des services RESTful Programmer en Visual Basic .NET alphorm.com™©
  • 239. L’exécution du projet Web • IIS Express par défaut pour les applications Web • ASP.NET Development Server pour les Website Projects • IIS Programmer en Visual Basic .NET alphorm.com™©
  • 240. Ce qu’on a couvert • Il y a plusieurs types de projets en rapport avec le Web • Un projet Web organise les fichiers de façon particulière • Plusieurs méthodes d’authentification sont disponibles • Nous avons décrit les projets WebForms, MVC, et Web API • L’exécution du projet Web peut se faire localement, à des fins de test Programmer en Visual Basic .NET alphorm.com™©
  • 241. ASP.NET Créer un formulaire Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 242. Plan • La création du projet application Web ASP.NET • Utilisation des onglets de l’éditeur VS • Le formatage du texte, feuille de propriétés • L’ajout de contrôles dans le formulaire • L’examen du code HTML correspondant • Le code de rappel • L’exécution de la page • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 243. La création du projet Programmer en Visual Basic .NET alphorm.com™©
  • 244. L’utilisation des onglets de l’éditeur VS Programmer en Visual Basic .NET alphorm.com™©
  • 245. Le formatage du texte Programmer en Visual Basic .NET alphorm.com™©
  • 246. L’ajout de contrôles dans le formulaire Programmer en Visual Basic .NET alphorm.com™©
  • 247. L’examen du code HTML Programmer en Visual Basic .NET alphorm.com™©
  • 248. Le code de rappel Programmer en Visual Basic .NET alphorm.com™©
  • 249. L’exécution de la page Programmer en Visual Basic .NET alphorm.com™©
  • 250. Ce qu’on a couvert • La création du formulaire WebForms se fait dans un projet application Web ASP.NET • L’éditeur VS permet de créer l’interface Web à la façon d’une application lourde traditionnelle • L’ajout de contrôles dans le formulaire est très simple et ergonomique • Le code HTML est visible en direct • Le code de rappel est codé directement en VB.NET • L’exécution de la page se fait très simplement, cela favorise le déboggage Programmer en Visual Basic .NET alphorm.com™©
  • 251. ASP.NET Utiliser le codebehind Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 252. Plan • Utilisation du projet Web Forms généré par défaut • Affichage d’un contenu de base de données • Navigation entre pages • Validation d’un formulaire • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 253. Utilisation du projet Web Forms • Dans les fichiers générés : Le HTML est dans les fichier aspx Le code VB.NET est dans aspx.vb Programmer en Visual Basic .NET alphorm.com™©
  • 254. Affichage du contenu de la base • Une ListBox, chargée dans le Load Programmer en Visual Basic .NET alphorm.com™©
  • 255. Navigation entre pages • Une page = une classe • Gestion d’événements à la façon traditionnelle Programmer en Visual Basic .NET alphorm.com™©
  • 256. Validation d’un formulaire Programmer en Visual Basic .NET alphorm.com™©
  • 257. Ce qu’on a couvert • Utilisation du projet Web Forms généré par défaut • Affichage d’un contenu de base de données • Navigation entre pages • Validation d’un formulaire Programmer en Visual Basic .NET alphorm.com™©
  • 258. ASP.NET Global.asax et HttpModule Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 259. Plan • L’application • Les modules HTTP •Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 260. L’application • Données de niveau application • Evénements de niveau application • Le fichier global.asax • Accompagne une applciation Programmer en Visual Basic .NET alphorm.com™©
  • 261. Les modules HTTP • Web.config • Créer un module HTTP, lui faire hériter de IHttpModule • Réaliser Init et Dispose • Code commun à plusieurs applications Programmer en Visual Basic .NET alphorm.com™©
  • 262. Ce qu’on a couvert • L’application • Les modules HTTP Programmer en Visual Basic .NET alphorm.com™©
  • 263. ASP.NET Webservices Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 264. Plan •Créer un service web •Consommer un service web •Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 265. Créer un service web • Page .asmx • Attribut WebService • Attribut WebMethod Programmer en Visual Basic .NET alphorm.com™©
  • 266. Consommer un service web • Ajout de références de services • La génération d’un proxy Programmer en Visual Basic .NET alphorm.com™©
  • 267. Ce qu’on a couvert • Créer un service web • Consommer un service web Programmer en Visual Basic .NET alphorm.com™©
  • 268. ASP.NET Gérer les erreurs Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 269. Plan • La page jaune d’erreur d’exception • La page jaune d’erreur runtime • La page d’erreur personnalisée •Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 270. La page jaune d’erreur d’exception • Une page avec tous les détails • Affichée au développeur Programmer en Visual Basic .NET alphorm.com™©
  • 271. La page jaune d’erreur runtime • Affichée lors d’une connexion à distance Programmer en Visual Basic .NET alphorm.com™©
  • 272. Une page d’erreur personnalisée • Une page qui est adaptée à l’application • Utilisée conjointement avec « RemoteOnly » • Il est possible d’avoir plusieurs pages d’erreur, par code Programmer en Visual Basic .NET alphorm.com™©
  • 273. Ce qu’on a couvert • La page jaune d’erreur d’exception • La page jaune d’erreur runtime • La page d’erreur personnalisée Programmer en Visual Basic .NET alphorm.com™©
  • 274. ASP.NET Les contrôles serveur Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 275. Plan •Créer un contrôle utilisateur •Modifier le rendu du contrôle •Emettre un événement • Le rôle de viewstate •Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 276. Créer un contrôle utilisateur • Une classe héritant de WebControl • Propriété Text et méthode RenderControl Programmer en Visual Basic .NET alphorm.com™©
  • 277. Modifier le rendu contrôle • Réécrire RenderContent • Générer du HTML • Eventuellement utiliser HtmlTextWriter Programmer en Visual Basic .NET alphorm.com™©
  • 278. Emettre un événement • Un contrôle peut proposer un événement • Cet événement peut signaler une modification de la propriété Programmer en Visual Basic .NET alphorm.com™©
  • 279. Le rôle de ViewState • L’état du contrôle est perdu entre 2 post • ViewState est un dictionnaire qui stocke l’état du contrôle Programmer en Visual Basic .NET alphorm.com™©
  • 280. Ce qu’on a couvert • Créer un contrôle utilisateur • Modifier le rendu du contrôle • Emettre un événement • Le rôle de viewstate Programmer en Visual Basic .NET alphorm.com™©
  • 281. ASP.NET Les contrôles de validation Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 282. Plan • Les différents contrôles de validation •Utilisation des contrôles de validation •Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 283. Les différents types de contrôles • 6 contrôles de validation • Propriétés ErrorMessage et ControlToValidate • Peuvent contrôler des contrôles classiques … Programmer en Visual Basic .NET alphorm.com™©
  • 284. Utilisation des contrôles • Créer un contrôle classique • Préparer la validation du formulaire • Placer les contrôles de validation Programmer en Visual Basic .NET alphorm.com™©
  • 285. Ce qu’on a couvert • Les différents contrôles de validation • Utilisation des contrôles de validation Programmer en Visual Basic .NET alphorm.com™©
  • 286. ASP.NET Les scriptlets Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 287. Plan • Les blocs de code incorporé • Les affichages d’expressions • Les directives • Les liaisons de données • Les générateurs d’expressions • Les commentaires • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 288. Les blocs de code incorporé • % … % • Placer du code dans le HTLM • Pour compatibilité avec ASP Programmer en Visual Basic .NET alphorm.com™©
  • 289. Les affichages d’expressions • %= … % • Equivalent d’un seul Response.Write Programmer en Visual Basic .NET alphorm.com™©
  • 290. Les directives • % @ … % • @Page : spécifie les attributs de page Web Forms • @Control : spécifie les attributs de contrôle utilisateur • @Import : importe un espace de noms • @Register : enregistre un préfixe de contrôle utilisateur • @Master : page maître Programmer en Visual Basic .NET alphorm.com™©
  • 291. Les liaisons de données • % # …% • Lie une propriété de contrôle de serveur et une source de données Programmer en Visual Basic .NET alphorm.com™©
  • 292. Les générateurs d’expressions • Définit la valeur de propriété comme issue de la configuration Programmer en Visual Basic .NET alphorm.com™©
  • 293. Les commentaires • Les commentaire côté serveur Programmer en Visual Basic .NET alphorm.com™©
  • 294. Ce qu’on a couvert • Les blocs de code incorporé • Les affichages d’expressions • Les directives • Les liaisons de données • Les générateurs d’expressions • Les commentaires Programmer en Visual Basic .NET alphorm.com™©
  • 295. ASP.NET Web.config Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 296. Plan • Les fichiers de config •Sections •Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 297. Les fichiers de config • Machine.config • Web.config global • Web.config de l’application Programmer en Visual Basic .NET alphorm.com™©
  • 298. Les sections • Compilation : • Custom errors • Authentification : • Chaînes de connexion : Programmer en Visual Basic .NET alphorm.com™©
  • 299. Ce qu’on a couvert • Les fichiers de config • Sections Programmer en Visual Basic .NET alphorm.com™©
  • 300. WPF Le formulaire WPF Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 301. Plan • L’éditeur graphique • Le formulaire en XML • Les contrôles WPF • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 302. L’éditeur graphique • Un outil de création semblable à Windows Form Programmer en Visual Basic .NET alphorm.com™©
  • 303. Le formulaire en XML • Le formulaire est exporté en XML • Dialecte XAML Programmer en Visual Basic .NET alphorm.com™©
  • 304. Les contrôles WPF • Blend Programmer en Visual Basic .NET alphorm.com™©
  • 305. Ce qu’on a couvert • L’éditeur graphique • Le formulaire en XML • Les contrôles WPF Programmer en Visual Basic .NET alphorm.com™©
  • 306. WPF Utiliser le databinding Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 307. Plan • Le databinding • Binding entre éléments graphiques • Données vers Contrôle • Binding birectionnel • Résumé Programmer en Visual Basic .NET alphorm.com™©
  • 308. Le databinding • Un moyen de lier les contrôles aux données • Ne pas avoir à gérer les mises à jour de l’un ou de l’autre • Fonctionne comme un modèle observateur • Peut fonctionner entre contrôles du formulaire Programmer en Visual Basic .NET alphorm.com™©
  • 309. Binding entre éléments graphiques • Binding entre deux propriétés Text Programmer en Visual Basic .NET alphorm.com™©
  • 310. Données vers contrôle Programmer en Visual Basic .NET alphorm.com™©
  • 311. Mise à jour Programmer en Visual Basic .NET alphorm.com™©
  • 312. Binding bi-directionnel • Les modes possibles : OneWay, TwoWay, OneTime, OneWayToSource • Avec TwoWay, modifiant le TextBox, je modifie la donnée Programmer en Visual Basic .NET alphorm.com™©
  • 313. Ce qu’on a couvert • Le databinding • Binding entre éléments graphiques • Données vers Contrôle • Binding birectionnel Programmer en Visual Basic .NET alphorm.com™©
  • 314. VB.NET Conclusion Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Contact : fabien.brissonneau@gmail.com Programmer en Visual Basic .NET alphorm.com™©
  • 315. Plan • Nous avons présenté VB.NET • Langage universel • L’avenir Programmer en Visual Basic .NET alphorm.com™©
  • 316. Nous avons présenté VB.NET • Un langage héritier de VB et des langages objets • Intégré à la plateforme dot-net • Doit être utilisé comme un langage orienté objet •Manipule les mêmes concepts que son voisin C# Programmer en Visual Basic .NET alphorm.com™©
  • 317. VB.NET est un langage universel • VB.Net s’appuie sur la puissance du framework .Net • Il peut être utilisé pour tout type d’application • Nous avons montré les applications console, fenêtres, asp.net et webservices Programmer en Visual Basic .NET alphorm.com™©
  • 318. L’avenir … • L’avenir de VB.Net est lié à celui de la plateforme • Une utilisation de plus en plus large • Tant sur mobiles que serveurs Programmer en Visual Basic .NET alphorm.com™©