Articles avec le tag ‘undefined’
[HTML 5] & .NET

Le voilà enfin, le nouveau langage web révolutionnaire, la fin des problèmes de compatibilité entre les navigateurs, la solution à tous nos soucis de développeur web. Bon, ce que je viens d’écrire est peut-être un peu trop optimiste… Certes, HTML 5 a pour objectif de standardiser les technologies du web mais il ne faut pas rêver, ce ne sera pas, ou plutôt, cela ne semble pas être la solution miracle.
<Intro>
Si vous ne le savez pas encore, HTML 5, comme le présuppose son nom, est la nouvelle version de HTML après HTML 4.1. Cette évolution de l’HyperText Markup Language se veut être à la fois un regroupement de bonnes pratiques observées depuis plusieurs années sur la toile et dans les entreprises mais aussi un regroupement de nouvelles fonctionnalités qui faisaient défaut. Initiées au départ, par les trois géants du web que sont Apple, Google et Mozilla au sein du Web Hypertext Application Technology Working Group (WHATWG), ces spécifications ont été ensuite reprises par le W3C pour être normalisées.
HTML 5 a aussi pour ambition de simplifier son utilisation qui s’est complexifiée avec le temps. Prenons pour exemple, la déclaration de certaines balises qui a été réduite au strict minimum. La déclaration du doctype devient très simple. La déclaration des scripts JS inline devient implicite.
L’implémentation de nombreux types de validations client comme la validation d’une chaine de caractères (email, code postal, numéro de téléphone…) est facilitée par l’utilisation d’attributs natifs.
La réalisation d’effets graphiques simples tels que, les coins arrondis, les ombres (de texte ou de boite) ou les dégradés de couleur deviennent natifs en CSS 3 (avec malheureusement encore quelques variations entre les différents navigateurs…).
<ASP.NET MVC>
The right way for HTML 5 !
HTML 5 arrive avec son lot de bonnes nouvelles et nous devons, en tant que modestes développeurs ASP.NET, être prêts à l’accueillir. Pour celles et ceux qui n’auraient pas encore mis leur nez dans l’implémentation du pattern MVC en ASP.NET, c’est le moment.
A mon sens, pour faire du HTML 5, il faut oublier les contrôles ASP.NET standards, produisant du code HTML plus que perfectible. Il faut désormais se tourner vers ASP.NET MVC qui permet d’avoir la maitrise totale du code HTML final. Fini les gros Datagrid très pratiques générant un code HTML lourd. Le développeur revient aux fondamentaux du développement web et doit recoder son beau tableau à la main mais avec beaucoup plus d’API qu’avant, simplifiant ainsi son implémentation. Le résultat est un code HTML plus propre, plus léger pour transiter sur les réseaux et facilement maintenable pour les éventuels intégrateurs. Le passage à HTML 5 se fait alors naturellement.
Des frameworks déjà disponibles, fournissent des méthodes évitant aux développeurs de réinventer la roue. Ils permettent notamment de simplifier l’accès aux éléments des pages, la gestion des évènements, la communication avec le serveur…
<Limitations>
HTML 5 en ASP.NET est donc bien possible mais jusqu’où ? Il est aisé de dire « Mon application est en HTML 5 » en ajoutant simplement le doctype qui correspond, mais l’est-elle vraiment ?
Les principaux acteurs du web se sont incontestablement associés pour définir les standards de cette nouvelle mouture mais, malheureusement, ils ne s’accordent toujours pas sur l’ensemble des aspects de la spécification. L’exemple frappant reste celui de la prise en compte des formats vidéo. Chacun voudrait que son standard vidéo soit celui retenu dans la spécification et cela donne un grand n’importe quoi. Pour le moment, pas de réel changement par rapport à la version précédente d’HTML, le format vidéo supporté dépend du navigateur. Pour être cross navigateur, il faudra prévoir une version de la vidéo pour chaque format existant. Quel dommage pour une spécification qui se veut être une standardisation ?!
Certaines implémentations de HTML 5 ne sont pas encore disponibles pour toutes les plateformes. En effet, parmi les évolutions apportées par cette nouvelle version du langage, l’implémentation des flux duplex via les web sockets n’est pas entièrement prise en charge par la plateforme .NET. Si la partie cliente dépend uniquement du navigateur, la partie serveur a aussi un rôle à jouer. Or, le serveur IIS ne supporte pas encore le protocole web sockets. Pour le moment, seuls quelques serveurs d’application les supportent, tels que Jetty et Node JS (le serveur en Javascript). Il n’est donc pas possible d’utiliser cette évolution avec une plateforme full .NET. Il faudra attendre la plateforme Windows 8 avec IIS 8 et ASP.NET 4.5.
<Applications>
Pour résumer, HTML 5 est déjà là. Plus ou moins terminé, plus ou moins standard entre les navigateurs et les plateformes. Mais attention, si certaines fonctionnalités sont déjà présentes, la spécification n’étant pas finalisée, celles-ci peuvent être modifiées !
Donc, pour savoir dans quels cas il faut se lancer dans l’aventure HTML 5 et dans quels cas il vaut mieux l’éviter, il faut se poser les bonnes questions. Il faut commencer par identifier le type de l’application concernée et les utilisateurs finaux de cette application.
Si l’application est un site grand public, on veillera à bien étudier les nouvelles fonctionnalités que l’on souhaite utiliser sur le site. Cette fonction est-elle implémentée sur tous les navigateurs ? Y a-t-il un risque que l’implémentation change avant la fin de l’élaboration des spécifications ? (Et bien sûr, cette fonctionnalité est-elle bien adaptée à tous les visiteurs ?)
Si l’application est une application intranet, le scope des utilisateurs finaux est plus réduit et le nombre de navigateurs utilisés est souvent limité. On peut donc choisir d’utiliser telles ou telles nouvelles fonctionnalités du langage en ciblant les navigateurs. En entreprise, il est aussi possible de les imposer ce qui réduit encore l’éventail des navigateurs clients.
<Conclusion>
Au final, HTML 5 apporte un réel plus dans l’implémentation des applications web mais il faut prendre garde car les spécifications ne sont pas encore terminées. La version finale est prévue pour cette année mais rien ne dit que cette version sera conforme à ce qui est déjà écrit. En attendant, tous les grands acteurs du web s’y préparent et Microsoft sera évidemment au rendez-vous.
Les nouveautés de Visual Studio 2011
J’ai eu la chance de me rendre à la dernière édition des Techdays, où j’ai pu découvrir les nouveautés prévues pour la prochaine version de Visual Studio.
Cette session fut animée par deux consultants d’Infinite Square (anciennement Access IT), Etienne Margraff et Florent Santin.
Après un bref historique de la gamme Visual Studio et notamment sur les différents profils de personnes venues enrichir l’équipe de produit (développeurs, chefs de projets, testeurs et utilisateurs désormais) nos deux MVP ont présenté dans un premier temps les nouveautés concernant la partie développement pour ensuite conclure sur les spécificités de la partie ALM (Application Lifecycle Management) et donc de Team Foundation Server 2011.
Visual Studio 2011
Voici une liste non exhaustive de ces nouveautés.
Metro Style Application
- Templates de projet pour Windows 8 pour les applications de types “Metro Style” (XAML & HTML5/JavaScript),
- Intégration du moteur de design de la nouvelle version de Blend pour les applications de types XAML et HTML 5.
Productivité
- Intégration des Productivity Power Tools,
- Amélioration de l’Explorateur de solution avec une barre permettant de lancer une recherche (Classe, Méthode, Propriété, Attribut, etc.),
- Code Clones Analysis: fonctionnalité permettant de retrouver de manière sémantique des portions de codes identiques afin de faciliter le refactoring.
Développement Web
Cette partie a été le plus mis en avant notamment avec l’arrivée d’HTML 5. Ainsi VS 2011 fournit un ensemble de fonctionnalités destinées à faciliter le développement Web comme:
- l’ajout de snippets HTML 5 / CSS 3,
- une meilleure indentation, mise à jour automatique de la balise fermante lors de l’édition de la balise ouvrante, outlining.
- l’explorateur de DOM,
- la console JavaScript,
- l‘amélioration de l’inteliSence JavaScript.
Autres
- Ajout de snippets et des tests unitaires pour le C++,
- Refonte du moteur de tests unitaires, plus performant et multi-Framework,
- Editeur de modules 3D.
Team foundation Server 2011
Ces dernières années, Microsoft a également fait fortement évoluer sa solution ALM avec notamment la version 2010 de Team Foundation Server qui a permis d’imposer un certain nombre de fonctionnalités innovantes. Il continue ainsi sur cette lancée dans cette version 2011.
Nouvelle interface Web
L’interface et l’ergonomie du portail Web ont été totalement revues. Mais ce n’est pas tout car la notion d’équipe a fait son apparition. Désormais, un groupe de personnes travaillant sur un objectif commun peut bénéficier d’un espace permettant de gérer les dates d’indisponibilités des membres, les dates de début et de fin des itérations, son backlog ou encore de visualiser son tableau de tâches sous forme de post-it.
Nouveau Team Explorer
La partie Team Explorer qui n’avait pas beaucoup changé ces derniers temps fait également peau neuve. La démonstration nous a laissé entrevoir un Team Explorer 2011 plus intuitif avec une interface plus épurée et accessible. Une nouvelle partie fait son apparition “My Work” permettant ainsi au développeur de visualiser directement les Work item le concernant. Une dernière modification est l’ajout d’une interface donnant la possibilité de demander à un autre développeur de revoir, de commenter et de valider une section de codes.
Tests
La partie Tests exploratoire introduite dans la version 2010 avec Test Manager a aussi été amélioré afin d’être plus performante. Cet aspect a d’ailleurs fait l’objet d’une démonstration assez sympathique avec la mise en évidence des intéractions entre le testeur et le développeur. Lors de la démonstration, le testeur crée une fiche d’incident suite à l’apparition d’un bug. Cette fiche est après transmise au développeur avec toutes les informations nécessaires (commentaires, screen shots, context mémoire, intellitrace, ect.)
FeedBack
Avec cette nouvelle version, les utilisateurs sont maintenant intégrés dans la boucle avec Feedback Manager 2011 qui est un Test Manager « light » permettant de gérer les demandes de feedback et les retours des utilisateurs.
Team Foundation Service
Enfin comme vous avez pu le remarquer la tendance en ce moment est au Cloud et TFS n’y coupe pas avec Team Foundation Service qui est une version basic de TFS (gestion de source, Work items, Build, mais pas de portail web et de rapports) hébergée dans Azure.
Conclusion
Avec cette nouvelle version Microsoft permet aux développeurs de se munir des outils nécessaires à la création d’applications pour Windows 8. Mais ils ne sont pas arrêtés là en fournissant aussi une amélioration de l’expérience, de la productivité, ainsi qu’une solution complète permettant de gérer tous les aspects du cycle de vie d’une application.
[HTML 5] Offline et stockage client
Une application web fonctionnant sans connexion réseau et capable de sauvegarder les données de l’utilisateur, quelle drôle d’idée ? Grâce à HTML 5 se sera pourtant bientôt possible !
Mercredi 8 février 2012, je me suis rendu aux MS TechDays 2012 dans le but d’assister à une présentation répondant au nom de « Création d’une application HTML5 gérant l’offline et le stockage client » afin d’en savoir un peu plus sur le sujet.
L’objectif de cette présentation était de découvrir quatre briques importantes d’HTML 5 : « le mode offline », « le DOM storage », « l’Indexed DB » et « le drag & drop ».
Les deux intervenants Microsoft que sont David Rousset, responsable de la relation avec les développeurs Web, et David Catuhe, spécialiste interface utilisateur, ont commencé la session par une démonstration de SnapX, une application de gestion de diaporamas sur laquelle a été basée toute la présentation. SnapX est entièrement développée en HTML 5.
David Rousset a alors présenté le mode Offline permettant l’utilisation d’une application web sans connectivité réseau permanente. Le principe est le suivant : L’application est téléchargée par le navigateur comme une simple application web à la différence que celle-ci indique au navigateur la liste exhaustive des fichiers nécessaires à son fonctionnement en mode hors ligne. Tout ceci grâce à la définition d’un fichier « manifest » dans lequel on précise, les ressources hors ligne, les ressources en ligne et les ressources à utiliser en cas d’erreurs.
L’application SnapX, est utilisable en mode hors ligne grâce à cette technique mais elle permet aussi l’import de fichiers images ainsi que leurs manipulations et leurs sauvegardes, normal me direz-vous pour un diaporama… David Catuhe nous a alors décrit les méthodes utilisées pour permettre ces fonctionnalités en passant par la manipulation des fichiers grâce à la « File API » et la brique « DOM storage » qui permet de sauvegarder jusqu’à 10 Mo de données sur le poste client. Cette nouvelle brique qui permet d’outrepasser les limites des cookies, embarque deux objets que sont le localStorage (données partagées pour une application) et le sessionStorage (données de session uniquement).
Pour aller un peu plus loin dans la sauvegarde des données utilisateurs en local, la présentation s’est ensuite orientée sur la brique IndexedDB fournie par HTML5. Véritable base de données NoSQL, elle permet de stocker des objets Javascript (typiquement des objets JSON) et est totalement sécurisée (les bases de données d’une application sont liées au domaine). Il n’y a pour le moment pas de limitation sur la quantité de données et celle-ci varie selon les navigateurs. Nos intervenants lors de cette session nous ont laissé penser qu’une forme de limitation sera mise en place avec validation par l’utilisateur lorsque la spécification sera finalisée. Petit plus de la présentation, ils nous ont indiqué une ressource très intéressante permettant d’afficher le contenu de l’IndexedDB (aller sur http://blogs.msdn.com/b/ie/archive/2012/01/25/debugging-indexeddb-applications.aspx)… pratique pour débuguer !
Cette session s’est enfin terminée par une présentation de la brique « Drag & Drop », une fonctionnalité déjà possible avec les frameworks Javascript (jQuery…) existant mais devenue native avec HTML5. Rentrée dans les mœurs des utilisateurs, cette fonctionnalité offre la possibilité d’améliorer l’ergonomie des applications en simplifiant les interactions entre le bureau et le navigateur web.
Ces présentations sont aussi l’occasion de récupérer des bonnes pratiques ou des astuces que l’on ne trouve pas partout. J’en ai retenues deux :![]()
- La spécification n’étant pas encore terminée, les implémentations des API instables sont systématiquement préfixées en fonction de l’organisme qui les a implémentées. Ainsi, l’implémentation de IndexedDB sur IE sera windows.MsIndexedDB, sur FireFox windows.MozIndexedDB, etc.
- Pour savoir si un navigateur implémente une fonctionnalité, il faut tester l’existence ce cette fonctionnalité et non la version du navigateur.
Pour aller plus loin :
http://www.caniuse.com (liste les fonctionnalités HTML5 disponibles en fonction des navigateurs)
http://blogs.msdn.com/b/ie/ (IE team Blog)
Retours sur l’Agile Tour 2011 (2/2)
Je fais suite à mon premier billet concernant l’Agile Tour 2011 pour vous faire part cette fois des conférences auxquelles j’ai assisté l’après-midi.
Améliorez l’efficacité de vos cérémonies agiles
Suite à la formation que j’ai suivi sur SCRUM, il m’avait paru que les différentes réunions n’étaient pas forcément évidentes à mener étant donné que chaque membre de l’équipe peut donner son avis. 7 à 10 personnes qui émettent chacune leur opinion pour à la fin prendre une décisionn, cela ne doit pas être évident dans la vraie vie. J’ai donc décidé de suivre cette conférence qui devait me donner une partie des réponses à mes questions.
L’oratrice est une Coach (encore une) et certifiée SCRUM Master. Elle accompagne ou a accompagnée, depuis 15 ans, plusieurs équipes en phase de transition vers SCRUM. Tout au long de son discours, elle insiste sur la dimension humaine liée à la bonne gestion des cérémonies agiles. L’agilité nécessite un comportement et une façon d’être spécifique. Pour que tout se passe bien, il faut être ++ comme elle dit. ++ veut dire qu’on est soit même dans une idée plutôt positive de nous-même et avec les autres. On peut alors être constructif pendant la cérémonie agile puisqu’on est dans un pied d’égalité avec les autres membres de l’équipe. On est en phase de collaboration. Dans le cas contraire, la réunion ne pourra être constructive puisque les interactions entre nous et les autres membres de l’équipe seront parasytées par du négativisme (on se sent supérieur aux autres ou inférieur, on sent qu’on n’a pas notre place dans l’équipe).
Conduite du changement et gestion de conflits
Cette conférence est liée à la précédente toujours dans cette esprit des difficultés rencontrées par les équipes agiles. Cependant, l’oratrice, psychologue clinicienne, apparemment débutante dans la prise de parole en présence d’un public assez nombreux n’était pas vraiment à l’aise. Elle n’a fait que lire son support de présentation. On n’entendait parler de gestion de conflits, de stress mais cette lecture assez monotone a complètement anihilé la conférence. Du coup, j’en ai pas retenu grand chose malheureusement. 45 minutes très longues en pure perte…
Ni Gladiateurs ni Bisounours – une équipe remarquable au quotidien
Avec la première conférence de l’après-midi, celle-ci était sans doute la meilleure de cette deuxième partie de journée. L’orateur, Christophe Thibaut, est un consultant senior ayant 20 ans d’expérience en développement et direction de projets. Il sait bien de quoi il parle et est plutôt très pragmatique.
Lors de cette session, il nous parle de la vie d’une équipe de développement en mode agile avec un focus sur les problèmes rencontrés dans ce mode de fonctionnement. Un des éléments qui revient souvent, et c’est le cas dans n’importe quelle équipe, est la gestion des conflits. Le problème dans l’agilité c’est que cela peut perdre un temps certain et créer une dynamique dans l’équipe très négative. En effet, l’efficacité d’une équipe agile réside dans la communication entre ses membres. Un conflit mal géré aboutit toujours à des blocages entre certains membres de l’équipe. Les interactions ne se font plus et l’équipe aura alors beaucoup de mal à s’autogérer et livrer dans les temps.
Christophe nous donne ainsi quelques élements pour éviter que les conflits fragilise une équipe agile. L’un des plus intéressants aspects de cette session fut alors la découverte des « core protocols » de communication. Je dis intéressant mais je ne l’utiliserais pas forcément dans la vie de tous les jours même en milieu professionnel. Pour ceux qui, comme moi, ne connaissent pas les « core protocols » c’est en fait un moyen de gérer la communication au sein d’une équipe à l’aide d’un protocole. Déjà pour moi, c’est pas l’idéal, s’il faut un protocole pour communiquer avec mon équipe c’est qu’il y a déjà un problème. Bref, ce n’est que mon point de vue après ce qui est important c’est la finalité des core protocols. Ils nous montrent qu’il est important dans une équipe que chacun de ses membres puissent indiquer à un autre membre que ce qu’il fait est bien ou pas bien, qu’une personne peut avoir envie de faire une pause, de faire autre chose, de demander de l’aide, etc…
Les core protocols permettent cela grâce à des mots clés. Je vais vous présenter dans la suite quelques exemples choisis par l’orateur.
Check in
C’est le mot clé qui est utilisé pour « entrer » dans l’équipe. Son utilisation indique aux autres membres de l’équipe que la personne est bien présente et motivée pour travailler sur ses tâches. Quand on arrive le matin, par exemple, la personne dit:
- Check in
- Je suis content d’arriver au boulot
- Je suis content parce que j’ai trouvé dans la nuit la solution à mon problème d’hier
- Je suis énervé car j’ai passé 2 heures dans les bouchons
L’équipe répond alors: Bienvenue!
Ask for help
Ce core protocol, comme son nom l’indique, est utilisé lorsqu’une personne de l’équipe a besoin d’aide. La personne dit alors:
- Quelqu’un peut m’aider j’ai un problème avec un bug que je n’arrive ps à résoudre depuis deux jours ?
Le membre de l’équipe qui le souhaite peut répondre alors oui et prendre le temps d’aider la personne qui a demandé de l’aide.
Check out
Sans justification, ce core protocol peut être utilisé par n’importe quel membre de l’équipe pour « sortir » de l’équipe. Un membre de l’équipe est fatigué, énervé de travailler sur la même tâche depuis 2 jours sans arriver à une solution, ne peut pas tenir ses engagement, etc… Il dit alors:
- Check out
Il va alors prendre une pause, boire un café et revient plus tard ou il rentre chez lui.
J’en ai présenté que trois mais il existe beaucoup d’autres core protocols comme Perfection Game, Pass, Protocol chec, Intention Check. L’avantage avec les core protocols c’est qu’ils forcent les membres d’une équipe à se parler et surtout à se dire ce qui va ou va pas. Ils nous apprennent qu’il est important de :
- faire des retours positifs à quelqu’un ainsi que des négatifs,
- de demander de l’aide à l’équipe,
- de faire une pause quand on arrive plus à avancer,
- …
Cependant, à mon sens, leur utilisation rends l’individu proche d’une machine. De plus, ils aboutissent à des contraintes puisqu’on est obligé de les utiliser lorsqu’ils sont mis en place dans une équipe. Cela déshumanise les individus sans oublier le fait que vu de l’extérieur les autres personnes doivent prendre les membres de ce genre d’équipe pour des fous ou des membres d’une secte. En tout cas, c’était intéressant de savoir que ce genre de moyen existe.
Les frontières de l’équipe
L’orateur, un consultant de SFEIR, a commencé sa conférence par un petit jeu basé sur les fameux oeufs en chocolat Kinder. Il a partagé 6 personnes du public en deux équipes de 3 avec chacune 3 oeufs. La première, spécialisée sur une tâche, s’est organisée en une personne qui devait sortir l’oeuf de son papier alluminium, la seconde devait manger tous les chocolats et la dernière était spécialisée dans la réalisation de la Kinder surprise. La seconde équipe elle multi-disciplinaire dont chaque membre devait faire les 3 étapes d’affiler avec son oeuf. Bien sûr, c’est l’équipe multi-disciplinaire qui l’a emporté. L’orateur en conclut par l’efficacité en agile d’équipe multi-disciplinaire.
Pour la suite, se fut en résumé, une nouvelle formation à SCRUM avec des illustrations basées sur la bande-dessinée Asterix. Une équipe d’irréductible, les agiles, représentée par le village gaulois au milieu de tous les autres (PO, client, équipes non agiles, …) que sont les différents camps retranchés romains.
Une session qui ne m’a pas vraiment laissée d’éléments instructifs.
Conclusion
Malgré certaines sessions très peu intéressantes, j’ai quand même eu beaucoup de retours intéressants sur l’utilisation de l’agilité dans le milieu professionnel. J’ai pu voir les difficultés rencontrées par les équipes agiles et surtout les moyens de les atténuer au maximum. En résumé, il n’est pas évident de mettre en place l’agilité mais, comme tout, l’important c’est d’adopter une attitude positive avec soi-même et les autres. Un élement important de l’agilité c’est qu’une équipe ne performe pas du jour au lendemain. Cela nécessite plusieurs mois de travail ensemble pour améliorer sans cesse les choses. Il est donc primordial, à mon sens, plus qu’avec des méthodes traditionnelles, que cette équipe ne soit pas dissoute après quelques mois. Cependant, l’agilité c’est aussi une façon d’être et de penser en équipe. Quelqu’un qui a une expérience dans l’agilité aura plus d’aisance à se réintégrer dans une nouvelle équipe agile puisqu’il aura, au moins, acquis l’état d’esprit agile. J’aurais aussi compris qu’au delà de l’équipe elle-même, le succès de la mise en oeuvre de l’agilité dans une entreprise est basé sur la confiance de ses dirigeants envers leurs équipes agiles.
Windows Phone 7 : plus de sécurité pour l’entreprise
Tout le monde aime la sécurité. Surtout les professionnels.
Dans le nouvel article de cette série consacrée à Windows Phone 7, j’aborde un autre aspect des bénéfices qu’apporte cet OS pour les utilisateurs professionnels et les DSI : la sécurité.
Sécurité dans la conception de l’OS
L’OS a été construit à partir d’une page blanche, selon la méthodologie Microsoft SDL (Security Development Lifecyle). Cette méthodologie a fait ses preuves sur Windows 7, où le nombre de failles de sécurité a été largement mitigé par rapport à ses prédécesseurs. Le principe de cette méthodologie repose sur l’analyse des menaces, les tests de pénétration et les pratiques de développement sécurisé.
Au delà de cette méthodologie, les approches suivantes ont été mises en place :
- modèle de sécurité basé sur l’isolation et sur l’utilisation de privilèges les plus bas possibles pour faire tourner les applications
- protection des données pour s’assurer que les données en transit ou stockées sur le téléphone sont protégées
- minimisation de la surface d’attaque
Ainsi, une application ne peut voir les données d’une autre application, que ce soir au niveau de la mémoire ou du stockage (isolated storage).
De plus, les applications doivent être écrite dans un langage de programmation managé (Microsoft .NET), ce qui permet de contrôler les APIs utilisées, et empêche la présence de failles comme l’exécution de code arbitraire par dépassement de buffer.
Le navigateur Web est traditionnellement source de failles de sécurité dans les OS modernes.
Ici, la version d’Internet Explorer 9 qui est installée est sécurisée au maximum :
- tourne en mode sandbox avec les privilèges les plus bas possibles
- impossible aux applications web d’accèder aux ressources des applications du téléphone
- impossible d’installer des applications depuis le navigateur
- pas de mécanisme de plug in (il est donc par exemple ironiquement impossible de voir une application Silverlight à l’intérieur du navigateur !)
Enfin, Microsoft a la capacité technique de pousser sur les téléphones une mise à jour critique si une faille de sécurité critique venait à être découverte.
Sécurité dans le contrôle des application installées
Le seul moyen de déployer des applications est de passer par la Windows Phone MarketPlace; le chargement d’applications par le navigateur web mobile ou le desktop n’est pas autorisé.
Toutes les applications de la MarketPlace sont certifiées et validées avant qu’elle ne soient disponibles au public. Ce processus de validation permet de filtrer les malwares.
Distribution d’applications d’entreprise via la Market Place
Une entreprise a la possibilité de distribuer via la MarketPlace publique Microsoft des applications réalisées spécifiquement pour un usage interne. Bien entendu, seuls les utilisateurs internes auront accès à cette application sur la MarketPlace.
Pour faire cela, les administrateurs de l’entreprise peuvent créer un espace dédié dans la Market Place et restreindre l’accès aux applications qui s’y trouvent à un public donné.
La mise à jour de ces applications métier se fait de la même manière que pour les applications publiques, ce qui ne perturbe pas les utilisateurs !
Pas besoin, comme sur d’autres plateformes mobiles, de serveurs d’infrastructure supplémentaires pour gérer un canal de distribution “privé”.
Sécurité de l’accès au téléphone
Si le mécanisme de déverrouillage du téléphone n’a rien de révolutionnaire de par le recours à un mot de passe, on échappe au moins aux failles des systèmes révolutionnaires (la reconnaissance faciale d’Android déjouée via présentation d’une photo, pas sûr que cela plaise au DSI).
Il est néanmoins appréciable pour les entreprises de pouvoir aller au delà des sempiternels codes à 4 chiffres, pour autoriser ou imposer des mots de passes plus complexes (plus long, à base de chiffres ET de lettres, avec expiration, avec gestion de l’historique des mots de passe déjà utilisés…). On peut également définir un plafond d’échecs d’authentification au delà duquel le téléphone va se reformater et se réinitialiser.
On notera la possibilité de localiser, faire sonner, verrouiller ou supprimer le contenu du téléphone à distance, via le portail www.windowsphone.com. Pratique et sécurisant en cas de perte ou de vol.
L’écran de verrouillage lui même est également intéressant en terme de sécurité, et de manière assez subtile…
En effet, on y trouve une synthèse des événements qui se sont passés pendant la période de verrouillage (nombre d’appels ratés, nombre de SMS reçus, nombre de mails non lus, prochain rendez vous). Cela évite d’avoir à déverrouiller constamment son téléphone pour vérifier ces informations … ainsi l’utilisateur sera moins tenté de désactiver cet écran de verrouillage !

Pour en finir avec cette partie, je tiens à citer une limitation de l’OS qui se révèle pleinement justifiée pour des raisons de sécurité : impossible de loger une carte SD amovible dans un combiné Windows Phone, donc impossible de se la faire voler ou copier ! Certains téléphones contiennent une carte SD interne inamovible (cachée dans le chassis); si une personne mal intentionnée venait à dessosser le téléphone pour y accéder, cela n’exposerait pas pour autant les données car celles-ci sont chiffrées avec des clés de cryptographie liées au téléphone lui même !
Gestion des droits pour la messagerie et les documents Office
Dans le monde de l’entreprise, il est nécessaire de pouvoir contrôler finement les droits de chacun à transmettre l’information. Il est courant de rendre impossible à un utilisateur de messagerie de copier le contenu d’un email ou de le faire suivre à l’extérieur de l’entreprise .
Par exemple il est en général peu apprécié que les résultats financiers d’une entreprise cotée se retrouve divulguée avant la date officielle. Si ces mécanismes ne sont pas suffisants en soi, ils constituent une barrière qui contribue au contrôle de la sécurité des données de l’entreprise.
Windows Phone respecte le mécanisme de gestion de droits d’Exchange (IRM, Information Rights Management), qui permet de contrôler la distribution du message une fois qu’il a été délivré à son destinataire.
Windows Phone 7 Mango est (selon Microsoft) le seul OS mobile capable de gérer ce type de règles de droits, que ce soit dans la messagerie (son client Exchange) ou plus globalement dans les documents Office.
On emballe ?
De la même manière que nous l’avons vu sur l’aspect productivité, la plateforme Windows Phone 7 est parée pour l’entrerprise de par les nombreux dispositifs de sécurisation du terminal et de ses données.
Pour plus d’informations, vous pouvez vous référer aux différents guides Windows Phone publiés à destination du public IT.
Information de dernière minute !
Un bug a été identifié à la mi décembre sur le traitement des SMS dans le Hub des messages Windows Phone.
Celui ci se matérialise par un Denial Of Service : le téléphone se bloque si on essaye d’afficher un SMS « piégé ».
Y aurait il une malédiction du SMS ? IOS et Android avaient eu un problème similaire, si ce n’est qu’ici, les informations du terminal sont protégées (contrairement au bug IOS où l’envoi du SMS permettait la prise de contrôle à distance).
C’est un excellent test pour les mécanismes que je viens de décrire : nous allons voir comment Microsoft, les constructeurs et les opérateurs vont mettre à disposition le correctif… peut être le premier déploiement « forcé » en urgence par Microsoft ?
En tout cas, certains acteurs interprète l’identification et la publication de failles comme le signe d’un gain de popularité de la plateforme… à toute chose malheur est bon !




