Windows Vista : gestion des performances et Framework .NET 3.0

Introduction : le volet final

Un système basé sur Windows fraîchement installé est la plupart du temps rapide à démarrer, réactif, en résumé, agréable à utiliser. Mais à la suite des diverses installations, désinstallations, erreurs systèmes en tous genres, ce système avait tendance à devenir lent et instable. Nous avons vu dans la partie précédente que la dégradation des performances, la plus souvent due à « l’encrassement » de la base de registres et aux corruptions de fichiers, devrait se faire beaucoup moins sentir.

En plus de proposer un système plus résistant à l’usure du temps, Microsoft propose aux utilisateurs de profiter de leur clé USB pour accélérer leur système. De quelle manière ? C’est en partie ce que nous vous proposons de découvrir dans cette dernière partie. Puis nous passerons en revue quelques améliorations apportées à Vista et qui concernent la gestion des performances et des problèmes en tous genres.

Nous terminerons ce dossier en nous concentrant sur les nouveautés apportées au Framework .NET 3.0. Regroupées au sein de WinFX, elles devaient à l’origine servir de base au développement de Windows Vista. Parmi elles, vous retrouverez la Windows Presentation Foundation, composant prometteur permettant la création d’interfaces graphiques particulières plus simplement.

Une dernière fois, il est bon de rappeler que les illustrations de ce dossier sont consultables dans l’album photos de ce dernier, accessible ici.

SuperFetch : gestionnaire de mémoire

Gestionnaire mémoire et swapping

Comme vous le savez sans doute, le gestionnaire de mémoire d’un système d’exploitation a pour but de gérer la mémoire vive de façon à ce que le système reste suffisamment réactif, même lorsque la mémoire vive disponible est faible. Pour ce faire, le gestionnaire utilise des algorithmes spécifiques et déplace des données inutilisées en mémoire vers un fichier sur le disque dur. On appelle cette opération le swapping ; elle permet donc au système de donner plus de priorité à une application active qu’à un service s’exécutant en arrière plan.

Windows SuperFetch, gestionnaire de mémoire

SuperFetch est le nom donné au gestionnaire de mémoire de Windows Vista. Selon Microsoft, il utilise un algorithme de recherche léger et sophistiqué pour déterminer quelles données sont fréquemment demandées par l’utilisateur. Ainsi, au fur et à mesure que l’utilisateur utilise son ordinateur, SuperFetch dresse une liste de ce dont l’utilisateur en question a souvent besoin. L’analyse ne se base pas que sur la fréquence d’utilisation des logiciels, mais aussi sur l’heure ou le jour de la semaine. Il est donc logique que plus l’utilisateur se servira de sa machine, plus SuperFetch aura collecté des données.

Une fois les données collectées, SuperFecth utilise la mémoire vive disponible pour y placer des données dont il sait qu’elles seront vraisemblablement utilisées. De cette façon, le données se trouvent déjà en mémoire et un accès à ces données ne passera pas par un accès à une unité de stockage, beaucoup plus lente que la mémoire vive. Le système s’en trouve alors plus réactif.

Windows SuperFetch en pratique

Afin de donner un aperçu des avantages de cette fonction, Microsoft propose l’exemple d’un utilisateur partant pour sa pause déjeuner et de son poste de travail. Alors que l’utilisateur part manger, la machine passe en mode « inactif » (idle). Les programmes de maintenance passent alors en action et le système transfert alors les données des programmes ouverts sur le disque dur pour laisser la priorité aux programmes actifs. Mais lorsque l’utilisateur va revenir de sa pause et qu’il va vouloir utiliser sa machine, l’opération inverse va devoir se faire. Là où un PC sous Windows XP ne va pas être disponible immédiatement, cela devrait être différent avec le même PC sous Windows Vista. Effectivement, dès les tâches de maintenance terminées, SuperFetch, qui sait ce que l’utilisateur fera après cette pause, récupère les données des applications ouvertes pour les replacer en mémoire vive, à l’inverse de Windows XP, qui ne s’en occupe plus jusqu’à ce que le besoin s’en fasse sentir. L’histoire ne dit pas cependant ce qui se passe si les tâches de maintenance ne sont pas terminées quelques minutes avant l’heure habituelle où notre utilisateur a terminé sa pause.

Certains d’entre vous ont souvent fait remarquer que Windows Vista consommait bien plus de mémoire vive que son prédécesseur. Vous savez désormais que la faute en incombe en partie à cette fonctionnalité.

ReadyBoost ou l’utilisation de la mémoire flash

La technologie ReadyBoost est assurément plus connue que SuperFetch. Néanmoins, sans SuperFetch, cette technologie ne pourrait pas exister. Pour faire simple, ReadyBoost consiste en l’utilisation du gestionnaire SuperFetch pour stocker des données couramment utilisées non plus dans la mémoire vive de l’ordinateur, mais dans de la mémoire flash non volatile. Si cette mémoire reste plus lente que la mémoire vive, elle reste néanmoins moins coûteuse que cette dernière et propose des temps d’accès aléatoires plus bas que ceux des disques durs. Ce type de mémoire se place donc entre la mémoire vive et le fichier d’échange placé sur le disque dur.

ReadyBoost en détails

Il va de soit que pour profiter de cette fonction, il faut disposer d’un périphérique proposant d’une part un débit suffisamment élevé et d’autre part assez d’espace libre. Microsoft recommande l’utilisation d’une mémoire flash proposant un débit de 2,5 Mo/s lors de la lecture aléatoire de 4 kb de données et un débit de 1,75 Mo/s pour l’écriture aléatoire de 512 kb.

La taille du cache présent sur la mémoire flash peut varier de 230 Mo à 4 Go, en fonction de la capacité de la mémoire utilisée. Dans l’idéal, Microsoft recommande au minimum l’utilisation d’un cache aussi important que la mémoire vive tandis qu’au-delà d’un rapport de 3:1, les performances devraient être optimales. Bien entendu, les données copiées sur cette mémoire son cryptées grâce à la méthode de chiffrement AES-128. Elles sont par ailleurs compressées à un ratio de 2:1. Comme les données écrites sur la mémoire flash sont la copie des données du disque dur, le retrait de cette mémoire n’occasionnera pas de perte de données et le système recommencera à nouveau à accéder au disque dur.

Image 1 : Windows Vista : gestion des performances et Framework .NET 3.0Image 2 : Windows Vista : gestion des performances et Framework .NET 3.0

Influence sur les performances

Le tableau ci-dessous montre l’influence de ReadyBoost sur une machine équipée de 512 Mo de mémoire vive, tournant sous Windows Vista et sur laquelle on a exécuté une série d’applications destinée à mettre le système sous pression :

Influence de ReadyBoost sur les performances (Source : Microsoft)
Capacité du cache Temps d’exécution (secondes) Augmentation des performances (%)
0 Mo 42,45
512 Mo 27,12 36,12
1 024 Mo 25,21 40,61
2 048 Mo 24,72 41,78

Ce qui ressort de ce tableau, c’est qu’avec une quantité de cache identique à la quantité de mémoire vive installée, ReadyBoost apporte un bénéfice de l’ordre de 33 %, ce qui n’est pas négligeable. Ces données proviennent de Microsoft, et comme toujours, il conviendra de réaliser des tests indépendants pour constater l’augmentation visible des performances.

ReadyBoost en pratique

A l’insertion d’une mémoire flash USB 2.0 telle une simple clé USB 2.0 ou une carte mémoire, Windows propose, via son panneau d’exécution automatique, d’utiliser le périphérique pour ReadyBoost. Dans le cas où la mémoire convient pour la mise en place de cette technologie, il est possible d’allouer plus ou moins de place pour la fonction via la page de propriétés du lecteur logique ajouté automatiquement.

Étant en possession d’une clé USB de 2 Go certifiée ReadyBoost, nous avons voulu constater par nous même les bénéfices de cette fonction. Nous avons décidé de commencer avec un ordinateur portable, équipé d’un Pentium M 740 (1,73 GHz) et de 1 Go de DDR2. Dès l’activation de ReadyBoost sur la clé, la consommation du processeur est passée à 100 % et le système s’est accaparé au moins 60 % des ressources, causant ainsi un net ralentissement sur notre machine. Il a fallu attendre une dizaine de minutes, le temps que le processeur retrouve une charge acceptable. Malheureusement, les bénéfices que ReadyBoost devait apporter ne se sont pas fait sentir. Nous avons alors tenté avec une machine de bureau, animée par un Athlon 64 3000+ (1,8 GHz) et 1 Go de DDR. Point positif, l’activation de la fonction n’a pas provoqué de montée en charge du processeur. Nous avons alors lancé une série de quatre applications presque simultanément plusieurs fois afin de constater le temps de chargement et pour que le mécanisme de cache fasse son travail. Effectivement, après quelques lancements, on a pu observer que la LED de la clé, signe de son activité, clignotait, ce qui signifiait que des données étaient lues ou écrites. Nous avons recommencé notre test et nous avons obtenu des gains. Des gains infimes certes, mais suffisants pour être détectés alors même que le temps de chargement des applications était déjà assez court.

Nous avons retenté le test sur notre PC portable et à chaque essai nous nous sommes heurtés au même problème. Quelle est la cause de ce comportement ? En dernier recours, nous avons remis les pilotes Microsoft pour la gestion de l’USB à la place de ceux d’Intel, pourtant plus récents. À partir de là, les problèmes ont disparus et nous avons pu clairement distinguer les bénéfices apportés par cette fonction. La cause était donc les pilotes pour l’USB d’Intel ?

ReadyDrive ou l’utilisation des disques durs hybrides

Si vous êtes un lecteur assidu des actualités sur PPC, vous n’avez pas pu échapper à celles sur les disques durs hybrides. Pour rappel, les disques durs hybrides sont des disques durs traditionnels affublés d’une mémoire flash non volatile destinée à améliorer leurs performances pour les opérations nécessitant des temps d’accès réduits. En plus de proposer des performances supérieures, les disques durs hybrides devraient permettre d’économiser de l’énergie puisque la mémoire flash est très peu consommatrice d’énergie, contrairement aux disques durs classiques, qui possèdent des parties mobiles. Les données souvent demandées peuvent ainsi être placées dans le cache et les données à écrire peuvent d’abord être écrites dans le cache avant d’être transférées sur le disque.

Accélérer le démarrage du système

Comme pour ReadyBoost, SuperFetch se sert de cette mémoire non volatile pour augmenter les performances de l’ordinateur. Mais là où tout devient plus intéressant, c’est que ce type de disque peut permettre d’améliorer le temps de démarrage du système. De quelle manière ? Lorsque le système est en cours de fermeture, et avant l’arrêt de la machine, ReadyDrive copie sur la mémoire non volatile des données requises pour le démarrage ; au démarrage suivant, les données sont accessibles plus rapidement que si elles sont lues à partir du disque dur, et le disque dur peut lire d’autres données en parallèle.

Augmentation générale des performances

Il faut s’en douter, sous Vista, la mémoire flash est utilisée de la même façon que pour ReadyBoost. Ainsi, Microsoft a pu constater une amélioration des temps de chargement de trois de ses applications, en l’occurrence Outlook, OneNote et PowerPoint, par rapport à un disque dur traditionnel. Les tests ont été réalisés dans divers environnements logiciels :

  • démarrage à froid (comprenez : un système frais) ;
  • démarrage après une utilisation normale ;
  • démarrage après une utilisation intensive.

Observez les graphiques, ils se passent de commentaire. Notez toutefois que les données proviennent de Microsoft et que les tests on été réalisés avec un prototype de disque hybride.

Enfin, il faut signaler que les tests de Microsoft ont montré une augmentation de l’autonomie de la machine de test utilisée. Cette augmentation est obtenue grâce à l’augmentation de la durée durant laquelle les plateaux tournent à vitesse réduite, voire la durée durant laquelle le disque est en veille.

Détection des performances : WinSAT

A la fin de l’installation du système, une fois le compte administrateur créé, un outil un peu particulier est lancé avant que l’utilisateur puisse ouvrir sa session. Il s’agit d’un outil qui réalise un test de performances de la machine hôte afin de configurer Vista pour son utilisation future. Ce programme, appelé Windows System Assessment Tool (ou WinSAT), attribue une note à la machine une fois son test terminé. Cette note, ou plutôt cet indice, a été baptisé Windows Experience Index. Contrairement à ce qu’on pourrait penser, cette note ne reflète pas les performances globales de l’ordinateur, mais seulement sa capacité à profiter des améliorations et des nouvelles fonctionnalités de Vista, comme Aero par exemple.

Détails sur le Windows Experience Index

Afin de décerner une note au PC, WinSAT effectue plusieurs tests. Sont concernés le processeur, le disque dur, la mémoire et la carte graphique. Chaque test retourne une note, située généralement entre 1 et 6. Comme l’échelle de Richter, cette échelle a un début, mais pas de fin, les performances des machines étant en constante évolution… Il semblerait ensuite logique de faire la moyenne des notes des tests pour attribuer une note finale, mais il en va en fait autrement. Le Windows Experience Index correspond en fait à la note la plus basse obtenue parmi les tests. Ainsi, dans le cas extrême où tous les tests retournent une note supérieure à 5, sauf celui de la carte graphique qui retourne 1 (une GeForce MX au milieu d’un Core 2 Duo, de 2 Go de DDR 2 et d’un Raptor, ça fait toujours tâche), le WEI de cette machine sera de 1. C’est d’ailleurs pour cette raison que ce score est appelé « Indice de base » dans la version française de Vista. Cela peut paraître insensé, mais une fois qu’on sait à quoi sert cet indice, on comprend que cette méthode n’est pas dénuée de sens.

WinSAT : indice de base et tests

Utilité de l’indice

Avec cet indice, Vista est alors en mesure de régler le système pour qu’il soit le plus rapide (ou le moins lent, c’est selon) possible. Par exemple, un score de base insuffisant privera l’utilisateur de l’interface Aero. La moyenne des notes est plus représentative des performances générales de la machine, mais ici, ce qui compte, c’est l’identification du périphérique qui ralentira le plus le système. En plus d’être utile pour Vista, cet indice peut servir aux jeux, qui peuvent à leur tour adapter leur configuration en fonction des performances de la machine. Bien sûr, il est toujours possible de modifier les réglages par la suite. Le tableau ci-dessous donne des indications sur les notes allant de 1 à 5 :

Indice de base (Windows Experience Index)
NoteDescription
1.0Indice minimum pour faire tourner Windows Vista. Les machines qui se voient attribuer ce score sont à même de faire tourner Vista sans le thème Aero.
2.0C’est l’indice minimum pour faire tourner Aero. Cependant, certains ralentissements peuvent se produire, notamment dans le cas où un grand nombre de fenêtres sont ouvertes. Ces chutes de performances seraient imputables dans la plupart des cas à la mémoire graphique, trop lente ou en trop petite quantité.
3.0Ce score est le minimum pour recevoir le logo Windows Premium. Aero est automatiquement activé sur ces machines, mais certaines chutes de performance peuvent encore se faire sentir à de rares moments.
4.0Ces machines sont à même de profiter de tous les raffinements de l’interface graphique ainsi que de la lecture des contenus HD.
5.0Avec un score de base de 5.0, le système devrait être parfaitement à l’aise. Microsoft considère d’ailleurs que ces PC font partie du haut de gamme actuel.
6.0 et +Pour l’instant, il semble qu’aucune machine ne rentre dans cette catégorie, mais l’indice de base est prévu pour évoluer avec les performances des machines.

Remarquez qu’un score de 3 signifie que le système est à même de faire tourner Vista avec Aero activé, mais il ne faut pas en déduire pour autant que cette machine pourra faire tourner les jeux récents. Pour information, notre machine principale de test, équipée d’un Athlon 64 3500+, d’une GeForce 6800 GT, de 2 Go de SDRAM-DDR et d’un disque dur Hitachi 120 Go S-ATA a obtenu un score de 4,2 sous Windows Vista 32 bits, contre 4,1 sous Windows Vista 64 bits. Le score le plus bas est celui du processeur…

Image 3 : Windows Vista : gestion des performances et Framework .NET 3.0Image 4 : Windows Vista : gestion des performances et Framework .NET 3.0

Les tests de WinSAT

Comme nous l’avons expliqué précédemment, les tests s’effectuent sur différents composants de base de la machine. Voici les tests menés par WinSAT :

  • tests CPU :
    1. compression et décompression utilisant l’algorithme LZW
    2. compression et décompression utilisant l’algorithme de Windows Vista pour l’hibernation, ReadyBoost…
    3. chiffrement et déchiffrement
    4. calcul de tables de hachage
    5. encodage de vidéo
  • le test de mémoire mesure la bande passante de la mémoire. Mais la quantité de mémoire vive installée peut aussi limiter le score. Ainsi, une quantité de 256 Mo limite le score à 1, tandis qu’une quantité inférieure à 1,5 Go limite le score à 4,5, et ce, indépendamment de la bande passante.
  • le test graphique s’appuie sur la détection de la bande passante de la mémoire vidéo et de la capacité à faire tourner Aero. Notez que si le pilote de la carte graphique n’est pas compatible WDDM, la note maximale est de 1,9. Rappelons qu’un pilote WDDM est nécessaire pour faire fonctionner correctement de Desktop Window Manager.
  • le test de jeu mesure le nombre d’images par secondes que la carte graphique peut fournir avec diverses textures. Une carte ne supportant pas DirectX 9.0 se verra attribuée une note de 1.0, tandis qu’une carte supportant cette API et dont le pilote est compatible WDDM aura au minimum un score de 2.0.
  • le test du disque dur mesure le débit que peut fournir le disque dur.

Notez qu’il est possible de lancer séparément chaque test en appelant le programme winSAT.exe sur la ligne de commande (en administrateur).

Veille, performances, fiabilité et Bilan

Mise en veille

A la place de la traditionnelle mise en veille, aussi connue sous le nom de Suspsend-to-RAM ou de l’hibernation, connue sous le nom de Suspend-to-disk, Microsoft propose avec Windows Vista un mode de mise en veille hybride. Ce mode, aussi disponible sous Linux, correspond en fait en une combinaison du mode de mise en veille classique et de l’hibernation : lors de la préparation pour la mise en veille, Windows crée un fichier d’hibernation sur le disque dur (il copie le contenu de la mémoire dans un fichier sur le disque dur) et passe ensuite en mode veille classique. L’avantage de ce système est double : la reprise après une mise en veille est assez rapide, et dans le cas d’une coupure de courant, Windows restaure la session en chargeant le fichier d’hibernation. Notez par ailleurs que le temps de réveil a été grandement réduit et que la mise en veille est l’action par défaut lorsque l’utilisateur choisit d’éteindre sa machine.

Défragmentation automatique

Petit changement par rapport à Windows XP, mais qu’il est intéressant de préciser : le défragmenteur de disque est désormais prévu pour s’activer automatiquement à une certaine heure. Il faut évidemment trouver un créneau horaire valable, mais que cette planification soit déjà active à l’installation de Vista permettra aux personnes qui ignorent tout de la fragmentation des systèmes de fichiers de conserver des performances acceptables. En attendant un système de fichier qui ne se fragmente plus…

Observateur d’évènements, suivi des performances et fiabilité

Observateur d’évènements

Si les outils d’administration sont toujours présents, certain ont grandement été revus. Ainsi, l’observateur d’évènement propose désormais bien plus d’informations. Il est par ailleurs complété par un module affichant une foule d’information sur les applications Windows telles l’aide, ReadyBoost, l’UAC… En cas d’erreur d’une application, il est possible d’aller consulter l’aide en ligne en rapport avec cette erreur. Pour l’instant, la base est particulièrement incomplète et elle ne nous a pas aidés à résoudre un problème avec l’aide.

A côté du moniteur de performances, on retrouve en plus un moniteur de fiabilité. Sur sa page d’accueil, ce module montre en l’utilisation des ressources que son le CPU, la RAM, le disque dur et la carte réseau en temps réel. Le moniteur de fiabilité indique sur un graphe en fonction de la date les multiples évènements que le système a pu rencontrer : erreurs matérielles, erreur diverses, erreurs d’application ou encore l’installation d’un logiciel. D’un coup d’œil, il est possible de repérer les problèmes graves et répétitifs et d’agir en conséquence.

L’outil « Rapports et solutions aux problèmes »

Même si Vista est censé être plus stable que ses prédécesseurs, il n’est pas à l’abri d’erreurs logicielles. Qu’il s’agisse du plantage d’une application ou de l’installation d’un pilote incompatible, l’assistant « Rapport et solutions aux problèmes » propose d’envoyer un rapport à un serveur dédié afin de vérifier s’il n’y a pas une solution au problème posé. Dans notre cas, l’assistant a surtout envoyé des rapports concernant des applications qui ont des soucis de compatibilité, et nous a quelque fois conseillé de télécharger la mise à jour disponible sur le site de l’éditeur. Digne successeur du défunt Dr Watson, il sera certainement utile aussi bien aux utilisateurs novices qu’aux utilisateurs avancés.

Bilan

SuperFetch et ReadyBoost, deux technologies qui devraient permettre d’améliorer les performances des machines sans contraindre les utilisateurs à faire des dépenses excessives. Plusieurs tests sur Internet ont montré que les bénéfices de ReadyBoost étaient bien réels. Dans la pure logique des choses, ReadyDrive devrait faire aussi bien avec les disques durs hybrides. En ce qui concerne WinSAT, il faut juste espérer que la note décernée par cet outil ne devienne pas un argument de vente, tant elle ne représente pas les capacités globales de la machine. Enfin, vous avez pu constater qu’il est désormais non seulement beaucoup plus simple de détecter un problème logiciel, mais aussi d’en trouver la cause, et même la solution, grâce aux outils d’administration enrichis. Pour l’instant ces derniers ne nous ont pas été énormément utiles, mais attendons que la base de connaissances soit plus fournie avant de conclure trop hâtivement.

Introduction au Framework .NET 3.0

Avant la « remise à zéro », Longhorn devait être bâti sur WinFX, une brique fondamentale du système. Mais il en a été décidé autrement. Désormais, WinFX, intégré pour l’occasion au Framework .NET 3.0 est une couche pour Vista, mais aussi pour Windows XP et Server 2003. La version finale de ce Framework est livrée avec Windows Vista.

Avant de nous lancer dans la description des nouveautés du .NET Framework 3, vous devez savoir ce qu’est un framework, et ce qu’est le Framework.NET. Un framework est tout simplement un ensemble de bibliothèques permettant le développement d’applications. Le framework de Microsoft est donc un ensemble de bibliothèques associé à une machine virtuelle, la Common Language Runtime. Plusieurs langages de programmation sont disponibles dont C#, C++, J# et Visual Basic .NET. Parmi les applications qui utilisent le Framework .NET, on peut citer le Panneau de Contrôle Catalyst d’ATI, Notebook Hardware Control que les possesseurs de portables doivent connaître ou encore Paint .NET. Ces trois logiciels utilisent les versions précédentes du Framework.

Maintenant, vous devez connaître le contexte dans lequel cette version du Framework arrive. En fait, cette version amorce la fin de l’évolution que Microsoft avait lancée avec le Framework .NET 1 et 2. La version 3 s’appuie sur la version antérieure et aucun des éléments qui étaient disponibles dans la version 2 n’ont changé. En conséquence, les applications réalisées avec la version 2 du Framework continueront de fonctionner sans problème. Aux fonctionnalités existantes, Microsoft a entre autre ajouté les quatre composants suivants :

  • Windows Presentation Foundation
  • Windows Communication Foundation
  • Windows CardSpace (anciennement InfoCard)
  • Windows Workflow Foundation

Ces composants sont censés répondre aux besoins de certains utilisateurs, mais aussi à ceux des programmeurs. Ainsi, Microsoft a tenté de simplifier la gestion des communications, la création des fenêtres ou encore l’implémentation de services Web. Vous l’aurez compris, cette version est une évolution logique de ce que l’éditeur a entrepris depuis 2002 avec la version 1 du .NET Framework.

Windows Presentation Foundation (Avalon)

Cette partie du Framework .NET permet de présenter et représenter les données à l’utilisateur. Avant WPF, il était impossible d’afficher et de manipuler certains types de données dans les interfaces graphiques. Ainsi, pour créer une fenêtre, des contrôles et d’autres objets classiques d’une interface graphique Windows, il valait mieux choisir les Windows Forms. Si l’interface devait afficher des documents, les Windows Forms (introduits avec le Framework .NET 1) pouvaient suffire mais dans le cas d’un document à la mise en page prédéfinie, le format PDF était une meilleure solution. Pour l’affichage d’objets en deux dimensions ou des images, GDI+, aussi accessible via les Windows Forms, pouvait convenir. Enfin, Direct3D était utilisé pour les graphismes en 3D, et la lecture des flux audio et vidéo en revenait à Windows Media Player. Cette situation compliquée existe pour certaines raisons historiques.

Pour mettre fin à cette situation compliquée, Microsoft a développé un nouveau modèle, la Windows Presentation Foundation, ou WPF. L’éditeur précise bien que WPF est destiné à cohabiter avec les composants existants. Comparée aux Windows Forms, WPF s’appuie sur DirectX 9.0c et c’est ce qui permet d’afficher des éléments en 3D et de gérer plus efficacement la reconstruction de la fenêtre et de son contenu. Avec GDI et GDI+, l’instruction repaint() obligeait la fenêtre à se redessiner, avec les inconvénients qu’on connaît lorsque le système était très sollicité ; désormais, seuls les changements visibles seront appliqués. Cette technologie va bien entendu profiter à Windows XP et Server 2003. Comme nous l’avons déjà dit, la cohabitation entre WPF et les autres technologies est assurée et il est d’ailleurs possible d’insérer un composant Windows Form dans une fenêtre créée avec WPF ou de réaliser l’inverse. Grâce à cette possibilité, l’adoption de WPF se fera en douceur, surtout que la quantité de contrôles disponibles est encore limitée comparée à celles des autres technologies. Voici les éléments qui peuvent être affichés dans une application construite avec WPF :

  • Graphismes 2D et 3D
  • Vidéo
  • Documents mis en forme
  • Annotations

WPF a été l’occasion pour Microsoft d’introduire un langage de description pour les interfaces graphiques, appelé XAML pour eXtensible Application Markup Language. XAML définit un ensemble d’éléments XML comme les Boutons (Button), les zones de texte (TextBox), les Label et plein d’autres contrôles qui donnent ses caractéristiques à une interface. Il est évidemment possible d’obtenir le même résultat avec du code en C# (ou un autre langage), mais un langage dérivé du XML propose une approche plus simple qu’un langage de programmation. Par ailleurs, pour séparer le codage de l’application de la création de l’interface, Microsoft a développé un outil baptisé Expression Interactive Designer qui produit le code XAML correspondant à l’interface. Ce code peut par la suite être importé dans Visual Studio par le programmeur qui se chargera de coder les actions.

Windows Presentation Foundation (suite)

Dans la majorité des cas, les applications construites avec WPF fonctionneront seules, elles ne requerront pas de navigateur Internet ou une autre application tierce. Mais il est aussi possible de faire tourner des applications dans Internet Explorer ; on les appelle les XAML Browser Applications ou XBAPs.

Arrêtons-nous quelques instants sur le format XPS (pour XML Paper Specification). Ce format, dont le nom de code était Metro, est analogue au format PDF d’Abode. Concrètement, un document XPS, créé par n’importe quelle application sous Windows, sera identique au fichier source et consultable sur toute machine équipée d’un lecteur. Contrairement au format PDF, XPS est exclusivement destiné aux documents statiques, c’est-à-dire qui n’incluent ni interactivité, ni liens dynamiques. Pourquoi l’évoquons-nous dans cette partie ? Tout simplement parce que ces documents sont constitués de XAML. Seulement quelques fonctionnalités du XAML sont utilisées mais cette caractéristique facilite l’intégration de ces documents dans une application WPF. Dans Windows Vista, il est possible de créer un document XPS en l’imprimant avec l’imprimante virtuelle (comme pour le PDF).

Nous avons indiqué que les applications XBAPs sont conçues pour s’exécuter dans un navigateur Internet avec un grand nombre des capacités des applications autonomes. Cependant, ce type de programme requiert WPF. Comment faire pour les systèmes qui ne peuvent pas accueillir WPF comme Windows 2000, MacOS ou encore Linux ? Microsoft a partiellement répondu à la question en présentant il y a peu de temps le WPF/E (E pour everywhere : « partout »), qui ne fait pas partie de Framework. WPF/E se présentera en fait sous la forme d’un client léger qui permettra d’exécuter les applications, mais sans la gestion des graphismes et documents en 3D, et de l’accélération graphique. Pour l’instant, un client pour Windows (Windows Mobile inclus) et un autre pour MacOS sont en cours de développement. Microsoft n’a pas prévu de développer de client pour Linux, laissant la possibilité à une entreprise tierce d’en proposer un.

Enfin, pour ne pas qu’il y ait de confusion, rappelons que, puisque Windows Vista n’est pas basé sur Win FX, Aero ne repose pas dessus, bien que les technologies possèdent quelques similarités.

Si vous êtes curieux, sachez qu’on commence à voir apparaître des applications qui utilisent cette couche de présentation. Derniers exemples en date, le lecteur RSS de Microsoft, UniveRSS, à l’interface en 3D, qui montre les potentiels de cette nouvelle couche, mais aussi le catalogue virtuel de la FNAC.

Windows Communication Foundation (Indigo)

Dans la même optique que WPF pour les interfaces graphiques, cette partie du Framework vise à homogénéiser la conception et le développement d’applications communicantes, principalement orientées service. Effectivement, de nombreuses technologies existent aujourd’hui pour la création d’applications de ce type mais chacune possède ses particularités, ses mécanismes, ses concepts et ses modèles de développement. Ainsi, dans l’optique de rassembler les points communs de ces technologies au sein d’un même ensemble, les ingénieurs de Microsoft ont donné naissance à la Windows Communication Foundation (WCF). Cette technologie permet de s’affranchir de la méthode de transport des informations pour se focaliser sur les données à échanger.

WCF remplace donc plusieurs technologies Microsoft utilisées auparavant pour construire des applications distribuées et des services Web : ASP.NET Web Services, .NET Remoting, Enterprise Services, System.Messaging et WSE. Evidemment, les applications qui utiliseront WCF pourront communiquer avec les applications ASP.NET Web Service (les deux technologies prenant en charge SOAP) et les applications basées sur Enterprise Services ou WSE. Par ailleurs, BizTalk Server pourra aussi utiliser cette technologie.

Rappelons tout de même ce que sont ces technologies. SOAP est un protocole de transmission des messages basé sur XML souvent utilisé pour effectuer des requêtes RPC (Remote Procedure Call). WSE est l’abréviation de Web Services Enhancements ; c’est un ajout au Framework .NET qui permet aux développeurs de construire des services web sécurisés et basés sur les derniers standards en vigueur.

Il faut souligner que les applications conçues avec les technologies antérieures continueront à fonctionner et qu’il ne sera donc pas obligatoire de les recoder, excepté pour les applications codées en .NET 1.0 et 1.1.

Windows CardSpace (InfoCard)

Que ce soit sur Internet ou un intranet, un utilisateur doit s’authentifier, c’est-à-dire présenter son identité, pour accéder à des données. La plupart du temps un nom d’utilisateur et un mot de passe suffisent, mais une même personne physique en possède souvent plusieurs. En d’autres termes, une seule personne physique possède plusieurs identités numériques, et ces dernières ne contiennent pas toutes des informations de même nature. Cela peut être du texte, une image, voire un son. Lorsqu’un utilisateur accède à une application ou à une zone à partir d’un navigateur Web, il est donc obligé de présenter une identité numérique valide qui contient des données privées. Dans la majorité des cas, cette identité est représentée par un jeton de sécurité qui peut donc être dans différents formats et qui peut être crypté ou non.

Après l’échec de Passport où Microsoft a admis que centraliser toutes les informations essentielles des utilisateurs n’était pas forcément la meilleure chose à faire, l’éditeur propose désormais à l’utilisateur de stocker ses différentes identités dans une partie protégée de son système. En collaboration avec d’autres sociétés, Microsoft a défini un méta système d’identité (système de systèmes d’identité) qui permet à un utilisateur d’utiliser ses différentes identités. Ce système repose sur des technologies de services Web ouvertes et repose sur quatre points importants :

  • Le support de n’importe quelle identité numérique : voir plus bas
  • Un contrôle de l’identité numérique de l’utilisateur : une interface simplifiée constituée de cartes qui représentent chaque identité est présentée à l’utilisateur.
  • Le remplacement de l’identification par mot de passe sur le Web : les mots de passe associés à un nom d’utilisateur sont la principale méthode d’authentification d’un utilisateur et cette dernière, dépendant uniquement de l’utilisateur, reste vulnérable, notamment face au phishing. CardSpace a été pensé pour remplacer cette authentification en utilisant un mécanisme plus sécurisé.
  • Augmenter la confiance de l’utilisateur dans les applications distantes : en réduisant les authentifications par mot de passe, les menaces d’usurpation d’identité (phishing par exemple) seront, espérons-le, moins grandes.

Avant de poursuivre, il convient de définir trois termes.

  • Utilisateur : aussi appelé « sujet », l’utilisateur est l’entité qui possède une identité numérique. C’est le cas d’une personne physique, mais aussi d’une entreprise, d’une application ou d’une machine.
  • Fournisseur d’identité : il fournit une identité à l’utilisateur. Dans le cas d’un réseau d’entreprise, le fournisseur d’identité peut être Active Directory. Dans le cas d’une inscription sur un site Web, dans la plupart des cas, le fournisseur d’identité est l’utilisateur puisqu’il définit lui-même son nom d’utilisateur et son mot de passe. Les identités créées par le fournisseur d’identité peuvent comporter des informations diverses et garantir de différentes manières que l’utilisateur est bien ce qu’il prétend être.
  • Partie utilisatrice : c’est l’application qui se fie d’une façon ou d’une autre à une identité digitale. Cette partie utilisera fréquemment une identité pour authentifier un utilisateur et lui donner des droits d’accès. Une partie utilisatrice pourra aussi utiliser l’identité pour obtenir un numéro de carte bancaire par exemple. Vous l’avez compris, les parties utilisatrices peuvent être des banques, des magasins en ligne ou des sites d’enchères et plus généralement, des applications qui acceptent des requêtes via des services Web.

Windows CardSpace (suite)

La figure ci-dessous montre le fonctionnement de CardSpace :

Tout commence lorsqu’un utilisateur accède à une partie utilisatrice via une application compatible avec CardSpace.

  1. Etape 1 : l’application va d’abord chercher à connaître le type de jeton de sécurité demandé par la partie utilisatrice.
  2. Etape 2 : une fois que les détails concernant le jeton de sécurité on été reçus, l’application transmet ces informations à CardSpace et lui demande une identité appropriée. CardSpace va alors afficher la liste des identités de l’utilisateur à l’écran, sous forme de cartes. Les cartes ne correspondant pas aux exigences de la partie utilisatrice sont grisées afin de simplifier le choix de l’utilisateur. Afin de bloquer tout programme malintentionné et pour montrer à l’utilisateur que son espace de travail est sécurisé, CardSpace est affiché au premier plan sur l’écran et dans une zone protégée. Il est impossible de récupérer une information, que ce soit une capture d’écran, une frappe au clavier ou le mouvement de la souris.
  3. Etape 3 : comme la carte ne contient aucun jeton de sécurité mais ne renferme que les informations nécessaires pour en demander un, CardSpace utilise le contenu de la carte sélectionnée pour demander un jeton de sécurité au fournisseur d’identité émetteur de la carte.
  4. Etape 4 : une fois le jeton de sécurité reçu, il est envoyé à la partie utilisatrice. Notez que CardSpace ne connaît pas le format du jeton qu’il transmet.

Jetons un coup d’œil à ces cartes. Que contiennent-elles ? Elles contiennent tout simplement :

  • une image au format JPEG ou GIF représentant la carte que l’utilisateur voit ;
  • un ou plusieurs types de jeton de sécurité que le fournisseur d’identité peut demander ;
  • une URL pour un ou plusieurs points d’entrée chez le fournisseur d’identité qui peut être utilisée pour demander un jeton de sécurité ;
  • une URL identifiant un point d’entrée chez le fournisseur d’identité dont il est possible d’obtenir la politique de sécurité. C’est cette information qui indique à CardSpace comment les requêtes envoyées au fournisseur d’identité doivent être authentifiées ;
  • la date et l’heure de la création des informations ;
  • un identifiant unique pour la carte.

CardSpace est lié à plusieurs autres technologies Microsoft, notamment WCF, Active Directory et Windows Live ID. Comme CardSpace s’appuie sur les normes WS-Security et WS-Trust, il utilise WCF pour la communication. Par ailleurs, Active Directory et Windows Live ID, le système d’authentification de l’éditeur, anciennement Passport, seront modifiés pour faire office de fournisseur d’identité. Enfin, Internet Explorer 7 laissera les utilisateurs s’appuyer sur CardSpace pour gérer leurs identités numériques.

Windows Workflow Foundation, ClickOnce et Bilan

Windows Workflow Foundation

Avant de nous plonger dans cette dernière partie du Framework, il est bon de rappeler ce qu’on nomme ici un workflow. D’après Wikipedia, un workflow, ou flux de travail en français, est en fait la modélisation et la gestion informatique des tâches à accomplir ainsi que des différents acteurs impliqués dans la réalisation d’une procédure d’entreprise. Le moteur de workflow, quant à lui, est un dispositif logiciel qui permet d’exécuter des définitions de workflow.

Microsoft Windows Workflow Foundation a été conçu pour gérer les workflow dans les environnements Windows. WF propose un framework pour construire des workflow dans les applications Windows, lesquels pourront coordonner d’autres applications, et pourquoi pas des personnes.

Windows Workflow Foundation est un moteur de workflow qui offre la prise en charge de deux types de workflow :

  • les workflow séquentiels qui exécutent les activités dans un ordre défini. On peut le comparer à un organigramme classique et il peut donc comporter des branchements, des boucles et d’autres structures de contrôle.
  • les workflow à machine à états qui implémentent une machine à état finis. Une fois encore, cette partie du Framework est destinée à compléter certaines technologies déjà existantes. On peut citer BizTalk Server, Exchange Server, qui intègrent tous les deux une technologie de workflow. Seulement, ces technologies sont différentes WF arrive à point nommé pour proposer une technologie unique.

Un petit mot sur ClickOnce

Sans faire partie des grandes nouveautés de ce Framework (il est présent depuis la version 2), il convient néanmoins de rappeler à quoi correspond la fonctionnalité ClickOnce. En effet, cette technologie de déploiement d’applications basées sur les Windows Forms est à mettre en relation avec la gestion des droits utilisateurs sous Vista. Il faut savoir que les applications .NET fonctionnent dans une machine virtuelle, appelée CLR (pour Common Language Runtime) et que chaque application possède sa propre CLR, isolée des autres. Grâce à la technologie CAS (Code Access Security), les CLR contrôlent les permissions de code des applications. Certaines permissions sont prédéfinies et il est possible de rajouter les siennes.

Comparable à une application livrée avec un installeur MSI, une « application ClickOnce » s’installe (si on choisit de l’installer) en mode utilisateur uniquement. L’installation de ce type d’application a donc un impact plus que limité sur le système. Elle s’exécute logiquement dans une boîte sécurisée (sandbox) et ses permissions sont gérées grâce à la technologie CAS. Les informations concernant les dépendances, le type de support d’installation préconisé et les permissions sont contenues dans un manifeste XML livré elle. Enfin, ClickOnce intègre une fonctionnalité plutôt pratique de mise à jour automatique au démarrage de l’application.

Bilan

Comme dans le cas du framework pour les pilotes, Microsoft mise une nouvelle fois sur la simplicité et l’abondance d’outils pour séduire les programmeurs et augmenter la qualité des produits fournis par les éditeurs tiers. Quand on voit qu’assez peu d’applications utilisent les versions antérieures du Framework .NET (en comparaison avec le nombre d’applications disponibles), on peut se demander si cette nouvelle mouture remportera le succès escompté. Mais le fait qu’elle soit livrée avec Vista, et la curiosité et l’enthousiasme qu’elle semble susciter sont autant d’atouts qui pourraient contribuer à son adoption.

Conclusion générale

Nous voilà arrivés au terme de la quatrième et dernière partie de ce dossier sur Windows Vista. Vous devez donc être en mesure de répondre à l’ultime question : « Windows Vista est-il un skin de Windows XP ». Par ailleurs, nous espérons qu’au vu de tout ce que vous aurez pu lire, vous vous serez fait une idée sur cette nouvelle mouture et que vous savez désormais si elle vous convient ou pas. Vous pouvez d’ailleurs échanger vos avis sur le forum dédié à ce dossier. Mais auparavant, voici un petit récapitulatif des nouveautés et des changements à divers niveaux que vous avez pu découvrir tout au long de ces quatre semaines :

  • au niveau du noyau tout d’abord, avec une gestion de la mémoire revue, un moteur de transactions appliqué à NTFS (TxF) et à la base de registres (TxR), et les sécurités liées au noyau que sont l’ASLR et la Kernel Patch Protection. Mais nous avons aussi évoqué le nouveau modèle de pilotes, la Windows Driver Foundation, qui remplace le vieillissant Windows Driver Model datant de Windows 98, et dont la principale caractéristique est d’écarter au maximum les pilotes de l’espace d’adressage noyau afin de rendre le système plus stable.
  • au niveau des pilotes vidéo et audio avec deux modèles de pilotes qui débutent leur carrière : le Windows Display Driver Model (ancien LDDM) et l’UAA. Reposant sur le modèle de la WDF, les pilotes WDDM sont séparés en deux parties, l’une en espace noyau, l’autre en espace utilisateur. De plus, grâce aux pilotes WDDM, le processeur graphique devient une ressource partagée, au même titre que le processeur, ce qui permet l’exécution de plusieurs applications 3D sur le même bureau. Ce bureau, dont le gestionnaire, le Desktop Window Manager nécessite un pilote WDDM, tout comme Direct3D 10, pour s’exprimer totalement. Du côté de l’audio, le bilan est tout de même moins positif puisqu’on ne peut pas ignorer la disparition de l’accélération audio. Néanmoins, on sait que la majorité des utilisateurs de PC utilisent la puce intégrée à la carte mère pour la diffusion du son, et c’est à ces personnes que Microsoft a pensé en premier lieu. Il est toujours possible de récupérer une accélération matérielle, et le choix de développer une solution est entre les mains des constructeurs.
  • au niveau des communications, avec la nouvelle pile réseau, qui prend en charge nativement la version 6 du protocole IP, et qui est censée être plus robuste tout en donnant de meilleures performances. Il ne faut pas oublier la Windows Filtering Plateform, un ensemble d’API destiné au développement de solutions de sécurités et que Microsoft utilise pour son propre pare-feu intégré, Windows Firewall. C’est fort logiquement que nous avons abordé la sécurité du système, avec la fonction la plus connue, l’UAC, complétée par d’autres technologies qui tendent à diminuer au maximum le risque d’infection du système par un programme néfaste.
  • au niveau des performances, avec l’utilisation des mémoires flash non volatiles pour accélérer le système et des outils de gestion destinés à prévoir et à comprendre les chutes de performances. Enfin, bien que le Framework .NET 3.0 ne fasse pas partie intégrante de Windows Vista, cela aurait été une erreur que de l’oublier, tant son développement a été lié à celui de ce système.

Nous ne nous répèterons jamais assez : ce dossier, loin d’être complet, avait pour but de dresser la liste d’une partie des changements et des nouveautés apportés à Windows Vista. Il a donc fallu faire des choix et certains n’auraient certainement pas fait les mêmes. Néanmoins, nous espérons qu’à l’issue de ce dossier, vous avez un regard plus connaisseur sur ce système d’exploitation, qui, malgré les critiques, est amené à équiper la majorité des PC dans les années à venir…

👉 Vous utilisez Google News ? Ajoutez Tom's Hardware sur Google News pour ne rater aucune actualité importante de notre site.

Votre Newsletter Tom's Hardware

📣 Souscrivez à notre newsletter pour recevoir par email nos dernières actualités !