Productivité Collaboration Mobilité DevOps - Neos-SDI

La page est créée Guillaume Lebreton
 
CONTINUER À LIRE
Productivité Collaboration Mobilité DevOps - Neos-SDI
Productivité
Collaboration
Mobilité
DevOps
Productivité Collaboration Mobilité DevOps - Neos-SDI
édito                                                                                                                               Sommaire

    Productivité, collaboration,
    multiplateforme et multi-devices                                                                                               édito                                 2
    Depuis 20 ans, Microsoft ne cesse de faire évoluer Visual Studio :
    nouvelles fonctionnalités, optimisations, nouveaux supports                                                                    Aperçu de la
    systèmes et matériels. Visual Studio n’est pas qu’un IDE, mais une                                                             plateforme                            3
    véritable plateforme de développement pour les mobiles, le web, le
    Cloud et le desktop. La nouvelle version 2015 est dans la continuité
    des versions précédentes, tout en apportant des améliorations                                                                  Productivité avec
    notables pour le développeur.                                                                                                  Visual Studio 2015                    4
    Amélioration de la productivité du développeur ! Pour Microsoft,
    c’est un objectif. Comment, au quotidien, aider et faciliter le                                                                Visual Studio Code /
    développement et in fine, la vie du développeur ? Cela passe par des                                                           Visual Studio
    fonctions comme IntelliSense, CodeMap et une intégration plus                                                                  Community            8
    poussée avec les SDK et les API (mobiles, cloud, web, desktop, IoT,
    les tests…).
                                                                                                                                   L’ALM dans les
    DevOps. Visual Studio est au cœur du DevOps tel que proposé par                                                                nuages (TFS / VSO) 10
    Microsoft. Le but est d’améliorer et de rendre toujours plus fluides la
    communication, les échanges et le travail entre les développeurs et
    la production. Comment rendre plus souples les processus de                                                                    Installation &
    développement, de builds, de déploiement et de production des                                                                  migration                             14
    applications ? Visual Studio 2015, comme vous le verrez dans ce livre
    blanc, s’intègre plus profondément avec Visual Studio Online et tous
    les services liés (Application Insights, build…)                                                                               Services Azure                        16

    Mobilité. Plus que jamais, Visual Studio 2015 est l’outil pour                                                                 Développer pour
    développer des applications mobiles (smartphones, tablettes). Il
    intègre Cordova, supporte parfaitement Xamarin. Et propose des                                                                 Windows 10                            21
    fonctions avancées telles que le C++ pour mobile ! Et demain, ce
    sera la possibilité de migrer des projets Android et iOS pour les                                                              Dev Mobile                            27
    compiler pour Windows Phone(*).

    Multi-devices. Pour autant, Visual Studio 2015 n’en oublie pas ce                                                              Containers,
    qui a fait sa force : le développement Windows et .NET.                                                                        Docker…                               31
    L’environnement est naturellement l’outil idéal pour créer des
    applications Windows 10, Windows 10 Mobile. Et avec la notion de
    plateforme Windows 10 (allant de l’IoT au Desktop) et des Universal                                                            IoT                                   32
    Apps, vous pouvez générer, avec un seul code, des apps
    fonctionnant sur un smartphone, une tablette, un PC…
                                                                                                                                   MSDN Platforms                        34
    Qu’attendez-vous pour tester Visual Studio dès aujourd’hui ?
                                                                                                                                   Ressources                            35
                  François Tonic
                  éditeur & rédacteur en chef de Programmez !

                  (*) Ces outils sont en pré-versions à l’heure où nous imprimons ce document.

          Réalisation : Programmez ! le magazine du développeur – 7, av. Roger Chambonnet 91220 Brétigny sur Orge - Directeur de la publication : François Tonic
          Coordination Microsoft : Gaëlle Cottenceau, Sébastien Cantini - Maquette : Pierre Sandré - Imprimé en France - Photos et illustrations tous droits réservés.

2
Productivité Collaboration Mobilité DevOps - Neos-SDI
Aperçu

Aperçu de la plateforme Visual Studio
Visual Studio est devenu bien plus qu’une plateforme de développement : IDE, ALM, tests, déploiement,
Cloud Computing, multiplateforme. A chaque développeur son Visual Studio !

Jusqu’à la version 2015, Visual Studio se déclinait en plusieurs              (2) Tarification en ligne Microsoft Store : 1 199 $ (nouveau) et 799 $
éditions : Express, Ultimate, Premium, Professional et Test                       (renouvellement). Des remises supplémentaires pourront
Professional … Chaque édition correspondait à des usages et des                   également être obtenues auprès des revendeurs de licences en
profils de développeurs précis et avec des niveaux de fonctionnalités             volume Microsoft.
parfois très différents. A cela se rajoutaient les éditions de                (3) Visual Studio Enterprise avec MSDN acheté via Microsoft Store en
Team Foundation Server et de Visual Studio Online (VSO).                          ligne coûte 5 999 $ (nouveau) et 2 569 $ (renouvellement), par
                                                                                  rapport à Visual Studio Ultimate avec MSDN, qui revenait à
Les éditions de Visual Studio 2015                                                13 299 $ (nouveau) et 4 249 $ (renouvellement). Des remises
                                                                                  supplémentaires pourront également être obtenues auprès des
                  Visual Studio   Visual Studio Visual Studio Visual Studio       revendeurs de licences en volume Microsoft.
                   Community      Professional    Enterprise      Test

                                                                              Les autres produits de la gamme
                                   avec MSDN     avec MSDN Professional
Fonctionnalités
IDE
                      QQ             QQQ          QQQQ              -         Visual Studio Code
                                                                              Environnement de développement gratuit et très léger. Il supporte les
                                                                              langages web les plus populaires. Disponible sur Linux, OS X et Windows.
Architecture
et modélisation
                       Q               Q          QQQQ              -
                                                                              Visual Studio Express 2015
Outils de tests        Q               Q          QQQQ             QQ         éditions gratuites de Visual Studio. Elles se déclinent en Express pour
                                                                              Desktop, Express pour Web, Express pour Windows, Team
Debug                QQQ             QQQ          QQQQ              -         Foundation Server 2015 Express. Chaque édition se limite à un
                                                                              domaine précis de développement.
Accès services
VSO
                      QQ              QQ          QQQQ            QQQ
                                                                              MSDN Platforms
                                                                              MSDN Platforms permet au personnel informatique et aux
Team Foundation
Server
                       -             QQQ          QQQQ           QQQQ         développeurs Java d'accéder à une large gamme de ressources qui
                                                                              aident votre entreprise à réussir sans le coût supplémentaire de
Outils de                                                                     Visual Studio. L'accès à des logiciels passés, présents et futurs
collaboration
                    QQQQ            QQQQ          QQQQ            QQQ         permet au personnel informatique de disposer de tout ce dont il a
                                                                              besoin pour installer des environnements
Souscription et
bénéfices MSDN
                       -             QQQ          QQQQ         QQ / QQQ
                                                                              de développement/test et permet à des
                                                                              développeurs hétérogènes de générer
                                                                              des applications de qualité élevée pour
Tarif              gratuit (1)     1 199 $ (2)   5 999 $ (3)                  le Web, le cloud et Windows. De plus, les
                                                                              abonnés peuvent se connecter,
Les éditions Premium et Ultimate ont fusionné en Enterprise.                  collaborer et livrer à temps avec
Les tarifs indiqués sont ceux du MS Store pour 1 an.                          l'aide de la solution ALM de
                                                                              Microsoft. p
(1) Visual Studio Community est gratuit pour les développeurs
    indépendants, les projets open source, la recherche universitaire,
    les formations, l’enseignement et les petites équipes
    professionnelles. Pour plus d’informations
    sur les critères d’éligibilité, consultez la
    page produit Visual Studio Community.

                                                                                                                                                         3
Productivité Collaboration Mobilité DevOps - Neos-SDI
Productivité

    Productivité avec Visual Studio 2015
    Comme pour chaque version majeure de Visual Studio, Microsoft apporte son lot de nouvelles
    fonctionnalités. D’autres, quant à elles, deviennent plus matures et accessibles sur des versions moins
    complètes. Tout cela permet d’améliorer grandement la productivité des développeurs.
                      Pierre-Henri Gache,
                      Consultant Senior à Cellenza

                          Michel
                         Perfetti
                      Consultant
                        Senior à
                     Cellenza et
                    MVP VS ALM

                      Guillaume Rouchon
                      Consultant Senior
                      à Cellenza
                      et MVP VS ALM

                                                                                                      Fig.1     Fig.2

    Avec la version 2015 de Visual Studio,                  u Les outils de développement pour                 u Tap dans la marge pour sélectionner une ligne ;
    Microsoft revoit les différentes distributions.            Windows 8.1 et Windows Phone ;                  u Appui long pour faire apparaître le menu
    On retrouve maintenant les versions                     u Les outils de développement pour Python             contextuel.
    Community, Express, Test Professionnel,                    ou PowerShell ;                                 D’autre part, nous travaillons aussi de plus
    Professionnel et Entreprise. L’apport majeur            u Les outils pour se connecter à GitHub.           en plus avec des ordinateurs portables,
    de productivité vient de la fusion des                  Ces composants, accessibles directement            parfois connectés à un écran secondaire. Or
    anciennes versions Premium et Ultimate en               dans l’installeur de Visual Studio, vont nous      ces différents écrans n’ont généralement pas
    Entreprise. Les développeurs vont donc                  éviter de chercher à droite et à gauche ces        la même résolution et il fallait dans ce cas
    pouvoir profiter de l’ensemble des outils               extensions et de les maintenir à jour, étant       réarranger les fenêtres dans Visual Studio
    présents dans Ultimate. CodeLens est un bon             donné qu’ils s’intègrent aussi au système de       afin de s’adapter à la résolution de l’écran en
    exemple et nous le verrons plus en détail               notification interne pour les mises à jour. Ce     cours. Avec la version 2015, il est possible de
    dans la suite de cet article. Auparavant                nouveau système de notification gère aussi         sauvegarder l’organisation des fenêtres et de
    uniquement disponible en version Ultimate,              les packages de composants de Visual               rappeler une configuration préalablement
    peu de personnes pouvaient en disposer.                 Studio et est capable de mettre à jour lui-        sauvegardée (Fig. 2). En bonus, ces
    CodeLens devient donc plus accessible en                même certains packages.                            sauvegardes font partie des informations
    étant même accessible dès la version                                                                       associées à votre profil et seront donc
    Professionnel. Tous les développeurs qui                Gestion des comptes                                accessibles de n’importe quel ordinateur dès
    passent à Visual Studio 2015 auront donc                Dans la précédente version, il était possible      que vous vous connectez à Visual Studio
    CodeLens s’ils travaillent sur TFS 2013-2015,           d’associer un seul compte à Visual Studio qui      avec votre compte Microsoft.
    Visual Studio Online ou un repository Git               permettait de sauvegarder son paramétrage.
    local. Il y a bien d’autres nouveautés que              Par contre, dès que l’on accédait à Azure          Éditeur de code
    nous vous proposons de découvrir au travers             avec plusieurs comptes, il fallait jongler entre   L’éditeur de code reçoit lui aussi des
    de moments clés dans le développement                   les différents identifiants de ces comptes.        améliorations afin de permettre de gagner
    (l’écriture du code, puis le débogage et                Avec Visual Studio 2015, afin de ne pas avoir      du temps via l’affichage d’informations et
    l’analyse de performance). Voyons en détail             à ressaisir perpétuellement ses identifiants,      d’avertissements en temps réel bénéficiant
    ce que nous propose cette version pour vous             Microsoft a ajouté un gestionnaire de              également d’une meilleure lisibilité.
    aider à améliorer votre flux de travail.                comptes (Fig. 1).                                  Avec l’intégration du compilateur Roslyn,
                                                            Lorsque des identifiants sont nécessaires,         Visual Studio peut, en temps réel, analyser le
    IDE                                                     Visual Studio propose de les sélectionner          code saisi et ainsi afficher directement le
    Setup                                                   dans une liste existante. Dans le cas de           résultat de ces analyses. On retrouvera par
    Le premier ajout important à Visual Studio 2015         compte d’entreprise, il est aussi possible de      exemple les résultats des analyseurs de code
    se retrouve dès l’installation. En effet l’installeur   filtrer les éléments qui seront affichés.          (anciennement FxCop et Code Analysis).
    propose, en plus des composants classiques,                                                                Code Analysis a d’ailleurs lui aussi été
    des outils tiers qui s’intègrent directement à          Gestion de l’affichage                             repensé afin de prendre en compte Roslyn.
    Visual Studio tel que :                                 Les écrans évoluent et il n’est plus rare de       Les règles sont maintenant distribuées sous
    u Apache Cordova et Xamarin Starter                     trouver des développeurs avec des écrans           forme d’assemblies à ajouter dans ses
       Edition ;                                            tactiles. Pour améliorer la productivité de ces    projets via des packages NuGet. L’analyseur
    u Le SDK Android et un émulateur ;                      développeurs, Visual Studio supporte               pourra aussi proposer le code à mettre en
    u SQL Server Data Tools ;                               maintenant des gestes :                            place pour être en adéquation avec la règle
    u Office Developer Tools ;                              u Pinch pour zoomer ou dézoomer ;                  (Fig. 3). Le refactoring de code a lui aussi
    u Applications Universelles Windows ;                   u Double tap pour sélectionner un mot ;            évolué. L’ensemble des fonctionnalités

4
Productivité Collaboration Mobilité DevOps - Neos-SDI
Productivité

présentes en C# est maintenant disponible         déclinaisons de Windows Phone ou                     que l’on souhaite installer. Vous avez donc le
en natif pour les langages C++ et VB.Net.         Windows 8 à 10. D’un simple éditeur XML au           choix d’installer par défaut la dernière
On retrouvera par exemple pour le C++ les         départ, l’éditeur XAML intègre maintenant le         version ou bien une version antérieure
options suivantes :                               même genre de fonctionnalités qu’un                  disponible dans la liste de sélection.
u Renommer un élément (variable,                  éditeur de code classique dans Visual Studio.        Ensuite si vous souhaitez mettre à jour vos
    méthode, classe…) ;                           Côté édition, IntelliSense a été amélioré :          packages, vous pouvez au préalable
u Extraire une fonction d’un code existant ;      plus de frustration quand rien n’apparaît            visualiser la liste des projets contenant le
u Implémenter toutes les méthodes                 alors que la donnée attendue est basique.            package en question et quelle est la version
    virtuelles ;                                  L’intégration de Blend a été aussi renforcée,        utilisée. Vous avez alors le loisir de mettre à
u Créer la définition d’une fonction depuis       ainsi que la gestion des différentes                 jour tout ou partie de vos packages. Mais la
    sa déclaration ou inversement ;               résolutions, fonctionnalité critique lorsque         fonctionnalité la plus intéressante et qui
u Déplacer la définition d’une fonction entre     l’on écrit des applications mobiles.                 vous fera gagner le plus de temps est
    le fichier d’en-tête et le fichier source ;   Pour le « Debug », deux fonctionnalités à            l’action « Consolidate ». En effet lorsque
u Convertir une chaîne contenant des              elles seules valent le coup de passer à Visual       vous sélectionnez cette option, vous allez
    caractères d’échappement en chaîne            Studio 2015 : le « live visual tree » et le « live   uniformiser la version du package choisi.
    littérale (C++ 11).                           property explorer ». Pour résumer                    Admettons que vous ayez les versions 6.0.4
L’accès au refactoring se fait via le nouveau     simplement : nous pouvons naviguer dans              et 6.0.8 du package « Newtonsoft.Json »,
raccourci CTRL +  et la                    l’arbre des composants et pour chaque                chose assez courante quand vous avez une
fonctionnalité est extensible permettant à la     composant, nous avons désormais la                   solution avec des projets web. En fonction
communauté de proposer ses propres                possibilité d’en modifier les propriétés.            du choix effectué, seuls les packages
fonctions.                                                                                             concernés seront mis à jour avec une
Le renommage (l’une des fonctionnalités les       Nuget 3.0                                            montée ou une descente de version.
plus utilisées) a aussi reçu une mise à jour      Nouvelle interface
spécifique. En sélectionnant un élément et        La première chose que l’on remarque de               IntelliTest
en lançant le renommage, l’ensemble des           suite est le changement total de l’interface         Imaginons qu’il soit possible d’avoir un outil
références sont sélectionnées et mises à jour     graphique. Fini le pop-up qui s’ouvrait dans         capable de générer ses propres tests
en direct au fur et à mesure de la frappe         une fenêtre, le gestionnaire de package              unitaires, nous pourrions gagner beaucoup
(Fig. 4).                                         prend désormais place dans un onglet de              de temps dans nos développements. Bien
La gestion des points d’arrêt a été intégrée à    Visual Studio. Ainsi vous pouvez gérer vos           évidemment, un tel outil n’existe pas et il
l’IDE. Plus de fenêtre modale, mais à la façon    packages tout en conservant la possibilité de        vous faudra toujours faire l’effort de tester
des « peek windows ». Dans la même idée, la       consulter les éléments de votre projet. Les          votre code. Mais IntelliTest peut vous donner
gestion des exceptions en « Debug » a été         différentes commandes ont été réagencées,            un sérieux coup de main et vous faire
améliorée : plus besoin non plus d’ouvrir une     mais on retrouve immédiatement ses petits :          gagner du temps dans cette tâche.
fenêtre modale, cette fois-ci les exceptions      un champ de recherche, une liste des                 Ceci notamment dans l’écriture des tests des
déménagent dans une fenêtre. Le                   packages et le descriptif de chacun. Vous me         cas limites, d’autant plus que ce sont
changement de configuration n’aura jamais         direz qu’à ce stade il n’y a pas grand-chose         toujours ces tests que l’on néglige le plus.
été aussi facile.                                 de nouveau, passons à la suite pour vous             Mais avant cela, regardons comment
                                                  faire changer d’avis. (Fig. 5)                       fonctionne l’outil. Basé sur « Pex », votre
XAML & Blend (MPE)                                                                                     code va être analysé pour déterminer tous
Le XAML est partout sur la plateforme             Choix de la version & Mise à jour                    les chemins d’exécution possibles. Chaque
Microsoft, que ce soit dans les applications      La première nouveauté notable est la                 chemin donnera lieu à au minimum un test
type Desktop en WPF ou les différentes            possibilité de choisir la version du package         unitaire. Ensuite cette même analyse
                                                                                                       donnera lieu à la génération des paramètres
                                                                                                       des méthodes utilisées dans le test. Prenons

                                                                                                                                                    Fig.5

                                                                   Fig.3

                                                                   Fig.4

                                                                                                                                                         5
Productivité Collaboration Mobilité DevOps - Neos-SDI
Productivité

    comme exemple une méthode effectuant               aurez donc l’occasion de les mettre à profit      vous voulez analyser : plus besoin d’aller sur
    une division, IntelliTest générera un appel à      lors de vos développements.                       MSDN pour savoir quel outil fait quel
    la méthode avec « 0 » comme paramètre                                                                boulot ! De plus, l’optimisation des
    afin de tester si la division par zéro est prise   CodeLens                                          performances est devenue un enjeu majeur
    en charge. De même des valeurs maximum             CodeLens est beaucoup plus intégré à              du développement. Proposer aujourd’hui
    et minimum pour les paramètres seront              Visual Studio qu’avant. Si vous aviez déjà        une application optimisée qui consomme
    utilisées pour vérifier qu’il n’y a aucun          l’habitude de travailler avec, vous               peu de ressources, mais dont l’interface n’est
    dépassement de capacité dans le code.              remarquerez que la nouvelle gestion de            pas fluide, n’est pas envisageable.
    Il est également possible de donner des            l’historique affiche une timeline des             De même si votre usage du réseau n’est pas
    instructions à IntelliTest. Si une méthode         modifications, un peu comme le fait GitHub        parfait dans le cadre d’applications mobiles,
    comprend un entier en paramètre dont la            sur ses repositories.                             ayant souvent un débit limité, l’expérience
    valeur est bornée, il est possible de              Dans Visual Studio 2013, CodeLens n’était         utilisateur ne sera pas à son niveau optimum
    l’indiquer. Les tests générés auront alors des     disponible que pour C# ou Visual Basic.           et le seul feed-back que vous aurez de vos
    paramètres dont la valeur sera toujours            Maintenant pour tous les autres fichiers les      utilisateurs sera une mauvaise note avec
    comprise entre les bornes indiquées.               informations génériques sur l’historique, les     comme commentaire « ça rame ». Nous
    Pour conclure sur ce sujet, il faut prendre        auteurs, c’est-à-dire tout ce qui n’est pas       allons voir le genre de scénarios pris en
    IntelliTest pour ce qu’il est : une aide à la      spécifique à un langage s’affichent en bas        compte dans Visual Studio 2015.
    génération des tests. Il ne pourra pas vous        du fichier.
    remplacer dans cette tâche, mais il devrait        Une remarque qui peut vous éviter bien des        Analyse des performances
    vous permettre de vous concentrer sur              frustrations : il arrive que même sur             Généralement lorsqu’un développement
    l’essentiel : écrire les tests à valeur ajoutée.   TFS 2013 ou TFS 2015, CodeLens ne soit pas        arrive à terme, le besoin d’analyser et
                                                       complètement disponible. Cela vient du fait       d’améliorer les performances se fait sentir. Il
    Git + GitHub                                       que cette fonctionnalité est désactivable         existe plusieurs méthodes pour effectuer ces
    Arrivée officiellement dans Visual                 côté serveur.                                     opérations, comme par exemple poser des
    Studio 2013, l’intégration de Git pouvait être     Et généralement, c’est le cas pour éviter         sondes dans son code, juger « au feeling » la
    qualifiée de légère, car beaucoup trop de          l’usage de ressources inutiles côté serveur.      réactivité de son travail ou encore utiliser un
    manipulations basiques nécessitaient encore        Dans ce cas, il faut demander à votre             profiler. C’est ce dernier type d’outil qui
    la ligne de commande ou des outils                 administrateur TFS de le réactiver sur vos        offrira bien évidemment les meilleurs
    annexes comme « SourceTree » ou « GitHub           collections et d’attendre l’indexation de vos     résultats : c’est en quelque sorte une façon
    for desktop ».                                     codes sources.                                    fiable d’ajouter des sondes pour analyser
    Avec Visual Studio 2015, l’intégration a été                                                         son application.
    beaucoup plus poussée :                            Le débogueur & Diagnostic                         Cependant, avant l’arrivée de Visual
    u La fenêtre d’historique rend compte des          de performances                                   Studio 2015, il fallait recourir à des outils
        branches et de leurs interactions ;            Depuis le début de Visual Studio, nous            tiers pour disposer des meilleures solutions.
    u Les branches sont plus faciles à gérer via       avons la possibilité d’utiliser des outils de     Mais les outils se sont grandement améliorés
        un arbre dans le Team Explorer ;               diagnostics. Les versions avançant, de            et il est désormais possible d’avoir les
    u Github est intégré via une extension qui         nouveaux outils sont apparus, spécifiques à       mêmes bénéfices que la concurrence et
        fournit une expérience similaire à Visual      des plateformes ou non, d’autres se sont          mieux encore.
        Studio Online ou Team Foundation               perfectionnés. Il n’était jamais vraiment         La première chose à savoir est que ces outils
        Server.                                        facile de savoir quel outil il fallait pour une   sont accessibles depuis le menu « Debug »
                                                       technologie donnée ou même si un outil            sous la dénomination « Diagnostics Tools »
    Diagrammes d’architecture &                        existait. Avec Visual Studio 2015, tous les       et sont de deux types. Le premier « Show
    Code Maps                                          outils de diagnostics sont ressemblés dans        Diagnostics Tools » est un peu différent de
    Le menu « Architecture » a été de nouveau          un Hub. Ce dernier est dynamique et               ce que vous auriez pu voir auparavant, car il
    revu pour être encore plus simplifié et pour       s’adapte en fonction des applications que         fournit des informations « en live » durant la
    produire des « code maps » encore plus
    simples à utiliser :
    u Des codes couleurs permettent
       d’identifier les différents types de projets
       (en particulier les tests) ;
    u Les graphes complexes s’affichent plus
       vite, comme pour le rafraîchissement (il
       n’y a plus de rebuild à chaque
       changement dans l’affichage !) ;
    u Ils sont disponibles pour C#, C++ et
       VB.Net.
    Les diagrammes de couche sont aussi
    disponibles pour valider le découplage de
    vos applications.
    Très peu de personnes auparavant
    utilisaient ces fonctionnalités, car elles
    étaient limitées à la version Ultimate, vous                                                                                                  Fig.6

6
Productivité Collaboration Mobilité DevOps - Neos-SDI
Productivité

session de débogage. Le second est plus          moment précis. Ensuite il est fort probable     surconsommation par exemple. Pour se
classique, car il se rapproche d’un profiler     que votre application ait généré quelques       faire, rien de plus simple, un bouton « Take
standard avec une capacité d’analyse plus        exceptions, surtout dans les phases             snapshot » est disponible dans l’interface.
étendue. Voyons maintenant en détail ces         d’optimisation, car l’application n’est pas     En accumulant le nombre d’instantanés,
deux outils.                                     forcément finalisée. Ces exceptions             vous aurez la possibilité de mesurer
                                                 apparaîtront sous forme de losanges rouges      l’évolution de la mémoire par comparaison.
Diagnostics en live                              sur le graphique et dans la liste des           (Fig. 7)
Ce nouvel écran s’active automatiquement         événements. Dans cette dernière, si vous
lorsque la session de débogage est lancée        sélectionnez une de vos exceptions, vous        Profiler
et se décompose en deux parties. La              pourrez accéder à « l’Historical                Le second outil, accessible sous la
première comporte des graphiques avec les        debugging ». Cette fonctionnalité permet        dénomination « Start Diagnostic Tools
différents événements de l’application, la       de diagnostiquer une exception comme si         Without Debugging » requiert tout d’abord
consommation processeur et l’occupation          vous étiez arrêté dessus. Vous verrez le        de compiler le projet en mode « Release ».
mémoire. La seconde partie de l’écran            code où elle s’est produite ainsi que sa        Ensuite avant de lancer l’analyse, il faut
contient le détail des événements et permet      description via la fenêtre « Locals ».          choisir les métriques que l’on souhaite
de prendre des instantanés de la mémoire.        Dans la fenêtre « Historical Stack Trace »,     obtenir. Voici une liste des principaux profils
(Fig. 6)                                         vous pourrez également avoir accès à la pile    en dehors des classiques « processeur » et
La force de cet outil est de corréler tous ces   d’appels.                                       « mémoire » :
éléments ensemble avec un affichage en           Le dernier point intéressant est sa capacité    u Application Timeline : permet de mesurer
live. Imaginons que vous ayez un                 à prendre des instantanés de la mémoire.           la réactivité de l’application ;
algorithme dans votre code très                  En effet, bien que l’on puisse surveiller son   u Network : permet de monitorer
consommateur en processeur ou en                 évolution, on a souvent besoin d’avoir un          l’ensemble des appels réseaux ;
mémoire, vous pouvez insérer dans votre          état des lieux précis pour diagnostiquer un     u HTML UI Responsiveness : similaire au
code un message (via le fameux                   problème. Le principe des instantanés est          premier point pour une application web.
« Debug.WriteLine » par exemple) indiquant       relativement simple : il s’agit de prendre      (Fig. 8)
les points clés de votre code. Ensuite ces       plusieurs photos du nombre et de la taille      Le premier point positif de cet outil, que
éléments apparaîtront dans les événements        des instances d’objets puis de les comparer.    l’on peut remarquer dès le début de la
et vous pourrez alors constater s’il y a         On peut ainsi en déduire quels sont             session, est que les performances de
surconsommation de ressources à ce               précisément les types à l’origine d’une         l’application mesurée ne sont pas impactées
                                                                                                 par l’analyse. Ce n’est pas anecdotique, car
                                                                                                 les profilers ont trop souvent l’habitude
                                                                                                 d’allonger les temps d’exécutions et donc
                                                                                                 de rendre pénible l’analyse des
                                                                                                 performances. Ensuite le fait de proposer
                                                                                                 des outils d’analyse de la réactivité de
                                                                                                 l’application est un vrai point positif, car les
                                                                                                 développements actuels sont massivement
                                                                                                 multithreads, il n’est donc pas rare de
                                                                                                 bloquer le thread d’interface. Enfin, la
                                                                                                 possibilité de générer des rapports très
                                                                                                 complets devrait finir de vous convaincre
                                                                                                 d’utiliser toutes ces possibilités.

                                                                                                 Conclusion
                                                                                                 Comme à chaque version de Visual Studio,
                                                                                                 nous nous posons tous la même question :
                                                                                                 est-ce que je peux migrer sans risque ?
                                                                                         Fig.7   Depuis Visual Studio 2012, Microsoft a
                                                                                                 travaillé énormément pour la compatibilité
                                                                                                 ascendante des projets. Les projets web
                                                                                                 sont plus liés à une version de .NET qu’à
                                                                                                 une version de Visual Studio, de même que
                                                                                                 d’autres composants externes comme la
                                                                                                 partie BI ou OLTP avec SQL Server Data
                                                                                                 Tools ou Typescript qui sont communs à
                                                                                                 toutes les versions. Visual Studio 2015
                                                                                                 comme son prédécesseur sait cibler les
                                                                                                 versions inférieures du framework .NET
                                                                                                 donc pas besoin de passer à 4.6. Si vous
                                                                                                 faites du web ou client lourd
                                                                                                 (WPF/Winforms) ou C++, allez-y.           p
                                                                                         Fig.8

                                                                                                                                                    7
Productivité Collaboration Mobilité DevOps - Neos-SDI
IDE

    Visual Studio Code/Community
    Parmi les solutions gratuites proposées par Microsoft, on retrouve 2 éditeurs de code offrant des
    fonctionnalités intéressantes et différentes : Visual Studio Code et Visual Studio Community.
                        Georges DAMIEN                    C’est quoi ?                                              Quelques fonctionnalités
                        Consultant .NET chez Cellenza     Visual Studio Code est tout comme les                     intéressantes
                        Blog : http://georgesdamien.com
                                                          autres versions de VS un éditeur de code.                 Chargement des fichiers,
                                                          Cette nouvelle monture est très légère et                 projets et dossiers
                                                          s’installe assez rapidement (contrairement                Avec VS Code, on peut charger des projets
                                                          aux versions payantes qui sont également                  Visual Studio standards, ouvrir directement
    Visual Studio Code est un éditeur de code             plus exigeantes en ressources et occupent                 des fichiers, mais charger également un
    allégé à l’image de « Sublime Text » qui est          plusieurs Gigaoctets sur votre disque).                   dossier. Par exemple, si vous avez un petit
    plutôt orienté Web et présente l’avantage             Ça se passe ici : https://code.visualstudio.com/          site Web contenant quelques pages HTML,
    d’être disponible sur Windows, OS X et Linux.                                                                   PHP, css... vous pourrez ouvrir directement
    Visual Studio Community est une version plus          Partout et pour tous                                      l’arborescence du dossier contenant votre
    complète qui permet le développement                  Visual Studio Code est cross-plateformes :                site. (Fig. 1 et 2).
    d’applications tout comme sur les versions            vous pouvez l’installer sur votre Mac, ou sur             J’apprécie personnellement cette
    payantes de Visual Studio (Professionnel/             Linux et, bien sûr, Windows. Visual Studio                fonctionnalité, car elle permet d’avoir accès à
    Entreprise) avec comme avantage une                   Code est gratuit.                                         toute l’arborescence de notre site sans pour
    utilisation commerciale notamment pour les                                                                      autant avoir la notion de « projet ou solution
    développeurs indépendants. Cette version              Un IDE riche pour le Web                                  Visual Studio » qui n’est pas forcément
    présente moins de fonctionnalités que les             Visual Studio Code propose une coloration                 nécessaire pour un petit site Web.
    versions payantes, mais propose tout de même          syntaxique par défaut pour la majorité des
    la majorité des fonctions intéressantes de l’IDE      langages orientés Web, mais pas seulement.                L’édition « Side by Side »
    telles que le debugging, le testing, etc.             Les langages déjà pris en charge sont : C++,              Une autre fonctionnalité intéressante est la

    VISUAL STUDIO CODE
                                                          jade, PHP, Python, XML, Batch, F#, DockerFile,            possibilité d’ouvrir côte à côte plusieurs
                                                          Coffee Script, Java, HandleBars, R, Objective-C,          pages : on pourrait imaginer, par exemple,
                    Visual Studio Code (VS Code),         PowerShell, Luna, Visual Basic, Markdown.                 ouvrir une page HTML, la page CSS ainsi que
                    une version light et gratuite de      L’intelliSense est disponible pour les langages           la page JS associée directement : (Fig. 3).
                    « Visual Studio » orientée Web.       suivants : JavaScript, JSON, HTML, CSS, LESS, SASS.       Le plus de cette fonctionnalité réside dans

                                                                           Fig.1                                                                                            Fig.2
    VS Code : Prise en charge des dossiers                                           VS Code : Aperçu de l’arborescence d’un dossier + coloration syntaxique

                                                                                                                                                                       Fig.3
                                                                                                                                                 VS Code : Side by Side Editing
8
Productivité Collaboration Mobilité DevOps - Neos-SDI
IDE

l’ergonomie de son utilisation : un simple                        Make, Ant, Gulp, Jake, Rake or MSBuild), etc.
« drag and drop » affiche les fichiers voulus                     En bref, l’outil semble être                             Q : Qui peut utiliser Visual Studio
côte à côte dans la limite de 3 fichiers.                         suffisamment complet et à la fois léger pour                  Community ?
                                                                  faire du Web dans la partie « FRONT END ».               A : Pour les développeurs individuels :
La documentation                                                  Un de ses points forts est le côté                       n’importe quel développeur individuel
Vous trouverez sur le                                             multiplateformes, et les développeurs .NET               peut utiliser Visual Studio Community
lien https://code.visualstudio.com/Docs une                       ne seront pas dépaysés en voyant l’IDE.                  pour créer ses propres applications
documentation assez complète de l’outil                           Reste à voir les limites de l’outil si on                gratuites ou payantes. Pour les
présentant notamment l’ensemble des                               souhaite aller plus loin, mais ce n’est                  organisations :
fonctionnalités de façon concise vous                             probablement pas l’objectif de cet IDE : c’est           u Dans un environnement
permettant une prise en main plus aisée.                          justement là où Visual Studio Community                     d’apprentissage en classe, pour la
                                                                  vient combler les manques de cet IDE qu’on                  recherche universitaire ou pour la
User Voice                                                        pourrait plutôt qualifier de simple éditeur de              contribution à des projets open source,
Toujours pas convaincu(e) ? Vous n’êtes pas                       code.                                                       un nombre illimité d’utilisateurs au sein
satisfait(e) des fonctionnalités proposées ?                                                                                  d’une organisation peut utiliser Visual
Ça tombe bien, Microsoft a pensé à vous :                         VISUAL STUDIO                                               Studio Community
Vous avez des suggestions pour améliorer                          COMMUNITy                                                u Dans les entreprises de moins de 250
ou rajouter des fonctionnalités ?                                                                                             PC ou qui génèrent moins de 1 million
Microsoft offre la possibilité à tout le monde                    Visual Studio Community est une version                     de dollars en recettes annuelles,
via « User Voice » de proposer et de voter                        gratuite de Visual Studio. C’est un véritable               jusqu’à 5 utilisateurs peuvent utiliser
pour des fonctionnalités souhaitées qui                           IDE avec un grand nombre de                                 Visual Studio Community.
manqueraient à ses produits afin de les                           fonctionnalités à l’image des versions                   u Dans les entreprises de plus de 250 PC
améliorer.                                                        payantes de Visual Studio.                                  ou qui génèrent plus de 1 million de
Lien d’accès : https://visualstudio.uservoice.com/                Cette nouvelle mouture est installable                      dollars en recettes annuelles, aucune
forums/121579-visual-studio                                       uniquement sur Windows contrairement à                      utilisation n’est autorisée au-delà de
                                                                  Visual Studio Code.                                         l’open source, la recherche
Conclusion                                                                                                                    universitaire, et les scénarios
Visual Studio Code est simple, rapide et                          Un IDE riche et gratuit                                     d’apprentissage en classe décrits
pourrait remplacer dignement un                                   Visual Studio Community est gratuit et vise                 ci-dessus.
« Notepad++ » voire même un                                       essentiellement les petites structures (moins
« WebStorm ». Après une première                                  de 250 PC ou avec un chiffre d’affaires                Les fonctionnalités
utilisation, la chose qui me vient l’esprit est                   relativement faible) ainsi que les                     Visual Studio Community est un véritable
le fait de l’utiliser comme éditeur de texte                      organisations non commerciales ou les                  IDE. Vous pouvez développer des projets
par défaut (surtout si vous êtes habitué à                        indépendants par exemple.                              d’envergure à l’identique des versions
travailler avec Visual Studio au quotidien).                      La dernière version est téléchargeable depuis          payantes : vous pourrez profiter des
De nombreuses évolutions sont à venir.                            le lien suivant :                                      fonctionnalités de debugging et diagnostics,
Parmi les fonctionnalités non citées, on                          https://www.visualstudio.com/fr-fr/downloads/          d’outils de tests, d’intégration, d’outils
retrouve le contrôle de version (Git) intégré,                    download-visual-studio-vs.aspx
la prise en charge d’ASP.NET 5, de Node.JS,                                                                                                                       Fig.5
le debugging (pour certains langages), la
gestion de Tasks (pour faire du

                                                                                  Fig.4

Extrait du comparatif des différentes versions de Visual Studio                            Aperçu de l’interface de téléchargement d’extensions

                                                                                                                                                                          9
Productivité Collaboration Mobilité DevOps - Neos-SDI
IDE

                                                    L’ALM dans les nuages
     collaboratifs, etc. Un comparatif plus
     détaillé se trouve à l’adresse suivante :
     https://www.visualstudio.com/en-
     us/products/compare -visual-studio-2015-       Que ce soit dans le Cloud ou dans sa version On Premise, la nouvelle
     products-vs.aspx (Fig. 4)                      version de Team Foundation Server recèle de très nombreuses
     Possibilité d’extension
                                                    nouveautés, et jamais aucun éditeur n’était allé aussi loin dans
     Visual Studio Community donne la               l’intégration des différents services nécessaires au développement, au
     possibilité d’installer une multitude          déploiement, et à l’exploitation des applications.
     d’extensions (plus de 2000) telles que :
     Web Essential, Xamarin (pour le                                                                                                                 Fig.1
     développement multiplateforme). Vous y
                                                                                                                                         Les services offerts
     accédez depuis l’onglet                                                                                                              par TFS ou Visual
     « outils », « extensions et mise à jour… »                                                                                               Studio Online
     de l’IDE. (Fig. 5).

     Vous pouvez également développer et
     intégrer vos propres extensions
     notamment grâce au SDK Visual Studio.
     Pour en savoir plus :
     https://msdn.microsoft.com/en-
     us/library/bb166441.aspx
     Vous pouvez également utiliser le                                Sylvain Gross                      u Les builds de l’application, pour intégrer
     compilateur Roslyn pour créer votre                              MVP sur Visual Studio ALM,            les sources d’une version spécifique, et
                                                                      Sylvain est ALM /EPM Practice
     propre analyseur et générateur de code.                          Manager au sein de Neos-SDI.          leur faire suivre un processus de gestion
                                                                      Il anime de nombreuses                (qualité, disponibilité pour le test…),
     Développement multiplateforme                                    conférences sur l’ALM. Neos-SDI    u Les différents types de tests tant
                                                                      est Centre de Compétences Gold
     Grâce à un ensemble d’extensions telles        sur le domaine ALM, dans le                             techniques (unitaires, performance) que
     que « Xamarin for Visual Studio »,             partenariat Microsoft Partner                           fonctionnels (tests manuels ou
     « Apache Cordova », « VS Tools for Unity       Network.                                                automatiques),
     2D-3D » « C++ for cross-platform », vous       Ces applications sont multi-plateformes,             u Les déploiements des différents
     pourrez développer des applications pour       multi-devices, hébergées dans le Cloud ou               composants de l’application sur les
     Android, iOS et Windows.                       en interne, mettant la démarche ALM et                  serveurs de chaque environnement,
                                                    DevOps à la portée de toutes les                     u La collecte d’informations de surveillance
     Fonctionnalités manquantes                     entreprises : startups, PME, grands comptes             des applications en cours d’exécution.
     Parmi les fonctionnalités manquantes on        ou institutions. Ce chapitre sera consacré aux       Ces différents services sont disponibles à la
     peut citer :                                   services d’ALM (Application Lifecycle                fois sous forme de logiciels serveurs à
     u outils de testing : absence du code          Management) offerts par Visual Studio                installer sur l’infrastructure de l’entreprise
        coverage, du code UI Testing,               Online, en fournissant une vue d’ensemble            (On Premise), et sous la forme de services
        l’IntelliTest,… (à noter que ces            des outils à la disposition des services             hébergés dans le Cloud. (Fig. 1).
        fonctionnalités sont également absentes     informatiques pour accomplir leurs
        de la version Professionnel).               différentes missions liées à la gestion des          De l’ALM
     u environnement de développement               applications.                                        dans le Cloud ?
        intégré : absence de « CodeLens » et de                                                          Visual Studio Online est le nom du service
        « Code Clone ».                             Team Foundation Server,                              Cloud offert par Microsoft, pour supporter
     u architecture-modélisation : absence des      la solution ALM de Microsoft                         les processus ALM. Désormais, tous les
        diagrammes de couches d’architecture        Team Foundation Server est la solution               services proposés par TFS sont également
        & CodeMap.                                  proposée par Microsoft pour supporter les            disponibles dans le Cloud via VSO. Bien
     A noter également l’absence de la prise en     processus de l’ALM. Il s’agit principalement         entendu, ces services peuvent être
     charge de Team Foundation Server. Et bien      de gérer :                                           disponibles sous une forme différente. Il est
     sûr pas d’abonnement MSDN attaché…             u Les exigences de l’application, en                 intéressant de noter que, très souvent, les
                                                      permettant leur hiérarchisation sur                fonctionnalités sont plus avancées sur Visual
     Conclusion                                       plusieurs niveaux (fonctionnalités, user           Studio Online que sur la version On Premise.
     Visual Studio Community, grâce à sa              story…), et en fournissant des mécanismes          L’architecture Cloud permet en effet à
     gratuité, donne la possibilité d’accéder à       de priorisation,                                   Microsoft de diffuser ses mises à jour plus
     un IDE riche et relativement complet pour      u Les tâches des membres de l’équipe, en             rapidement dans le Cloud, que dans les
     envisager des projets conséquents de             tenant compte de leur capacité de travail, et      versions On Premise.
     développement. Les extensions sont               de l’effort nécessaire pour réaliser ces tâches,   Le choix de chaque entreprise entre la
     multiples et donnent accès à un large          u Les codes sources de l’application, en             version Cloud ou On Premise se fera en
     panel de fonctionnalités pour envisager          intégrant les mécanismes de gestion des            fonction de critères stratégiques ou
     par exemple le développement                     branches, de manière centralisée (avec             opérationnels. Un guide de choix est
     d’applications multiplateformes.           p     TFVC) ou distribuée (avec GIT)                     disponible sur le site de Visual Studio (1).

10
TFS / VSO

VISUAL STUDIO ONLINE,                               regroupées par personne, ou par récit           Web permet de créer une nouvelle définition

VOTrE SOLUTION ALM
                                                    utilisateur. De nombreuses possibilités de      de build, intégrant :
                                                    personnalisation permettent d’adapter le        u Des étapes personnalisées,
Un portail pour votre projet                        contenu, tant sur la forme (mise en forme       u Des tests,
d’équipe                                            conditionnelle, colonnes supplémentaires),      u Des étapes de packaging,
Visual Studio Online permet de travailler sur       que sur le fond (nouveaux champs).              u Des étapes de déploiement.
des Projets d’Equipe. Ce sont des espaces qui                                                       Aucune connaissance en programmation n’est
contiennent les éléments nécessaires pour           Les builds                                      nécessaire : il s’agit simplement de configurer
travailler sur un projet. Les projets d’équipe      La gestion de build est l’une des activités     les différentes étapes, en fournissant les
sont créés selon différents modèles,                fondamentales de l’ALM. Cette build permet      éléments à chaque composant. L’exécution de
dépendant de la méthodologie utilisée :             d’assembler tout le code source d’un projet,    la build est déclenchée par l’interface Web, et
Scrum, Agile, CMMi, etc.                            pour en faire un package complet. Cette         le cours de son exécution est affiché sur une
Le projet doit être découpé en itérations, afin     compilation est réalisée sur un serveur, et     console en temps réel. Le déclenchement
de gérer la planification des livraisons des        non sur un poste de développement, c’est        d’une build peut être automatisé sur certains
versions de projets, et en zones, permettant        pourquoi seule la build permet de garantir la   événements :
un découpage fonctionnel du projet. Les             maîtrise du code complet de l’application,      u À chaque archivage, pour mettre en place
membres de l’équipe sont déclarés sur le            tant au niveau du code source que des              une intégration continue,
portail Web dédié au projet, et les droits          assemblies référencées. Désormais, un           u Chaque nuit, pour disposer quotidiennement
d’accès sont automatiquement attribués. La          nouveau type de build est disponible dans          de la dernière version de l’application
capacité de l’équipe est calculée en fonction       Team Foundation Server 2015 et Visual           u La build peut également conditionner
de la durée de l’itération et du temps              Studio Online : Team Foundation Build 2015         l’acceptation d’un archivage : l’archivage
disponible pour chaque membre d’équipe sur          (2). Ce nouveau système de build permet de         contrôlé est un excellent moyen de
ce projet. Le portail est configuré de manière      créer des définitions de build pour Windows,       s’assurer que le code archivé est correct,
à donner facilement accès aux éléments              iOS, Android, Java. Son utilisation est            car en cas d’erreur de build, ou de test en
intéressants du projet : les tâches, les bugs,      beaucoup plus simple que le système                échec, l’archivage est rejeté, permettant de
les builds, les releases, ainsi qu’à tous les       précédent basé sur XAML : une interface            ne pas pénaliser toute l’équipe. (Fig. 4)
artefacts du projet. (Fig. 2)

Les exigences et le travail
Dans Visual Studio Online, l’élément de base
est le work item, ou élément de travail. Le
nom des éléments de travail varie d’une
méthodologie à l’autre. Tous les éléments de
travail sont affectés à une personne, et ont
un statut (ouvert, en cours, fermé…) qui peut
évoluer au fil du temps, selon un workflow
défini dans la méthodologie. Les principaux
types d’éléments de travail sont :
u Les exigences, qui vont désigner des
    besoins, fonctionnels ou techniques. On y
    trouvera par exemple les Récits
    Utilisateurs. Ces exigences pourront être
    rattachées aux fonctionnalités, qui sont
    des exigences plus globales,
u Les tâches, qui désigneront les actions à
    réaliser. Ces tâches sont rattachées à une
    exigence, pour indiquer pourquoi cette                                                                                                   Fig.2
    tâche doit être réalisée,
u Les cas de test, qui décrivent la manière
    dont une exigence doit être testée : les
    étapes de test, les valeurs attendues.
Les tâches et les exigences peuvent être
créées et éditées depuis le portail Web, soit à
l’aide de listes, soit à l’aide de tableaux
Kanban. Ce Kanban est d’une efficacité
remarquable pour éditer rapidement les
tâches, changer les affectations, définir le
reste à faire. Sa simplicité d’utilisation permet
aux équipes de mettre à jour le statut des
tâches directement dans le portail, lors de la
                                                                                                                                             Fig.3
mêlée (Scrum) quotidienne. (Fig. 3)
Ce Kanban peut montrer les tâches                   Le Kanban des tâches

                                                                                                                                                      11
TFS / VSO

     Les tests                                         d’utilisation sous forme de tests de              u De définir pour chacun de ces
     Au-delà des tests permis par Visual Studio, la    performance Web, ou de tests unitaires, puis          environnements les actions à réaliser pour
     plateforme ALM de Microsoft permet la mise        de programmer leur parallélisation. La                déployer les composants de chaque
     en œuvre de tests :                               montée en charge peut être progressive ou             machine de l’environnement (package IIS,
     u Fonctionnels : des cas de tests sont définis    par palier, en intégrant des temps de                 script SQL…)
        et paramétrés, puis exécutés depuis le         chauffe. Les différents scénarios vont être       u De définir des processus de retour arrière
        portail Web,                                   exécutés successivement par chacun des                en cas d’erreur : en cas d’échec des scripts
     u Techniques : des tests de charges sont          utilisateurs virtuels, dans un ordre                  de mise à jour de la base SQL, la base de
        définis dans Visual Studio, puis exécutés      paramétrable, de façon à se rapprocher le             données est restaurée dans son état
        depuis le portail Web.                         plus possible de la réalité. Des indicateurs de       précédent, puis l’application d’origine est
                                                       performance sont positionnés, de manière à            remise en place,
     Les tests fonctionnels                            déterminer la consommation de chaque              u De définir un chemin permettant de
     Les tests fonctionnels permettent de              composant au niveau mémoire, processeur,              passer d’environnement en
     s’assurer que l’application répond aux            espace disque, sur chacune des machines.              environnement : de développement vers
     exigences fonctionnelles. Des cas de tests        Ce qui rend traditionnellement les tests de           intégration, d’intégration à production par
     décrivent les différentes étapes d’un test, et    charge difficiles à mener, ce sont les                exemple avec possibilité d'ajouter des
     précisent le résultat attendu à chaque étape.     ressources système qu’il faut monopoliser             approbations.
     Des paramètres peuvent être fournis au cas        pendant les campagnes de tests. Ces tests         Release Management pour Visual Studio
     de test, afin d’appliquer un jeu de données       requièrent une quantité importante de             permet par conséquent d’automatiser le
     représentatif à l’application, en entrée, ou en   ressources, et sont très impactant au niveau      déploiement des mises à jour de manière
     sortie. Les tests peuvent être manuels ou         de l’infrastructure en place. Le Cloud permet     sécurisée, même dans des environnements
     automatiques. Les tests manuels peuvent           de soulager l’infrastructure, en mettant à        complexes : plusieurs serveurs Web, des
     être conçus et exécutés depuis le portail         disposition des équipes un environnement          serveurs WCF, des serveurs SQL.
     Web, dans le Hub Test. Les tests permettent       toujours disponible, aux capacités machines       Actuellement, Release Management se
     de détecter des anomalies, qui peuvent être       quasiment illimitées. L’exécution de              présente sous la forme d’une application
     matérialisées sous forme de Bugs                  campagne de tests sur l’environnement             WPF, liée au projet d’équipe à l’aide d’un
     directement depuis l’outil. Le contexte de        Visual Studio Online devient par conséquent       serveur de release. Cette application permet
     cette anomalie est automatiquement fourni,        très accessible. De plus, un mode simplifié       de définir et d’exécuter le déploiement des
     facilitant ainsi la reproduction du bug par les   permet de réaliser des tests de charge            applications. Une nouvelle version de
     équipes de développement : la résolution          basiques, sans préciser de scénario.              Release Management est actuellement en
     sera facilitée. Les tests fonctionnels peuvent                                                      phase de Preview : Release Management as
     être automatisés : Visual Studio intègre des      release Management as                             a Service. Comme son nom l’indique, il s’agit
     outils permettant d’enregistrer une séquence      a Service                                         d’offrir les mêmes services, mais à l’aide du
     d’utilisation (tests unitaires, tests codés       Le déploiement des applications sur les           portail projet de Visual Studio Online.
     d’interface utilisateur), et de lier ce code de   environnements de production est la               Un nouveau Hub est disponible : Release. À
     test à des cas de tests. De cette façon, les      dernière étape du processus de                    l’instar de Build, il permet de définir une
     équipes QA peuvent exécuter les tests             développement. Un package est généré par          nouvelle séquence de déploiement, à l’aide
     depuis leur outil Test Manager de manière         la Build : il s’agit de copier ces packages sur   de blocs disponibles depuis le Designer
     automatique.                                      les serveurs cibles.                              Web. (Fig. 5). Le déclencheur d’une
                                                       Release Management pour Visual Studio(3)          séquence de déploiement est une Build. Une
     Les tests de charge                               est le composant de la suite Visual Studio        liste de tâches est disponible pour permettre
     Les tests de charge permettent de garantir        ALM qui permet de répondre à cette                de déployer les artefacts de la build vers les
     qu’une application continuera à fonctionner       problématique. Release Management                 serveurs de destination. De nombreux
     lorsqu’un nombre important d’utilisateurs est     permet :                                          composants sont disponibles, permettant
     connecté. Pour mettre en œuvre ce type de         u De modéliser les différents                     d’exécuter des actions en parallèle, ou
     test, il s’agit de définir des scénarios             environnements, en y incluant les serveurs,    d’exécuter des scripts SQL ou Power Shell,
                                                                                                         de lancer des packages MSI, ou de lancer un
                                                                                                         test automatique de validation du
                                                                                                         déploiement.

                                                                                                         Surveiller les applications
                                                                                                         avec Application Insights
                                                                                                         Lorsque l’application est déployée, la
                                                                                                         responsabilité est transférée aux équipes
                                                                                                         d’exploitation, chargées de garantir le niveau
                                                                                                         de service requis : temps de réponse,
                                                                                                         absence d’erreurs… Pour faciliter ce travail
                                                                                                         de surveillance, et travailler de manière
                                                                                                         collaborative entre les équipes de
                                                                                                         développement et les équipes d’exploitation,
      Fig.4                                                                                              Application Insights(4) propose un service
     Exécution d’une build                                                                               de surveillance des applications :

12
Vous pouvez aussi lire