Développer avec Visual Studio 2005
Transcription
Développer avec Visual Studio 2005
Avant-propos Introduction Le développement d’un logiciel est une tâche très difficile. Le développeur est confronté à des difficultés d’ordre technique. Il doit prendre en compte les problématiques de besoins, d’analyse, d’études, de modélisation et de bancs de tests. Il doit également faire preuve d’élégance et d’efficacité. Son code doit être fonctionnel, propre, solide, lisible, réutilisable et pérenne. En ce sens, le choix d’une technologie pour développer un logiciel destiné à s’exécuter sur une machine Windows doit être mûrement réfléchi. Le rythme des évolutions apportées par Microsoft est de l’ordre d’une version tous les 3 ans en moyenne. Se pose alors régulièrement la question fatidique : doit-on capitaliser sur la technologie existante, qui a fait ses preuves, ou vers la toute dernière technologie qui nous promet monts et merveilles ? Ces évolutions fréquentes peuvent être perçues comme de l’instabilité. J’ai tendance à penser que ce sentiment entre pour beaucoup dans les a priori négatifs que bon nombre de développeurs ont à l’encontre de la firme de Redmond. Le comble est d’ailleurs que parmi eux beaucoup ne travaillent que sous Windows. Dans ce contexte, la naissance de la plate-forme .NET représente une révolution à plus d’un titre. Certains (mal informés) la considèrent comme une évolution de la technologie COM/DCOM. Rien n’est plus faux, car les changements sont très profonds. L’avènement récent de la version 2.0 de la plate-forme .NET enfonce encore plus le clou. Avec .NET, et pour la première fois, Microsoft opère un virage à 180° et tourne franchement la tête en direction des développeurs. Il s’agit d’une ambition délibérée de faire table rase des erreurs du passé, tout en conservant suffisamment de compatibilité (le terme barbare consacré est interopérabilité) avec les technologies antérieures dites classiques. Avec cette nouvelle technologie, Microsoft cherche à damer le pion à son grand rival du moment : Java et la plate-forme J2EE. Tout au long de ce livre, j’espère vous persuader par l’exemple que la plate-forme .NET sait véritablement conjuguer puissance, souplesse et modernité avec une déconcertante facilité de mise en œuvre. Toutefois, cette simplicité n’est qu’apparente : dans les coulisses, la technologie est très complexe, même si les rouages les plus intimes sont accessibles rapidement. Il est possible dans l’absolu de concevoir une application .NET en utilisant simplement NotePad et le xii Table des matières compilateur C livré par Microsoft. Cependant je ne connais aucune personne raisonnable qui songerait à développer sérieusement pour la plate-forme .NET de cette façon, sans les outils adéquats. Alors, quels outils choisir ? La réponse est toute trouvée : actuellement, ce qui se fait de mieux en matière d’environnement de développement est la dernière mouture du produit phare de Microsoft, Visual Studio .NET 2005. Je crois fermement que vous partagerez cet avis après avoir lu ce livre. Avec cet outil, il est possible entre autres de développer des applications Windows, des sites web, des services web, des applications déportées pour les mobiles, etc. Le tout dans un environnement intégré, robuste et intuitif. Pour ceux qui désirent s’initier au développement sous .NET, le principal défaut de Visual Studio .NET 2005 est justement sa puissance. Sa complexité de prise en main, la grande richesse de ses options et de ses possibilités, en réservent l’usage aux développeurs professionnels, lesquels ont l’habitude et (plus ou moins) le temps de s’adapter à de nouveaux outils. Ceux qui ne sont pas habitués aux développements pour la plate-forme Windows peuvent également éprouver des difficutés d’adaptation à ce nouvel environnement. De plus, Visual Studio .NET 2005 est trop cher sans doute pour les débutants ou les développeurs qui veulent juste découvrir la plate-forme .NET. L’objectif est bien souvent de produire rapidement des applications complètes et fonctionnelles. Ce livre est là pour répondre à ces attentes. Microsoft décline son offre Visual Studio .NET 2005 en plusieurs versions, chacune étant destinée à un public différent. Parmi celles-ci, on trouve des outils simples, allégés par rapport à la version professionnelle, et faciles à mettre en œuvre. Ces outils permettent de développer rapidement une application Windows ou web complète, clé en main, en C comme en Visual Basic 2005. Ces versions sont appelées Visual Studio 2005 Editions Express par Microsoft. A propos de ce livre De plus en plus d’articles sur le web concernent Visual Studio 2005 et le Framework .NET 2.0. Ce livre est un traité de vulgarisation. Il donne également l’occasion d’aller plus loin sur certains sujets. Il s’agit d’un ouvrage pratique destiné à servir de guide à tous ceux qui désirent s’initier puis se perfectionner au développement .NET 2.0. Il concerne l’utilisation de Visual Studio .NET 2005 Editions Express. L’approche que je vais suivre tout au long de ce livre est résolument simple, didactique, progressive, et orientée outils. Je vais rester pragmatique. Mon discours sera émaillé de nombreux exemples de mise en œuvre. Vous trouverez beaucoup de code C ou Visual Basic 2005 destiné à éclairer les notions les plus fondamentales et produire rapidement une application concrète. Ce livre n’est toutefois pas un cours sur .NET, ni d’ailleurs sur Visual Studio. Après avoir tout lu et assimilé vous en saurez peut-être autant sur Visual Studio.NET que de nombreux développeurs professionnels que je connais. Il s’agit avant tout d’aller à l’essentiel, d’appréhender les principes du développement d’applications sous .NET en expliquant A qui s’adresse ce livre xiii le fonctionnement de l’outil, en somme de vous mettre le pied à l’étrier pour vous lancer seul dans sa maîtrise au quotidien. Mon but est de faire en sorte qu’à l’issue de ce livre vous soyez en mesure de produire rapidement des applications .NET complètes, aussi bien Windows que des sites web opérationnels et élaborés. Vous aurez aussi abordé la technologie .NET avec suffisamment de recul et de compréhension globale pour pouvoir aller encore plus loin si, d’aventure, vous aviez un jour la chance de vous impliquer dans les versions professionnelles de Visual Studio .NET 2005. A qui s’adresse ce livre Ce livre s’adresse à vous, débutants en développement d’applications Windows pour la plateforme .NET 2.0, que vous soyez étudiant, développeur occasionnel ou simplement passionné. Il s’adresse également aux développeurs professionnels d’applications Windows dites classiques, qui souhaitent sauter le pas et évoluer vers un environnement .NET. Vous pourrez découvrir rapidement les tenants et les aboutissants du développement d’applications pour cette nouvelle technologie sans avoir à consacrer trop de temps à l’appréhension d’un nouvel outil. Ceux qui connaissent déjà .NET 1.1 et Visual Studio 2003 découvriront avantageusement les nouveautés de l’environnement Visual Studio 2005, et les évolutions du Framework .NET et du développement d’applications par rapport à la version 1.1. Pour bien profiter de ce livre, il est toutefois nécessaire de connaître au préalable soit le langage C , soit le langage Visual Basic 2005. Tour d’horizon des chapitres Ce livre est constitué de chapitres indépendants les uns des autres. Vous pouvez lire les chapitres dans n’importe que ordre. Par exemple, si vous êtes déjà initié aux bases de la programmation en environnement .NET, vous pouvez passer directement au chapitre 2. Le livre est découpé de la façon suivante : Le chapitre 1, Développer pour le Framework .NET 2.0, constitue une introduction aux fondements du développement d’applications pour le Framework .NET 2.0. Il s’agit d’une synthèse des grands principes de la technologie .NET et de ses classes de base. Vous vous familiariserez avec l’accès aux sources de données grâce à ADO .NET. Vous y découvrirez les différentes versions de Visual Studio 2005 et les grands principes du développement d’applications .NET avec Visual Studio, sur la base d’exemples concrets. Le chapitre 2, L’environnement de développement, présente le fonctionnement et la manipulation de l’environnement de développement Visual Studio, quel que soit le type d’applications à développer. Vous y découvrirez ensuite l’environnement de développement. Vous irez enfin à la découverte de l’éditeur de code et de ses assistants. xiv Table des matières Le chapitre 3, Créer un site web avec Visual Web Developer, présente la création d’une application web avec Visual Web Developer, en C et Basic 2005. Après avoir détaillé les différents types d’application web, vous suivrez la mise en œuvre complète et pratique des techniques liées au développement d’un site web. Vous découvrirez comment utiliser les pages et les contrôles serveurs web. Vous saurez comment compiler et lancer l’exécution d’un site web sur le serveur de développement local fourni avec ASP.NET. Vous apprendrez à construire un portail web personnalisable à l’aide des Web Parts. Enfin, vous découvrirez les contrôles d’accès aux sources de données, et la façon de consommer les méthodes d’un service web. Le chapitre 4, Développer un site web multi-pages, poursuit la présentation des techniques utilisées pour le développement d’applications web. Il étend les principes présentés dans le chapitre 3. Sa lecture vous sera utile si vous désirez concevoir un site web composé de plusieurs pages. Il présente les principes de réutilisation de code, les master pages, la navigation, ainsi que les thèmes et les skins. Le chapitre 5, Applications web avancées, aborde des notions avancées pour le développement d’applications web. Il commence par les principes de création d’un service web. Vous connaîtrez ensuite la façon de sécuriser et de personnaliser un site web. Enfin vous découvrirez comment optimiser les performances de votre site web avec les techniques de mise en cache. Le chapitre 6, Créer une application Windows avec Visual C ou Visual Basic 2005 présente le développement d’applications WinForms, avec des exemples de code pour chacun de ces deux langages. J’y présente les différents types d’application Windows, avant d’aborder les principes de développement d’une application graphique WinForms. Vous apprendrez à manipuler les formulaires et les contrôles. Vous découvrirez la façon de compiler une application Windows. Vous saurez comment mettre en œuvre des boîtes de dialogue et des applications MDI. Le chapitre se termine avec les principes du dessin avec GDI+. Le chapitre 7, Mettre en œuvre une interface Windows élaborée, poursuit le chapitre 6 en présentant des techniques avancées. Vous apprendrez notamment à utiliser des contrôles évolués comme par exemple les arborescences. Vous saurez profiter des paramètres applicatifs et des ressources. Vous découvrirez comment mettre en œuvre le glisser-déposer et comment imprimer des documents. Le chapitre se poursuit avec les techniques de réutilisation de code, comme les contrôles personnalisés ou les bibliothèques de classe. Vous terminerez la découverte des types d’application Windows Forms avec la création d’une application console. Le chapitre 8, Déboguer une application, détaille un aspect essentiel du développement d’une application Windows ou web : le débogage. Vous découvrirez les techniques de débogage destinées à simplifier la vie (mais surtout le travail) du développeur d’applications. Le chapitre 9, Déployer une application web, montre comment copier et synchroniser les fichiers d’un site web local pour le publier sur un site web distant une fois développé et débogué. Remerciements xv Le chapitre 10, Déployer une application Windows, montre comment utiliser la nouvelle technologie ClickOnce pour déployer et automatiquement mettre à jour une application Windows, pour la rendre ainsi disponible aux utilisateurs finaux. Remerciements En premier lieu, ce livre n’aurait jamais pu voir le jour sans le soutien constant et les conseils avisés de Patrick Smacchia, à qui j’adresse mes plus profonds remerciements. Son discernement et sa grande intelligence ont été les moteurs initiaux de ce livre. Mes remerciements vont aussi tout particulièrement à Sami Jaber, consultant .NET, pour ses encouragements et ses critiques affûtées qui m’ont beaucoup aidé. En plus d’être un orateur de talent, Sami est également le webmaster du site http://www. DotNetGuru.org, la référence française incontournable en matière de sites web consacrés à la technologie .NET. Un grand merci aux personnes suivantes, pour leur support, leurs encouragements, et tout le temps passé à relire et commenter ce livre : Thomas Gil, Sébastien Ros, Luc Fournier, Thomas Pierrain, Christophe Moustier, Philippe Moissonnier, ainsi qu’à toute la communauté .NET francophone. Je tiens également à remercier mon éditeur, Xavier Cazin. Sa patience et son professionnalisme m’ont aidé à faire les choix les plus judicieux. Ce livre lui doit beaucoup dans l’élaboration de sa structure et l’orientation de son contenu. Un grand merci également à Samuel Cuneo, des éditions O’Reilly, pour ses remarques toujours pertinentes, ses précieux conseils, et sa relecture approfondie de l’ensemble des chapitres de ce livre. La présence constante de ma famille à mes côtés est l’un des secrets de mon équilibre. J’ai puisé dans ce soutien inestimable le courage nécessaire à l’aboutissement de mon projet. Mes pensées vont aussi vers toi, Pauline. C’est en grande partie grâce à toi que ce livre existe. Je te remercie du fond du cœur pour avoir sacrifié toutes ces heures à la rédaction de ce livre. Nous en consacrerons d’autres à flâner tous les deux sous le soleil de Provence. A mon père, enfin, qui m’a donné le virus.