Productivité Collaboration Mobilité DevOps - Neos-SDI
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
é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
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é 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é 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é 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é 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
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
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
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