Visual Studio 2013
Transcription
Visual Studio 2013
Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 Introduction 1. Présentation du cas d’étude 13 1.1 Présentation générale 1.2 Présentation des applications 13 13 2. Déroulement du projet 14 3. Pré-requis et fondamentaux techniques à connaître 15 3.1 Visual Studio 2013 3.2 Team Foundation Server 2013 et Team Foundation Services 3.3 Le langage C# de la version 1 à la version 5 3.4 Les nouveautés du langage C# 5 3.4.1 La programmation asynchrone 3.4.2 Informations sur l'appelant d'une méthode 3.4.3 Variables boucles dans les expressions lambda 3.5 Les nouveautés du framework .NET 4.5 et 4.5.1 3.5.1 ASP.NET MVC 4 et Web API 3.5.2 Nouveaux namespaces System.Net.Http et System.Net.Http.Headers 3.5.3 Support de l'asynchronisme par WCF 3.5.4 HTML5 / JavaScript 3.5.5 Windows Azure 3.5.6 Nouveautés du Framework 4.5.1 15 16 19 20 20 23 24 27 27 27 29 32 33 37 Les principes de l'ALM 1. Introduction - les fondamentaux de l'ALM 1.1 ALM, Application Lifecycle Management 1.2 Mise en œuvre des principes de l'ALM dans notre projet 2. Préparation de l'environnement de développement et mise en place du projet 2.1 Le serveur TFS 2013 www.editions-eni.fr 41 41 46 48 49 © Editions ENI 1/11 Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 2.2 Connecter Visual Studio 2013 à TFS 2013 2.2.1 La connexion au serveur TFS 2013 2.2.2 Création du premier projet d'équipe 2.3 La console d'administration de Team Foundation Server Express 2013 2.4 Accéder à TFS 2013 depuis Visual Studio 2013 2.5 Paramétrage du serveur TFS 2013 2.5.1 Paramétrage de la collection de projets d'équipe 2.5.2 Paramétrage des projets d'équipe 2.6 Les éléments de travail : les Work Items 2.6.1 Créer un premier élément de travail ou Work Item 2.6.2 Travailler efficacement avec les éléments de travail 3. Méthodes de développement 78 3.1 L'agilité 3.2 SCRUM 3.2.1 Le mode de fonctionnement de SCRUM 3.2.2 L'organisation de l'équipe en mode SCRUM 3.3 SCRUM, TFS 2013 et Visual Studio 2013 4. Les tests unitaires 78 80 81 81 82 84 4.1 Les tests unitaires, l'environnement .NET 4.5 et Visual Studio 2013 4.2 Mettre en place les tests unitaires 4.2.1 Activer l’assistant de création des tests unitaires 4.2.2 Création de notre premier test unitaire 4.2.3 Exécution de notre premier test unitaire 4.3 Pertinence des tests unitaires : la couverture de code 5. Les tests de montée en charge et les tests de performances 5.1 Test de performance 5.1.1 Préparation et création de notre test de web 5.1.2 Exécution de notre test web 5.2 Test de charge 5.2.1 Préparation et création de notre test de charge 5.2.2 Exécution de notre test de charge www.editions-eni.fr 50 50 53 58 61 63 64 67 71 73 76 © Editions ENI 84 85 87 90 96 99 101 103 103 105 106 107 117 2/11 Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 6. Gestion du code source et travail en équipe 120 6.1 Activer le contrôle de sources 6.2 Premier check-in - check-out 6.3 Réserver les modifications en attente 121 125 128 7. Gestion des builds 130 7.1 Le contrôleur de build et ses agents 7.2 Création de notre première configuration de build 7.3 Mise en file d’attente de notre build et exécution 130 131 138 Analyse et Design 1. Introduction 143 2. Méthodologie 143 3. Unified Modeling Language (UML) 144 3.1 Diagramme de cas d'usage 3.2 Diagramme de séquences 3.3 Diagramme d’activités 147 152 159 4. Diagramme de couche 161 4.1 But et utilité du diagramme de couche 4.2 Création du diagramme 4.3 Validation de l'architecture 5. Enchaînement des fenêtres 178 5.1 Créer et remplir une cave 5.2 Retours utilisateurs et travail collaboratif 6. Conclusion www.editions-eni.fr 161 162 176 179 185 188 © Editions ENI 3/11 Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 Architecture logicielle de la solution 1. Les fondamentaux 191 2. Aller plus loin 193 2.1 Le rôle d'un serveur d'applications 2.2 Fonctionnalités complémentaires du serveur d'applications 2.3 Utilisation du serveur d'applications pour notre application Cave à vins 2.4 Préparation de notre solution pour gérer les transactions 2.5 Développement de notre solution 2.5.1 Procédures stockées 2.5.2 Objets techniques (DAL) 2.5.3 Objets métiers (BL) 2.6 Installation des composants dans le serveur d'applications 196 196 197 198 200 200 202 209 212 Accès aux données avec Entity Framework 1. Introduction 231 1.1 Qu’est-ce qu’un ORM ? 1.2 Entity Framework 231 231 2. Entity Framework : Code First ou Model First ? 2.1 Mapping à l’aide du designer ou dans le code ? 2.2 Approche retenue 3. Implémentation des classes POCO 232 235 236 3.1 Diagramme de classes 3.2 Création du projet et ajout de la classe Bouteille 3.3 La classe Appellation 3.4 La classe Cave 3.5 L’énumération Cepage 3.6 L’énumération Couleur 3.7 L’énumération Pays www.editions-eni.fr 232 © Editions ENI 236 237 239 240 240 241 241 4/11 Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 3.8 La classe Producteur 3.9 L’énumération Region 3.10 L’énumération TypeAlcool 3.11 La classe Utilisateur 242 242 243 243 4. Écriture du mapping 243 4.1 Les Data Annotations 4.2 L'API CodeFirst Fluent 251 252 5. Génération de la base de données 253 5.1 Manipulation du modèle de données avec Code First Migrations 5.2 Tests unitaires de gestion de la base de données 5.3 Mise à jour de la base de données dans le temps 6. Gestion du contexte de données 253 259 261 264 6.1 Présentation 6.2 Enregistrement des modifications des données 6.3 Mise à jour d’objets 6.4 Suppression des données 6.5 Concurrence d’accès aux données 6.5.1 Le premier gagne (ou Database wins) 6.5.2 Le dernier gagne (ou Client wins) 6.5.3 Résolution par arbitrage 264 266 267 267 268 268 269 270 7. Agilité et architecture 271 8. Conclusion 272 Implémentation de la couche métier 1. Introduction 275 2. Partis pris et contraintes techniques 275 www.editions-eni.fr © Editions ENI 5/11 Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 3. Implémentation des classes métiers 276 3.1 CaveRepository 3.2 VinRepository 3.3 Refactoring 3.4 Unit of Work 3.5 Utilisation des repositories et de l'Unit of Work 3.6 Diagramme de classes 3.7 Et après ? 277 281 283 286 289 291 293 Développement web avec ASP.NET MVC5 1. Introduction à ASP.NET 4.5.1 297 1.1 ASP.NET Web Forms 1.2 ASP.NET Web Pages 1.3 ASP.NET MVC 297 298 298 2. Design patterns utilisés pour le projet Cave à vin 2.1 Injection de dépendances et inversion de contrôle 2.2 Le pattern Model-View-Controller (MVC) 2.2.1 Événement 2.2.2 Le contrôleur 2.2.3 Les vues 2.2.4 Le modèle 299 299 301 301 302 302 302 3. Razor 303 4. Structure d’une application ASP.NET MVC 305 4.1 Cycle de vie de l’application 4.2 Routage 4.3 Contrôleurs 4.4 Vues 4.5 Bilan www.editions-eni.fr 307 308 309 310 310 © Editions ENI 6/11 Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 5. Lancement du projet Cave à vin 311 5.1 Création du projet 5.2 Configuration 5.3 Routage 311 313 313 6. Réalisation d’une première vue 314 6.1 Route principale 6.2 Contrôleur d’accueil 6.3 Création de la page d’accueil 6.4 Seconde page 6.5 Ajout d’une route spécifique 6.6 Génération des URL 6.7 Bilan 314 315 317 319 321 322 322 7. Première fonctionnalité métier : gestion de cave 7.1 Ajout des références 7.2 Contexte de données 7.3 Création d’une cave 7.3.1 Modèle de cave 7.3.2 Contrôleur et première action 7.3.3 Vue de création minimaliste 7.3.4 Ajout d’une description 7.3.5 Utilisation des utilitaires HTML 7.3.6 Déclaration d’un espace de nom commun aux vues 7.3.7 Action de création 7.4 Détail d’une cave 7.4.1 Action de détails 7.4.2 Vue de détails 7.4.3 Exécution de l’application 7.4.4 Cas d’une cave non trouvée 7.5 Bandeau de notification 7.6 Enrichissement du modèle et validations 7.6.1 Les Data Annotations 7.6.2 Validation du nom www.editions-eni.fr © Editions ENI 323 323 324 326 326 327 328 330 331 333 333 335 335 335 336 338 339 341 342 342 7/11 Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 7.6.3 Règles d’affichage 7.7 Liste des caves 7.7.1 Action et vue d’index 7.7.2 Navigation 7.8 Modification de cave 7.8.1 Actions de modification 7.8.2 Formulaire d’édition 7.8.3 Ajout des liens de modification dans la liste 7.9 Suppression de cave 7.9.1 Actions de suppression 7.9.2 Confirmation de suppression 7.10 Navigation 8. Mise en page de l’application 345 346 347 348 349 349 351 352 355 355 357 360 360 8.1 Page de disposition 8.2 Création d’une vue partielle 8.3 Ajout d’une feuille de style 360 365 367 9. Authentification de l’utilisateur 370 9.1 Zone d’administration 370 10. Échafaudage de contrôleur 373 10.1 Liste des vins 10.1.1 Modèle de vin 10.1.2 Contrôleur de vins 10.1.3 Vues de gestion de vin 10.2 Échafaudage complet 10.2.1 Modèle utilisateur 10.2.2 Génération du contrôleur et des vues 10.3 Bilan sur l’échafaudage 11. Authentification 388 11.1 Initialisation du projet 11.2 Modèle d’identification 11.3 Contrôleur de compte www.editions-eni.fr 373 373 374 378 384 384 385 388 389 390 391 © Editions ENI 8/11 Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 11.4 Sécurisation d’un contrôleur 11.5 Autres fournisseurs d’authentification 12. Conclusion 392 393 394 Services ASP.NET Web API 1. Introduction 397 1.1 Les services REST 1.2 ASP.NET Web API 397 397 2. Créer une application Web API 398 2.1 Initialisation du projet 2.2 Structure du projet 2.3 Ajout d'un contrôleur 2.3.1 Opérations de lecture 2.3.2 Opération de création 2.3.3 Opérations de modification et de suppression 2.4 Bilan sur les contrôleurs 3. Appeler un service Web API 398 400 401 403 404 405 406 406 3.1 Données de test 3.2 Appel depuis le navigateur 3.3 Accès par JavaScript 406 407 409 4. Bilan 410 Utilisation de Windows Azure pour héberger l’application web 1. Où et comment héberger notre application ? 413 2. Windows Azure : les principes de base 413 www.editions-eni.fr © Editions ENI 9/11 Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 2.1 Les modèles d'exécution de Windows Azure 2.1.1 Le modèle IaaS et les machines virtuelles 2.1.2 Sites web 2.1.3 PaaS et Services Cloud 2.2 La gestion des données dans Windows Azure 2.2.1 Blobs 2.2.2 Tables 2.2.3 SQL Database 2.3 Autres services Windows Azure 3. Intégrer Windows Azure à notre solution 3.1 Ouvrir un compte 3.2 Connecter ce compte à notre plateforme de développement 4. Déployer notre solution sur Windows Azure 4.1 Déployer nos données 4.1.1 Utilisation des services SQL Database 4.1.2 Création de notre propre solution SQL Server (VM) 4.2 Déployer notre solution web 4.3 Configurer la haute disponibilité de nos machines virtuelles 4.3.1 Point de terminaison 4.3.2 Windows Azure Traffic Manager 4.3.3 Groupe à haute disponibilité 5. Conclusion 414 414 415 416 417 417 418 419 421 422 422 423 426 428 428 441 476 483 483 491 492 493 Pour aller plus loin 1. Introduction 497 2. Étendre les fonctionnalités de la CaveAVin 497 2.1 Kinect 2.2 Surface www.editions-eni.fr 497 498 © Editions ENI 10/11 Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 2.3 Windows 8.1 2.4 Windows Phone 8 500 500 3. Architecture 501 3.1 NoSQL 3.2 Le bus applicatif 501 503 4. Conclusion 503 Index 505 www.editions-eni.fr © Editions ENI 11/11