Options Mon compte Next INpact
Affichage
Modifications sauvegardées
  • Smileys
  • Images
  • Commentaires par actu
  • Commentaires sous les news
  • Désactiver la version mobile
  • Taille de police
Close

Vous consultez la version mobile de ce contenu.

Cliquez ici pour être redirigé vers la version complète, ou attendez 5 secondes. Fermez ce pop-up pour continuer sur la version mobile.

5
secondes
Windows 10 : la qualité face au rythme élevé des mises à jour
OS Crédits : lolkar/iStock

Windows 10 : la qualité face au rythme élevé des mises à jour

Vitesse et précipitation
13 min

L’année 2018 restera dans les mémoires, autant chez Microsoft que chez ses utilisateurs. Windows 10 aura cumulé, à six mois d’intervalles, deux mises à jour majeures problématiques. L’éditeur promet du mieux, mais doit manifestement revoir ses méthodes.

Quand Windows est passé de la version 8.1 à la 10, c’était avec tout l'aplomb d’un Microsoft sûr de son choix. Le système d’exploitation devait être vu comme un service, constamment mis à jour et modernisé. Les avantages d’une application web appliqués à un énorme code natif traditionnel.

Sur le papier, la promesse est alléchante : une machine toujours fraîche, un système enrichi régulièrement de fonctions, des pilotes qui se téléchargent et s’installent tout seuls, des informations synchronisées sans y penser. Dans la pratique, il en va tout autrement, car cette vision idyllique dépend malheureusement d’une condition sine qua non pour que l’ensemble fonctionne : que les mises à jour sachent se faire oublier.

Or, elles ne le font pas. Les correctifs mensuels sont, depuis des années, sources d’inquiétude pour une partie des utilisateurs. Les mises à jour majeures semestrielles ont amplifié le phénomène. Beaucoup plus conséquentes à télécharger et à installer, elles impliquent un temps d’indisponibilité de la machine plus important. Et malheureusement, elles ont prouvé à deux reprises cette année que leur fiabilité était loin d’être exemplaire.

Ou comment un développement qui se veut agile ne l’est finalement pas tant que ça.

April fools, November Rain

Depuis la sortie de Windows 10, l’éditeur visait une période de publication des mises à jour majeures et s’y tenait. On pouvait ainsi prévoir leur déploiement, en général basé sur le Patch Tuesday mensuel le plus proche.

Avec le passage au rythme semestriel, le cycle est devenu limpide : les mises à jour étaient finalisées en mars et septembre, puis déployées au Patch Tuesday suivant, en avril et octobre. L’entreprise avait même visiblement retravaillé ses appellations, en finissant avec les Anniversary Update et autre Creators Update au profit de noms simplifiés, avec le mois et l’année. Au printemps est sortie l’April Update, plus récemment l’October 2018 Update – qui mériterait de s’appeler November Update.

Mais aucune ne s’est faite sans heurts. À la date attendue en avril, aucune mise à jour n’était disponible. Il faudra plus de deux semaines pour qu’elle soit enfin diffusée. Durant ce délai, on a appris qu’un bug gênant avait été découvert à la dernière minute, relançant un cycle de tests sur une nouvelle préversion.

Une fois disponible, l’April Update a refait parler d’elle : elle provoquait des incompatibilités matérielles avec certaines configurations. Les plus gênants étaient liés à certains SSD, particulièrement chez Intel (SSD 6600, SDD Pro 6000p) et Toshiba (XG4, XG5 et BG3). Dans les semaines qui ont suivi, ces soucis ont été corrigés, mais pour les utilisateurs touchés, la mise à jour s’était déjà traduite par des maintenances plus ou moins longues pour revenir à la version 1709 du système. Microsoft avait d’ailleurs publié un guide.

Ce problème était le plus important, mais d’autres avaient été référencés : écran noir, mise à jour du microcode de BitLocker, dysfonctionnement de Chrome, soucis avec QuickBooks, réglage impossible pour le calibrage HDR, applications App-V qui ralentissaient le système, Remote Desktop parfois inopérant, soucis de performances dans Mixed Reality… La grande majorité de ces problèmes ont été résolus en deux mois environ.

À cette époque, on espérait déjà que Microsoft prendrait des mesures pour qu’une telle sortie brouillonne ne se reproduise plus. Malheureusement, l’arrivée de l’October 2018 Update s’est révélée encore plus pénible.

Elle est apparue dans Windows Update le 2 octobre, soit une semaine avant le Patch Tuesday. Une vraie surprise, car l’Update n’avait pas été diffusée dans le canal Release Preview, qui sert justement à tester l’état « quasi final » des mises à jour après leur passage dans le canal lent. Et rapidement, Microsoft a pris conscience de son erreur.

L’October Update n’est restée en ligne que quelques jours. C’est le peu de temps qu’il a fallu pour qu’un souci majeur soit relevé : le processus d’installation effaçait les données personnelles chez une petite partie des utilisateurs. Elles n’étaient pas déplacées dans la poubelle ou un autre dossier, et ne réapparaissaient pas après désinstallation de la mise à jour. Seule manière de les retrouver, utiliser un outil dédié comme Recuva.

L’October Update a eu d’autres soucis, notamment avec un pilote audio Intel et les fichiers Zip, mais les données supprimées étaient de loin le plus grave. Et pour cause : difficile de faire pire pour un système d’exploitation qu’une disparition des données utilisateur, qui peuvent représenter de très nombreuses heures de travail.

Là encore, le problème a été réglé et Microsoft a invité les concernés à contacter son support. Mais l’enchainement des erreurs sur les deux mises à jour pose la question : y a-t-il un problème dans la manière dont l’éditeur gère ce processus ? De toute évidence, même si les raisons sont difficiles à cerner avec précision. Et quand bien même, elles ne compenseraient pas la chute de confiance chez les utilisateurs affectés, sans parler du bouche-à-oreille et des articles qui en ont parlé.

En outre, les utilisateurs finaux n'ont pas été les seuls concernés. Avec plus d'un mois de retard sur la date envisagée, les OEM se sont retrouvés à vendre des produits embarquant des composants qui n'étaient pas officiellement reconnus par Windows 10. On pense notamment au Snapdragon 850 de Qualcomm et aux processeurs Core de 9e génération d'Intel. La situation a été réglée en appliquant une mise à jour spécifique à l'April Update, qui s'est donc retrouvée compatible.

Pour mieux comprendre la problématique, il faut replonger dans la situation très particulière de Windows et sa dette technique.

Windows 10 1809 October 2018

Le poids du passé

La dimension d’héritage technique est particulièrement complexe sous Windows, même s’il n’est pas le seul à devoir composer avec d’anciennes technologies. On pourrait citer les distributions Linux et le serveur d’affichage X.org, que Wayland doit finir par détrôner (seule Fedora l’utilise par défaut actuellement). Mais chez Microsoft, ce poids est prépondérant.

Au cœur du problème, on trouve l’environnement Win32 et ses multiples API. Elles sont utilisées depuis longtemps par les développeurs, qui les connaissent donc bien, d’autant que leur nombre n’a fait que croitre avec le temps, Microsoft les améliorant au fur et à mesure de ses systèmes. Maintenant que l’entreprise veut faire bouger les lignes, les développeurs tiers font de la résistance.

Plusieurs facteurs concourent à cette résistance. D’une part, l’environnement UWP (Universal Windows Platform), censé remplacer à terme Win32, requiert de bousculer deux décennies de méthodologie et de conception des interfaces. Ensuite, même si C++ est utilisable, il a fallu pendant longtemps se servir de C#, que beaucoup ne connaissaient pas, car il était initialement poussé pour .NET essentiellement. Enfin, le problème principal reste la parité technique entre les anciennes et nouvelles API : tous les projets ne peuvent pas être réalisés en UWP.

Microsoft est parfaitement consciente de cette situation. L’entreprise est coincée entre un vieil environnement n’évoluant plus, mais gardant la préférence des développeurs, et un autre, beaucoup plus moderne, mais boudé, du moins pour les applications clientes.

C’est bien cette dichotomie qui est à l’origine des plus gros problèmes de la firme depuis des années. Sans développeurs pour suivre UWP, le Store ne se remplit que très lentement. Conséquence, des produits comme Windows RT, Windows Phone 8/8.1 et Windows 10 Mobile en ont fait les frais, la boutique étant loin de pouvoir concurrencer celles d’Android et iOS. Les plus gros éditeurs faisaient parfois l’effort, mais la qualité était trop peu souvent au rendez-vous. L’ergonomie particulière requise n’était pas assez travaillée et donnait régulièrement des interfaces mal pensées.

Aujourd’hui, ce n’est pas par hasard que Microsoft pousse des services comme le Desktop Bridge et le Desktop App Converter. L’éditeur est douloureusement conscient qu’en dépit des améliorations successives, la base applicative de Windows reste très fortement liée à Win32. Des efforts sont donc faits pour amener les logiciels dans le Store, quel que soit leur socle technique (en théorie). Le format des paquets est modifié, mais pas le code, le développeur étant ensuite libre de le moderniser progressivement ou non, pour tirer parti des spécificités de Windows 10.

Du fait de cette lourde présence de Win32, l’environnement est toujours au cœur du système. Depuis Vista, des mesures ont été successivement prises pour découper le système en plaques logiques, donc le rendre plus modulaire et faciliter la sortie de nouvelles éditions, comme celle pour IoT et Windows 10 Mobile. Mais la version « Desktop » traine un véritable boulet dont Microsoft ne peut pas se débarrasser. Du moins pas pour l’instant, même si des pistes sont envisagées, comme une virtualisation complète de Win32.

VistaWindows Vista

Windows 10 est donc un étrange mélange de code neuf et de « vieilleries ». Cette problématique très particulière a été notamment abordée par Ars Technica, qui a longuement expliqué que le mélange formait un ensemble trop hétérogène pour être parfaitement fiable.

Microsoft a beau améliorer la qualité du code produit, ses interactions avec l'ancien code (une fois incorporé) ne sont pas suffisamment testées. Résultat : de désagréables surprises comme les bugs majeurs observés sur les deux dernières mises à jour semestrielles. Et le risque augmente avec la multiplication des configurations, autre problème spécifique à Windows, duquel on attend qu’il puisse fonctionner sur n’importe quel ordinateur pas trop ancien.

L’éditeur rêve donc du jour où il pourra enfin se passer de Win32, donc mener un nettoyage sans précédent du code de Windows, comme toujours quand un projet peut se débarrasser d’une vieille compatibilité. Encore faut-il que les conditions soient réunies. Pour le moment, Microsoft ne peut pas faire grand-chose de plus que renforcer ses procédures de tests.

Un rythme élevé… et obligatoire

Quelles que soient les explications que pourrait fournir Microsoft, un constat s’impose : ces problèmes n’auraient pas eu une telle importance si la gestion des mises à jour était plus souple.

On l'a déjà dit, le rythme de parution est élevé : des correctifs de sécurité tous les mois, des mises à jour majeures tous les six mois, et entre les deux de temps en temps, des mises à jour de qualité pour les bugs plus généraux. La machine devra ainsi redémarrer au moins une fois par mois pour installer les correctifs de sécurité, toujours prioritaires.

Or, aucune de ces mises à jour ne peut être refusée. Les patchs mensuels sont critiques puisqu’ils traitent de sécurité. Leur téléchargement et leur installation sont automatiques. À moins d’avoir une édition Professionnelle ou Entreprise dans une grande structure, Windows Update ne demande l’avis de personne. Les mises à jour sont imposées et gare au pauvre bougre dont la configuration un rien exotique rencontrerait un problème.

On peut comprendre que Microsoft ne veuille plus retomber dans la fragmentation, si problématique avec les anciens Windows. Les choix menés assurent effectivement qu’une immense partie du grand public dispose toujours de la dernière révision majeure de Windows 10. Mais cette marche forcée ne peut fonctionner que si le contrôle qualité est suffisamment élevé, ce qu’il ne semble pas être actuellement.

Les statistiques et la télémétrie ont probablement contribué à masquer chez Microsoft une certaine réalité : les mises à jour sont peut-être un mal nécessaire, mais représentent toujours un temps d’indisponibilité de la machine et une crainte pour l’utilisateur qu'elle ne fonctionne plus comme avant.

Ce point n’est d’ailleurs pas lié spécifiquement à Microsoft. Chez Apple, bon nombre d’utilisateurs ont l’habitude d’attendre une ou deux « versions à point » après l’arrivée d’une mouture majeure pour l’installer. Mais à une nuance cruciale près : Apple n’impose pas les mises à jour. macOS rappelle régulièrement la disponibilité d’une nouvelle version, mais sans rien déclencher de plus sinon peut-être de l’agacement chez l’utilisateur.

Des explications, des promesses, mais pas d'excuses

Consciente de la situation, l'entreprise a tenu à rassurer. Le responsable Michael Fortin assure que l’engagement sur la qualité des produits reste entier, mais promet des efforts supplémentaires.

Microsoft préfère voir le verre à moitié plein : en dépit de l’importance du bug de suppression des données, le retrait d’une telle mise à jour était le tout premier cas de ce genre depuis les débuts de l’approche « Windows as a service ». Ce à quoi les concernés rétorqueraient sans doute que c’était une fois de trop.

Selon Fortin, les modifications apportées aux procédures de tests prennent en compte d’importants changements effectués sur la production du code, qui se veut de meilleure qualité dès l’écriture. L’éditeur fait ici référence aux tests automatisés et autres outils intégrés (et renforcés) depuis des années à Visual Studio.

Il rappelle en outre plusieurs points : les tests réalisés par les membres du programme Insider, ceux effectués par les nombreux OEM partenaires, l’approche « seeker » du déploiement initial où seuls les utilisateurs cherchant manuellement de nouvelles mises à jour dans Windows Update verront le téléchargement, le machine learning pour détecter les configurations qui peuvent l’installer, le Hub de commentaires ou encore la télémétrie.

Le Hub de commentaires est cependant un mauvais exemple, puisque les traces du bug de suppression des données y avaient été trouvées. Des utilisateurs avaient donc pointé le problème trois mois avant la sortie de l’October 2018 Update, sans que Microsoft en ait conscience, soulignant une défaillance de la méthode.

Selon Microsoft, le nombre d’interactions avec le service client a également diminué avec le temps. L’April Update, même avec ses défauts initiaux, aurait à ce jour enregistré le meilleur taux de satisfaction chez les utilisateurs. Mais sur ce point, il faudra croire l’entreprise sur parole.

Elle promet quand même une plus grande transparence et une amélioration de la qualité : « Nous allons augmenter nos efforts pour améliorer nos capacités à prévenir les problèmes et à répondre rapidement quand ils apparaissent. Nous prévoyons d’exploiter tous les outils que nous avons aujourd’hui et de nous focaliser sur la qualité, dans la conception des produits, le développement, la validation et le déploiement ».

Une assurance qualité à améliorer

Toute grande entreprise dispose en théorie d’un groupe d'assurance qualité (« QA » dans le jargon). Il est en charge de toutes les opérations devant mener les clients à avoir confiance dans le produit. Les variations sont très nombreuses, mais la règle principale est la même pour tous : le produit doit fonctionner comme il est censé le faire.

Mais quelles que soient les méthodes employées par Microsoft, elles ont montré cette année leurs limites, et on peut espérer un électrochoc interne sur les processus, ce que laisse effectivement penser le billet de blog. Car le rythme des mises à jour de Windows 10 est autant imposé aux utilisateurs qu'aux ingénieurs, qui doivent travailler sur leurs propres préversions du système.

Les ingénieurs sont ainsi entourés d’outils d’amélioration de la qualité du code, mais, comme on l’a déjà dit, celle du produit complet après intégration peut grandement varier. Il faut donc ainsi différencier qualité du code produit et qualité du résultat final.

Le problème de Microsoft semble résider au croisement de ces deux qualités. D’un côté, une qualité « théorique/statistique » obtenue grâce aux outils, tests automatisés, machine learning, télémétrie, etc. De l’autre, la qualité « pratique » qui découle des tests. Le billet de l’éditeur laisse à penser que cette dernière est surtout confiée aux membres du programme Insider et aux OEM. Un constat sans doute trop simpliste, mais l’éditeur n’évoque que peu ses propres tests, assurant qu'ils feront l'objet d'un futur billet.

Le géant sera quoi qu’il en soit attendu au tournant au printemps, à la sortie de la prochaine évolution majeure, actuellement en test dans le canal rapide du programme Insider. Car les promesses ont beau (un peu) rassurer, elles ont un coût : la crédibilité.

Publiée le 19 novembre 2018 à 18:00


Chargement des commentaires