Mon nouveau livre sur PowerPivot 2013

Il est enfin arrivé Sourire Après une longue gestation, un accouchement pas trop difficile et une reconnaissance émue par son papa (eh oui, pour une fois, c’est la maman qui avait le rôle le plus facile…), voici mon nouveau bouquin sur PowerPivot :

image

Il s’agit d’une grosse réécriture du précédent qui portait sur PowerPivot 2010. Au début, il s’agissait surtout de remettre à jour, mais les nouveaux sujets sont tels que ça s’est fini par beaucoup de changement et surtout de nouveautés : Power Query, Power View, rapports interactifs, cartographies, etc.

C’est en écrivant ce bouquin que je me suis rendu compte à quel point c’était incroyable d’avoir gratuitement un outil de manipulation des données volumineuses aussi complet. Personnellement, j’en viens à me demander pourquoi des gens achètent QlikView ou Tableau, vu que PowerPivot fait tout pareil, voire mieux pour la gestion des relations et pour le chargement des données.

La présentation détaillée et le lien pour acheter sont sur la page dédiée du site ENI.

Posted in Uncategorized | Tagged | Leave a comment

Toujours au plus mauvais moment…

En pleine relecture de mon dernier livre (sur PowerPivot pour Excel 2013), deux jours avant la livraison… boum ! PowerPivot ne fonctionne plus Triste

Erreur : “Invalid Pointer Array”, suivie d’un autre dialogue “PowerPivot ne peut pas charger le modèle de données”.

Pensant que ça vient de l’installation de la nouvelle version 2.10 de PowerQuery que je venais juste de réaliser, je la désactive, puis la désinstalle, puis désactive et réactive le module PowerPivot, puis répare Office, puis déinstalle et réinstalle Excel. Après moultes redémarrages et perte d’une heure, puis recherche sur internet (avec la difficulté de d’abord trouver la bonne traduction anglaise du message en français), il se trouve que c’est une KB d’Octobre 2013, la 2825655, qui met le bazar.

Pourquoi n’ai-je pas eu le problème avant ? Mystère ? La KB était-elle tirée par PowerQuery 2.10 ? Je n’en saurai certainement rien non plus.

La solution : installer le fix KB 2837666, disponible sur http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2837666

D’après ce lien, il semblerait que le problème ait été poussé dans l’Update Windows récent… pile au pire moment !

Posted in Retours | Tagged | 4 Comments

Séminaire ADN Ouest

Très intéressant séminaire ce jour, organisé par ADN Ouest. C’est toujours très intéressant d’avoir des retours d’universitaires, qui nous donne une profondeur de vision qui nous manque parfois, à nous autres industriels qui sommes le nez dans le guidon.

image

Jean Bézivin nous a fait un retour sur 50 ans d’informatique et une prospective sur la même période ! Je me rappelle avoir utilisé l’expression “boule de cristal” pour parler de ma roadmap d’architecture à plus de 2-3 ans, nous ne sommes clairement pas sur les mêmes échelles de temps Sourire. Ce qui est rassurant, c’est de voir que les fondamentaux de l’évolution du métier sont vus par lui de la même manière que ce qu’on constate dans la pratique, à savoir la spécialisation du métier de développeur. Il y aura effectivement de plus en plus de gens qui ont une petite compétence en programmation, mais les développeurs “core” seront moins nombreux et de plus en plus experts.

Philippe Desfrays parle de modélisation en général, et établit la différence entre l’approche UML qui était centralisatrice et les approches de domaines qu’il présente comme l’avenir de la modélisation : BPMN pour le métier, SysML, etc. Pour faire un parallèle avec ce dont je parlais juste avant sur les capacités des développeurs, BPMN me paraît avoir le potentiel d’être un nouvel Excel dans le sens où il peut autoriser des non-développeurs à avoir une activité de développement, sans programmation. Idem pour les BRMS, à condition qu’il s’accompagne d’éditeurs graphiques sympas. Les approches services sont particulièrement indiquées dans ce contexte : le contrat permet de sécuriser l’implémentation, et d’exposer une interface contractuelle aisément utilisable par des spécialistes du métier et non de la technique. C’est ce qui est à l’oeuvre dans Scratch : les actions sont des pièces de puzzle, montrant bien la présence d’un contrat (les formes doivent être correspondantes pour s’imbriquer).

Pour ce qui est des normes et de la modélisation métier, je n’ai pas une vision aussi pessimiste que Philippe Desfrays : XBRL pour les états financiers des banques, ACORD pour les assurances, OTA pour les voyagistes… il y a de nombreuses normes métier utilisables, et il n’est pas utile de réinventer la roue. De plus, de nombreuses entreprises commencent à avoir le réflexe de publier leurs contrats dans des forges pour qu’ils deviennent des standards d’usage (à MGDIS, où je travaille, nous avons commencé). Et pour ce qui est de courir dans les couloirs des banques pour trouver quelles applications sont impactées par une modification règlementaire, il y a les approches de type BCM qui aident bien. J’ai failli répondre positivement lorsque Philippe Desfrays a demandé qui avait une vision centralisée de ses modèles métier, mais nous n’avons pas encore fini notre cartographie, donc restons modeste…

En fait, le vrai problème sur les normes est la maturité. Avec BPMN 2.0, on en enfin quelque chose de propre (après des années de combat entre BPMN 1, WSFL, BPEL4WS, WS-BPEL, WSCL, etc.) et on peut ouvrir un diagramme dans un éditeur après l’avoir créé dans un autre, faire une modification et revenir au premier sans problème. Ce n’est pas la même chose avec XMI où je n’ai jamais réussi à ouvrir un schéma d’un éditeur dans un autre…

Personnellement, je pense que la modélisation au niveau UML était trop haute, et pas agile : elle s’attelait à modéliser la partie logicielle, alors que le bon niveau de conceptualisation est celui du métier du client. De cette manière, on est toujours sûr d’être au plus près de la valeur ajoutée par l’informatique, et d’éviter le mismatch business / software. Ensuite, une fois que la conceptualisation et l’orchestration ont été réalisées, on peut passer à de la modélisation logicielle pour préparer l’implémentation d’un service. Au moins, on travaille sur un domaine restreint, on ne fait pas du Big Design Up Front, et on a moins de risque sur l’approche modèle ne colle pas.

Laurence Duchien expliquait que des méthodes voyaient le jour pour sécuriser les appels des services dans des environnements très hétérogènes. Intéressant de voir que l’académie avance sur des approches de sécurisation côté client. Personnellement, j’ai tendance à dire que, s’il y a risque de défaillance du service, il faut mettre à jour les contraintes non fonctionnelles du contrat de service pour sécuriser le SLA, puis seulement jouer sur le client, mais c’était peut-être l’hypothèse faite par Laurence Duchien et que je n’ai pas nécessairement saisie. Des approches comme les providers ADO.NET pour SQL Azure incorporent d’ores-et-déjà des méthodes de rejeu automatique des commandes annulées pour cause de saute réseau par exemple. Dans les approches Cloud et surtout avec des services de plus en plus distribués, il va y avoir clairement des besoins de plus en plus forts pour ce genre d’APIs à haute résilience.

L’après-midi, toujours un plaisir d’entendre parler d’éco-conception devant un parterre de décideurs. Olivier Philippot s’est montré persuasif et j’espère que certains DSI sont repartis avec l’idée de mettre en œuvre les principes exposés. De simples modifications de code de bon sens peuvent amener à des économies énormes, ça serait dommage de s’en priver.

2014-03-27 14.58.04

J’ai eu le plaisir de présenter en fin de journée une conférence sur l’urbanisation, en apportant en particulier un retour d’expérience sur la mise en place d’une architecture SOA. Difficile de trouver le bon angle quand on intervient devant un public inconnu (je n’avais jamais fait de conférence à ADN Ouest auparavant), mais heureusement les conférences précédentes m’ont aidé à ajuster le discours.

Au final, des rencontres très intéressantes, des questions passionnantes, des orateurs à l’avenant, et en plus un lieu magnifique (le Château de la Poterie, avec même une roulotte – je suis spécialiste Sourire). Bref, une super journée !

2014-03-27 08.26.26

Posted in Uncategorized | Leave a comment

Tech Days 2014 : les sessions sont en ligne

Oui, je sais, j’arrive sérieusement après la bataille, mais j’ai pas mal de boulot en ce moment, entre mon activité professionnelle et un nouveau bouquin en fin de traduction. Du coup, le blog est un peu en jachère, mais vers la fin du printemps, le livre sera sorti, et je vais enfin pouvoir me relancer dans les tests de programmation.

La meilleure session (avec Coding4Fun), c’est ici : http://www.microsoft.com/france/mstechdays/programmes/2014/fiche-session.aspx?ID=41b76c01-5848-4e6a-b453-0fea6b2feaac

La session que j’ai eu le plaisir d’animer avec Jean-Marc Prieur est sur http://www.microsoft.com/france/mstechdays/programmes/2014/fiche-session.aspx?ID=026b038c-9fc1-4ed6-8985-b47dc552dc1f

Ne soyons pas modeste : la session a été très bien reçue, avec un excellent feedback tant pour le contenu (4,5 / 5) que sur les speakers (4,7 / 5) ! Je ne suis pas peu fier de dire que c’est la 9ème la plus appréciée sur un peu moins de 180 sessions Sourire.

Vous avez également un excellent retour de l’ami Guillaume Collic sur son blog : http://guillaumecollic.com/2014/02/techdays2014/

Posted in Retours | Tagged | Leave a comment

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

Posted in Retours | Tagged | 8 Comments

Premier cours “Programmation .NET éco-responsable”

Décidemment beaucoup d’actualité “Green IT” en cette fin d’année, et c’est tant mieux, car c’est une discipline amenée à prendre de plus en plus de place dans le développement informatique. Après le billet précédent sur le Green Code Lab Challenge, quelques mots sur mon premier cours de programmation .NET en mode éco-responsable. Je ne sais pas si c’est une première en France, mais le fait que ce soit une première à l’ESAIP, qui est en pointe sur le sujet, me donne à penser que oui.

Ces trois jours intensifs ont été l’occasion de prendre une autre approche de l’enseignement de .NET, en ne reportant pas en dernier les bonnes pratiques de performance, comme on a trop souvent tendance à le faire, mais en partant directement sur des bonnes bases, et en montrant tous les exemples de code comme ils doivent être écrits en production. Par exemple, pas d’utilisation directe de la classe File, mais uniquement du streaming. Pas d’appels bloquants. La conception des entités en amont de la définition des services. Faire attention à ses boucles. Ne pas concaténer les chaînes en boucle. Bref, tout ce genre de choses qu’on a tendance à apprendre après, parce qu’on pense que ça va complexifier l’enseignement, alors qu’il faudrait au contraire ne pas démarrer le moindre code sans.

Pour pousser à bout le concept, les étudiants n’ont pas eu le droit d’écrire le moindre bout de code sans avoir auparavant créé le test unitaire qui allait bien ! Et aussi étonnant que cela puisse paraître, ils avaient plutôt l’air contents à la fin Sourire

Etudiants ESAIP 2013

Le contenu était très dense : il s’agit d’une grande partie d’une formation complète que j’ai réalisée par le passé sur trois semaines complètes, avec des professionnels de l’informatique, mais non développeurs. Ils s’en sont bien tirés, aidés par leur connaissance préalable de la programmation en Java pour la plupart, en tout cas en orienté objet pour tous.

Le Retour Objectif sur Temps Investi était plutôt bon :

2013-12-19 16.59.06

Il me reste à améliorer ma pédagogie et mes supports de cours. La quantité était au rendez-vous (plus de 600 pages + mon livre = quelques bonnes heures de lecture devant eux !), mais du coup, il était plus dur de se retrouver dans les chapitres, comme ils ne suivaient pas les journées habituelles de formation. C’est confirmé par les retours :

2013-12-19 16.59.14

Pour la prochaine fois, je préparerai une machine virtuelle complète et des squelettes d’exercices qui permettront de mieux guider / structurer les exos, comme demandé, et du coup mieux faire digérer la densité.

L’accueil de l’ESAIP, en plus de celui des étudiants, était extrêmement sympa, et Angers est une chouette ville à visiter, avec un excellent restaurant japonais. Bref, ça sera avec joie pour l’année prochaine si on me le propose !

2013-12-17 18.42.30

2013-12-17 18.50.46

Posted in Uncategorized | Tagged | Leave a comment

Retour sur le Green Code Lab Challenge

Il y a quelques semaines se tenait le Green Code Lab Challenge, un concours de développement éco-responsable, entre une quarantaine d’équipe de plusieurs universités européennes. L’idée était simple : prendre une application Open Source et appliquer les principes d’éco-conception pour faire baisser la consommation de ressources de cette application. Plus d’infos sur cet article.

Je suis rapidement intervenu pour donner quelques bonnes pratiques, sous forme d’une demi-heure de présentation, avec au menu les cinq anti-patterns les plus habituels lors des revues de performance, en provenance de mon bouquin sur le sujet.

2013-11-28 20.30.12

Marrant comme expérience, de se retrouver sur un vrai plateau de TV, avec un fort éclairage en pleine figure, qui empêche de voir les quelques étudiants qui étaient là, et en sachant qu’en fait le plus gros me regardait par web interposé. Le webinaire était en effet diffusé en direct pour la première intervention, puis rejoué plusieurs fois au cours du reste des 48 heures. Les diapos sont évidemment accessibles, en suivant ce lien.

Au final, fierté française d’avoir trois équipes sur le podium, les deux premières venant de l’ESAIP, qui est très en avance sur le sujet, et ce depuis plusieurs années déjà.

2013-12-19 15.21.04

J’aurai l’occasion très bientôt de vous reparler de certains de ces étudiants Sourire.

Félicitations à eux, et encore plus au Green Code Lab qui a organisé l’évènement ! C’est un énorme boulot qu’ils ont réalisé, surtout que la première édition est la plus difficile à mettre en place. Je leur souhaite que l’évènement grossisse et devienne une référence dans les prochaines années !

Posted in Uncategorized | Tagged | Leave a comment

Eco-conception : enfin pris au sérieux

Ca fait plaisir à voir : enfin un logiciel connu qui se revendique publiquement de conception écologique, à savoir Notepad++.

image

Je me suis rendu compte de ceci tout à fait par hasard, en faisant mon marché dans les applications à installer sur mon nouveau système (migration à Windows 8.1). Inutile de paraphraser, je vous recopie simplement l’entête de la page http://notepad-plus-plus.org/fr/:

image

Bravo !

Du coup, je suis allé faire un don sur PayPal Sourire. Ils le méritent bien !

Posted in Performance | Tagged | Leave a comment

Seattle, partie 2 : la montagne

Ou devrais-je plutôt dire : la colline. Avec mon collègue, nous nous sommes dit que ça serait dommage de faire deux fois 20 heures de voyage pour Seattle et de ne pas profiter d’une belle balade dans les parcs à proximité. Par contre, comme on ne voulait pas venir avec trop de matériel, nous nous sommes limités aux parcs à Issaquah : Cougar Moutain et Tiger Mountain. Le mon Rainier, c’était peut-être un peu trop optimiste Sourire

Même si ce n’était pas très haut, les balades étaient superbes, et comme nous avons eu deux journées absolument magnifiques, avec une visibilité quasi-parfaite et du soleil, pas besoin de matériel particulier : juste des bonnes godasses et deux polaires. Microsoft avait eu la très bonne idée de nous offrir une polaire au sommet des MVP juste avant. En plus, super bonne qualité : légères mais chaudes, bien respirantes… pas de la came publicitaire.

Et la gourde était également une super idée, du coup, pour éviter d’acheter trop de bouteilles et avoir un truc plus pratique pour boire. Guillaume a fait une magnifique photo depuis l’endroit où s’élancent les deltaplanes, avec le mont Rainier au fond :

IMG_20131123_111629

Les remerciements étant réalisés, passons au compte-rendu des balades proprement dites, en espérant que ça donnera l’envie à des MVPs l’an prochain, parce que ça vaut vraiment le coup. A vingt minutes à peine de Bellevue, c’est un sacré dépaysement par rapport au reste des journées du Summit !

Première journée : Cougar Mountain Park

Nous avons préféré commencer léger le premier jour, pour tester la forme de mon collocataire et se chauffer sans danger. Pour les balades dans Cougar Mountain Park, très simple : depuis Issaquah, vous descendez la 900, et vous verrez les parkings sur le côté droit. Ce parc est super bien repéré, avec même des cartes papier distribuées sur les parkings aux différentes entrées. Les voies sont marquées abondamment, et il est absolument impossible de se perdre, même pour quelqu’un avec un sens de l’orientation particulièrement défaillant.

Pour ma part, j’avais en plus un vrai pigeon voyageur qui m’a servi de co-pilote pendant toute la semaine, en voiture comme en montagne, donc aucun problème. Voici la balade proprement dite :

CarteCougarMountain

Comme vous le voyez, le parc n’est pas énorme, vu qu’on l’a quasiment quadrillé de part en part sur la journée. C’est assez varié, avec pas mal de forêt, mais quelques endroits caillouteux, des chutes d’eau, quelques vues intéressantes, mais pas des masses de part la présence massive d’arbres.

A propos d’arbre, comme les parcs sont en général laissés à leur état naturel, on se retrouve souvent avec des arbres tombés un peu partout, mais les rangers taillent quand même des chemins quand ça empêche les gens de passer :

2013-11-22 21.19.32

Le genre de petit chemin typique de ce parc est proche de l’eau, mais bien aménagé. Pour ceux qui se poseraient la question, aucune difficulté technique de quelque niveau que ce soit. La balade est faisable même avec des enfants en bas âge, à condition de leur tenir la main de temps en temps, genre là :

2013-11-22 20.15.12

Encore plus représentatif peut-être de ce parc est la photo suivante, qui résume bien la grande partie des chemins :

2013-11-22 23.36.55

A ce qu’il parait, il faut bien faire attention à la faune locale, potentiellement dangereuse, et le nom de “Cougar Parc” a fait prendre peur à plus d’une épouse. En pratique, nous n’avons pas vu la moindre trace, pas la moindre queue d’écureuil, à peine un piaf et un pic-vert. L’hibernation, certainement. En attendant, on a quand même regardé les conseils en cas d’attaque de cougar. La consigne de base : ne pas tourner le dos.

2013-11-22 22.18.09

La végétation est parfois étonnante :

2013-11-23 00.33.10

Pour finir la journée, on passe par le haut du pic (le plus haut du parc est à 2400 pieds, sous à peine 800 mètres), où on signe le petit livre. Les commentaires sont étonnants, avec plusieurs demandes en mariage réalisées à cet endroit, des personnes extraordinairement fières d’avoir réussi à arriver en haut du pic (alors que c’est à quarante minutes du parking).

2013-11-23 01.09.53

Voila pour la première journée, et une bonne balade à la fin de laquelle nous avons bien mérité notre Steak House chez Stan’s à Issaquah village. Il y avait du football américain, un whisky jamais goûté auparavant (Knob’s creek, si je me rappelle bien : goût de coco pour les amateurs), et une atmosphère typiquement américaine. Les plats sont évidemment à prendre en version small, ce qui est déjà à la limite de l’explosion pour un Français… Mais la viande est excellente, et le service nickel.

Pour la fin de cette journée, rien d’autre : trop froid pour trainer dehors, on rentre au motel, et dodo pour préparer la journée suivante, qui s’annonce plus sportive…

Seconde journée : Tiger Mountain Park

Guillaume n’étant pas encore complètement mort, il a dit d’accord pour une deuxième journée de rando, et nous avons donc attaqué un peu plus grand et plus costaud : le parc Tiger Mountain. Pas plus de tigre ici que de cougar hier… Je ne sais pas pourquoi le parc s’appelle comme ça.

Le parc est beaucoup plus grand, et hors de question de faire toute la traversée comme hier. En fait, nous avons même été obligés de rebrousser chemin avant la dernière ascension par prudence : le jour se couchant vers quatre heures et demi, et comme nous n’étions pas spécialement partis à la fraîche, nous n’avons pas pu aller en haut du Tiger Mountain Peak. Ce sera pour une prochaine, avec un peu plus d’entraînement pour mon collocataire Sourire

image

Dans ce parc encore, la végétation est luxuriante. L’état du Washington mérite bien son surnom d’evergreen state.

2013-11-23 20.20.08

Pour une fois, je n’ai pas poussé la balade jusqu’à la baignade : les lacs étaient – vraiment – gelés :

2013-11-23 22.58.30

La balade que nous avons faite était le Poo Poo Point, l’endroit où les parapentistes s’élancent à pied. Il faudrait me payer cher pour me faire faire ce genre de sport :

2013-11-23 23.04.48

Ensuite, on redescend :

2013-11-23 23.54.51

Et c’est le moment de regarder se gameler atterrir les parapentistes :

2013-11-24 00.03.42

Le soir, un billard bien mérité dans un bar bien américain, avec quelques spécimens “du cru”, on va dire Sourire. Le genre trucker à claquer les fesses de sa copine tatouée jusqu’à la moëlle, avec dans le même bar des pépés et mémés qui sortent tout juste du bridge. Sacré mélange, mais la région en est plein, et c’est vraiment un beau coin.

Juste avant de partir

La troisième journée était celle du départ, mais mon copilote Guillaume a quand même réussi à squeezer deux petites balades avant qu’on rejoigne l’aéroport. Tout d’abord, le Timberlake Park :

2013-11-24 19.16.56

Les Américains savent vraiment bien intégrer les maisons dans le paysage, avec leurs ensembles en bois de bardage gris :

2013-11-24 19.23.51

Enfin, une dernière balade au bord du lac, avec la vue sur les montagnes au loin dans la brume (oui, on ne voit pas beaucoup, vu que mon appareil photo est juste un téléphone portable) :

2013-11-24 19.53.31

Retour de la bagnole de location chez Hertz en un temps record, et c’est fini pour cette année à Seattle. J’espère y revenir un de ces jours. L’idéal serait que Microsoft organise le sommet pendant les vacances scolaires, de façon que je puisse faire venir ma petite famille en même temps. Les balades sont extraordinaires, et si vous avez l’occasion de faire du tourisme dans ce coin des USA, je ne peux que le recommander. La nature omniprésente, la mer et la montagne à la fois, une gastronomie très correcte (beaucoup de magasins bio dans cet état, très porté sur le sport et la santé), les gens sympas et ouverts, à l’inverse complet de la caricature qu’on a souvent en tête quand on parle des Américains.

Posted in Uncategorized | Tagged | Leave a comment

Tourisme pré-summit à Seattle

En route pour le Microsoft MVP Summit, l’avion à peine atterri, nous ne pouvions pas passer à côté du musée de l’aviation. Bon, dans un premier temps, nous n’étions pas habitué avec mon copilote Guillaume à la voiture de location ni aux cartes, et nous sommes arrivés dans un jardin japonais à la place. Mais c’était très sympa quand même, et nous pouvons donc recommander le Kubota Garden.

2013-11-17 00.05.55

Quelques tours et détours plus tard, nous voici au musée Boeing pour de bon. Au programme, on commence par le plus bel avion du monde :

2013-11-17 01.03.46

Dans le musée, il y a également un des anciens Air Force One, un Constellation, quelques autres avions dehors, et pas mal également en intérieur. Le plus impressionnant à mon avis est qu’ils aient réussi à faire rentrer un SR71 :

2013-11-17 01.15.37

Les vieux Corsair à aile pliante rappelaient des souvenirs de samedi après-midi où on regardait Papy Boyngton, ou un truc avec un nom approchant. Une série sur la guerre du Pacifique, avec à chaque épisode exactement les mêmes images d’archive pour les combats :

2013-11-17 01.37.59

Pour finir notre tourisme de pré-summit, une visite au magasin Lego de Bellevue s’imposait :

2013-11-17 20.18.58

Voila pour le temps qui restait sur le week-end. Dès le lundi très tôt, ce seront les premières sessions et conférences.

Posted in Uncategorized | Leave a comment