La présentation de Windows 10 S a soulevé de nombreuses questions sur ce qu’il était possible de faire ou pas sur le système. En ce qui concerne les navigateurs, les options seront malheureusement très limitées.
Comme indiqué la semaine dernière, Windows 10 S est, dans les grandes lignes, une édition Professionnelle dans laquelle Microsoft a activé et bloqué une option empêchant toute installation d’application en dehors du Store. Le système devient l’équivalent d’une plateforme mobile où ce type d’utilisation est monnaie courante, y compris sur Android tant que l’on n’active pas un paramètre particulier.
Le Windows Store permet d’installer deux types d’applications. D’une part, celles développées pour UWP, ou Universal Windows Platform, anciennement Metro. Elles réclament un nouveau développement, les API étant complètement différentes. D’autre part, les logiciels Win32 utilisant le Windows Bridge, placées dans le Store grâce à un convertisseur qui, dans son utilisation la plus simple, ne s’occupe surtout que de modifier l’installeur.
Microsoft ayant évoqué le cas des navigateurs en précisant que rien n’empêchait les éditeurs de les proposer dans le Windows Store, on pouvait penser que seul le facteur temps était important : pousser les sociétés à proposer au fur et à mesure leurs produits dans la boutique. Mais ce n’est pas si simple.
Moteurs de rendu : un cas à part
En théorie, n’importe quel éditeur peut convertir une application Win32 et la proposer à Microsoft pour intégrer dans le Store. En pratique, il existe des règles, et donc des exceptions.
L’une d’entre elles, repérée par Ed Bott de ZDnet, est estampillée 10.2 et concerne la sécurité : « Votre application ne doit pas nuire ou porter préjudice à la sécurité des utilisateurs, ou à la sécurité ou aux fonctionnalités des appareils, du système ou de systèmes connexes, et ne doit pas pouvoir nuire aux utilisateurs ou à toute autre personne ».
Elle comporte un corolaire important, la règle 10.2.1 : « Les applications qui parcourent le Web doivent utiliser les moteurs HTML et JavaScript appropriés fournis par la Plateforme Windows ».
En d’autres termes, un navigateur tiers ne sera autorisé dans le Windows Store que s’il utilise le propre moteur de rendu fourni par Windows 10, à savoir MSHTML, intégré dans Edge.
Une sandbox obligatoire pour les contenus web
Dans une réponse donnée à ZDnet, Microsoft indique que les navigateurs « présents dans le Store ne sont pas plus sécurisés par défaut ». La condition pour qu’ils le soient est qu’ils deviennent des applications UWP à part entière, qui comportent un cadre d’exécution spécifique : elles tournent dans des sandbox.
Rappelons qu’une sandbox est un espace mémoire isolé dans lequel une application n’a que des droits réduits ou virtualisés. Toutes les entrées et sorties sont contrôlées, et ses actions doivent emprunter des chemins précis. Elle ne peut pas modifier le système et reste sagement dans son coin.
C’est tout le « problème » des applications Win32 converties pour le Windows Bridge : une partie des composants est bien virtualisée, mais le reste fonctionne comme dans un logiciel classique. Or, ce dernier se caractérise par la capacité à s’exécuter en mode « runFullTrust », donc avec les plein pouvoirs. La sécurité dépend alors des protections mises en place par l’éditeur, quand il y en a.
Une solution déjà courante
La conséquence la plus directe est alors simple : si des éditeurs comme Google et Mozilla souhaitent proposer leurs navigateurs dans le Store, ils devront mettre de côté Blink et Gecko pour se concentrer sur MSHTML.
Pour Microsoft, c’est l’assurance que l’interprétation du code dans les pages (HTML, JavaScript, etc.) se fera selon les règles de sécurité que la firme s’est elle-même fixée. Autre « avantage », un comportement prévisible pour les utilisateurs, avec un rendu web équivalent quelle que soit l’application.
Ce comportement est courant dans l’univers mobile. Sur iOS par exemple, Chrome, Firefox et Opera proposent bien des versions de leurs navigateurs respectifs, mais aucun n’utilise le moteur maison. Tous s’appuient sur Webkit. Même si les développeurs ont la main sur tout ce qui touche à l’interface et aux fonctionnalités, l’utilisation de Webkit est obligatoire. Blink étant un fork de Webkit, Chrome et Opera ont moins de chemin à parcourir. Pour Mozilla, le travail est plus important.
La situation est exactement la même sous Chrome OS : seul Chrome est autorisé. La situation y est d’ailleurs encore plus « logique » : tout dans le système renvoie vers les applications, et Google doit donc s’assurer que leur rendu est partout le même. L’arrivée progressive des applications Android via le Play Store sur les Chromebook change la donne, mais comme nous l’indiquions récemment, cette fonctionnalité est en retard.
La solution de Microsoft : passer à Windows 10 Pro
On peut estimer cependant que Windows 10 S garde un avantage sur iOS ou Chrome OS : l’utilisateur peut migrer vers Windows 10 Pro quand il le souhaite.
Cette capacité a été largement décrite durant la présentation et par la suite. Les deux éditions sont très proches, et il est prévu de passer de la première à la seconde pour 49 dollars. Notez que jusqu’au 31 décembre, cette migration sera gratuite si l’utilisateur dispose d’un compte Education, quelle que soit la machine. Par ailleurs, on ne connait pas le tarif français, qui pourrait réserver une mauvaise surprise.
C’est en tout cas la solution indiquée par Microsoft si l’utilisation d’un navigateur tiers est obligatoire pour quelque raison que ce soit. On rétorquera toutefois que s’il s’agit bien d’une exigence en premier lieu, alors Windows 10 S n’est probablement pas le système le plus adapté.
Notez enfin qu’il existe la possibilité que les éditeurs tiers finissent par produire des versions UWP de leurs navigateurs. Les chances sont cependant minces, sans doute échaudés par l’aventure Windows RT et ses navigateurs hybrides dont le fonctionnement était un peu trop particulier.