TechDays 2014

Cette année, pas de retour session par session comme les années précédentes. Je ne suis pas sûr que c’était plus utile, et ça ne renvoyait pas un sentiment d’ensemble sur l’évènement.

Introduction

L’évènement, donc, ce sont les Microsoft Tech Days de 2014, ce début de Février à Paris. Le plus grand rassemblement informatique en Europe, comme cela a été rappelé lors des deux plénières auxquelles j’ai assisté (je ne suis resté que les deux premiers jours, le premier étant plutôt orienté autour des développeurs, le second autour de l’IT et le troisième pour les « décideurs » (vous savez, ceux qui ne programment plus Sourire).

Un cru en retrait

Pour être tout à fait honnête, je n’ai pas trouvé que ce soit un grand cru. Pour ceux qui en doutent, être MVP ne signifie pas abandonner tout sens critique envers Microsoft, et le feedback, c’est aussi donner le mauvais feedback quand il y en a. Alors, allons-y tout de suite pour ce qu’il y avait de moins bon…

Evidemment, les précautions d’usage sont à prendre : il y a des centaines de sessions, presque une vingtaine par slot, donc je n’ai vu qu’une infime partie de toutes les interventions. Mon avis est personnel, et il faudra donc que vous le croisiez avec d’autres personnes pour vous faire une idée un peu plus rationnelle. Personnellement, c’est ce que j’ai fait avec plusieurs amis présents, et la plupart m’ont conforté dans mes appréciations.

Toutes les années ne peuvent pas être à la conjonction de sorties majeures de produits comme l’a été 2013, par exemple. Il est donc tout à fait normal que les plénières ne laissent pas les gens estomaqués comme certaines autres fois. Normal aussi que les énormes balles (cf. lien) ne soient pas lâchées sur le public ou qu’il n’y ait pas de groupe de rock pour nous accueillir à chaque fois… Ça rend plus appréciable quand cela arrive. Il n’empêche que, comme Eric Vernié, j’ai regretté qu’il n’y ait pas l’enthousiasme d’Eric Mittelette. Nous avons eu le gratin de Microsoft France sur scène pour nous, mais franchement… ils ne m’ont pas fait rêver. La démo la plus top était sur PowerQuery, et pour ce qui était des objets connectés, c’était juste faire faire bip à un badge. On est loin du pilotage d’un robot Lego NXT depuis Robotics Studio, ou d’une démo d’injection SQL en live par Pascal Bellaud !

Je ne m’appesantirai pas sur les problèmes réseaux récurrents qui ont impacté une démo sur deux. Mention tout de même à Stéphanie Hertrich, apparemment la seule à avoir pris ses précautions. Si j’étais méchant, je me permettrai de signaler à Microsoft que, parmi les sponsors de Tech Days, il doit bien se trouver quelques bons spécialistes du réseau capables de régler ça…

Mais bon, tout ceci n’est pas très gênant. On ne peut pas avoir un grand cru toutes les années… Par contre, il y a deux points que, personnellement, j’ai trouvés vraiment négatifs.

Dehors, les charretiers !

En tout premier, le niveau d’expression orale des orateurs est parfois indigent, au point de faire oublier le contenu quand il faut le piocher au détour des hésitations, répétitions, voire grossièretés. Oui, je sais, on est entre techniciens, mais ce n’est pas une raison pour me parler comme si on était au bar entre potes. J’avais même l’impression que certains intervenants extérieurs en rajoutaient, s’imaginant peut-être développer ainsi une connivence avec le public. Leurs accompagnateurs Microsoft faisaient l’effort de s’exprimer correctement, et j’en ai même vu un reprendre l’un des intervenants (merci, David Rousset), mais l’impression était déplorable.

Peut-être que c’est un moyen pour certains de montrer à quel point ils sont cools, détachés du code, tellement bons qu’ils peuvent se permettre de s’exprimer comme des charretiers, leur supériorité technique les plaçant loin au-dessus de la foule. Pour m’être entretenu avec plusieurs d’entre eux en fin de sessions, j’ai souvent observé l’inverse. Les plus suffisants sont en règle générale les moins bons. Une question un peu trop pointue, et la réponse est en générale évasive, voire évacuée comme triviale. Dans le bon sens, j’ai également rencontré des intervenants brillants, et qui n’étaient animés que par le désir de faire passer l’information. En général, ils avaient répété maintes fois leur présentation, qui était parfaitement fluide. Ceux-là sont les premiers à admettre qu’ils n’ont pas toutes les réponses. De mon point de vue, cela ne fait que les grandir. Merci donc aux orateurs, nombreux, qui ont fait cet effort.

Pour les autres… Microsoft, c’est à vous de trier plus en amont. Avez-vous vraiment validé que tous les intervenants extérieurs avaient déjà réalisé des conférences ? Leur avez-vous demandé une vidéo, ou au moins un compte-rendu de ces interventions ? Leur avez-vous envoyé quelques recommandations sur l’expression ? Sur ce point, je peux apporter une réponse, étant moi-même conférencier cette année encore, et celle-ci est négative.

Ce sont les Tech Days, pas une petite conférence de province avec 100 personnes et 10 intervenants ! J’imagine à quel point c’est un énorme travail de préparer tout ça, mais par pitié, triez mieux, quitte à en faire moins. Nous sommes nombreux qui préférerions que les Tech Days restent la meilleure conférence d’Europe plutôt que la plus grande.

Le niveau technique

Le deuxième point négatif (et pour le coup, c’est un show-stopper) est le niveau technique parfois complètement à côté de la plaque. La plaque étant, au choix, le titre, la description de la session, ou même le niveau de l’assistance.

Dans le premier cas, on pourrait dire que le titre n’est qu’une accroche et que seule la description fait foi. Fair enough… Mais pourquoi mettre « urbanisation » dans un titre de session alors qu’à aucun moment on n’y parle d’intégration avec d’autres produits ? Pourquoi parler de « mythes » dans le titre pour n’en démonter absolument aucun pendant la conférence ?

Pour ce qui est des descriptions, outre qu’elles n’étaient parfois pas très descriptives du contenu, elles donnaient dans certains cas des informations erronées sur le niveau visé. Quand on parle de bonnes pratiques ou de retour d’expérience, l’auditoire ne s’attend pas à ce qu’on lui explique la technologie. Il connait déjà, mais veut en savoir plus. Il s’est déjà renseigné en théorie, mais veut savoir comment ça se passe en vrai. Il veut savoir les écueils sur lesquels d’autres ont buté pendant les mois de mise en production, de façon à gagner du temps.

J’imagine bien la solitude de l’intervenant qui, sur sa question sur le nombre de personnes à avoir eu la curiosité de décompresser un package *** (j’anonymise), voit autant de mains se lever dans l’assistance. Mais franchement, comment pouvait-il s’imaginer avoir une salle de débutants aux Tech Days ? Qui plus est le premier jour, dédié aux développeurs ? Ca fait des années que nous utilisons tous plus ou moins cette technologie, nous venons là pour en savoir plus, savoir comment ceux qui en connaissent les rouages la mettent en pratique, quelles sont les astuces de pro, quels problèmes de performance se posent, quelles sont les bonnes pratiques à retenir, les bonnes politiques de nommage, etc. Alors nous faire un cours de programmation qui n’a rien à voir avec le sujet annoncé pendant 30 minutes, et effleurer le sujet principal pendant 15 minutes, désolé, mais ce n’est pas ça du tout qu’on attend.

Qu’on s’entende bien : la session a certainement été intéressante pour les quelques personnes n’ayant jamais touché à Visual Studio. Mais c’est quoi, leur nombre sur l’amphi complet ? 5% ?

Bon, j’arrête

Oui, je sais que j’ai une certaine propension à m’étendre sur les sujets qui m’ont déplus. Mais je n’en suis pas à imaginer sécher les Tech Days. On en ressort toujours avec plein d’idées – qu’on n’a pas toujours le temps de mettre en pratique sur l’année qui reste, mais c’est un autre problème Sourire.

Surtout, il y a des moments de pur bonheur, comme par exemple « C# Async, un an après » où Mitsuru Furuta revient parmi les Microsoftiens pour nous montrer les rouages internes des mécanismes asynchrones de .NET avec une clarté extraordinaire. Incroyable, cette impression de comprendre le pourquoi du comment, alors que deux minutes après la session, on ne serait pas capable de reproduire le même code sans la doc… C’est le signe qu’on a compris quelque chose de profond, pas juste appris une nouvelle méthode ou découvert une classe inconnue auparavant.

Et puis il y a le changement de rythme sur les 45 minutes. Comme pour tout changement vers l’inconnu, la première réaction est de la méfiance, mais il faut bien reconnaitre que ça rend les sessions beaucoup plus rythmées. Impossible de trop s’appesantir sur un sujet, au risque de perdre l’auditoire. Et comme les responsables de salles veillent à ce que le timeboxing soit parfaitement respecté, ça donne un ensemble bien organisé, pas trop de queues entre les sessions, et une journée qui finalement passe vite, peut-être moins fatigante qu’avec des sessions d’une heure (là, c’est une impression 100% subjective et personnelle – c’est peut-être juste que l’hôtel était plus propice au repos).

Pourtant, j’en ai entendus, des gens qui pestaient contre ces 45 minutes, certains même pendant la conférence… Mais au final, c’est un point positif de plus.

Passons à la technique

Pour continuer sur le positif, je vais quand même faire un compte-rendu un peu plus précis de ce que j’ai appris sur ces deux jours, en commençant pas des informations qui ne sont pas limitées à une session. J’entrerai dans le détail de chaque session ensuite.

De manière générale, l’édition m’a parue assez orientée sur la Business Intelligence et les objets connectés. Les concepts de Smart City ont été abordés en plénière, et la part belle a été faite à PowerPivot, Power Query et Power View, ainsi que le petit dernier de la ligne Power BI, à savoir Power Q&A.

Plénière Jour 1

Quelques points marquants de la première plénière (à part l’absence regrettée d’Éric Mittelette)…

Les projets Spark, Siena et AppStudio permettent à des non-développeurs de participer aux non-programmeurs au processus de développement. J’insiste bien sur cette notion de « participation », car les gens du marketing ont vite fait de sauter à la conclusion que Madame Michu va monter de A à Z son propre jeu vidéo demain matin, et faire sauter la banque des téléchargements en un mois, alors que les démonstrations montrent clairement qu’il s’agit simplement d’adaptation sur des bases existantes, mais que les modifications ne se font pas non plus sans un background un peu technique. En bref, ce n’est pas parce qu’on remplace un while dans du code par une icône avec une flèche tournante qu’il ne faut pas avoir compris le concept de boucle.

Toujours dans le domaine des jeux, Microsoft intègre de plus en plus Unity 3D, qui permet de développer des jeux en .NET, WebGL apparaît dans IE 11, et les Microsoftee David Catuhe et David Rousset ont encore frappé fort avec un Framework nommé « BabylonJS » pour faciliter l’exploitation de cette fonctionnalité dans des jeux. On se demande où ils trouvent le temps…

Le TPM inclus dans les tablettes va permettre d’utiliser la possession physique de celles-ci comme un facteur d’authentification (comme si une tablette remplaçait une smartcard).

Un truc tout bête, mais bien dans l’approche traditionnelle de Microsoft de rendre le boulot des développeurs le plus simple possible : la Windows Runtime est disponible en faisant un simple using Windows.* dans son code .NET. Par exemple, using Windows.Media pour accéder à l’API pour prendre une photo. Un développeur un peu curieux aura intérêt à parcourir les différentes classes, de façon à savoir ce qui s’y trouve. Même si on n’a pas de besoins immédiats pour ce genre de fonctionnalités, ça donne des idées.

Dans le même mouvement, la plénière comme d’autres sessions insiste sur les Bing APIs pour la cartographie, la recherche, etc. A ma connaissance, ça existait déjà, mais il a dû y avoir des grosses évolutions pour que le sujet revienne sur le tapis.

Une classe à regarder pour ceux qui s’intéressent au BAM : ClientAnalyticsChannel.

C# Async, un an après

J’en ai parlé un peu plus haut, sur les points les plus positifs de mes retours. Cette session, superbement animée par Mitsuru Furuta (tu as vu, Mitsu, je n’ai pas écrit « Futura » ?) est la meilleure que j’ai suivie. Ça ne ferait pas hommage au contenu de prétendre le résumer dans un compte-rendu, donc je vous renvoie à la vidéo sur le site des Tech Days (elles arrivent en général quelques bonnes semaines après la conférence). De toute façon, il faut voir la progression de code pour bien comprendre ce qui se passe derrière la gestion de l’asynchronisme.

Je me contente donc de remonter quelques informations parcellaires. Par exemple, le fait que tout thread a le droit d’écrire dans la Console.

Ou bien que, de la même façon que la construction using a besoin d’un IDisposable, le mot clé await nécessite un objet qui contienne une méthode GetAwaiter (mais il n’y a pas d’interface pour contractualiser ceci). L’objet renvoyé par cette méthode doit lui-même implémenter INotifyCompletion. Mitsu utilise les méthodes d’extension sur un type simple pour réécrire une gestion de Task minimaliste.

Il nous parle ensuite du CallContext. J’avoue que je ne suis pas très à l’aise avec la notion de contexte dans le multithreading en général, mais il faut savoir que par défaut, lorsqu’on sort d’un thread, on n’a pas de garantie du thread sur lequel on va revenir. La classe Task s’occupe justement de rendre ceci plus facile en utilisant les contextes de synchronisation, bien qu’il soit possible de débrayer ce comportement en utilisant la surcharge ConfigureAwait(false).

ThreadStatic est incompatible avec le thread pooling, et il est donc recommandé d’utilisation CallContext.SetLogicalData si on suit faire suivre une donnée le long d’un contexte d’utilisation. Là encore, je livre l’info un peu brute par manque de compréhension complète. Il faudra quelques essais avec le code pour bien comprendre. Un futur article de blog ?

Pour revenir à la Console, Mitsuru explique que justement, le SynchronizationContext.Current est à null dans ce cas, et il montre ensuite une technique pour créer son propre contexte de synchronisation en héritant SynchronizationContext. Il y a une méchante bidouille qui consiste à créer une feuille Windows de taille nulle, mais apparemment c’est le moyen le plus « standard » de récupérer une pompe à message Windows. C’est le ShowDialog qui fait la boucle d’attente des messages.

Enfin, Mitsuru montre une méthode simple pour chaîner des tâches en séquentiel (typiquement, pour les I/O, ça ne sert à rien de réaliser en parallèle, vu que c’est le disque qui est le goulet d’étranglement). Le code sera sur son blog. Pour ceux qui, comme moi, ne savait pas trop quelle était la bonne méthode pour, sur un cas hypothétique de boucle while d’attente, économiser des cycles d’horloge sans recourir à un arbitraire Thread.Sleep(n ms), une bonne réponse est d’utiliser les ManualResetEvent. Un Reset puis un WaitOne dans la fonction, et un Set pour déclencher. Là encore, il me faudra voir du code et tester pour bien piger le fonctionnement, donc je préfère juste citer la classe et ne pas me risquer à des explications douteuses.

NDepend 5 en action

Intéressant d’avoir le point de vue de Patrick Smacchia, le créateur de cet excellent logiciel, sur ses utilisations possibles. Mais plus encore, c’est un bon exemple du niveau de qualité atteint lorsqu’on fait l’effort de bien tester son produit. Patrick a montré l’évolution impressionnante des tests unitaires de NDepend, et son dog fooding, NDepend étant suivi et « noté » par lui-même. Jusqu’à 80% de couverture par les tests, et une approche très intéressante pour les tests d’intégration : peu de tests, mais sur des scénarios très complets, et surtout du code bourré d’assertions pour traquer tous les problèmes possibles avant qu’ils éclatent en bug. C’est du Code Contract, mais light.

Patrick met sur le même plan les Code Contract et les tests unitaires, dans le sens où chaque technique fait des assertions remontées lors de l’exécution, et qu’il faut corriger. Très pertinent, je trouve, et pour trouver de telles correspondances, il faut bien comprendre en profondeur ce qu’on fait.

Une autre preuve de cette maitrise conceptuelle est la réflexion sur la couverture de code. Pour Patrick, c’est, encore plus qu’une marque de qualité de l’existant, une assurance de pouvoir faire rapidement évoluer le logiciel. Du coup, le ROI n’est pas réellement sur le fait que le support est moins sollicité, mais plutôt sur le fait que NDepend pourra rapidement donner de la valeur ajoutée supplémentaire à ses clients. Ceci est corroboré par l’évolution extrêmement rapide du produit qui en quelques années a mis en place un nombre extraordinaire de fonctionnalités intéressantes.

J’ai également compris dans cette session qu’en plus d’utiliser NDepend pour faire des audits de qualité de code, je pouvais m’en servir pour faire de l’analyse rapide d’une base de code legacy. Bon à savoir, dans des contextes de réécriture, pour savoir ce qui doit être réutilisé et ce qui doit être refondu.

La data n’a pas besoin d’être “big” pour générer de la valeur

Approche intéressante, avec une universitaire présente qui donnera une vraie valeur théorique à la session. Vu que ça fait plusieurs années que j’évangélise mes clients et mes étudiants sur des approches light de la BI, je ne peux pas être plus d’accord avec le titre.

La cartographie des méthodes liées à l’analyse de données par Swami Chandrasekaran donne une idée de la difficulté du choix, avant même de commencer la mise en œuvre.

Pour résumer rapidement, les choix expliqués par cette session étaient sur le remplacement d’une approche Big Data par le mélange de techniques suivantes :

  • Statistiques pour déterminer les critères
  • Algorithmes génétiques pour sélectionner les critères les plus pertinents
  • Réseaux neuronaux pour calculer la corrélation entre les critères et les résultats analysés

En fond, le but était de trouver l’influence de critères de fabrication d’un produit sur l’opinion générale des consommateurs dudit produit après sa phase de fabrication.

Bref, session intéressante. On aurait pu remplacer la désormais traditionnelle explication des 3+1 V de Big Data par une rapide explication des technos utilisées pour coder les réseaux neuronaux et les algos génétiques (Framework ? Open Source ?) ainsi que l’interface WPF très sympa, mais c’est plus un souhait qu’un reproche. Au final, c’est une bonne démonstration qu’effectivement, il n’est pas utile de faire du Big Data pour tirer de l’information intéressante des données. L’approche reste sophistiquée, mais évite le recours à des ressources phénoménales, tout en atteignant des résultats aussi probants, voire plus.

Tour d’horizon de Node.js

Session prise d’assaut, impossible d’entrer malgré que ce soit dans un amphi et que je sois arrivé un quart d’heure à l’avance. Dommage… A suivre sur le site quand les vidéos seront sorties.

Cloud Azure – Service de données et bonnes pratiques

Du coup, je me rabats sur cette session, censée apporter des bonnes pratiques. En fait, il y en aura relativement peu. La session passe pas mal de temps à expliquer les différences entre les tables, les blobs, les queues, SQL Azure et SQL Server sur IaaS Azure, ce qui est très bien pour les débutants. Je résume, donc :

  • Les blobs sont orientés fichiers et supportent les métadonnées. Ils sont faits pour stocker les assets, les images virtuelles, les sauvegardes, etc.
  • Les tables sont des dépôts typés NoSQL, orientés entités, et schemaless.
  • Les queues sont des files de messages, fonctionnent en FIFO, sont limitées à 64 Ko par message et 7 jours de TTL max.
  • SQL Azure est une base de données en SaaS, coûte moins cher qu’un SQL Serveur sur la même machine (surtout qu’il n’y a pas à la gérer), mais a des performances non prédictibles – sauf en mode Premium.
  • SQL Server sur IaaS consiste à gérer son propre SQL Server sur une machine virtuelle Azure. La bonne pratique : tous les disques durs sur le même compte de stockage, mais dans des drives différents (2 par core).

Dataviz & BigData : Mythes & réalités

Là encore, intervention d’un universitaire (Jean-Daniel Fekete, INRIA), ce qui est une bonne idée car, même si le plan n’était pas très carré, le contenu était extrêmement intéressant.

Pour rappel, Data < Information < Connaissance < Sagesse.

Après un rappel sur le fait que la vision soit le sens avec la plus grande bande passante, explication du principe de congruence, à savoir la traduction directe de la donnée en représentation visuelle (par exemple, hauteur d’une colonne dans un graphique reliée à une taille de population).

Démo super intéressante sur l’affichage de données sur plus de 3 dimensions, en utilisant le mouvement d’un cube pour faire ressentir la profondeur, dont l’axe change en fonction de la dimension à représenter. Difficile à décrire avec des mots, mais un graphique en 2D montre deux dimensions, et lorsqu’on en choisit une troisième, elle se place en profondeur (donc, non visible dans un premier temps), puis le cube tourne et remplace une des deux autres dimensions. La sélection de groupes rémanente permet de suivre les entités plus facilement. Pour avoir réfléchi souvent à cette problématique sans trouver la moindre idée de comment faire, je peux dire que je suis soufflé. Reste à mettre en œuvre Sourire.

visualcomplexity.com cité.

Une excellente astuce, pleine de bon sens : sur un graphique de relations d’une personne, inutile de mettre tous les liens qui partent directement d’elle (et même inutile de placer cette personne), vu que le contexte fait qu’il y en aura obligatoirement autant que d’autres personnes.

Pour ce qui est de la Dataviz pour Big Data, la réponse à la question de la session est qu’il faut passer par une étape d’analyse, car les Dataviz savent afficher des millions de données, mais pas des milliards. Une étape d’analyse est nécessaire. A mettre en lien avec la session sur le Big Data pas toujours utile pour amener de la valeur…

L’envers du décor : le Modern-ALM dans – et par – les équipes produits Microsoft

Bon, je ne vais pas faire de compte-rendu sur celle-là, vu que je la présentais. Je laisserai faire les personnes présentes, en les remerciant pour leur intérêt. Un grand merci à Jean-Marc Prieur d’avoir joué le jeu de l’interactivité ! Et je garde en tête le Remote Office, pour transformer un Windows Phone en pointeuse PowerPoint Sourire.

C’était une expérience très intéressante. J’ai appris énormément sur les bonnes pratiques Lean, ne serait-ce qu’en préparant cette session. Microsoft est vraiment un modèle pour cela. J’avais déjà compris qu’ils étaient en avance en traduisant Hard Code, d’Eric Brechner, mais en voyant leurs méthodes de travail et le niveau atteint par les outils internes… on se dit qu’il nous reste du boulot !

Plénière Jour 2

Présentation d’un monde changeant : Cloud, objets connectés, urbanisation galopante. Dans tous les sens du terme, d’ailleurs, vu le projet Smart Cities.

Démo impressionnante sur l’amélioration de performance grâce à un SQL In Memory. Je reste curieux de savoir si ça peut battre une approche de type prévalence objet. Clairement, pas en termes de vitesse de développement objet, mais en termes de performance pure, ça vaudrait le coup de tester. Là encore, peut-être un prochain billet de blog, si je me plonge dans SQL Server 2014. Mais j’ai déjà du boulot avec PowerBI, et tout le reste…

Information importante : fin du support de Windows 2003 R2 en Juillet 2005. On parle beaucoup de XP pour Avril 2014, mais le même sort pend au nez de ceux qui utilisent encore du 2003. A vos migrations !

Content de voir que Power Query, techno que j’adore, est montrée en plénière. Un meilleur choix de donnée, avec un jeu bien pourri qu’on purifie en quelques actions, aurait été encore plus édifiant. Power Q&A est également impressionnant, mais j’avoue ne pas être convaincu par le “langage naturel”. Il faut quand même respecter une syntaxe donnée. Vus les commentaires entendus dans les couloirs, je n’étais pas le seul. Bref, à tester pour se faire une idée réelle.

Créer des jeux pour Windows Phone et Windows Store avec Unity

Dur de faire une retranscription du contenu, vu que c’était de la pure démo de la conception d’un jeu en une vingtaine de minutes, avec Unity 3D. Les conférenciers connaissaient bien leur sujet. Un peu trop de remarques toutefois sur leur business et un niveau d’éloquence laissant bien trop à désirer à mon goût. Mais il n’est pas impossible que je sois juste un vieux c…

Arctic Unity Game Kit : tutoriaux recommandés.

unityvs.com pour voir le plugin Visual Studio pour faire du Unity 3D. Sinon, c’est MonoDevelop, vu que le core est basé sur Mono. Intéressant pour faire du débogage.

Ayant une connaissance quasi-nulle du développement de jeu, je dois dire que ce qui paraissait extraordinairement difficile il y a quelques années est en train de devenir à portée d’un bon développeur.

Portable Class Libray & Nuget : le combo gagnant

Le niveau intermédiaire ne reflétait pas le contenu, très introductif. Très bien pour des débutants, mais pas niveau 200.

L’urbanisation du collaboratif pour aller vers un portail intranet unifié, l’enjeu de demain

Idée maitresse : l’unification est-elle possible entre un annuaire, une GED collaborative, des réseaux sociaux et des outils de communication unifiée. Mais la session part plutôt sur des retours d’expérience sur quatre cas particuliers, et ne traite finalement pas d’intégration de ces services.

La comparaison d’un humain avec un “hub de communication” me laisse personnellement dubitatif…

Conversations < livrables < modèles < régles (capitalisation + quand volume –)

“L’entreprise connectée” de Sogeti : e-book gratuit. A voir.

La démystification du Big Data

Bon, une session qui part bien. Quand il y a Benjamin Guinebertière, ça va être du sérieux. C’est le cas, même si je déplore que la session soit surtout une présentation de pratiques Big Data. Je ne vois pas de remise en question ou de démystification.

Au contraire, je vois même passer beaucoup de biais habituels du Big Data. Sur une moisson de conversations utilisées pour réaliser une analyse Big Data, le tweet “J’irais jouer à la PS4” est noté comme avis positif. Ou bien, sur une analyse sémantique, les marqueurs de négation ne sont même pas pris en compte (du coup, l’argument de l’orateur expliquant que le fait de ne pas détecter les sens complexes comme le sarcasme en prend un sérieux coup). Cette première démo se fait à une vitesse démentielle, en cliquant partout à fond et en montrant des tas de scripts. Pourquoi ne pas prendre un ou deux sujets particulièrement importants et les expliquer ?

WordCount

La seconde démo est l’inverse de la première : beaucoup de pub pour la marque, très peu de technique et au contraire, une approche de type “magique”. Je ne pense pas que le public des Tech Days soit venu chercher ce genre de discours… Et non, il n’y a pas 36 000 cantons en France. Il y a 36 000 communes.

La description de l’architecture complète était intéressante, mais un poil incomplète. Tous les flux n’ayant pas été expliqués, on ne comprenait pas la consistance du tout.

Architecture

Shapefile et Shapely permettent de faire du mapping coordonnées / communes en Python.

Un point intéressant démontré est la limite atteinte sur la multiplication des nodes pour améliorer la performance. La parallélisation s’arrêtait pour des raisons de composition de données (le nombre de cores atteignait la granularité des ensembles de données). Très bien d’avoir poussé le test, et de l’avoir mis en lien avec le coût.

Le reporting BI dans tous ses états / quel outil pour quel usage

Astuce : la touche CTRL permet de déplacer la sélection dans une chronologie (les segments adaptés au temps dans un Tableau Croisé Dynamique d’Excel).

Powershell et les techniques de remoting

Bon, ben voilà une vraie session de niveau 300 Sourire.

Powershell 2.0 : computername en paramètre dans 35 cmdlets

Powershell 3.0 : Get-CIMInstance, sessions déconnectées et robustes, etc.

Nouveau paradigme : WinRM avec 2 ports fixes plutôt que l’approche DCOM/RPC ancienne qui posait des problèmes aux pare-feu. WinRM est basé sur WS-Management, et donc sur SOAP.

Je passe sur les méthodes pour activer, démontrées de manière très complète, mais sujet trop technique pour ce compte-rendu général / d’astuces / de compréhension.

Deux modèles :

  • Fan out : 1 to N (Invoke-Command, c’est-à-dire qu’on envoie à N machines une même commande et qu’on agrège les résultats).
  • Interactif : 1 to 1 (ssh-style, à savoir qu’on pilote une machine à distance).

Bonne pratique : en mode Fan out, bien penser à utiliser Select-Object pour ne sérialiser que les attributs dont on a besoin en retour, sinon avec quelques centaines d’ordinateurs pilotés, ça peut faire mal à la bande passante.

La paramètre AsJob de InvokeCommand permet de lancer des traitements en asynchrone. On fait ensuite un Get-Job pour voir si c’est terminé, et un Receive-Job pour récupérer les résultats.

New-PSSession crée un canal de communication fixe.

Intéressant : le remoting implicit permet d’associer des commandes à une session particulière sur laquelle on a importé des modules.

Powershell 1.0 et 2.0 : WMI / Powershell 3.0 et 4.0 : CIM.

Et en rentrant…

Une pensée pour les gens qui, en Bretagne ou ailleurs, ont les pieds dans l’eau. Un passage en TGV montre à quel point les dégâts sont importants.

Inondations

About JP Gouigoux

Jean-Philippe Gouigoux est Architecte Logiciel, MVP Connected Systems Developer. Il intervient régulièrement à l'Université de Bretagne Sud ainsi qu'à l'Agile Tour. Plus de détails sur la page "Curriculum Vitae" de ce blog.
This entry was posted in Retours and tagged . Bookmark the permalink.

8 Responses to TechDays 2014

  1. binardfr says:

    Un bien bon retour de techdays ! Je sais déjà par où je vais devoir commencer lorsque les vidéos seront dispo.

  2. acr says:

    Merci pour le retour sur les TechDays 2014. Je n’ai pas pu assister à cette édition mais il est clair qu’il s’agit d’un moment important dans l’année. Non pas que les sessions soient forcément toutes intéressantes ou géniales mais l’ambiance générale, les retours avec d’autres développeurs, les affluences dans les salles, le retour du public permettent de conforter (ou d’infirmer) son appréciation personnelle par rapport à certaines thématiques. L’enthousiasme, le ton employé par les speakers Microsoft ou indépendants sont un bon indicateur sur les sujets à travailler ou au contraire à délaisser. Et puis la variété des différentes sessions permettent vraiment de voir des choses diverses et nouvelles.

    • JP Gouigoux says:

      Vous citez à raison l’enthousiasme. Je me faisais récemment la remarque que c’était peut-être même le meilleur critère de la qualité d’un orateur : la passion qu’il a à faire partager son sujet de prédilection.

  3. Mitsu says:

    Thanks pour le retour…et l’orthographe ! 😉

  4. Pascal says:

    Je suis assez d’accord avec toi sur l’impression générale des techdays. Notamment sur le niveau d’expression orale de certains orateurs.
    J’ajoute que plus les années passent, plus les sessions techniques sont regroupées et il devient difficile d’assister à tout ce qu’on voudrait.
    J’ai assisté également à la session de Mitsu, par contre je n’ai pas tout suivi…
    J’ai beaucoup apprécié, comme d’habitude, la session que tu as présenté avec Jean Marc Prieur. On a eu une bonne vision des méthodes de travail des équipes de développement de Visual Studio.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha Captcha Reload