Retour sur les Microsoft Techdays 2014 : les sessions

CSS, c’est pas si facile !

Descriptif de la session
«CSS, c’est simple!» : on a tous entendu ça un jour. Et c’est vrai, la syntaxe est enfantine. Mais pourtant, certains aspects peuvent sembler encore obscurs, voire magiques. Parmi les sujets traités, nous évoquerons entre-autres les notions de modèles de boites, de contextes de formatage, de contextes d’empilement, de fusion des marges, etc. N’ayez pas peur, ça va être fun quand même!
Plus d’informations

Ce que l’on retiendra
Le speaker, Vincent De Oliveira (ENSG Géomatique) a donné quelques rappels sur CSS puis a  rapidement enchapiné sur un quizz qui lui a permis d’illustrer certaines subtilités de CSS, méconnues de la plupart des développeurs. Un exemple simple, le Z-Index que beaucoup settent à tord et à travers, sans succès, pour afficher un élément au dessus d’un autre. La session est plaisante, mais pour des raisons de timing, trop rapide. Il est difficile d’assimiler tout ce que le speaker énonce.

Sci-Kit Learn : Machine Learning en Python

Descriptif de la session
La toolkit OpenSource Scikit-learn s’impose comme comme un standard d’outil pour réaliser des applications d’apprentissage statistique. Nous invitons l’un de ses auteurs et contributeurs, Gaël Varoquaux, chercheur à l’Inria, à venir nous présenter cette toolkit mais également nous proposer une réflexion sur le big data, sur les stratégies et techniques adaptées ou pas selon les contextes et sur les bonnes pratiques issues de son expérience de chercheur en informatique dans un contexte de recherche scientifique en neurosciences ou priment la rapidité de développement et l’agilité d’analyse sur des données à la fois très grosses et très complexes.
Plus d’informations

Ce que l’on retiendra
Présentée par Gaël Varoquaux (INRIA) et Pierre Louis Xech (Microsoft),  cette session abordait un outil d’apprentissage statistique en OpenSource. Pour rappel, voici les grandes tendances de l’IA :

  • Dans les années 1980 : concevoir des règles de décisions;
  • Dans les années 1990 : apprentissage à partir d’observations;
  • Dans les années 2000 : apprentissage statistique et prise en compte du bruit dans la modélisation;
  • Aujourd’hui : le Big Data et l’émergence de règles simples.

L’apprentissage statistique est basé sur des descripteurs numériques, avec plusieurs modes d’apprentissage, labelisé et non supervisé. Il s’agit d’apprendre au système à reconnaitre à partir d’un jeu de tests, et à tester, à partir d’un autre jeu de données non connu. Les problématiques sont notamment le bruit et le nombre de descripteurs, par rapport aux données.

Mais le chercheur Gaël Varoquaux a expliqué que la problématique de l’accès aux données est plus importante que la puissance de calcul. Nous arrivons donc sur des problématiques de Big Data. Paradoxalement, certains grands investisseurs de la Silicon Valley pensent au contraire que le Big Data, sans Machine Learning, ne sert à rien.

Une fois le contexte posé, la présentation de Sci-Kit Learn débute enfin. L’idée première de cette boite à outils d’apprentissage est de permettre à tous d’accéder à l’apprentissage. Il n’y a pas de domaine d’application spécifique, ni de prérequis en Machine Learning pour utiliser cette bibliothèque Python sous licence BSD. Le choix de Python a été fait car il s’agit d’un langage fonctionnel de haut niveau, pouvant s’interfacer avec du code C. Sci-Kit n’est pas le plus  rapide ni le plus pertinent pour tous les domaines, mais il est relativement performant : les optimisations sont faites au niveau algorithmique et n’ont pas bas niveau. Il est possible d’appliquer plusieurs types de modèles d’apprentissage. Par contre, il n’y a pas de réseau de neuronnes au sein de Sci-Kit.

Développement sécurisé avec Microsoft.NET et HP Fortify

Descriptif de la session
Intégration de la sécurité applicative dans le cycle de vie logiciel: maîtrise des risques et réduction des coûts HP Fortify Static Code Analyzer, plug-in Microsoft.Net pour la détection automatique et l’éradication à la source, les erreurs de codage qui pourraient donner lieu à des brèches de sécurité.
Plus d’informations

Ce que l’on retiendra
La sécurité a toujours été le parent pauvre du développement, en raison des priorités/délais des développeurs, mais aussi par le manque de compétences/formation dans ce domaine. D’après Gartner, 84% des brèches de sécurité se situent au niveau applicatif, et il est en moyenne 10 fois plus couteux de corriger ces problèmes en production par rapport à une prise en compte dès le début du cycle de développement.

HP Fortify est une gamme de produit, qui s’intègre avec Visual Studio via un plug-in sur le poste du développeur, mais aussi au niveau de l’usine logicielle et du build. Cette solution dispose de son serveur, permettant de monitorer, de récupérer et d’analyser les failles de sécurité ainsi que de fournir un dashboard complet aux différents responsables.

HP Fortify est fourni avec un ensemble de règles qu’il est possible de personnaliser, mais des exemples de résolution sont également fournis. L’outil se base sur le code source, et non pas sur des binaires. La solution est multi-langages, mais l’analyse des failles (SQL injection, formatage de certains paths, etc.), au niveau statique, ne m’a pas particulièrement convaincu, ni sa résolution. En effet, le code incriminé est très mal écrit, et n’a plus vraiment court aujourd’hui (du moins, je l’espère) dans les projets. Qui utilise encore sur un gros projet ce genre de choses côté client :

“SELECT * FROM MaBD WHERE User=’” + myUser + “’ AND Password=’” + myPassword + “’”;

Sachant que la solution proposée est :

“SELECT * FROM MaBD WHERE User=’” + Encoder.Encode(myUser) + “’ AND Password=’” + Encode.Encode(myPassword) + “’”; ?

J’utiliserais pour ma part les paramètres nommés qui échappent automatiquement les caractères problématiques. D’ailleurs, ces requêtes seraient effectuées côté serveur, voire en procédures stockées.

Les nouveautés XAML dans Windows 8.1

Descriptif de la session
Cette session regroupera toutes les nouveautés XAML apportées par la mise à jour Windows 8.1. En passant par les nouveaux composants comme le Hub Control, DateTime pickers et autre SearchBox, venez découvrir aussi les améliorations de performances de certains composants comme le Gridview, ou l’adjonction des menus Flyout, MenuFlyout et SettingsFlyout. Nous verrons aussi le nouveau format XBF ou encore la gestions des thèmes dans Windows 8.1 Enfin nous verrons comment traiter les nouveaux form factors liés à l’arrivée des tablettes 10 ou 8 pouces.
Plus d’informations

Ce que l’on retiendra
Les applications XAML pour Windows 8.1 ont désormais une approche plus responsive design, et beaucoup de méthode et propriétés ont été marquée “Deprecated”. De nouveaux contrôles comme les DateTimePickers sont apparus. Des améliorations de performances ont été faites avec Windows 8.1, sans que le développeur n’ait à modifier son code. Le databinding se rapproche davantage de ce que WPF propose en natif. Ce fut une session plutôt orientée “Geek”, à laquelle nous ont été présentées pèle-mêle les nouveautés. Je dirais que les projets XAML sont désormais enfin matures.

Architecture Cloud Hybride
Description de la session
Plongez dans les architectures hybrides avec un scénario de bout en bout s’appuyant sur des briques disponibles dans le cloud et à demeure: BizTalk , Service Bus, Active Directory, Virtual Machines, …. Nous n’oublierons pas des patterns de résilience, de réversibilité, etc.
Plus d’informations

Ce que l’on retiendra
Comment définir une architecture hybride ? Il s’agit d’une architecture dite “classique” qui emprunte quelques caractéristiques du Cloud, et donc quelques briques comme la scalabilité, SLA, etc. Comme il existe du C loud en mode IaaS, Paas et Saas, il existe des applications hybrides, des IT hybrides ainsi qu’un cloud hybride. D’après Gartner, d’ici 2017, 50% des grands comptes adopteront une architecture dans le Cloud ou hybride. Mais à la manière des architectures SOA, se posent les questions de migration de SI.

Les problématiques d’authentification, d’autorisation et d’accès des communications au delà du SI se posent, tout comme les logiques métiers, le routage (fiable) des messages, les synchronisations de données, la scalabilité, les performances, la disponibilité, le monitoring, etc. Une bonne conception est un prérequis obligatoire, comme les applications de type composite et modulaire.

Le couplage doit être lâche et sans état. La messagerie doit être fiable et il est important de prendre en compte la résilience. Quid d’un service qui serait indisponible (malgré un SLA à 99.9%) ? Les dernières versions des Entlib pour Azure intègrent Topaz, un outil permettant de définir des stratégies en cas d’échecs, comme par exemple, “retenter trois fois une connexion SQL avant d’échouer définitivement”, etc.

Un cas d’école a été présenté :

  • Windows Azure AD pour authentifier les utilisateurs du domaine (que l’on synchronisera avec l’AD On remise), couplé à une authentification LiveId;
  • L’utilisation de ServiceBus Azure, auprès de qui les services WCF OnPremise, vont venir s’enregistrer;
  • Un biztalk OnPremise, mais pour des questions de SLA, l’utilisation de la messagerie est préconisée.

L’idée générale consiste à mettre en relation le service WCF avec le service Bus lors du premier appel avec le client. Une fois cette mise en relation faite, le service Bus passe en mode Peer to Peer entre le client WCF OnPremise et le client, ceci afin d’éviter que toutes les requêtes ne passent par le Cloud.

Share
Patrick LEGRAND
Patrick LEGRAND

902

Leave a Reply

Your email address will not be published. Required fields are marked *