Archives de catégorie : Technique

Assistez au Keynote de la Build 2017 à Toulouse !

Comme pour chaque Build, nous vous proposons d’assister à la retransmission live du keynote de la Build 2017 à Toulouse !

La projection live aura lieu au Pub Le Seventies en centre-ville, tout près du De Danu.
Adresse : 42 Port Saint-Étienne, 31000 Toulouse
Accès Métro : François Verdier
Parking à proximité : Parking Carnot (Vinci Park)

Si vous souhaitez nous rejoindre et discuter de ce keynote autour de quelques verres n’hésitez pas à nous rejoindre en vous inscrivant ici : https://www.meetup.com/fr-FR/Meetup-NET-Toulouse/events/239474096/ 

image

Meetup .net Toulouse : Architecture Microservices et Nouveautés de Visual Studio 2017

 

Nous sommes bientôt 300 membres au sein du meetup .net Toulouse !
N’hésitez pas à rejoindre le groupe si vous souhaitez être automatiquement notifié pour chaque meetup !

Le prochain meetup sera aujourd’hui Lundi 24 Avril ! n’hésitez pas à vous inscrire si vous sounhaitez nous rejoindre car quelques places devraient se libérer dans la journée.

Les thèmes du meetup de ce mois-ci sont :

Architecture Microservices – par Ionut Mihalcea

L’architecture microservices a été un des sujets techniques qui a fait le plus de buzz ces deux dernières années. Dans les conférences majeures, des ingénieurs de la Silicon Valley ont présenté beaucoup d’outils magiques et des solutions de rêve, qui ont détourné l’attention des développeurs sur les outils plutôt que sur le fond.

Sur la base d’expériences récentes, nous vous proposons dans cette session de revenir sur le fond du problème et voir quand ce type d’architecture est utile, quelle sont les stratégies de mise en place et quels en sont les dangers. 

100% Démo, 0% Slides : Nouveautés de Visual Studio 2017  – par Patrice Lamarche

Visual Studio 2017 est disponible en version finale depuis début Mars, il est donc temps de découvrir cette nouvelle version afin de découvrir les nouveautés intéressantes, d’avoir un point de vue critique sur les nouveautés qui le sont moins. 

Au programme : nouveautés générales de l’IDE, nouveautés développement web, les nouveautés liées aux tests, et l’intégration de ReadyRoll de RedGate pour la gestion des mises à jour de schéma de BDD.

Rdv donc aujourd’hui en fin de journée : https://www.meetup.com/fr-FR/Meetup-NET-Toulouse/events/238668978/

image

Prochain Meetup .net Toulouse : Développement pour Windows 10

Nous sommes déjà plus de 240 membres au sein du meetup .net Toulouse !
N’hésitez pas à rejoindre le groupe si vous souhaitez être automatiquement notifié pour chaque meetup !

Le prochain meetup .net Toulouse aura donc lieu le 20 Mars avec pour thème : le développement pour Windows 10.

2 sessions seront ainsi proposées :

  • Développement d’applications multi-devices par Aurélien Lemoine (Fondateur et CEO de ClevLab)
  • UWP Community Toolkit par David Catuhe (Principal Program Manager for Windows & Devices group chez Microsoft) qui sera en direct pour nous depuis Seattle !

Rdv donc le 20 Mars, pour vous inscrire ça se passe par ici : https://www.meetup.com/fr-FR/Meetup-NET-Toulouse/events/237868767/ 

image

Prochain meetup .net Toulouse le 20 Février !

Le prochain meetup .net Toulouse aura lieu le 20 Février avec 2 sujets au programme.

1er sujet évoqué : .net Standard qui sera présenté par Thomas Bolon

image

2ème sujet évoqué : La panoplie du développeur par Stéphane Ragazzi.

Afin d’être notifié de toutes les actualités de notre meetup toulousain, n’hésitez pas à nous rejoindre au sein du groupe .net Toulouse, nous sommes déjà plus de 200 membres !

Meetup Coding for fun à Toulouse terminé !

Librement inspirés par les célèbres sessions Coding4Fun des feu techdays de Microsoft, nous proposions Lundi soir au meetup .net de Toulouse une soirée sur le même thème.

Ce meetup a été l’occasion de voir 4 présentations différentes :

La création d’un distributeur automatisé de croquettes pour chat par Ionut et son fils de 11 ans (qui a présenté lui-même son projet ! )

WP_20161219_19_01_39_Pro20161219-197A5564 

Le développement d’un simulateur d’élection présidentiel basé sur les API Cognitives services par Guillaume

20161219-197A557720161219-197A5571 

Le développement d’un robot acheteur de places de concert afin de ne pas foirer mon cadeau de noël de ma chère et tendre l’année prochaine (c’est raté pour cette année… Sourire)

20161219-197A558720161219-197A5594

Et enfin, la création d’un cluster de conteneurs Docker basés sur 3 raspberry !

20161219-197A565020161219-197A5660

Toutes les photos du meetup sont disponibles ici : https://www.meetup.com/fr-FR/Meetup-NET-Toulouse/photos/27500569/

Prochaine meetup : Typescript 2 et l’émergence des transpileurs animé par Sebastien Pertus de Microsoft ! N’hésitez pas à vous inscrire !

Si vous souhaitez être informé de chaque meetup créé par notre groupe, vous pouvez nous rejoindre ici (nous sommes déjà plus de 160 actuellement !) https://www.meetup.com/fr-FR/Meetup-NET-Toulouse/

Docker : Quels scénarios pour un éditeur de logiciels ?

Docker n’est pas réservé aux startups qui développent des applications Linux basées sur des micro-services, et scalables afin de supporter des millions d’utilisateurs à travers le monde !

En effet, si vous travaillez pour un éditeur de logiciels qui a une offre logicielle datant de plusieurs années, par exemple une bonne vieille application ASP.net et donc sous Windows, vous devriez jeter un petit coup d’oeil sur la nouvelle gestion des conteneurs proposée par Windows Server 2016 afin de voir si cette nouvelle technique vous permet de simplifier vos déploiements.

Voici quelques exemples de de scénarios pour lesquels vous pourriez utiliser Docker sous Windows :

  • Gestion de vos environnements de tests, pre-prod, prod simplifiée, plus légère et plus souple qu’avec des VM
  • Blue-Green deployment et rollback de déploiement en activant/désactivant des conteneurs de manière automatisé voire automatique
  • Le saint-graal : un déploiement simplifié, et surtout uniforme entre vos clients hébergés en SaaS et vos clients On-premise. Vous souhaitez réduire de manière drastique vos temps d’installations de vos solutions (dépendances du type SQL Server, Reporting Services, et autres inclues !!), installer de la même manière vos clients hébergés sur vos serveurs et ceux qui souhaitent héberger eux-même vos applications, et gérer les mises à jour de manière uniforme.
  • Proposer une réversibilité simple pour vos clients SaaS souhaitant passer On-Premise et vice-versa

Vous êtes intéressés par une de ces possibilités ? N’hésitez pas à regarder sérieusement Docker afin de voir si cela peut répondre à vos besoins.

En savoir plus sur Docker sous Windows sur ce blog :

Quoi de neuf dans Windows Server 2016 pour les développeurs ?

L’essentiel sur Docker et les conteneurs Windows

L’essentiel de Docker : Débuter par la pratique

Meetup .net Toulouse Episode 2, DevOps avec Docker sous Windows

Visual Studio 2017 et Docker : de réelles avancées !

Visual Studio 2017 et Docker : de réelles avancées !

Les Visual Studio Tools for Docker sont disponibles depuis plusieurs mois maintenant en version Preview.

Cette extension à Visual Studio 2015 propose un scénario Dév. en permettant d’automatiquement déployer et débugger une application au sein d’un conteneur.

Il est ainsi possible d’automatiquement créer une image, de déployer l’application en cours dans cette image, de lancer un conteneur basé sur cette image, de débugguer l’application ainsi déployée, et propose une expérience ‘’Edit & Refresh” qui permet de ne pas créer une image à chaque modification de code.

Seul problème : cette extension supporte seulement les applications ASP.net Core et déployées dans des conteneurs Linux uniquement !

Très bonne nouvelle : la RC de Visual Studio 2017 propose une intégration d’une nouvelle version des Visual Studio Tools for Docker bien plus évoluée que celle disponible pour Visual Studio 2015 !

image

Au programme : Support des applications ASP.net Webforms et ASP.net MVC, et donc support des conteneurs Windows ! Le déploiement et le débogage d’applications .net “non Core” sont ainsi enfin supportés !

image

Le fichier dockerfile créé par l’extension est des plus simple :

image

Et Visual Studio affiche de manière très transparente les différentes étapes de déploiement :

image

Et une fois déployée et démarrée, Visual Studio ouvrira votre navigateur sur l’adresse IP du conteneur créé et démarré et non comme habituellement sur votre localhost :

image

Autre grosse nouveauté de cette nouvelle version, il est également possible de débugger une application déployée au sein de plusieurs conteneurs !

Si votre application est composée de différents services hébergés au sein différents conteneurs, vous n’aurez pas de problème pour débugger l’ensemble de votre solution !

Vous l’aurez donc compris, si vous souhaitez développer avec des conteneurs Windows, téléchargez Visual Studio 2017 RC pour découvrir tout cela !

Meetup .net Toulouse Episode 2, DevOps avec Docker sous Windows

 

Le 2ème meetup .net de Toulouse a eu lieu hier soir avec comme thème : Mise en place d’une approche DevOps avec Docker sous Windows.

Malgré la pluie battante (nous n’avons pas l’habitude de cela à Toulouse Clignement d'œil), une 40 aine de participants sont venus découvrir les nouvelles fonctionnalités de conteneurisation proposées par Windows Server 2016.

Nous avons ainsu pu avoir un retour d’expérience sur la mise en place d’une démarche DevOps, et rentrer plus en détail dans la technique en découvrant le déploiement d’applications .net “classique” de type ASP.net webforms  ou ASP.net MVC sous Windows, et l’intégration possible au sein de VSTS.

Cx0JxOlW8AA8a_8Photo de Stéphane Raggazi

Vous trouverez les slides de ma présentation sur slideshare :

image

Vous n’étiez pas là et vous souhaitez nous rejoindre pour les prochains meetups ?

Rien de plus simple, rejoignez-nous dans le groupe (plus de 130 membres actuellement !), et inscrivez-vous pour les meetups dont les sujets vous plaisent !

A très bientôt pour un prochain meetup !

Ce que je retiens des annonces du keynote de Connect 2016

Après le précédent évènement dédié à Windows, Microsoft continue sur sa lancée en nous proposant un très bon keynote de son évènement online Microsoft Connect.

Ce keynote fut l’occasion de faire un grand nombre d’annonces, je vous propose donc ici celles-qui m’ont le plus intéressé uniquement.

image

SQL Server 2016 SP1

Cela peut paraitre surprenant mais l’annonce qui m’a la plus enthousiasmé concerne la prochain Service Pack de SQL Server. Ce SP1 ne sera en effet pas un simple SP1 mais un changement MAJEUR au sujet de licensing de SQL Server puisque quasiment toutes les fonctionnalités qui étaient jusqu’à présent uniquement disponible dans la version Entreprise sont à présent disponible pour toutes les éditions de SQL Server !

Envie d’utiliser des fonctionnalités telles que l’Always Encrypted ou la gestion In Memory dans vos BDD SQL Server Express ? C’est à présent possible sans aucun surcoût !

Vous pouvez retrouver le détail de cette annonce sur ce post de Christophe Laporte.

Très clairement un Huge win pour SQL Server 2016 qui, avec la disponibilité de SP1, le changement de licensing, et la mise à disponibilité publique de la version Linux, a une actualité très riche.

Visual Studio for All

image_thumb8

Je ne vais pas m’étendre sur ce sujet puisque cela avait malheureusement fuité sur Internet en début de semaine, mais après avoir fait une démo de développement sous un Mac d’une application Node.js utilisant MongoDB et déployée sur Linux le tout depuis Visual Studio Code, Microsoft a annoncé une version Mac de Visual Studio. Ce rebranding de Xamarin Studio permet donc de créer des applications mobiles pour iOS et Android, mais également des applications serveur ASP.net Core.

image

Et enfin, bien évidemment, l’éditeur de Redmond n’oublie pas sa base de développeurs historique avec la mise à disposition de la RC de Visual Studio 2017 ! Au programme, de bonnes améliorations au niveau performances, plusieurs nouvelles fonctionnalités, et l’intégration de nouvelles extensions telles que les Visual Studio Tools for Docker, sujet sur lequel je reviendrais la semaine prochaine (Teaser : Elles sont vraiment bien meilleures que celles proposées en preview pour VS 2013, contrairement à ce qui pu être montré en démo).

DevOps for All

DevOps est certes un buzz-word à la mode, mais la mise en oeuvre d’une telle démarche n’est parfois pas des plus simples, et ceci même si l’outillage proposé par Microsoft (et par ses concurrents) s’est très largement développé et étoffé ces dernières années.

Les services d’intégration continue, de déploiement continu, de delivery continu, de gestion de tests, d’environnements, etc. proposés par TFS (TFS 2017 est à présent disponible en RTM) et Visual Studio Team Services permettent de faire beaucoup de choses dans ce domaine.

Microsoft complète néanmoins son offre avec une offre dédiée à la gestion du développement sur Mobile. Cette nouvelle est une repackaging de services déjà proposés par Xamarin avant son rachat par Microsoft et de Hockey App. Ce nouveau service n’est pas encore feature complete avec ses prédécesseurs, mais représente bien l’offre d’avenir qui permet à Microsoft de tout unifier.

Gestion des crashs, tests automatisés sur de rééls devices physiques, etc. L’intégration proposée est très intéressante, il sera intéressant de voir les prix qui seront proposés.

Microsoft est très sérieux sur son ouverture et avec l’Open Source

Oui, Microsoft a radicalement changé, et à réellement pivoter à une vitesse très impressionnante.

L’éditeur est à présent le plus gros contributeurs à des projets hébergés sur GitHub :

image

Et enfin, clou du spectacle : Microsoft rejoint la Linux Foundation !!! Sourire

image

L’essentiel de Docker : Débuter par la pratique

Nous avons précédemment vu les concepts essentiels pour comprendre la conteneurisation, le fonctionnement de docker, et les différents niveaux d’isolation proposés par Windows Server 2016.

Passons à présent à la pratique afin de voir comment effectuer un tout premier déploiement.

Installation de Docker

Docker pour Windows peut être installé sur un poste développeur à partir de Windows 10 Anniversary Update (attention, en mode d’isolation Hyper-V uniquement) ou alors sur Windows Server 2016.

Je ne vais ici pas décrire cette étape d’installation très simple mais vous rediriger vers la documentation officielle de Docker : https://docs.docker.com/docker-for-windows/

Première étape : La récupération d’une image

Microsoft propose deux images de base des deux éditions de Windows qui supporte le fait d’être contenu dans un conteneur : l’édition Server Core, et l’édition Nano Server.

Ces deux images sont disponibles sur le hub de docker qui réunit un grand nombre d’images Docker mises à disposition par différents éditeurs :

image

Dans le cas de Microsoft, vous pouvez trouver l’ensemble de ses images à cette adresse : https://hub.docker.com/u/microsoft/

Vous pouvez y trouver les fameuses images de bases pour chacun de ces deux OS :

image

Pour récupérer une de ces deux images, c’est simple, si vous êtes sur Windows 10, prêtez bien attention à switcher sur la gestion des conteneurs Windows, et non des conteneurs Linux en utilisant le menu contextuel :

image

Une fois ce changement fait, vous pouvez lancer Powershell afin de lancer la commande suivante :

docker pull microsoft/windowsservercore

pour l’image de base de l’édition concernée, et microsoft/nanoserver pour l’autre édition.

Cette commande va télécharger l’ensemble des couches de cette image qui n’ont pas déjà été téléchargé.

Une fois téléchargées, vous pouvez constater que celles-ci sont disponibles via la commande  :

docker images

image

Vous pouvez à présent créer un container basé sur ces images, et lancer ces containers, mais cela n’a que peu d’intérêt puisque vous disposez uniquement d’un Windows “nu” sans votre application.

Voyons donc à présent comment créer une image Docker contenant une application ASP.net WebForms ou MVC.

2ème étape : Création d’une image et déploiement simple d’une application ASP.net

La création d’une image Docker se fait grâce à un fichier Dockerfile. Ce fichier vous permet d’exécuter différentes commandes qui vont toutes ajouter une couche à votre image.

La première étape va donc être d’indiquer l’image de base de votre image. Et il est important ici de bien comprendre que vous avez l’embarras du choix ! Vous pouvez en effet utiliser une image d’OS nue (dans notre cas impérativement microsoft/windowsservercore qui est la seule édition à supporter le framework .net) et installer toutes les dépendances nécessaires (IIS, le framework .net, etc.) via toute une série de commande dans votre Dockerfile, ou alors utiliser une image prête à l’emploi ayant déjà votre framework et l’essentiel de vos dépendances déjà installées.

Ainsi le plus simple pour déployer une application ASP.net, est d’utiliser l’image microsoft/aspnet qui est une image qui étend l’image microsoft/windowsservercore et ayant déjà IIS et le framework .net d’installé, et ASP.net correctement configuré !

Pour récupérer cette image vous connaissez déjà la procédure (cette étape est facultative car l’image sera téléchargée lors de la construction de l’image si absente) :

docker pull microsoft/aspnet

Attardons nous à présent à la création de notre fichier Dockerfile :

# The `FROM` instruction specifies the base image. You are
# extending the `microsoft/aspnet` image.

FROM microsoft/aspnet

# Next, this Dockerfile creates a directory for your application
RUN mkdir C:\Demo

# configure the new site in IIS.
RUN powershell -NoProfile -Command \
Import-module IISAdministration; \
New-IISSite -Name « ASPNET » -PhysicalPath C:\Demo -BindingInformation « *:8000: »

# This instruction tells the container to listen on port 8000.
EXPOSE 8000

# The final instruction copies the site you published earlier into the container.
ADD . /demo

Comme vous pouvez le voir, la première instruction du Dockerfile permet d’indiquer l’image de base que l’on souhaite étendre, puis nous créons le site dans IIS qui hébergera notre application, ouvrons le port 8000 sur le conteneur, et copions l’ensemble des fichiers de notre application web, dans un dossier auparavant créé.

L’application web correspond dans notre cas à l’application par défaut créé par Visual Studio lors de la création d’un projet ASP.net Webforms, et nous pouvons inclure le fichier Dockerfile dans le dossier de cette application si nous le souhaitons.

Il suffit donc de 5 instructions dans le Dockerfile pour créer notre image avec l’application déployée.

Maintenant que nous avons notre Dockerfile, passons à la création de notre image contenant notre application déployée :

docker build –t demo .

image

les arguments –t demo permettent de définir un tag pour notre image, et le . permet de spécifier le répertoire courant comme répertoire de travail.

Et si vous listez de nouveau vos images, vous pourrez découvrir un nouveau venu :

image

Créer un conteneur pour exécuter notre application

Nous avons votre image avec notre application déployée,  exécutons maintenant notre application !

Pour cela, rien de plus simple :

docker run –name demo –d –p 8000:8000 demo

La commande permet de lancer un container en exposant le port 8000 du conteneur sur le port 8000 de l’hôte.

Vous pouvez donc accéder à présent à votre site web hébergé dans votre conteneur en accédant directement au port 8000 de votre machine hôte.

Note : Windows ne permet pas d’y accéder directement via le localhost de la machine hôte, vous pouvez donc effectuer un test de fonctionnement en accédant directement au port 8000 du conteneur. Pour cela, déterminez l’adresse IP du conteneur avec la commande suivante :

docker inspect –format= »{{.NetworkSettings.Networks.nat.IPAddress}} » demo

image

image

RDV prochainement afin de rentrer un petit plus dans le détail !