Conduite du changement en matière de logiciel

Photo by Clint Patterson on Unsplash

Les logiciels, quelque qu’ils soient, sont mis à jour plus ou moins régulièrement. Cela commence par le système d’exploitation (Windows, Android, MacOS, Linux, …) mais aussi les applications que l’on utilise.

Les raisons de ces mises à jour sont multiples :

  • correction d’un bug existant (que l’on ne voit d’ailleurs peut-être car dans notre contexte, il n’apparait pas),
  • amélioration des performances,
  • support d’un nouveau matériel,
  • nouvelle fonctionnalité ou ergonomie,
  • correctif de sécurité,

Parfois les mises à jour sont interdépendantes. Prenons l’exemple d’un site web développé avec le langage PHP, c’est le cas de Prestashop, WordPress, Magento, et bien d’autres. PHP a plusieurs versions et si votre site est compatible avec sa version 7.3, il ne le sera sans doute pas avec sa version 7.4.

PHP assure actuellement, encore, les mises à jour de sécurité sur la version 7.3, mais ce ne sera plus le cas à partir du 1er janvier 2023. Si une faille de sécurité apparait après le 1er janvier, elle ne sera pas corrigée. Concrètement, cela veut dire que votre hébergeur, si ce n’est pas déjà fait, va mettre à jour PHP en version 7.4, 8.0 ou 8.1 et que votre site ne fonctionnera plus. Vous devez donc mettre à jour aussi votre site.

Au plus le logiciel est de bas niveau, au plus d’autres logiciels se basent sur lui. La mise à jour d’un logiciel de bas niveau aura donc de plus grand impact.

Est-il risqué de faire une mise à jour ?

Oui, bien sûr, tout changement représente un risque. Ceci dit, généralement, ne pas faire de mises à jour représente un risque bien plus important, en termes de sécurité ou simplement pour continuer à être suivi par son éditeur.

En fait, il faut “simplement” maitriser ce risque, et là, c’est exactement comme une assurance. Il faut évaluer le coût des risques qui sont pris en fonction de son contexte. Voici un exemple concret :

Une entreprise, qui a une connexion internet, peut avoir des pannes de connexion. Pour éviter ces incidents, c’est très simple : prenez une connexion de secours chez un autre fournisseur d’accès à internet.

Oui, mais s’il y a un coup de pelleteuse malencontreux à côté de chez moi ?

Prenez donc une connexion 4 !

Oui, mais si c’est le backbone qui a un problème ?

Prenez alors une connexion par satellite !

Je pourrais compléter à l’infini cet exemple, mais vous comprenez le principe. Au plus vous souhaitez limiter les risques, au plus vous devez ajouter des redondances et des secours et au plus cela vous coutera cher.

Tout le travail consiste ainsi à définir combien vous coûte une panne et combien vous couterai de mettre en place d’une solution préventive. Ensuite, vous arbitrez en fonction du risque que vous tolérez et vos contraintes financières.

Comment sécuriser au maximum une mise à jour ?

Il faut la tester, c’est tout, et la tester de manière approfondie, mais sans impacter la production, et pour faire cela, il faut avoir une copie de sa production.

Un exemple concret avec le logiciel E-connecteur : vous souhaitez tester la dernière version de la gestion commerciale EBP, pour voir si le transfert des articles et des commandes avec votre site Prestashop se fait bien.

Etape 1 : évaluer correctement les risques

Plus le risque est fort, plus vous avez intérêt à prendre des mesures pour limiter le risque. Il faut donc bien l’évaluer et de manière objective.

Une mise à jour qualifiée de mineure par l’éditeur a moins de risque qu’une mise à jour majeure.

Vous n’avez pas fait de mise à jour depuis 2 ans ? Vous avez forcément plus de risques, car vous faites un grand saut au lieu de plusieurs petits.

Etape 2 : évaluer correctement les impacts

Un risque fort peut être minoré par un faible impact.

Votre logiciel EBP vous sert à faire vos factures clients ne fonctionne plus, l’impact est faible, vous pouvez faire les factures demain.

Votre logiciel E-connecteur ne fonctionne pas, l’impact est modéré :

  • votre site e-commerce a toujours ses données,
  • vos expéditions peuvent temporairement être gérées sur le site plutôt qu’en gestion commerciale.

L’impact peu aussi varier au cours du temps : si votre site web est indisponible, vous ne vendez plus.

Vous vendez des bonnets et on est au mois d’août, ce n’est pas si grave. Si c’est la veille des départs aux sports d’hiver c’est bien plus impactant.

Etape 3 : tester la mise à jour

Vous aurez besoin de :

  • une copie de votre site Prestashop,
  • une copie de votre version de Windows, à configuration strictement identique,
  • une 2ème licence EBP pour installer la nouvelle version de la gestion commerciale,
  • une 2ème licence E-connecteur pour échanger les données,
  • une autre serveur ou PC, idéalement identique pour installer Windows, EBP et E-connecteur.

On voit très vite que cela a un coût non négligeable.

Etape 4 : tester le déploiement

A l’issue de vos tests, vous avez sans doute rédigé le protocole de mise à jour (lancer l’exécutable, modifier la configuration, etc …). Si vous souhaitez encore limiter les risques, vous devez tester que ce protocole de déploiement fonctionne. Il vous faut donc encore une autre copie de votre environnement de production pour tester.

Et si ce n’était pas à l’utilisateur de maitriser tous ces risques, mais à l’éditeur du logiciel ?

Là, c’est une utopie… Faisant le parallèle avec l’industrie automobile. Un constructeur automobile fait des voitures de plus en plus sécurisées, mais ne peut pas vous garantir ni le zéro accident, ni qu’en cas d’accident, vous aurez la vie sauve. Cela ne dépends que de vous et de votre usage, quand bien même, le constructeur prend des précautions.

En matière de logiciel, c’est pareil. L’éditeur prend toutes les dispositions pour que tout se passe bien, mais cela reste à l’utilisateur de maitriser son utilisation.

Pour conclure, tout changement induit des risques avec des impacts différents. C’est à vous, l’utilisateur, de les évaluer et de juger si vous les prenez, ou si vous payez une mesure destinée à les prévenir.

Laisser un commentaire

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