Les mises à jour

Nombreux clients se plaignent des mises à jour, causant souvent plus de mal que de biens. Je souhaite faire un état exhaustif de ce qu’est une mise à jour et pourquoi c’est un concept à double tranchant.

Définition

Une mise à jour est une nouvelle version d’un logiciel ou d’un système d’exploitation, regroupant différentes types d’interventions :

  • nouvelles fonctionnalités
  • refonte graphique
  • abandon de fonctionnalités
  • corrections de dysfonctionnements
  • amélioration de l’exécution de certaines tâches

Les mises à jour concernent autant les programmes que les systèmes d’exploitation (Windows, OS X, Android, iOS).

Les mises à jour logicielles

Un logiciel est un programme exécutable constitué de différentes briques :

  • un exécutable principal
  • des exécutables secondaires
  • des bibliothèques fonctionnelles internes ou utilisant celles mises à disposition par le système d’exploitation
  • des fonctions intégrées au microprocesseur
  • des fichiers de paramétrage

Lors d’une mise à jour, certains éléments sont à prendre en compte :

  • la mise à disposition par le système d’exploitation de fonctions nécessaires
  • les fonctions existantes dans le microprocesseur (qui ne peut être mis à jour autrement que par son remplacement)
  • les performances minimales

Ainsi, sur de vieux systèmes ou ordinateurs, des programmes ne peuvent plus se mettre à jour à cause de l’impossibilité d’ajouter les fonctions nécessaires au système d’exploitation ou au microprocesseur.

Les mises à jour système

Une mise à jour système permet, comme une mise à jour logicielle :

  • des améliorations dans le traitement de tâches
  • des corrections de bugs
  • des nouvelles fonctionnalités
  • de nouvelles fonctions à disoisition des logiciels
  • la prise en charge de nouveaux matériels
  • l’abandon de fonctions, matériels

Une mise à jour système est toujours un jeu à pile ou face, la complexité et l’hétérogénéité des environnements matériels et logiciels rendant la tâche complexe aux développeurs pour limiter au maximum les problèmes de dysfonctionnement ou de régression (quand une tâche qui fonctionnait ne fonctionne plus). Même des sociétés qui maîtrisent autant le logiciel et le matériel comme Apple ne sont pas exempts de mises à jour problématiques…

Voici un graphe des systèmes d’exploitation (ou OS pour operating system) ordinateurs d’Octobre 2017. On voit très nettement que Windows 7 domine encore le parc informatique, datant néanmoins de 2008.

Apple sait davantage faire le forcing sur ses mises à jour, sa dernière version étant installée à plus de 60% (sources : mac4ever).

Android, lui, joue la carte du « nouvel OS, nouvel appareil », obligeant les utilisateurs à devoir changer de téléphone pour changer d’Android… Les mises à jour majeures d’Android étant réservées à un nombre très limité d’appareils hauts de gamme ! (pour info, mon Motorola Fire XT311 est sous Android 2.3.4 et mon Wiko Rainbow Lite sous 5.1.1)

Je parle bien évidemment des systèmes majeurs, d’autres OS alternatifs comme Linux (comportant des milliers de versions), Windows Mobile, BlackBerry, Symbian, Palme… se partagent moins de 10% du marché.

Les logiciels de sécurité

Je fais une exception des logiciels de sécurité, comme les anti-virus, dont le travail est d’analyser les fichiers pour détecter la présence de codes malveillants, notamment par le biais de leur signature numérique. Les mises à jour permettent d’enrichir justement la bibliothèque des signatures virales connues.

Doit-on ne jamais faire des mises à jour ?

C’est une question récurrente depuis une quinzaine d’années. Là encore, la réponse est à double tranchant. Les risques liés aux mises à jours sont aussi nombreux, bien que différents, que ceux liés aux mises à jour. On a le choix entre :

  • se retrouver bloqué à ne plus pouvoir utiliser certains logiciels dépendants de données extérieures au systèmes (flux Internets, nouveaux formats de fichiers)
  • se retrouver bloqué à ne plus pouvoir utiliser certains logiciels exigeant des mises à jour impossibles à mettre en place (comme Skype)
  • conserver des vulnérabilités exploitables

Ou bien :

  • risquer qu’une chose qui marchait bien un jour marche plus le lendemain
  • ne plus pouvoir utiliser des logiciels non maintenus car des fonctions système ne sont plus disponibles (dépréciation fonctionnelle)

Beaucoup d’entreprises ont refusé certaines transitions sytèmes, comme entre XP et 7 ou 7 et 8, car de nombreux logiciels ne fonctionnaient plus ou mal. Les développeurs de systèmes arrivent, avec le temps, à établir les corrections nécessaires et conservent un maintien des anciens systèmes pour tenter une continuité technologique avec le maximum de douceur, non sans heurts.

Quelles solutions, quels compromis ?

Plusieurs solutions ont été imaginées, toutes présentant des avantages et des inconvénients :

  • compiler les logiciels avec toutes les fonctions du système dont elles ont besoin, alourdissant considérablement leur installation (du simple à x15 ou plus), ce qui peut poser des problèmes avec les vieux appareils disposant de mémoires de stockage restreintes et non extensibles
  • faire des mises à jour systèmes avec pré-analyse d’environnement, avec le risque d’une atteinte à la vie privée quant à la nature des logiciels installés, leur licences officielles ou non, le matériel installé, les fichiers de log…