Monty Python update, mise à jour, aggiornamento

Juste une petite mise à jour de rien du tout

Le vrai problème est que ces mises à jour sont cruciales pour une question de sécurité, par ailleurs tant la vôtre que celle de votre appareil. C’est précisément ce pourquoi nous développons des « mises à jour incrémentielles » pour le navigateur Avira Scout. Cette démarche essentielle nous permet d’assurer votre protection et de réduire l’effort consacré à l’obtention de chaque mise à jour.

De plus, tant de la perspective de l’utilisateur que du développeur logiciel, ceci s’apparente à une situation de gagnant-gagnant. De votre point de vue : votre connexion Internet n’est peut-être pas des plus rapides et vous ne voulez pas gâcher votre forfait avec des mises à jour,… mais vous ne voulez pas vous passer non plus des dernières fonctionnalités ni des correctifs. Du point de vue d’Avira : la taille d’une mise à jour nous limite dans l’envie de déployer des mises à jour de navigateur pour des correctifs de sécurité ou lorsque nous avons de nouvelles fonctionnalités à offrir. Les navigateurs sont volumineux (40 Mo pour l’archive d’installation). Devant l’effectif non moins important de clients, ceci débouche sur des engorgements de la bande passante. Et la bande passante, c’est de l’argent : ce scénario est donc impensable pour un produit gratuit.

Dans les faits, vous n’avez pas besoin de la mise à jour complète. Car la majeure partie du code a déjà fait irruption sur votre ordinateur lors des mises à jour complètes, et vous possédez toutes ces choses qui n’ont pas changé dans votre navigateur Scout. Seuls les nouveaux octets sont requis.

Les mises à jour incrémentielles répondent à cette problématique précise en adaptant la mise à jour en fonction de vos besoins.

Elles envoient trois types de données :

  • les nouveaux octets,
  • des instructions destinées à votre ordinateur pour lui indiquer où appliquer ces nouveaux octets,
  • une procédure de vérification à exécuter après l’installation. En cas de problème, vous obtenez automatiquement le téléchargement complet de Scout.

C’est exactement ce dont nous avons besoin pour exécuter des mises à jour fréquentes dédiées à de nouvelles fonctionnalités et à des correctifs.

Chromium a déjà mis en place les composants requis pour cette approche technologique. Parvenir à l’intégrer dans Avira et au contexte du navigateur Scout ne fut pas une mince affaire. Voici une courte liste des composants majeurs qui sont impliqués dans la mise en œuvre de l’approche de la mise à jour incrémentielle.

Courgette : l’outil Chromium qui compare les deux versions d’un logiciel pour identifier les nouveaux octets et qui élabore des instructions.

Serveur : le logiciel fonctionnant sur le serveur est un peu plus compliqué concernant les mises à jour incrémentielles. Il doit être capable de traiter les requêtes incrémentielles ainsi que les requêtes de navigateur complètes (pour le cas où un problème surviendrait ou en l’absence du chemin de mise à jour incrémentielle pour la version de l’utilisateur (trop obsolète) vers la version actuelle)

Programme de mise à jour côté client Omaha : il doit être en mesure de trouver le jeu de données adéquat manquant à la version installée du navigateur Scout. Il s’ensuit une série d’opérations :

  • Télécharger
  • Vérifier
  • Appliquer
  • Vérifier : faut-il télécharger Scout au complet en raison d’un échec ?
  • Notifier l’utilisateur que le redémarrage de Scout est requis

Les mises à jour incrémentielles ajoutent davantage de complexité à nos scénarios de test automatisés.

  • Que se passera-t-il si nous mettons à jour la version A vers la version B ?
  • Le repli vers le téléchargement complet est-il opérationnel ?
  • Quel est le comportement en cas de connexion réseau défectueuse ?
  • L’interface utilisateur se comporte-t-elle correctement, même sous des circonstances irrationnelles ?

Une fois le code rédigé, il restait à conduire des tests pour chaque mise à jour individuelle. Nous souhaitions mettre en place des tests automatiques à ce stade.

J’ai effectué des recherches à ce sujet il y a quelques mois, mais le vrai travail a été réalisé par Evgeny, Stefan et toute l’équipe Scout. Sans oublier l’équipe Chromium chez Avira. Nous leur adressons tous nos remerciements pour avoir franchi ces grandes étapes nécessaires à la réalisation de ces mises à jour incrémentielles.

Nous sommes juchés sur les épaules des géants.

Cet article est également disponible en: AnglaisAllemandItalien

I use science to protect people. My name is Thorsten Sick and I do research projects at Avira. My last project was the ITES project where I experimented with Sandboxes, Sensors and Virtual Machines. Currently I am one of the developers of the new Avira Browser