Le Microsoft User Group de Lyon, c'est un ensemble de professionnels de l'informatique qui travaillent autour des technologies Microsoft. Ils sont issus de tous les horizons (formateurs, développeurs, chefs de projet, architectes, etc).
Le MUG Lyon est une association collegiale qui comporte un noyau dur d'organisateurs et de passionnés qui se ferons un plaisir de répondre à vos questions et de vous guider dans la communauté.
Vous êtes une entreprise intéressée par notre démarche, un développeur en quête de partage, un chef de projet Java curieux ?
Venez participer à notre prochaine session et rencontrons-nous.
Le MUG Lyon organise un atelier "Découverte de TypeScript" hébergé par Sciences-U, suivi d'un afterwork; ces évènements sont gratuits et ouverts à tou(te)s.
C'est Matthieu DUFOURNEAUD-RAVEL (Exakis) qui animera cet atelier, au cours duquel nous découvrirons TypeScript et ces principales caractèristiques (class-based object-oriented paradigm, static typing, ECMAScript 6 support, ...) à travers plusieurs démos, dont notamment une migration étape par étape de JavaScript vers TypeScript.
Enfin, cet atelier sera suivi par un afterwork, au cours duquel nous pourrons continuer d'échanger autour d'un verre (attention, toutes les consommations sont à la charge des participant(e)s).
P.S.: Si vous n'avez pas la possibilité d'assister à l'atelier, n'hésitez pas à nous rejoindre pour l'afterwork qui aura lieu à partir de 21h dans un bar à proximité de Sciences-U, nous vous donnons rendez-vous à la sortie de l'atelier.
Le MUG Lyon organise un atelier "real-time web en .NET avec SignalR" hébergé par Sciences-U, suivi d'un afterwork; ces évènements sont gratuits et ouverts à tou(te)s.
Si vous souhaitez mettre en place des notifications serveurs temps réel sur une application web (y compris avec IE) ou un client lourd en quelques lignes de codes; que ce soit pour créer des outils collaboratifs, comme Google Documents, ou des jeux en ligne; venez découvrir SignalR, librairie open source de real-time web en .NET développée par Microsoft.
C'est Florent PELLET (freelance) qui animera cet atelier, au cours duquel nous découvrirons SignalR à travers: une comparaison avec d'autres solutions, la présentation de cas d'utilisations (ElmahR, HurricaneJS, ...), et la démo d'une application multi-plateforme (IE + Chrome + WPF + smartphones).
Enfin, cet atelier sera suivi par un afterwork, au cours duquel nous pourrons continuer d'échanger autour d'un verre (attention, toutes les consommations sont à la charge des participant(e)s).
P.S.: Si vous n'avez pas la possibilité d'assister à l'atelier, n'hésitez pas à nous rejoindre pour l'afterwork qui aura lieu à partir de 21h dans un bar à proximité de Sciences-U, nous vous donnons rendez-vous à la sortie de l'atelier.
Retour du code retreat de décembre
Le MUG Lyon organise la 10ème édition lyonnaise des "Afterworks des Communautés Microsoft".
Cet évènement gratuit et ouvert à tou(te)s, est destiné à tou(te)s ceux(lles) intéressé(e)s par les technologies Microsoft et associées, dont Mono.
Alors inscrivez-vous, et venez rencontrer et échanger avec vos pairs autour des valeurs qui font la richesse de notre métier...
Enfin, un afterwork est un évènement convivial, permettant de se rencontrer et d'échanger autour d'un verre (attention, toutes les consommations sont à la charge des participant(e)s).
Le MUG Lyon organise un atelier "Single Page Application (SPA), ou la rencontre du pattern Model View ViewModel (MVVM) et du Web", suivi d'un afterwork; ces évènements sont gratuits et ouverts à tou(te)s.
C'est Florent PELLET qui animera cet atelier, au cours duquel vous aurez l'occasion de découvrir des méthodes pour structurer vos applications Web, et améliorer l'expérience utilisateur de vos internautes.
Nous vous proposerons d'abandonner la vision des sites Internets se résumant à une simple succession de pages, au profit d'applications, structurées grâce au pattern MVVM, avec des transitions et une fluidité de navigation.
A travers plusieurs démos nous vous présenterons: les différentes étapes du développement d'une SPA avec KnockoutJS, ASP.NET MVC et ASP.NET Web API; mais aussi comment pallier à certains problèmes techniques, comme la navigation avec HTML5 History, et la SEO avec Mustache en partageant les templates entre le client et le serveur.
Enfin, cet atelier sera suivi par un afterwork, au cours duquel nous pourrons continuer d'échanger autour d'un verre (attention, toutes les consommations sont à la charge des participant(e)s).
Le MUG Lyon organise un atelier de Test Driven Development (TDD).
Cet atelier, gratuit et ouvert à tou(te)s, est destiné à tou(te)s les développeur(se)s; peu importe votre langage de développement, peu importe votre niveau, peu importe votre avis sur les tests, vous êtes les bienvenu(e)s !
Lors de cet atelier, qui prendra la forme d'un petit exercice (Kata en C#) en mode Dojo Randori, nous parlerons des idées reçues sur le TDD, mais surtout nous tenterons de démontrer qu'elles ne sont pas fondées.
Alors, que vous soyez un(e) intégriste pro-test, un(e) déçu(e)/sceptique des tests, ou tout simplement si vous êtes curieux(se) à ce sujet, cet atelier est fait pour vous.
Enfin, cet atelier sera suivi par un afterwork, au cours duquel nous pourrons continuer d'échanger autour d'un verre (attention, toutes les consommations sont à la charge des participant(e)s).
Le MUG Lyon organise un atelier "Post-mortem d'une application métier" hébergé par Sciences-U, suivi d'un afterwork; ces évènements sont gratuits et ouverts à tou(te)s.
Lors de cet atelier, Matthieu DUFOURNEAUD (Exakis) analysera avec nous le processus de conception ayant abouti à la réalisation d'une application métier réelle.
Nous étudierons ainsi pourquoi certains choix techniques ont été réalisés: pourquoi
réaliser une application native ou Web, pourquoi utiliser NHibernate ou Entity Framework, comment simplifier l'appel de services ASP.NET Web API...
Pour finir ce retour d'expérience nous vérifierons si ces choix ont
été judicieux ou s'ils ont dû être remis en cause au cours de la construction de l'application.
Enfin, cet atelier sera suivi par un afterwork, au cours duquel nous pourrons continuer d'échanger autour d'un verre (attention, toutes les consommations sont à la charge des participant(e)s).
P.S.: Si vous n'avez pas la possibilité d'assister à l'atelier, n'hésitez pas à nous rejoindre pour l'afterwork qui aura lieu à partir de 21h dans un bar à proximité de Sciences-U, nous vous donnons rendez-vous à la sortie de l'atelier.
Le MUG Lyon organise un atelier "Injection de dépendances (IoC/DI)" hébergé par Sciences-U, suivi d'un afterwork; ces évènements sont gratuits et ouverts à tou(te)s.
Cet atelier sera un live coding, où on partira d'un exemple fortement couplée, pour introduire le principe d'inversion de dépendance (Dependency Inversion, le D de SOLID). A partir de là, on introduira l'injection de dépendances, sans se focaliser sur un battle de libs, mais plutot sur des pratiques. On finira sur quelques anti-patterns de l'injection de dépendances.
Enfin, cet atelier sera suivi par un afterwork, au cours duquel nous pourrons continuer d'échanger autour d'un verre (attention, toutes les consommations sont à la charge des participant(e)s).
P.S.: Si vous n'avez pas la possibilité d'assister à l'atelier, n'hésitez pas à nous rejoindre pour l'afterwork qui aura lieu à partir de 21h dans un bar à proximité de Sciences-U, nous vous donnons rendez-vous à la sortie de l'atelier.
Vous êtes en Rhône-Alpes, dans le Sud, au Sud-Est ou Ouest ?? VENEZ à cet événement mondial Global Windows Azure Bootcamp 2014, où l'association MUG Lyon vous réserve des surprises et des cadeaux! L'école EPITECH - Lyon nous fait l'honneur d'héberger cela pour accueillir 100 à 200 personnes!
Nous aurons 12 experts et Geeks pour animer nos sessions toute la journée / soirée !
Ouvert à toutes et tous avec 3 "parcours" :
(1) Dév débutant sur Azure;
(2)
Dév expert/ top geek Azure (attention ça va décoiffer);
(3)
Décideurs (problématiques / stratégies / sécurité / modèle économique...).
L'an dernier cet événement avait rassemblé à travers le monde et le même jour 7432 personnes, 154 Speakers, 96 villes, 194 sessions techniques et 74 MVP. Cette année Paris n’a plus le monopole pour organiser un tel événement ! Nous vous attendons nombreux à Lyon.
(Pour twitter, le hashtag: #gwab)
AU PROGRAMME :
Live-démo, ateliers de Coding Dojo/Code Retreat, Best Practices / Clean Code Agile, jeux concours et prix, ... Des membres du CARA / JUG (à titre perso) seront également là pour échanger avec vous.
Pre-requis: Apportez votre environnement de travail préféré, donc un ordinateur portable, avec:
APRES la journée ?
Suite à aux chellenges "coding", les cadeaux seront remis (licence NDepend, sponsor mondiaux, et éventuellement d'autres goodies), puis nous auront une session boisson / repas pour les plus endurants !
A très bientôt, au nom de toute l'équipe du MUG-Lyon: https://twitter.com/MUGLyon or http://muglyon.github.io
============================================================
Lien vers nos généreux sponsors.
================= FRENCH SPONSORS |
|
================= GLOBAL SPONSORS | |
|
|
Le MUG Lyon organise un atelier "Gestion des périphériques modernes avec SCCM (System Center Configuration Manager)" hébergé par Sciences-U, suivi d'un afterwork; ces évènements sont gratuits et ouverts à tou(te)s.
Les périphériques mobiles/modernes (tablettes, mobiles…) font partis de notre quotidien, leur gestion devient un challenge et une problématique à gérer ! Qu’est-ce que le MDM, l’UDM ? Que propose Microsoft pour permettre l’administration de ces périphériques ? Cette présentation, animée par Jean-Sébastien DUCHENE (Exakis) (MVP), fera un tour d’horizon des solutions System Center 2012 R2 Configuration Manager et Windows Intune afin de proposer aux utilisateurs d'utiliser l'appareil de leur choix, tout en respectant la conformité des données de l'entreprise. Nous verrons quels périphériques (Windows 8, Windows Phone, iOS, Android…) sont concernés et les prérequis nécessaires (sideloading key, certificats…). Enfin, nous détaillerons les différentes fonctionnalités :
Cette session sera rythmée par des démonstrations des fonctionnalités clés et aura donc pour but final d'offrir une vision plus précise des scénarios envisageables au travers des technologies Microsoft.
Le MUG Lyon organise un atelier "Simplicity - get the power back!" avec Rui Carvalho hébergé par Sciences-U, suivi d'un afterwork; ces évènements sont gratuits et ouverts à tou(te)s.
C'est quoi la simplicité ? Savons nous encore ce que c'est à l'heure des frameworks et outils hyper riches ? Peut-on faire des choses simplement dans la complexité qui nous entoure ?
Je vous propose donc de parler de frameworks, d’outils, de patterns, ou encore de clean code pour comprendre pourquoi il est nécessaire de reprendre le contrôle d'outils simples qui font le job pour améliorer son workflow, sa qualité, son agilité et son plaisir !...
La simplicité, c'est l'inspiration et la puissance au bout des doigts dont on a -un peu trop- perdu l'esprit dans l'écosystème .NET.
Le MUG Lyon organise un atelier "Test After/Before & TDD" avec Antoine Vernois hébergé par Sciences-U, suivi d'un afterwork; ces évènements sont gratuits et ouverts à tou(te)s.
TDD et tests unitaires sont, en ce moment, un peu le pendant technique du buzz "agile" : c'est à la mode, tout le monde en parle, à les entendre tout le monde en fait, et pourtant personne de ne sait vraiment ce que c'est.
Dans cette session, je vous propose de repartir de zéro en tachant de répondre simplement aux questions de bases : c'est quoi un test unitaire, à quoi ça sert, comment ça s'écrit et (surtout ?) quand ça s'écrit ?
Et bien sur, tout ça avec du code en live ;-)
Le MUG Lyon organise un atelier "Event sourcing en F#" avec Jérémie Chassaing
Domain Driven Design (DDD), Event Sourcing et F#: L'alliance Parfaite !!!
En stockant l'histoire du système plutôt que son état actuel, l'Event Sourcing est une technique radicale pour implémenter DDD efficacement. Mais beaucoup s'arrêtent avant d'avoir commencé, convaincu qu'une telle solution sera difficile à mettre en œuvre.
Un exemple court en F# montrera comment implémenter l'Event Sourcing de façon simple, claire et "production ready", en laissant la plus grosse part à un code métier devenu limpide.
Aucune connaissance préalable en F# n'est requise.
Le MUG Lyon organise une session "Les tests au sein de Visual Studio ALM" avec Grégory Ott
Adoption incrémentale des tests dans Visual Studio ALM. Du test exploratoire au pilotage par l'analyse d'impact :
Venez découvrir comment MTM peut soutenir de façon progressive votre effort de test.
Que vous soyez Développeur et que vous ayez envi de participer à l'effort de test ;
Que vous soyez Analyste métier et que vous souhaitiez capitaliser sur vos critères d'acceptante ;
Que vous soyez Testeur et
que vous souhaitez mettre de l'ordre dans votre patrimoine de test ;
Que vous soyez responsable de l'usine logicielle et que vous souhaitiez capitaliser sur votre plateforme préférée ;
Que vous soyez manager
et que vous souhaitez améliorer votre visibilité sur les tests ;
Ou que vous ayez simplement envie d'en apprendre plus sur les tests avec la plateforme Visual Studio ALM : cette présentation est faites pour vous !
Le MUG Lyon organise une session " Refactoring de code legacy avec des trucs en 'N'" avec Thomas Pierrain
Avec cette session de live-coding interactive, le créateur de la librairie NFluent vous montrera comment l'utilisation de celle-ci -et de votre IDE survitaminé par des compléments indispensables- vous permet d'intervenir sur du code legacy en toute sécurité. Une introduction aux assertions "fluents", mais par la pratique.
Au sujet du speaker:
Agile de père en fils depuis 1905 (tendance XP), Thomas est obsédé par les use cases et le "pourquoi" en général (par opposition aux approches "solutions driven"). Développeur open source, architecte technique dans la finance depuis 2005 (après une première partie de carrière les pieds dans le web), Thomas s'attache à démontrer régulièrement que DDD et low latency ne sont pas incompatibles. Curieux, passionné, Thomas ne loupe également aucune occasion pour organiser des rencontres, et échanger avec d'autres passionnés.
Le MUG Lyon organise une session No SQL avec Gregory Cica.
Etude de cas : Modélisation d’un réseau social à l’aide de base de données NoSQL en environnement .NET
Après une petite présentation des but et enjeux qu’amène le NoSQL dans la persistance des données, nous étudierons un cas réel de réseau social à implémenter selon différentes solutions No SQL. Nous verrons ainsi les avantages et inconvénients des grand types de bases NoSQL comme les bases de données Graph, Colonne, et Document.
Le MUG Lyon organise une session " de zéro ligne de code à une société qui tourne" avec Jb Evain et Sebastien Lebreton, retour d’expérience sur la société SyntaxTree et son rachat par Microsoft.
Cette présentation sera l'occasion pour nous de faire un retour d'expérience sur la création d'une startup logicielle française et son fonctionnement sur près de trois ans. Nous reviendrons sur nos choix techniques et nos choix de gestion, notre stratégie commerciale, nos difficultés, ainsi que ce que l'on pense avoir bien fait et ce que l'on pense avoir mal fait.
De quoi, peut-être, vous inciter à vous lancer, ou en tout cas, vous donner des idées!
Le MUG Lyon organise une session "découverte de Xamarin et Xamarin.Forms" animée en anglais par Michael James.
Building cross-platform native UIs with one shared codebase was once just a dream. With Xamarin.Forms, this dream is now a reality. Xamarin.Forms allows you to build a native UI for three platforms with one shared C# codebase.
Simply put, if you know C# then you already know how to build iOS, Android, and Windows Phone apps. Leverage the .NET Framework to build out your shared business logic including integration with web services and Azure Mobile Services and then build out your shared UI in C# or XAML.
Xamarin.Forms also features a built-in two-way data binding, dependency service to help you implement platform-specific code, an advanced cross-platform animation system, support for custom controls, and lots of other powerful features to help you build the best apps possible in the least amount of time.
During this session we will cover the Xamarin platform and the brand new Xamarin.Forms library to share even more code across iOS, Android, and Windows Phone. Moreover, we will really focus on the code with several live coding adventures throughout the entire session.
When you leave you will have the knowledge to create your first iOS, Android, and Windows Phone mobile apps in C# with Xamarin and Xamarin.Forms.
Le MUG Lyon organise une session " Comment transformer vos équipes de dev en "super-développeurs" en moins de 6 mois ?" avec Bruno Boucard.
En nous inspirant des pratiques sportives, nous avons mis en place un dispositif éducatif sur le thème du Software Craftsmanship, permettant d’élever de manière significative le professionnalisme des équipes de développement.
À l’instar des coaches sportifs, nous proposons un programme pédagogique reposant sur la répétition d’exercices connus et éprouvés et quelques outils associés. Les sujets du programme sont orchestrés dans le temps afin de garantir un apprentissage pertinent et durable. Pour ce faire chaque thème débute par une formation d’une journée à la fois pratique et théorique qui offre une base nécessaire à l’accompagnement au coaching. La phase de coaching repose sur la pratique d’exercices relatifs au thème de la formation.
Ce dispositif a déjà permis de transformer avec succès plusieurs équipes de développements.
Le MUG Lyon organise une session " Refactoring en mode DevOps : du mythe à la réalité" avec Matthieu Petite.
Une nouvelle session sur le sujet du refactoring de code Legacy et cette fois-ci le but est de présenter un retour d’expérience depuis la phase d’avant-vente du projet, où on abordera le rêve de ce qu’est l’approche DevOps dans le refactoring d’un soft de plus d’un millions de ligne de code, et comment on convainc les décideurs, jusqu’à la livraison du projet. Nous présenterons les difficultés rencontrées, les aléas techniques et surtout les problématiques humaines que nous avons rencontrées tout au long du projet.
Passionné de technologie et des modes de développement agile, Matthieu est convaincu que l’industrie du logicielle n’est pas condamnée à bricoler et que l’approche qualité autour d’un logiciel peut être un vecteur de différentiation et nous fait grandir en tant de développeur au quotidien. Spécialiser dans les domaines Microsoft et le CMS, il n’a de cesse de porter l’envie de faire du beau code et de démontrer que faire bien, c’est rentable … et même à court terme…
Le MUG Lyon organise une session " Comment rendre vos CSS lisibles avec BEM?" avec Thomas Zilliox.
BEM est un standard de nommage CSS qui permet d'améliorer facilement votre code !
Après une présentation de son fonctionnement, nous verrons pourquoi a t-il été inventé et en quoi il va améliorer vos feuilles de styles.
Nous découvrirons aussi comment le mettre en place sur vos projets (dès le lendemain) et quelques petites astuces pour vous simplifier la vie ;)
Le MUG Lyon organise une session "Interaction Driven Design" avec Sandro Mancuso.
How can we quickly tell what an application is about? How can we quickly tell what it does? How can we distinguish business concepts from architecture clutter? How can we quickly find the code we want to change? How can we instinctively know where to add code for new features? Purely looking at unit tests is either not possible or too painful. Looking at higher-level tests can take a long time and still not give us the answers we need. For years, we have all struggled to design and structure projects that reflect the business domain.
In this talk Sandro will be sharing how he designed the last applications he worked on, twisting a few concepts from Domain-Driven Design, properly applying MVC, borrowing concepts from CQRS, and structuring packages in non-conventional ways.
Sandro will also be touching on SOLID principles, Agile incremental design, modularisation, and testing. By iteratively modifying the project structure to better model the product requirements, he has come up with a design style that helps developers create maintainable and domain-oriented software.
Le MUG Lyon organise une session "Agilité par le code grâce à CQRS et EventSourcing" avec Emilien Pecoul et Florent PELLET.
Et si la complexité d'un logiciel reflétait la complexité fonctionnelle et non technique ?
Le but de cet atelier est de vous montrer une méthode de développement qui se focalise sur les problématiques métiers et non technique. Pas besoin d'un langage de programmation ou d'un Framework spécifique. Nous ferons émerger une application pendant l’atelier. Et nous verrons comment l'event sourcing et CQRS se présentent d’eux même pour supprimer les problématiques techniques que nous rencontrons souvent dans une application en couche, même de petite taille.
La présentation sera sous la forme d’un live-coding.
Le MUG Lyon organise une session "Your agile is dead" avec Sebastien Lambla.
What could possibly go wrong when a Pole and a Frenchman enter an English office? Well, for a start you get servers called Churchill, Wałęsa and de Gaulle. In the presence of such characters it’s no wonder that a revolution was started. The country entered by the noble men was agile (with a capital A) and so were they (but not with the same a).
Instead of following the beaten paths, what would happen if they started with no structure, no direction and no rules, and created new ways of working as they go along?
An autonomous collective of courageous and fearless geeks gathered along in a freshly created duchy of perpetually hoarded meeting rooms, and joined forces into an unstoppable mob of programming, leaving behind everything, and starting completely fresh.
Their sight: the land of agile orthodoxy. Their weapon: asking why (usually at least five times). Their plan: No Kan-, no -Ban, starting with no assumption, but a sacred map of all their capabilities and tasks, the Panopticon, to lead them.
How many pits of success have they already conquered? Will their valiant march to sustainable delivery arrive at the pinnacle of realised business value?
Le MUG Lyon organise une session "ASP.NET Core 1.0" avec Benjamin Talmard.
ASP.NET Core 1.0 (anciennement appelé ASP.NET 5) marque une rupture avec les origines du Framework ASP.NET. En effet, ASP.NET Core a pour vocation d’être plus léger, plus modulaire, multiplate-forme pour répondre aux exigences du développement web moderne.
Durant cette session, Benjamin nous présentera les caractéristiques et changements de cette nouvelle version, les nouveautés liées à l’outillage développeurs et les impacts des aspects open source et cross-plateforme.
La session sera accompagnée de plusieurs démos pour bien appréhender les nouvelles notions.
Le MUG Lyon organise une session "Docker: briques légos pour infrastructures" avec Haikel Guemar.
Lors de cette session, nous découvrirons Docker et son écosystème. Comment celui-ci entraine un changement de paradigme dans la gestion d'infrastructure et facilite la mise en place de processus de Continuous Delivery. Mais également, l'avenir de Docker sur plateforme Microsoft avec le support sous Azure et l'arrivée des conteneurs natifs dans Docker (Windows & HyperV)
Merci à Docker, Inc de nous envoyer des T-shirts Docker pour cette occasion !
Le MUG Lyon organise une session "Code Utilisable" avec Johan Martinsson.
Avez-vous pensé à l'utilisateur de votre code? Non pas celui qui utilise votre application mais le développeur ou la développeuse qui doit changer le code après vous? Cette personne a-t-elle un outil de travail (code) facile à utiliser entre les mains?
Que pouvons-nous apprendre d'autres domaines que l'informatique, où l'on a découvert il y a des dizaines d'années le design centré utilisateur ? Depuis le temps beaucoup de literature et beaucoup de connaissance se sont accumulées - il est temps de s'en inspirer.
Faisons un tour des concepts fondateurs du design pour l'utilisateur et ses diverses déclinaisons existantes et nouvelles dans le monde du code et de l'architecture. Continuons en explorant la synergie frappante entre testabilité et utilisabilité. Finissons par découvrir comment le dialogue centré sur le besoin de Code Utilisable peut rassembler tous les interlocuteurs et les mettre en mouvement autour d'un objectif largement compris et partagé.
Le MUG Lyon organise une session "Design Patterns" avec Stephane FRACHE.
Les Design Pattern : Des réponses aux questions que vous vos posez sûrement :
- Qu'est-ce que c'est ? - A quoi ca sert ? - Comment on s'en sert ? - Pourquoi devrait-on ?
Le tout agrémenté d'exemples sur les patterns que vous utilisez régulièrement sans même le savoir, et sur les patterns qui m'ont été les plus utiles récemment (Factory Method, Wrapper, Abstract Factory...).
Le MUG Lyon organise une session "Le code expliqué à ma mère - par CommitStrip" avec Thomas Guenoux.
On aurait pu dessiner des gaulois. Ou bien un reporter avec son chien. Ou même une grosse famille d'américains jaunes et idiots. Mais non, nous, on a décidé de dessiner des codeurs. Et personne n'y comprend rien. Enfin, sauf peut être vous, mais surement pas ma mère, qui croit au mieux que je fais de l'ordi toute la journée, au pire que je suis toute la journée sur des sites de biiiiip.
Alors, on va lui expliquer c'est quoi le code et ce que font les codeurs. Parce que, on rigole, mais faudrait qu'elle finisse par comprendre que tapez Google dans Google, c'est pas comme ça que ça se passe normalement.
Le MUG Lyon organise une session exceptionnelle (une autre suivra en fin de mois)""Analyser des big data avec MBrace, Azure et F#"" animée par Mathias Brandewinder (directement venu de San Francisco ! et en français!).
Pour l'exploration de données et le protypage rapide, la productivité d'un environnement de scripting interactif est difficile à battre: récupérer facilement des données, exécuter du code et itérer sur la base d'un feedback immédiat. Cependant, cette expérience atteint ses limites quand les données à manipuler sont volumineuses, ou que les calculs sont lourds. Votre PC devient le goulot d'étranglement, et vous vous retrouvez avec un environnement lent...
Durant cette session, Mathias introduira mbrace.io, un moteur open source et gratuit pour une programmation scalable sur le cloud. En utilisant MBrace, vous pouvez conserver votre environnement de scripting préféré, et facilement exécuter du C# ou du F# sur un cluster de machines Azure.
La session sera axée sur des démonstrations, de l'approvisionnement d'un cluster Azure, à l'analyse d'un grand volume de données de manière distribuée. Par la même occasion, il sera discuté de l'intérêt de cette démarche pour la Data Science et le Machine Learning.
Le MUG Lyon organise une session ""Recettes CQRS, pour bien cuisiner son architecture"" animée par Tomasz JASKULA.
Le pattern architectural CQRS est très simple à comprendre mais peut devenir très vite compliqué à mettre en œuvre. Si on y ajoute un zeste de Domain Driven Design, une pincée d’Event Sourcing et qu’on agrémente le tout avec différents bus de messaging, des queues et de l’infrastructure, notre plat gastronomique peut vite devenir une bouillie indigeste.
Comme bien souvent, tout est question de mesure et de bonnes proportions (définies en fonction de vos contraintes fonctionnelles et techniques). Si vous ne savez pas si CQRS est fait pour votre besoin, ou tout simplement si vous ne savez pas par où commencer, je vous propose de découvrir quelques recettes de grand-mère tels que: ingrédients d’un bon domaine CQRS, Domain Driven Design or not, concurrency, event sourcing, read models, master-details views, task based UIs, event sourcing, integration, event versionning.
MUG Lyon organises a talk "Code Quality Management with SonarQube and SonarLint" by Tamas VAJK.
Technical debt is what makes you feel like it could be easier to restart the development of a product from scratch in order to add a simple new feature to it. SonarQube is an open source code quality portal enabling all stakeholders to identify, track and ultimately act to reimburse the technical debt. SonarLint on the other hand is a product that brings code analysis to the IDE directly for the developer.
In this session, I'll show how Microsoft and SonarSource, the company behind SonarQube, have been working together to bring the platform to .NET developers. We'll start by a tour of the SonarQube platform and how we use it on a daily basis to manage our own code quality. Then, I'll demo SonarLint for Visual Studio to show issues caught on-the-fly as we type in the IDE. Finally, we'll check the Scanner for MsBuild, used to analyze .NET projects, and how it integrates with Team Foundation Server and Visual Studio Team Services but also with Jenkins or TeamCity.
Le MUG Lyon organise une session "QueryFirst" avec Simon Boddy.
QueryFirst c'est un projet perso qui ambitionne modestement de devenir votre mode favori d’accès aux données, en vous faisant retomber amoureux du bon vieux SQL. La tentative de résoudre le « problème » du nexus appli/BDD a très vite cherché à faire abstraction du SQL, supposé archaïque et difficile, et ceci sans jamais veiller à améliorer les conditions de son utilisation. La suite, on la connait. Plus récemment, l’insatisfaction avec les ORMs classiques a donné naissance aux micro-ORMs. Dapper, PetaPoco et companie ont fait des pas (timides, vous allez voir) pour simplifier l’usage du SQL, remettant ainsi le « raw sql » au gout du jour. Mais ce n’est pas bien difficile d’aller beaucoup plus loin. Quel autre langage informatique accepte-t-on de voir enterré dans les chaines literales, sa forme opérante étant visible seulement en débogage ?
QueryFirst est un projet personnel open source, en forme d’extension VS, qui cherche à rendre l’utilisation du SQL « frictionless ». Pour ce faire, il tranche avec les autres approches en introduisant un traitement au moment de la rédaction de la requête. Avec QueryFirst, le SQL reste intègre dans son propre fichier, et, à chaque sauvegarde, l’outil exécute la requête et génère le « wrapper » en C# qui permet son intégration dans l’application (la classe qui l’exécute, son interface, et un POCO). A l’usage, c’est une révélation : vous avez entièrement la main, le « boilerplate » est éliminé, tous vos accès données sont validés, et la création des tests unitaire est facilité.
Le meetup sera l’occasion de présenter l’outil. Il sera surtout l’occasion d’échanger sur les opinions qu’il met en œuvre, et sur le champ d’application et les limitations d’une telle approche. Comme c’est le lancement en quelque sorte du projet, je dévoilerai, comme il se doit, la « KILLER FEATURE ». Vous ne serez pas déçu !
Une vision du travailler ensemble, le Design Sprint
Créer un environnement favorisant la créativité et l’innovation. Conduire un groupe en favorisant sa diversité pour résoudre des problématiques rapidement. Proposer une expérience nouvelle, pour Faire, ensemble.
Si tout cela vous semble naturel, c’est normal. L’humain fonctionnait déjà ainsi à la préhistoire autour du feu. Pourtant, après tous les efforts de l’industrialisation, on arrive à définir le Design Sprint, Design Thinking, Lean management et autres méthodes Agiles comme modernes et innovantes.
Portons ainsi une vision globale sur l’état actuel de la conduite de projet, et sur des solutions pour retrouver le plaisir de travailler ensemble de manière efficiente.
By Romeu Moura
The accidental complexity in your codebase: Learn how to understand it, identify it, arm yourself against it and, armed, fight it. The Out of the Tarpit paper covers:
Accidental vs Essential complexity
The need to treat their separation as a first-class citizen in our design
A general approach to do it
One suggestion for instance of this approach that tries to start the movement of "Functional/Relational Programming". The original FRP before FRP
Avec autant de buzzwords dans le titre, laissez-moi expliciter le menu :
Take away:
Git est parmi les SCM les plus utilisés, cela ne veut pas dire que tout le monde l'utilise correctement...
Les phrases suivantes s'appliquent peut-être à vous / à votre équipe :
Quelle que soit votre situation, j'ai à vous présenter une méthode de travail sous git qui répond à pas mal de problèmatiques que j'ai pu retrouver dans plusieurs entreprises:
By Sylvain COUDERT
Que faire quand on vous colle une application, passée, datée, délavée, limite rincée?
Quand on vous demande de la corriger, de la moderniser, de la fiabiliser, mais surtout sans tout réécrire?
Quand le client vous demande naturellement de faire ça sans claquer le budget décennal de la NASA?
Quand votre management vous fait comprendre que ce serait bien de gagner un peu de pognon dans la manœuvre, et de rester crédible, et de se placer pour les projets suivants, et de se débrouiller tout seul, avec les yeux bandés une main dans le dos en funambule au dessus du précipice(rempli de trolls)?
Réussir un projet comme ça n'est pas seulement affaire de dev ou d'archi. Tout le monde doit s'y mettre: le client, la commerciale, les utilisateurs, la SSII et évidemment le dev.
Le dev qui va devoir jongler entre ce qu'il voudrait faire, ce qu'il saura faire, ce qu'il aura le temps de faire, ce que le client voudra bien qu'il fasse et naturellement ce qui devra être obligatoirement fait.
Je vous raconterai tout ça, de la gestion/migration des bibliothèques ancestrales à la question de l'accès aux données en passant le vertige du "mais va vraiment falloir que je repasse sur tout le code??"
Depuis que j'ai découvert F# en 2011, j'ai souhaité pouvoir l'utiliser professionnellement au quotidien. Aujourd'hui j'ai cette chance, et voudrais vous raconter l'histoire de cette adoption, d'abord par moi, puis au sein de mon équipe. Ce sera l'occasion d'aborder les caractéristiques de F# qui m'ont séduit, et la manière dont le langage a fait son chemin parmi mes collègues, au travers des projets réalisés.
Après avoir défrayé l'actualité automobile(*) et les réseaux Blockchain, le MUG Lyon se propose d'accueillir Igor Leontiev, l'architecte (en chef !) chez VISEO du projet "Renault-Nissan, le carnet d'entretien numérique" infalsifiable et connecté ! Certains font des PoC en créant un réseau de Blockchain en 5 min en utilisant des images Docker ou des VM… mais après, on est face au néant ! C’est comme si vous étiez capable de créer un réseau Internet en 5 min… mais que faire après ?? • quels protocols d’échanges ? • quelles applications déployer ? et comment ? • ça sert à quoi ? quelles sont les contraintes techniques et juridiques ? Les performances (parfois obligatoirement lentes) ?? ... Aussi sécurisé qu’un système d’échange bancaire, mais également aussi complexe ! Venez découvrir sur un exemple concret comment ça marche, les implications au niveau de l'équipe (dev, archi, IHM, sécurité, ...). Il aura fallu plusieurs mois intensifs à Igor pour monter en compétence (en mode sous-marin avec Microsoft Corp, via son titre de MVP Azure) … Aussi, en 1 h le MUG ne pourra pas vous transformer en expert ! Mais on débutera "simple", pour terminer en effleurant du doigt la complexité de ce sujet et ce que l'équipe a mis en place pour relever les challenges techniques (avec les framework Microsoft !), mais surtout fonctionnel, tout en tenant compte des apsects législatif (car on peut presque tout imaginer... mais la Loi n'est pas aussi rapide, et on peut être contraint en France).
Intelligence artificielle : tour d'horizon et perspectives par Edwige SEMINARA
L'intelligence artificielle est au coeur de toutes les conversations du moment et pour cause : son développement est la cible de bons nombre d'acteurs du marché de l'IT, suscitant plusieurs débtas et attisant la curiosité des uns et des autres. Seulement voilà ! De quoi parle-t-on exactement et de quoi ne parle-t-on pas lorsque nous utilisons le terme "intelligence artificielle" ? Après quelques bref rappels des fondamentaux, cette présentation proposera un rapide tour d'horizon et des perspectives offertes par le sujet !
REST in Peace: GraphQL is coming! par Cédric DERUE
Il se présentera en 3 parties :
Specification by example, by example par Samuel PECOUL
Behaviour Driven Development, Specification by example ou TDD Outside-in sont des pratiques qui m’interpellent depuis un certain nombre d’années, mais qu’il n’est pas toujours évident de mettre en œuvre ‘dans la vraie vie’.
Les promesses de mondes meilleurs à base de langage commun entre métier et développeurs, de spécifications claires, précises et comprises par tous ou de code piloté par des besoins métiers ne sont pas toujours au rendez-vous.Nos tentatives se traduisent (trop) souvent par des maux de têtes, des échecs, et beaucoup de frustrations.
J’ai aujourd’hui l’opportunité de travailler sur un projet ambitieux de refonte d’un S.I. en repartant de zéro. Et même s’il est probablement un peu tôt pour dresser un bilan objectif du projet, je crois que la démarche mise en œuvre mérite d’être partagée.
En effet, nos spécifications sont illustrées par des exemples élaborés de façon collaborative, puis traduites immédiatement en scenario BDD qui guident les développeurs dans leur code, leurs servent de cas d’acceptation ainsi que de test de non régression.
Ces exemples alimentent une ‘documentation vivante’ précise et juste à tout instant, et consultable par n’importe quelle partie prenante.
Cette présentation sera donc un retour d’expérience sur la mise en place de la ‘Spécification par l’exemple’ sur un véritable projet.
Je tacherais de mettre en évidence les points auxquels je fais attention et que je pense être les principaux facteurs d’échec à ses pratiques.
Take away :
Unlock Data Insights with Azure IoT Edge par Artem Sheiko
L'intégration d'Azure IoT Edge permet aux organisations et aux développeurs d'appliquer Intelligence Artificielle et Machine Learning à des données des appareils IoT. Tous les modèles créés à l'aide d'Azure Machine Learning peuvent désormais être déployés sur des passerelles et des périphériques IoT avec l'environnement d'exécution Azure IoT Edge. La simplicité de ce service innovant de Microsoft contribue à gérer et à fournir l'intelligence du cloud localement. Apprenez comment vous pouvez rapidement créer, déployer et exécuter une logique personnalisée, des services Azure et des algorithmes Machine Learning directement sur des appareils IoT.
Introduction au T(ype)DD avec F# et web app réactive avec Fable.io par Clément Bouiller et Florent Pellet
La programmation fonctionnelle est de plus en plus mise en avant, mais pourquoi? Qu’y a-t-il de différent avec la POO?
Nous vous proposons de partir d’un kata bien connu pour illustrer les différences (implémentations en C# existantes) et dédiaboliser la soi-disant complexité de la programmation fonctionnelle. Les différences de notation forment le principal obstacle, une fois passé, la programmation fonctionnelle n’est pas plus compliquée. Nous aborderons le langage F# pas à pas en illustrant notamment le système de type (dit de “types algébriques”) pour avoir un design piloté par les types (TypeDD).
En bonus, nous vous montrerons comment créer une web app réactive du kata en F# avec Fable.io (transpiler F# vers JavaScript) et Elmish (oui la référence au langage Elm est fait exprès).
Attention chérie ça va couper par Timothée Barray
Malgré les quelques retours de bâton sur les microservices ces derniers mois, elle reste une architecture qui adresse beaucoup plus de problèmes qu'elle n'en pose pour moi. J'ai eu la chance de travailler sur un nouveau projet full microservice et je vais donc vous proposer une retour d'expérience sur ce que j'en ai vu et sur ce que j'ai pu mettre en place pour éviter d'y perdre mon âme.
Après un bref résumé des principes clés pour réussir dans les microservices nous verrons la principale complexité inhérente à ce découpage : la communication entre tous nos services. C'est précisément ce point que nous allons aborder. Après avoir mis en avant les principaux problèmes que l'ont peut rencontrer nous allons voir les différentes solutions à mettre en place pour augmenter la résilience de nos applications, clé du succès à mon avis dans les microservices.
La solution finale quant à elle fera la part belle à l'event sourcing où nous verrons que ce principe nous rendra beaucoup de services !
La Réalité Mixte encore du Marketing ? ou c'est un truc de Fou ?? par Edwige et Nadia
Avant, je ne comprenais pas la différence entre Réalité Augmentée et Réalité Virtuelle et même ´Mixte-Reality’.
Venez au MUG Lyon et non seulement vous comprendrez que ce n’est pas une subtilité Marketing, et vous comprendrez aussi
- les dessous techniques des Hololens, ce bijou technologique sans fil ;
- ce qui va bientôt arriver grâce à l’intelligence artificielle intégrée aux Hololens !
Performance in the Javascript Era par Benjamin Howarth
Plus que des astuces, des métriques et des clics, du code au cloud et inversement : les performances sur le web vont bien au-delà "oh, mettez simplement votre CSS dans l'entête et votre Javascript dans le pied de page".
Plus souvent abordé comme une réflexion après coup, ce livre abordera certains aspects essentiels de la mesure des performances des sites Web et des applications Web, ainsi que des gains rapides, grâce à des nuances techniques plus subtiles avec HTTP2, la compression et la gestion des en-têtes.
Enfin, mettre tous nos outils ensemble pour surveiller de manière complète et continue vos indicateurs de performance.
Le sujet inclura des échantillons ASP.NET et NodeJS, et les diapositives et le code seront mis à disposition sur Github à l'avance.
Accessibilité : À la découverte des lecteurs d'écran par Sylvie Duchateau et Audrey Maniez, d'Access42, expertes en accessibilité numérique.
Peut-être savez-vous déjà ce que sont les lecteurs d'écran, généralement utilisés par les personnes aveugles et très malvoyantes, mais aussi certaines personnes dyslexiques pour accéder aux contenus numériques. Peut-être même les utilisez-vous pour tester vos sites. Si cela n'est pas le cas, cela permettra de découvrir leur fonctionnement, et où nous pouvons les trouver.
À l'aide de démos, nous pourrons voir les effets de certaines pratiques et comment l'on peut faciliter la vie à des millions de personnes (champs obligatoires non signalés, images sans alternatives, mauvaises alternatives aux images, contrôle de saisie inaccessible).
La session sera interactive. Vous aurez certainement l'occasion d'obtenir des réponses à vos interrogations.
Sensibilisation au Software Craftmanship par Nastasia Saby, SoftwareCraftWomen de ZENIKA.
Le software craftsmanship est un terme qui semble parfois receler plein de mystères et de concepts complexes.
Pourtant il s'agit d'un mouvement qui, à mon sens, a pour ambition de nous aider à créer des produits dont nous soyons fiers.
C'est pourquoi je propose de venir découvrir ce qui se cache derrière ce terme parfois quelque peu énigmatique.
Un peu de sociologie, appliquée à notre métier de développeur par Fabien Lamarque, Développeur indépendant à Bordeaux.
Vous êtes speaker, dev junior, recruteur ou bien Devops. Que vous le vouliez ou non, vous faites partie de la communauté des acteurs du monde informatique. Il est donc important de comprendre les interactions sociales et les théories qui régissent notre groupe.
Découvrons ensemble la sociologie de Pierre Bourdieu et comment elle s'applique à notre corps de métier!
Cette session, animé par Arnaud Bailly (@dr_c0d3), est une introduction au Développement Dirigé par les Types ou TDD (Type-Driven Development, a ne pas confondre avec l'"autre"
TDD).
Au travers d'exemples pratiques en Elm, Haskell et Idris, je montre comment le fait pour un langage de posséder un système de types évolué facilite le travail du développeur et permet d'introduire de "nouvelles"
techniques en sollicitant vraiment le compilateur : développement à "trou", test de propriétés et génération de tests, rendre "impossible" les états "indésirables", utilisation des types pour aider la conception, refactoring
agressif dirigé par le compilateur...
Après son rachat par Microsoft en 2016. Xamarin allait enfin pouvoir bénéficier de la puissance de feu nécessaire à son décollage vers le succès. Mais qu’en est-il vraiment ? Petit retour d’expérience sur un projet multi form factor concret en entreprise.
Session animée par Sylvain Coudert et Romain Berthon Un logiciel n'a d'utilité que s'il répond de manière pertinente aux problématiques métiers qu'il est sensé résoudre.Nous avons tous en tête des applications passant à côté de cette problématique, aussi bien en tant qu’utilisateur-rice que développeur-se.. Pour éviter ce travers, nous avons fait des choix forts afin de rester aussi cohérent que possible avec le métier (Agilité, BDD, DDD, programmation fonctionnelle…). Après bientôt un an, nous commençons à avoir assez de recul sur les bénéfices et inconvénients de nos pratiques pour les partager.
Session organisée avec le JUG et animée par Daniel Petisme (@danielpetisme) Journal d'un dev Java dans un monde .Net Il faut avouer que Microsoft a fait un impressionnant changement de culture ces dernières années, au point de devenir...cool ? Et si le coté obscure n'était pas si obscure finalement ? Durant ce talk je vous ferais vivre la découverte du monde .Net Core aux travers des yeux d’un Java
Microsoft organise la .NET Conf (https://www.dotnetconf.net), évènement virtuel du 23 au 25 septembre 2019. La communauté DevTalks .NET et le MUG Lyon se mobilisent et vous présenteront des nouveautés de .Net Core 3.0, lors de son lancement. Focus sur la partie très technique du Load/Unload libraries dans runtime .Net Core 3.0 Avec un exemple d'usage de .Net Core dans la Smart Factory (Usine Connectée 4.0) pour être au plus proche du Near-Real-Time.
Session animée par Emilien Pecoul: On nous parle depuis longtemps de la fameuse loi de Moore, mais pourquoi cette loi ne semble s’appliquer qu’au Hardware et pas au Software ? S’il existe une ingénierie de l’informatique, alors pourquoi les programmeurs n’arrivent pas à trouver des méthodes scientifiques qui produisent un logiciel robuste, dans un délai et un coup raisonnable ? Qu’est ce qui peut être si compliqué dans le fait de traduire un besoin métier en une série d’instructions non ambiguës compréhensibles par un ordinateur ? Durant cette présentation, j’aimerais introduire quelques hypothèses pour répondre à ces questions. Le but est de challenger nos pratiques ainsi que notre compréhension de ce qu’est un logiciel et un développeur, dans le but de nous améliorer. Je vous préviens : vous aurez plus de questions en repartant qu’en arrivant, mais heureusement l’important c’est le voyage, pas la destination.
Session animée par Jérémie Tisserand et Anthony Rey:
La plupart des développements nécessitent une interface graphique. Dans le monde du web, des outils comme Bootstrap, Material Design ainsi que d'autres bibliothèques graphiques sont couramment utilisés. Pour se démarquer sur le marché, le parcours et le design d'une application web doivent être définis.
En tant que développeur, il arrive de se retrouver dans une situation où il faut tordre les outils graphiques dans tous les sens pour répondre aux attentes graphiques et fonctionnelles.
Dans ce talk, nous vous proposons de :
découvrir ce qu'est une Pattern Library pour vous permettre de développer votre identité graphique,
vous présenter les principes généraux d'un Design System,
situer la Pattern Library dans le Design System,
initialiser une Pattern Library,
donner des outils permettant de construire le contenu de la Pattern Library.
Session animée par Clément Bouillier :
A partir d'une base de code spaghetti ("big ball of mud"), nous commencerons par appliquer quelques pratiques de refactoring et DDD pour nettoyer et clarifier le code, puis faire émerger un modèle métier riche (Rich Domain Model).
Une fois cette première phase terminée, nous pourrons nous poser la question de la persistance (et plus généralement des effets de bord) de ce modèle. Plutôt qu'une persistance basée sur un ORM, nous implémenterons à titre d'exemple un accès aux données basé sur un modèle événementiel permettant d'abstraire réellement le modèle métier des problématiques de couplage aux bases de données sous jascentes. Sans implémenter l'Event Sourcing, nous verrons comment cette approche laisse cette opportunité ouverte, tout en étant bénéfique aussi sans Event Sourcing.