Article 1 sur 6
IT & DirectionGrand dossier6 articles
Techdays'09 : Azure, Seven, Multitouch, les technologies de Microsoft mises à nu
Dossier de la rédaction
Troisième édition et un succès qui ne se dément pas pour la grand-messe française de Microsoft, où développeurs, administrateurs systèmes et décideurs IT se pressent pour approfondir leurs connaissances et obtenir des informations sur les futurs produits. Windows Azure, Windows Seven, Visual Studio 2010 étaient ainsi au coeur des interrogations.
Aller au sommairePrévus pour durer trois jours, les Techdays ont démarré ce mardi matin au Palais des Congrès de Paris avec un tour d'horizon d'une heure des nouveautés concernant les développeurs. Devant un amphithéâtre quasiment comble, Thomas Serval, nouveau directeur plateformes et écosystème (suite à la nomination de Marc Jalabert au poste de directeur du marketing et des opérations, au comité de direction de Microsoft France), a passé en revue les technologies et concepts tels que Surface, LiveMesh, Windows 7, .Net 3.5, Solver Foundation, S+S, Azure...
Développement et débogage PHP directement dans Visual Studio
Le pivot de toutes ces démonstrations était l'atelier de développement Visual Studio ; une importance résumée par un slogan 'emprunté' à Tolkien : « un seul outil pour les programmer tous ». La seule véritable nouveauté était d'ailleurs l'annonce de l'intégration d'un plug-in PHP dans Visual Studio 2008. Intérêt: la possibilité non seulement de profiter de la puissance de Visual Studio pour écrire du PHP, mais aussi de déboguer directement le code produit. Jusqu'à présent, il fallait soit utiliser deux ateliers différents, soit, pour combiner Visual Studio et PHP, bidouiller une intégration, éventuellement avec des bouts de code fournis en Open Source, ou acheter un plug-in auprès de JCX Software (environ une centaine d'euros). Microsoft a conclu un accord commercial avec l'éditeur de ce plug-in pour inclure sa technologie avec Visual Studio. En France, la filiale de l'éditeur a même décidé de le fournir gratuitement, nous a précisé Laurent Ellerbach, responsable des relations avec les développeurs.
Des milliers de personnes inscrites pour voir les nouveautés de Seven
[[page]]
Passant rapidement sur WPF (Windows Presentation Framework), l'interface riche qui devait se généraliser lorsque Vista aurait connu le succès, l'équipe de Microsoft a pris le temps de présenter Windows 7. « Vous vous êtes inscrits par milliers aux sessions sur Seven, on a dû réagencer l'agenda, il y a désormais deux sessions par jour », a expliqué Eric Mittelette, responsable des relations techniques développeurs. Survolant quelques nouveautés de Seven - dont la personnalisation de la barre de tâches, ou le support natif du 'multitouch' (manipulation des objets de l'écran avec plusieurs doigts) -, Microsoft a pressé les développeurs de tester leurs applications sur le système d'exploitation. L'idée, nous a expliqué par la suite Thomas Serval, est « que les éditeurs de logiciels tiers soient prêts et puissent bénéficier du raz de marée attendu avec Seven ». Le discours était certes le même avant la sortie de Vista, mais il est vrai que, de ce que la bêta laisse voir pour l'instant, Windows 7 est bien plus prometteur.
Après avoir donné un aperçu des nouveautés qui viendront avec la version 2010 de Visual Studio - comme un éditeur de tests fonctionnels capturant automatiquement en vidéo les scénarios de test (un must pour les rapports de bugs) -, Microsoft a proposé une explication de texte toujours utile de sa stratégie S+S.
S+S et Azure pour la plus grande liberté de choix possible
Guère pressé de rejoindre le clan des éditeurs de Saas (applicatifs disponibles en ligne), Microsoft avait présenté sa stratégie Software plus services (S+S) qui a l'avantage de conserver l'importance des logiciels installés sur les postes clients. Puis est venu le train du 'Cloud computing', auquel Microsoft a rattaché ses wagons, avec l'annonce de Windows Azure. Au final, tout cela aboutit à « la plus grande liberté de choix possible pour le développeur et l'éditeur de logiciels », a expliqué Thomas Serval. Aujourd'hui, le développeur peut recourir à des briques techniques (comme SQL Server Data Services) voire des services applicatifs en ligne (comme Exchange Online), héberger son application en ligne (sur Azure - s'il s'agit d'une application .Net : la liberté de choix a tout de même ses limites), rien qu'en sélectionnant l'option de déploiement dans Azure au sein de Visual Studio. Et il suffit de modifier le fichier de configuration l'accompagnant pour modifier le nombre d'instances souhaitées.
Zoomant sur un des services en ligne de Microsoft, l'outil de synchronisation LiveMesh, l'équipe de développement de Microsoft France a montré une première mondiale: l'utilisation du service de synchronisation de fichiers pour synchroniser une application, réalisant ainsi un service applicatif de collaboration en temps réel.
Article 2 sur 6
Microsoft insiste sur les notions de choix et d'ouverture
« C'est une grande première », a souligné Marc Jalabert, en désignant l'un des transparents de sa présentation : une diapositive n'affichant que des noms de partenaires, qui plus est éditeurs Open Source ou actifs dans le Libre, tels que Novell/Suse, Xandros, Sun, OpenOffice.org... Récemment nommé directeur du marketing et des opérations de Microsoft France, Marc Jalabert entretient depuis longtemps de bons rapports avec les communautés techniques, et a contribué - avant que Sam Ramji n'entre en scène - à une normalisation des rapports entre Microsoft et le monde de l'Open Source. En ouvrant la deuxième journée des Techdays, conférence parisienne accessible gratuitement aux utilisateurs des technologies Microsoft, Marc Jalabert n'a donc pas manqué de rappeler les efforts de Microsoft en faveur de l'interopérabilité et de l'ouverture, et nombre de démonstrations qui ont émaillé le discours d'ouverture - consacré aujourd'hui aux outils systèmes et progiciels - se sont efforcées de l'illustrer.
L'édition R2 d'Office Communications Server, par exemple, peut être utilisée pour monter une conférence téléphonique directement depuis Outlook. Mais Microsoft a montré qu'il était possible pour un participant distant de s'y inscrire, pour se faire rappeler, en utilisant Firefox sur un système Suse Linux. Toujours côté Linux, Microsoft a montré comment un serveur Suse peut être administré depuis la console Systems Operations Center.
Azure s'ouvrira aux langages dynamiques
Plus tard dans la journée, lors d'une session consacrée à Azure, « un système d'exploitation dans le nuage », pour reprendre l'expression de Stève Sfartz, architecte chez Microsoft France, Microsoft a expliqué que la plateforme s'ouvrirait à des langages tiers, PHP, Python, Ruby, Java, tandis que le protocole OpenID permettra d'échanger des informations d'accréditation sur un mode standard. D'ores et déjà, les applications déployées sur Azure peuvent faire appel à des services écrits dans tout langage.
Et toujours dans le domaine de l'interopérabilité et de l'ouverture, une session était consacrée aujourd'hui à « l'Agility Center », qui, comme son nom ne l'indique pas, est le fruit d'une initiative conjointe entre les filiales françaises d'IBM et de Microsoft. Ce serveur associe trois lames biprocesseurs dans un châssis BladeCenter S avec la solution de virtualisation de Microsoft, ainsi que les outils d'administration adéquats, pour 55 000 euros environ. L'idée, explique Marc Jalabert, est d'accélérer l'adoption de la virtualisation dans les PME, « sous-informatisées en France ».
Article 3 sur 6
Microsoft convoque des sociologues pour explorer les nouveaux usages des NTIC au travail
Le monde professionnel est à la traîne du grand public en ce qui concerne les usages des NTIC. Chacun le ressent dans son quotidien, mais cette fois, une enquête commanditée par Microsoft France, et dévoilée à l'occasion des Techdays, vient le confirmer. « Avec 63% des foyers équipés d'au moins un ordinateur, la majorité des collaborateurs sont plus et mieux équipés à domicile que sur le lieu de travail : ordinateur plus puissant, équipement technologique plus avancé, logiciels plus récents, plus grande liberté de communication et d'accès à l'information... »
L'enquête quantitative a été confiée à l'Ifop, qui dit avoir mené des entretiens en face à face avec quelque 2000 personnes, puis isolé une population d'un millier d'actifs (et actuellement employés) auprès de qui le sondage en ligne a été effectué. Nonobstant les biais (approximations, lacunes...) inhérents à ce genre d'exercice, il en ressort que « près d'un actif sur deux utilise un ordinateur au travail, soit 12 millions de personnes en France ». Prenant ce résultat pas l'autre bout, Marc Jalabert, directeur du marketing et des opérations de Microsoft France, ajoute que « si 13,8 millions d'actifs n'utilisent pas un ordinateur au travail, 9 millions d'entre eux en utilisent un à la maison ». Ce qui lui fait dire que si les Français ne sont pas en retard dans leur compréhension des bénéfices des nouvelles technologies, le monde de l'entreprise est en retard, qu'il s'agisse des PME, souvent sous-informatisées, ou des grands comptes qui tardent à appréhender le phénomène des 'digital natives'.
Les actifs passent 4h30 par jour à utiliser les nouvelles technologies
Quant aux actifs équipés au bureau, l'étude indique qu'ils « passent 4h30 par jour à utiliser les technologies de l'information et de la communication dans leur travail ». Un temps réparti entre le travail sur du contenu (2h40), la collaboration (1h20) et la gestion des plannings (30 minutes). A noter une grande révélation de l'étude : les actifs qui communiquent le plus sont des hommes. Explication de texte de Marc Jalabert : « Dans le monde du travail, les hommes ont souvent des postes plus élevés, de management, que les femmes, et la communication fait partie du boulot de management. »
La liste des outils technologiques les plus utilisés comporte le courriel (96% des réponses), les moteurs de recherche Internet (93%), les traitements de texte (89%), les tableurs (82%), les logiciels de présentation (66%), mais aussi le fax (82%) et surtout le téléphone fixe (97% des réponses). Un palmarès qui contraste fortement avec celui des usages personnels, où les appareils photo numériques et téléphones mobiles dépassent les 80%, où le recours à la messagerie instantanée atteint les 50% (contre 36% dans l'univers professionnel), et où l'activité sur les réseaux sociaux et les blogs représente en moyenne un quart des réponses, contre une moyenne de 15% dans l'univers professionnel.
Deux grands catégories d'utilisateurs, les « faber » et les « ludens »
[[page]]
A partir de ces données, des consultants de Bearingpoint conduiront des entretiens dans des entreprises, pour approfondir les usages actuels. Il s'agira entre autres de voir si les managers ont bien conscience que « les technologies constituent le deuxième facteur d'attractivité d'une entreprise pour ses futures recrues ».
Parmi les « ludens », l'étude distingue quatre profils
Outre Bearingpoint, Microsoft s'est entouré des cabinets AddedValue et Eranos pour établir une analyse qualitative et en tirer des profils sociologiques. Dès lors, on entre dans l'univers du concept latinisant et des anglicismes superfétatoires. Analyse d'Eranos : « On peut distinguer deux grands schémas mentaux qui coexistent dans le monde de l'entreprise aujourd'hui qui permettent de rendre les attitudes plus lisibles : d'un côté, on trouve des profils "Faber", orientés sur le 'faire', le travail individuel et de l'autre, des profils plus "Ludens ". Ces derniers se caractérisent par une culture du social et de la collaboration, des relations d'égal à égal, la connectivité. Ils revendiquent facilement un comportement et une psychologie de jeune, plus immédiate et ludique. »
AddedValue ajoute de son côté une segmentation des « Ludens » : les « Digital creators » (créateurs de contenu numérique), censés travailler « dans des agences de communication ou à la communication » ; les « Information flow obsessed » (obsédés des flux d'information), dont l'institut explique qu'ils veulent travailler « plus vite et en équipe », et qu'ils « sont cadres et leur métier requiert de l'analyse » ; les « net com workers » (travailleurs en réseau), « très engagés dans les réseaux sociaux », « commerciaux et jeunes cadres » ; enfin les « techno followers », pour qui « il faut que ça marche et que ça soit facile à utiliser », qu'on retrouve « en particulier aux postes d'assistants ».
Un site Web regroupera toutes les informations de cette enquête au long cours : www.aucentredesusages.com.
Article 4 sur 6
Le tactile multipoint à l'honneur
Le 'multitouch' - ou tactile multipoint - était à l'honneur lors de la première journée des Techdays de Microsoft France, hier au Palais des Congrès de Paris. D'abord avec la présence sur scène du dessinateur François Cointe (qui officiait naguère sur Le Monde Informatique), émaillant le discours d'introduction avec ses dessins humoristiques réalisés sur 'Surface', la table tactile interactive. Puis Mitsu Furuta, de l'équipe relations techniques développeurs de Microsoft France, a brièvement montré les possibilités du kit de développement Surface pour Visual Studio, ainsi que la capacité de la table tactile à interagir avec des objets portant un 'tag' spécifique. Et l'équipe de Microsoft n'a pas manqué de rappeler non plus que Windows 7 disposera nativement de capacités tactiles.
Surtout, l'après-midi, l'éditeur a donné la possibilité à deux start-up françaises, Intuilab et Stantum, de venir présenter leurs développements. Les deux ambitionnent de mettre à la poubelle le modèle Wimp (Windows, icon, mouse, pointer) qui régit les IHM (interfaces homme-machine) depuis 1973, au profit d'interfaces plus naturelles. Contrairement au tactile simple, couramment utilisé sur les bornes d'information, le multipoint accepte plusieurs points d'entrée. L'iPhone d'Apple a mis la technologie en lumière, avec la possibilité de réorienter ou de redimensionner des photos avec deux doigts.
Des tables tactiles permettant la collaboration à distance
La société toulousaine Intuilab, spécialiste de la création d'IHM, a décidé cet été de se lancer dans l'édition logicielle, et a sorti Intuiface, une suite logicielle pour exploiter les capacités des surfaces tactiles multipoints. Partenaire aussi bien d'Adobe (pour la technologie AIR, Adobe integrated runtime) que de Microsoft (pour son WPF, Windows presentation foundation), Intuilab a proposé une démonstration d'un scénario faisant collaborer plusieurs utilisateurs répartis sur deux écrans 'multitouch', reliés en réseau. A terme, explique Vincent Encontre, directeur général de la start-up, on pourrait arriver à « des salles de réunion virtuelles infinies ». En tout cas, il en est persuadé, « avec ce qui se prépare en Corée, dans 10 ans, tous les écrans auront des capacités 'multitouch', c'est le sens de l'histoire ».
Davantage orienté sur les couches basses et les écrans de mobiles ou de PC tablettes, Stantum a commencé ses développements sous le nom de JazzMutant, et il s'agissait à l'époque, a raconté son PDG Guillaume Largillier, de « développer des nouvelles interfaces pour les musiciens », comme des « tables de mixage virtuelles ». En 2005 - « deux ans avant l'iPhone », s'est plu à rappeler Guillaume Largillier - Stantum a lancé son premier écran tactile multipoint « industrialisable ». Le savoir-faire de la start-up bordelaise a commencé à intéresser des industriels, si bien qu'elle livre aujourd'hui ses technologies en OEM.
Des menus contextuels appelés par le pouce de la main opposée
[[page]]Toutefois, pour Guillaume Largillier, il reste encore énormément de progrès à réaliser. Il faut améliorer la réactivité des systèmes, tout en prenant en compte le fait que les utilisateurs pourraient faire de faux mouvements. Ensuite, il faut résoudre une équation apparemment impossible : « Il y a de plus en plus de fonctions dans les logiciels, mais de moins en moins d'espace. En outre, on n'a pas la même précision avec les doigts qu'avec la souris. Et puis le nombre de gestes appropriés pour telle ou telle fonction est limité, on ne peut pas demander à un être humain d'associer un mouvement à chaque opération. » La solution proposée par Stantum consiste à utiliser au maximum les menus contextuels, appelés par le pouce de la main tenant l'écran - donc le pouce gauche pour les droitiers, les doigts de la main droite réalisant alors les opérations voulues. D'après Guillaume Largillier, il suffirait de quelques minutes pour s'y habituer. Et lui aussi en est persuadé, le 'multitouch' va envahir notre vie - d'autant que Windows Seven devrait le populariser. Le tout est de ne pas faire n'importe quoi pour ne pas rebuter les gens d'emblée.
Article 5 sur 6
Microsoft explique Azure en détail
C'est l'inconvénient avec les concepts à la mode : lorsqu'une technologie s'en réclame, tout ou presque peut être dit pour la définir, les notions de 'cloud' et de 'Saas' (Software as a service) se mélangeant allègrement. C'est ce qui est arrivé avec Azure, le « Windows dans les nuages » de Microsoft, dévoilé en octobre dernier et actuellement dans sa phase 'preview'. Si bien que les développeurs, mais aussi des décideurs IT et des administrateurs systèmes se sont pressés dans les sessions consacrées à Azure lors des Techdays, 3 jours de conférences gratuites organisées par Microsoft France, et auxquelles se sont inscrites près de 16 000 personnes, indique l'éditeur.
L'une des sessions sur Azure, animée par deux architectes de Microsoft France, Stève Sfartz et Régis Mauger, reprenait ainsi tranquillement les fondamentaux de ce qu'est, ou n'est pas, Azure.
Un distinguo à opérer entre les services Azure et la plateforme Azure
D'abord, il faut distinguer la plateforme Azure des services de la plateforme Azure. La première est « un système d'exploitation dans le nuage », qu'il convient de voir comme « une troisième plateforme de déploiement, après la plateforme client (desktop/mobile) et la plateforme serveur ». Stève Sfartz a d'ailleurs insisté sur cette continuité: « C'est un continuum, vous restez dans un environnement de développement connu. »
A côté de ce Windows Azure - l'offre de 'cloud computing en tant que telle -, figurent des services complémentaires, apportés des applicatifs Microsoft hébergés : la manipulation de données avec des services SQL Server, par exemple, ou le transactionnel avec des services Biztalk. Le fait d'avoir proposé en même temps ces services applicatifs en ligne - qui s'apparentent au Saas - a largement contribué à la confusion initiale.
Le déploiement dans Azure repose sur le téléchargement de deux fichiers
La plateforme Azure - sans ces services - est donc un environnement de déploiement d'applications créées avec Visual Studio, l'atelier de développement de Microsoft, dûment secondé du SDK (kit de développement) Azure. Une fois que le développeur a créé son compte dans Azure, la publication des programmes dans ce Windows hébergé est simplissime : l'outil crée deux fichiers, un package de l'application et un fichier de configuration XML, qu'il suffit de télécharger depuis la page d'accueil de son compte Azure.
Nul besoin de se préoccuper, lors de la création du programme, du fait que cela tournera sur une machine virtuelle, ou des capacités de montée en charge. « La gestion des ressources est transparente pour vous », explique Régis Mauger. Tout est géré par ce que Microsoft appelle « la fabrique ». C'est elle qui alloue les capacités (en fonction du nombre d'instances déterminé dans le fichier de configuration), gère l'équilibrage de charge, la récupération en cas d'incident, la réplication de données...
« Votre code sera capable de supporter la charge, quelle qu'elle soit »
[[page]]
La version de prévisualisation d'Azure permet aujourd'hui de monter jusqu'à deux instances ; dans la version finale, l'éditeur du logiciel déterminera librement le nombre d'instances dont il pensera avoir besoin - sachant que cela pourra évoluer à la hausse ou à la baisse. « Votre code sera capable de supporter la charge, quelle qu'elle soit », assure-t-on chez Microsoft. La seule contrainte sera la tarification. Celle-ci n'est pas encore finalisée, mais on sait déjà que comme toute offre de cloud, le coût grimpera en fonction des ressources utilisées. D'où l'intérêt, soulignent les architectes, de tout de même bien optimiser le code, pour qu'il consomme le moins de ressources possibles.
L'application tournant dans Azure dispose de sa propre URL (avec une terminaison en cloudapp.net, qui peut être masquée à l'aide d'une redirection), et peut communiquer avec d'autres services accessibles en ligne, grâce aux protocoles Soap ou Rest.
Des tables, des queues et des Blobs dans le « cloud storage » d'Azure
Les données que l'application doit manipuler sont stockées dans le « cloud storage » d'Azure, qui peut prendre trois formes : des tables, des files d'attente de messages et des blobs (Binary large objects, containers pour stocker de gros fichiers binaires, comme des photos ou des vidéos). Chacun de ces formats dispose d'une URL distincte, permettant au développeur d'y accéder librement. Quelques outils, dont un est fourni en guise d'exemple dans le SDK d'Azure, donnent la possibilité de manipuler plus facilement ces données (dont le total est limité à 50 Go dans la 'preview'). Des traitements sur ces données peuvent être effectués de façon asynchrone, dans le nuage, « l'équivalent d'un traitement batch », précise Stève Sfartz.
La grosse difficulté aujourd'hui concerne le débogage des applications. Certes, Azure dispose d'un mode 'préproduction', pour y faire tourner une application avant de la mettre en production, mais on ne peut y déboguer un programme. Il faut donc faire le maximum de tests en local, sachant que le SDK reproduit en local la « fabrique ». Dans ce cas, les données sont stockées dans une base SQL Express, mais il est possible de les charger dans Azure, et d'utiliser un outil tiers comme Fiddler pour examiner les flux, afin d'identifier les points de l'application posant problème. Autre limitation imposée aux développeurs : dans la mesure où Azure s'appuie sur la version 7 du serveur Web IIS de Microsoft, le travail de conception doit s'effectuer sur Vista ou Seven, XP n'étant pas compatible avec IIS 7.
Au final, les choses sont donc plutôt claires, mais cela pourrait se complexifier à l'avenir, avec le support de langages natifs, et la possibilité de déployer dans Azure ses propres machines virtuelles.
Article 6 sur 6
Le développement logiciel peut lui aussi être vert
Oui, il est possible de réduire la consommation électrique en étant plus attentif lors de l'écriture des applications. C'est ainsi qu'Eric Mittelette, responsable du groupe développeurs de la division plateforme d'entreprise chez Microsoft France, a entamé sa session « développement d'applications vertes » aux Techdays'09 de Microsoft qui se sont tenus la semaine dernière à Paris. Tenant davantage du credo que de la méthode, sa déclaration était néanmoins inspirée par plusieurs expériences de développement réalisées wattmètre en main. Plus que de grandes leçons d'algorithmique et de programmation, il a fourni des pistes pour une programmation plus raisonnable.
Ainsi le responsable Microsoft donne un premier conseil aux futurs développeurs verts : se munir d'un wattmètre pour mesurer la consommation des différentes versions de logiciel qu'ils écriront. « Sans mesure on ne peut rien faire », assène-t-il. Il suffit de brancher son PC sur l'appareil de mesure et de jauger la consommation des différentes versions de programmes en exécution. Equipé de la sorte, le développeur dispose aussi de plusieurs outils fournis par l'éditeur pour étudier la consommation des logiciels. Ainsi, dans Seven, l'utilitaire Xperf lance, en ligne de commande, un diagnostic de la consommation du système. Une fois arrêté, il génère un fichier d'informations concernant directement le noyau. Il indique par exemple les points chauds au niveau du processeur ou de l'activité du disque, etc. Powercfg, lui, crée un rapport appelé energy-report qui liste tous les problèmes de consommation identifiés au niveau de la machine et de son système. « On voit que le périphérique USB n'est pas entré en veille quand on l'a demandé, par exemple, indique Eric Vernié, chargé de la relation technique avec les développeurs. Ce document peut aussi signaler que la batterie est en mauvais état. »
La parallèlisation n'est pas toujours une solution
Wattmètre branché sur un portable, les deux responsables Microsoft ont procédé à plusieurs démonstrations de l'impact de certains changements au sein du code sur la consommation énergétique. Ainsi, Vista seul consomme 40 watts. Mais l'affichage d'une fractale de Mandelbrot, image issue d'un algorithme mathématique, fait monter le compteur jusqu'à 51 watts. En parallèlisant le programme pour un fonctionnement sur deux coeurs, la consommation descend à 43 watts en moyenne mais avec un pic à 56. Sur 6 coeurs, le même type de phénomène se produit. Conclusion : il est essentiel d'arbitrer entre exécution rapide et consommation.
Moins compliquées, certaines astuces limiteront la gourmandise des programmes. L'utilisation de la fonction P-invoke dans .Net permet, par exemple, lorsqu'on débranche un portable du secteur et qu'il ne fonctionne plus que sur sa batterie, d'arrêter d'éventuelles animations en cours pour économiser l'énergie. On doit aussi préférer un accès direct à la mémoire plutôt qu'une copie d'objets. Enfin, pourquoi faire appel à une fonction mathématique telle que la racine carrée dans une bibliothèque idoine, alors qu'on peut l'écrire simplement en ligne ? Là-encore, la preuve fut faite par le tout puissant wattmètre.
Pour économiser, le code doit aussi savoir gérer les diverses fonctions de mise en veille et de reprise ainsi que les transitions entre les deux états. Il doit résister aux défaillances logicielles, pour éviter la surconsommation d'un redémarrage entre autres. Eric Mittelette évoque par exemple la redondance de services ou de modules comme on la voit apparaître dans Live Mesh. Si un élément crashe, l'ensemble du logiciel retrouve néanmoins 'son chemin' au travers des services restants.
Une question d'équilibre
[[page]]Pour Eric Mittelette, il faut un état d'esprit particulier pour développer plus vert. Dès le départ, on doit comprendre l'impact du logiciel sur la consommation énergétique et limiter l'utilisation des ressources en conséquence. Il faut écrire un code souple, adaptable, pensé, capable de monter en puissance, avec des couches d'abstraction au-dessus des données, etc. Quoique... Encore une fois, pour être manipulées, toutes ces clés requièrent un grand sens de l'équilibre. Ainsi, trop de couches d'abstraction des données vont utiliser un grand nombre de ressources et, au final, nuire à l'efficacité énergétique. La parallélisation du code a, elle aussi, ses limites. La surcharge entraînée par la gestion d'un code réparti sur plusieurs processeurs ou coeurs consomme de la ressource et va finalement nuire aux économies faites en exploitant au mieux la plateforme processeur comme l'expliquait le Gartner dans une de ses études récentes. Enfin, on a souvent le choix entre consommer un peu plus mais moins longtemps ou consommer moins sur une durée plus longue.
Un peu de bon sens ? Eric Mittelette énonce quelques vérités qu'il fallait sans doute rappeler. Il faut ainsi utiliser les ressources adaptées à ce que l'on développe et ne pas écrire une calculette sur 24 coeurs... Il faut parfois prendre le relais du système d'exploitation sur la consommation énergétique. Le responsable Microsoft évoque l'exemple des applications kiosques. Installées dans les magasins, elles restent parfois ouvertes sur des images plein écran toute la journée. Dans ce cas, l'OS les alimente en permanence pour ce type de besoin. Il est intéressant d'imaginer un écran d'accueil allégé en cas de non utilisation prolongée. Parmi les conseils plus pointus, Microsoft rappelle que le timer de l'OS, qui lui permet de garder le contrôle, se déclenche entre 15 et 18 ns. Si une application déclenche un timer en dessous de ce délai, l'OS s'adapte et pour ce faire, il utilise les ressources processeurs à plein. Toujours au niveau du système, plutôt que de laisser tourner le « file system watcher » qui observe en permanence ce qui se passe au niveau du gestionnaire de fichier uniquement pour guetter un type d'événement, mieux vaut s'abonner à cet événement. Il s'agit à la fois de limiter les cycles CPU et de maîtriser les entrées/sorties (en jouant avec les caches par exemple).
Un appel à la bonne volonté de tous les développeurs, sous Windows ou non
Eric Mittelette rappelle qu'avec un portable, 8% de la consommation électrique provient du disque dur. Quant aux disques SSD, réputés moins gourmands puisqu'ils ne 'tournent' pas, Microsoft rappelle néanmoins qu'ils ne s'arrêtent jamais. Limiter les animations, faire attention aux couleurs. Sur les écrans classiques et avec les écrans à Led rétroéclairées, le blanc est plus consommateur que le noir (pour lequel on n'allume pas les pixels).
Pour conclure, Eric Mittelette en appelle à la bonne volonté des développeurs qu'il invite à se doter du fameux wattmètre et à se mettre au travail. « Nous allons créer un forum, un blog, un site pour partager les bonnes pratiques du développement vert. Et que vous travailliez sur Windows, sur Linux, ou un autre OS, cela nous est égal. C'est dans l'intérêt global. »