L’épopée Windows Vista


Un peu d’histoire

Si, comme moi, vous êtes intéressés par tous les sujets autour de l’informatique et de l’électronique, vous devez être passionnés par l’épopée de Windows Longhorn (devenu Vista).

Il faut dire que l’histoire de l’un des systèmes d’exploitation les plus détestés au monde est pleine de rebondissement. En effet, le développement de Longhorn a commencé en mai 2001, avant même la sortie de Windows XP. Les ambitions de Microsoft pour ce logiciel étaient à l’origine claires: une version mineure du système faite pour attendre la sortie de Windows 7 (à l’époque nommé Windows Blackcomb). Cependant, à mesure que le développement avançait, beaucoup de fonctionnalités destinées à Blackcomb furent ajoutées à Longhorn. Cela mena au redémarrage du développement sur des bases plus stables (.NET Server 2003 SP1) en août 2004, et à la sortie de Vista en novembre 2006.

Revenons un peu sur la phase de développement pré-redémarrage puisque c’est de loin la plus intéressante.

Chez Microsoft (et c’est le cas ailleurs aussi), le développement d’un logiciel est divisé en jalons (que l’on appellera milestones dans la suite de l’article). Longhorn en a eu 7 avant d’être redémarré. De plus, le système est le dernier dont le développement ait été réparti en laboratoires de développement virtuels (LVD en anglais) dont les rôles sont les suivants:

  • Lab01: Base (noyau)
  • Lab02: Réseau
  • Lab03: Serveur
  • Lab04: Management
  • Lab05: Principal (main)
  • Lab06: Bureau (interface utilisateur)
  • Lab07: IIS (Internet Information Service) / COM+ (gestionnaire graphique de sites web)

Ces laboratoires étaient complètement indépendants les uns des autres, d’où les différences notables entre deux versions (builds) ayant les mêmes numéros mais des laboratoires différents.

Par exemple, les builds 4042.main (gauche) et 4042.Lab06 (droite) possèdent le même numéro de version mais ne se ressemblent pas. (Il se trouve, par ailleurs, que l’une appartient au milestone 6 et l’autre au milestone 7, ce qui en fait une version transitoire)

Comme dit précédemment, Longhorn se voulait être une « mise à jour mineure de Windows XP », donc ses premières builds ressemblaient énormément à XP auquel on aurait superposé un thème différent de « Luna ». C’est la cas de la première build à avoir fuité, la 3683.Lab06. Elle comporte trois grandes nouveautés par rapport à XP: la barre latérale (sidebar), des bureaux virtuels (qui seront finalement implantés dans Windows 10) et le thème « plex » (qui était temporaire).

La build 3683.Lab06 est aussi la première à s’identifier comme « Longhorn XP Professional » au lieu de Windows XP Professionnel

Vous aurez peut être remarqué le fond d’écran de cette version qui dit « Longhorn M3 », c’est à dire milestone 3. Il se trouve qu’aucune build antérieure n’a fuité pour le moment (le 26 juillet 2023).

Je vous propose d’étudier les builds majeures de chaque jalon, ainsi que les fonctionnalités qu’elles apportent:

Le milestone 3 a été marqué par une refonte visuelle totale de Windows. En effet, c’est le premier à intégrer un thème différent de « Luna » (thème par défaut de Windows XP), appelé « Plex », destiné à être remplacé par « Aero » plus tard dans le développement. Les premières versions fonctionnelles de DCE (le moteur de rendu de la transparence des fenêtres de Windows Vista) font aussi leur apparition dans ces builds. La build 3718.Lab06_N, une fois les drivers graphiques installés, possède des effets lors de la minimisation et de la fermeture des fenêtres, ainsi que la transparence partielle de ces dernières.

Image provenant, comme la plupart, de betawiki.net (lien en fin d’article)

Le milestone 4 a été marqué par le rebranding total du système, ne faisant plus référence à Windows XP. La build 4011.main (la dernière du jalon) fut la première à ne plus comporter de logos Windows XP, et apporta les fonctionnalités du DCE pour la transparence des fenêtres qui comportaient un bug depuis le début du jalon. L’interface utilisateur Avalon (basée sur .NET framework) est maintenant utilisable avec la nouvelle barre des tâches.

La build 4011.main n’était pas la première à supporter DCE, mais les builds de son jalon la précédent comportaient une version buggée du moteur de rendu

Le milestone 5 a été marqué par l’apparition d’une version fonctionnelle mais toujours buggée de WinFS (un sous-système de stockage basé sur la technologie de SQL Server), de la saisie automatique de données (le « build string », numéro de version en Pig Latin : onghornLay rofessionalPay), d’un nouvel écran de sécurité lorsque l’on appuie sur ctrl-alt-suppr, ainsi que d’une édition « familiale » complémentaire de la version « professionnelle ».

Le milestone 6, malgré son grand nombre de builds en comparaison aux jalons précédents, n’a pas reçu beaucoup de modifications. Il a été marqué par l’addition d’un nouveau thème « aero » utilisant le moteur de rendu DCE pour la transparence « cristalline » des bords de fenêtres, de la vue « carousel »  ainsi que la compatibilité IA-64 (Intel Itanium).

Enfin, le milestone 7, le plus long, fut marqué par le remplacement du thème « Plex » par les thèmes « Slate » et « jade ». C’est le jalon le plus populaire, puisque de nombreux projets de « reboot » de Longhorn prennent pour base la build 4074.idx02. C’est aussi le dernier jalon avant le redémarrage du développement, ce qui implique que toutes les fonctionnalités encore en « test » se trouvent dans la plupart des ses builds (transparence « aero », applications avalon, buddy matchmaker, nouvelles boites de dialogue, nouvelle méthode d’installation de drivers, …)

A droite, le thème « aero » par défaut de Longhorn (après une légère modification pour l’activer) et à gauche une version modifiée pour la version Windows Longhorn The Way It Was Meant To Be (TWIWMTB)

Les fonctionnalités devant être attribuées à Longhorn étaient plutôt floues, si bien que les développeurs ne surent bientôt plus lesquelles étaient destinées à Longhorn ou à Blackcomb, et commencèrent à toutes les intégrer dans Longhorn. Ceci causa de fortes instabilités, notamment sur les builds 407x, 408x, 409x dont l’explorateur Windows plantait fréquemment ou fuitait de la mémoire, les rendant quasi-inutilisables sans patch (TWIWMTB ou Longhorn Reloaded pour la build 4074).

Faisant face à des problèmes de stabilité de plus en plus importants, ainsi qu’a des retards dus à l’inefficacité de la répartition des taches en sept laboratoires, le développement de Longhorn a redémarré le 20 août 2004 sur la base du code source de Windows Server 2003 SP1 (.NET Server 2003 SP1). La dernière build « pre-reset » ayant fuité est la 4093.main, très instable, qui regroupe toutes les nouveautés de Longhorn, même celles en béta ou ne marchant qu’à moitié.

La build 4093.main est la dernière build « pre-reset » et amène des nouveautés telles qu’un prototype de client d’activation de Windows ou des applications « Avalon » basées sur du code XAML (prototype de Windows Movie Maker très instable et non fonctionnel)

Des reboots du projet Longhorn

L’aventure de Longhorn ne s’arrête pas le 20 août 2004. Elle continue bien après puisque de nombreux internautes ont continué, indépendamment de la volonté de Microsoft, le développement de Longhorn à partir de la build 4074. L’intérêt était de rendre la version plus stable et de débloquer ses nombreuses fonctionnalités cachées et / ou buggées.

Parmi ces reboots, les plus connus d’entre eux sont Longhorn TWIWMTB, Longhorn Reloaded et SigmaOS.

Des patchs pour la version vanilla de Longhorn 4074 existent aussi, le plus connu étant Longhorn 2008 Beta 2.

J’inclus à la fin de cet article une archive zip contenant les fichiers OVF d’une installation de Windows Longhorn TWIWMTB pour VMware (cela marche avec VMware Workstation, Player mais pas ESXi qui refusera de démarrer la machine virtuelle).

Télécharger l’archive

Pour plus d’information

Dans cette section, les différentes sources de cet article sont listées, ainsi que d’autres ressources pour en savoir plus.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *