Comprendre et lutter contre l’obsolescence logicielle

obsolescence logicielle

Résumé du webinaire sur l’obsolescence logicielle avec Simon d’Aeonics

Webinaire par Simon Uyttendaele – Aeonics du mardi 7 mars 2023

Introduction

comme souvent expliqué par les expert·e·s du Numérique Responsable, le numérique est source de nombreux impacts environnementaux, dont une majorité provient de la fabrication des équipements utilisateurs. En Europe, les terminaux utilisateurs représentent près de 70% des impacts du numérique, suivi des Data centers (18%) et du réseau (11%)  (Source : Green EFA).

Si cette étude nous montre que la fabrication est l’étape qui a le plus d’impacts environnementaux pour l’écosystème numérique (54% selon l’étude), il convient de rappeler que la phase d’utilisation arrive en deuxième position, avec 44% des impacts environnementaux du numérique en Europe. Il est donc primordial de rappeler que nos équipements numériques sont intrinsèquement liés aux services qu’ils permettent et aux usages qui en découlent.

Les services numériques que nous utilisons :

  • pour écouter de la musique
  • se déplacer
  • commander à manger
  • effectuer des démarches administratives
  • se former

De nouveaux services sont constamment développés et les services existants sont régulièrement mis à jour, afin d’apporter de nouvelles fonctionnalités, des mises à jour de sécurité ou encore des mises à jour esthétiques.

Dans cet article, nous parlerons d’obsolescence, et plus particulièrement du cas de l’obsolescence logicielle. Mais avant de pouvoir se pencher sur l’obsolescence, nous aimerions vous présenter deux concepts : la loi de Moore et la loi de Wirth.

La loi de Moore est une prédiction de l’un des fondateurs d’Intel, Gordon E. Moore, qui s’est avéré, et qui stipule que le nombre de transistors sur un microprocesseur double environ tous les deux ans, et ce à coût constant. En d’autres termes, les ordinateurs deviennent de plus en plus puissants avec le temps. C’est en effet ce que l’on observe dans l’informatique depuis bientôt 50 ans, même si cette loi semble approcher ses limites.

La loi de Wirth stipule, quant à elle, que les logiciels ralentissent plus vite que le matériel n’accélère : les programmes sont de plus en plus lourds, nécessitent toujours plus de capacités de calcul, et on n’observe donc pas d’amélioration significative sur la rapidité des équipements. Les programmes sont plus lourds, et puis la taille/le poids des contenus numériques suit aussi cette tendance. Prenons l’exemple des smartphones : un iPhone 3GS, sorti en 2009, comptait 8GB de stockage dans sa plus petite déclinaison, avec 1.6 GB dédié au système d’exploitation (IOS 4.x). Aujourd’hui, un iPhone SE (2020) utilise 8,87GB pour l’OS (iOS 16.5) avec 64GB de stockage interne.

Nous ne cessons d’agrandir l’infrastructure numérique mondiale, avec toujours plus d’équipements pour toujours plus d’usages numériques. Cet accroissement est notamment dû aux innovations constantes, hardwares comme softwares, qui se répondent et s’entraînent dans cette course sans fin vers le « toujours plus », entraînant par la même occasion des effets d’obsolescence.

En bref, bien que l’innovation permette d’améliorer les technologies, elle tend aussi à créer de l’obsolescence. Les avancées technologiques peuvent rendre les produits plus anciens obsolètes, car ils ne peuvent pas gérer les logiciels plus récents, qui sont développés pour tirer parti des capacités des nouveaux équipements.

C’est quoi l’obsolescence ? 

L’obsolescence programmée désigne la réduction délibérée de la durée de vie d’un produit ou service par le fabricant afin d’inciter les consommateurs à le remplacer. Définie par l’organisation HOP (Halte à l’Obsolescence Programmée), l’obsolescence programmée peut prendre principalement trois formes :

 – L’obsolescence technique : parfois appelée obsolescence fonctionnelle ou structurelle, cette forme d’obsolescence se manifeste lorsque le produit cesse de fonctionner du fait de l’épuisement de la durée de vie d’un de ses éléments essentiels et non remplaçables. Il existe aussi une variante de cette obsolescence, appelée obsolescence indirecte, où les pièces de remplacement ou de rechange ne sont plus disponibles ou ont été retirées du commerce.

– L’obsolescence esthétique : aussi connue sous le nom d’obsolescence psychologique ou culturelle, elle survient lorsque des produits plus récents, présentés comme étant plus efficaces, sont introduits sur le marché à un rythme rapide. Cette situation encourage les consommateurs à remplacer leurs produits existants même s’ils ne sont pas encore hors d’usage. Cette forme d’obsolescence est généralement propagée par le biais de la publicité et des campagnes marketing.

– L’obsolescence logicielle : cette forme d’obsolescence est surtout répandue parmi les appareils numériques tels que les smartphones et les ordinateurs, et s’étend avec l’augmentation du nombre d’appareils connectés. Elle peut se présenter de différentes manières, comme par exemple la restriction de la durée du support technique comparativement à la durée d’utilisation effective du produit, ou l’incompatibilité entre une version de logiciel ancienne et une nouvelle. Une autre manifestation de cette obsolescence est une mise à jour obligatoire du logiciel qui est trop volumineuse pour l’appareil, provoquant des dysfonctionnements et incitant à l’achat d’un nouveau produit.

C’est quoi l’obsolescence logicielle ? Des exemples ?

L’obsolescence logicielle correspond à un changement dans le temps rendant un service obsolète, cela peut être plus ou moins long, mais cela arrivera forcément bien à un moment. L’obsolescence logicielle se produit lorsque l’évolution technologique rend un logiciel ou un service inutilisable. Cela peut se manifester de différentes façons :

  • Le service ne fonctionne plus sur certaines machines car il est devenu plus complexe et demandeur en ressources : Par exemple, un jeu vidéo peut devenir obsolète sur des ordinateurs plus anciens car les nouvelles mises à jour nécessitent plus de puissance de calcul que les machines ne peuvent fournir. Un smartphone ne pourra pas supporter une nouvelle version du système d’exploitation. 
  • Le service ne répond plus à un besoin : Par exemple, un logiciel de traitement texte qui ne prend plus en charge les derniers formats de fichier devient obsolète car il ne peut plus satisfaire le besoin de l’utilisateur.
  • Un changement de norme dans l’industrie : De temps en temps, les industriels peuvent changer la manière dont ils utilisent la technologie, ce qui rend les anciens logiciels obsolètes. Par exemple, l’industrie de la conception graphique choisit d’utiliser des formats vectoriels. Cela va rendre les logiciels de dessins dans d’autres formats moins pertinents. C’est aussi le cas avec certains programmes codés dans de vieux langages de programmation, comme Cobol ou FORTRAN, qui sont remplacés par de nouveaux langages plus récents (Java, Python).

Lutter contre l’obsolescence logicielle

Lutter contre l’obsolescence logicielle nécessite une approche en deux parties : s’attaquer aux causes de l’obsolescence puis gérer ses conséquences.

S’attaquer aux causes implique de devoir comprendre et aborder les différents facteurs qui mènent à l’obsolescence logicielle. Parmi ceux-ci, nous pouvons trouver :

  • La fin de vie d’un logiciel
  • Les exigences évolutives du logiciel
  • Les incompatibilités entre les différents logiciels
  • Les problèmes d’exécutions de logiciel

Il y a aussi un attrait pour les nouvelles fonctionnalités et les stratégies d’optimisation fiscale des entreprises pouvant inciter à cesser le support de certaines versions logicielles plus anciennes. 

En anticipant et en prenant des mesures pour atténuer ces causes, il est possible de réduire l’obsolescence logicielle.

Toutefois, s’attaquer à l’obsolescence logicielle ne s’arrête pas à la gestion des causes. Il faut également gérer les conséquences une fois qu’elles se sont produites. Cela peut impliquer des actions pour prolonger la durée de vie des logiciels, pour réutiliser ou recycler les logiciels obsolètes, pour utiliser de l’énergie renouvelable dans les systèmes d’information et pour éteindre les machines lorsqu’elles sont inactives.

Pour résumer, lutter contre l’obsolescence logicielle c’est agir à la fois sur les causes et les conséquences. C’est un combat qui nécessite d’avoir une vision d’ensemble et une action à tous les niveaux du cycle de vie des logiciels.

Différents points de vue pour différents profils 

Dans le monde du développement logiciel, il est courant de rencontrer une diversité de points de vue qui peuvent parfois s’opposer, ce qui entraîne une obsolescence prématurée. Trois profils types se distinguent souvent de manière caricaturale : le chef d’entreprise (« The Boss »), le technicien (« The Geek »), et l’utilisateur final (« The Queen »). Ces trois profils ont des priorités et des perspectives différentes, ce qui peut mener à des conflits et des malentendus.

 Le boss, généralement focalisé sur des objectifs à court terme, cherche à maximiser les revenus tout en minimisant les dépenses. Son désir est de mettre le produit sur le marché le plus rapidement possible, quitte à négliger les aspects plus complexes du logiciel. C’est là que le geek entre en jeu. Attentif aux détails techniques, il est passionné par la technologie existante et essaie d’en faire le moins possible tout en s’amusant. Trop concentré sur les détails techniques, il aura parfois du mal à définir les priorités dans le développement du logiciel, ce qui pourra le mener à s’éloigner des attentes initiales du projet. 

 Parallèlement, la reine, souvent peu à l’aise avec la technologie et réticente face au changement, s’attend à ce que le logiciel soit simple à utiliser et réponde parfaitement à ses besoins. Sa difficulté à exprimer clairement ses exigences et besoins peut également conduire à des confusions et des malentendus avec le geek et le boss.

 Il s’agit donc ici d’un parfait exemple de la nécessité de mettre en place une stratégie de « séparation des préoccupations » (Separation of Concern). Au lieu de laisser ces points de vue divergents créer des tensions, il est essentiel de les réconcilier et d’aligner la stratégie sur les besoins de tous les acteurs impliqués. Il faut sortir de ce système d’opposition et chercher à créer un logiciel sobre et efficace qui répond aux exigences de l’utilisateur (la reine), aux contraintes du chef d’entreprise (le boss), sans que le technicien (le geek) ne développe des fonctionnalités inutiles.

En fin de compte, l’objectif est de parvenir à une harmonie entre ces trois perspectives, en les réconciliant pour créer un produit qui répond à la fois aux attentes de l’utilisateur, aux objectifs commerciaux et aux impératifs techniques. En adoptant cette approche, on peut réduire les malentendus, améliorer la communication et, finalement, développer un produit qui répond véritablement aux besoins de toutes et tous. Le fait d’aligner les points de vue permet de limiter les risques d’obsolescence qui sont induits par une méconnaissance ou une inadéquation entre la solution développée et le besoin des utilisateurs. Pour synthétiser cet objectif, nous vous conseillons le concept des 3U : utile, utilisé et utilisable.

Méthodologie de questionnement pour éviter l’obsolescence logicielle et matérielle dans son infrastructure.

  1. Quel est l’impact d’un changement sur un des composants applicatif ou matériel ? Cela implique-t-il de tout refaire ?
  2. Quel est le surcoût du système ? C’est-à-dire le temps additionnel pour exécuter un service, en plus du temps réellement utile pour exécuter la tâche de base.
  3. Quelle est la consommation de ressources lorsque le système est inactif ou (sur)occupé ?
  4. Quelles sont les compétences requises pour maintenir le système ? Par exemple, si votre solution utilise des solutions trop anciennes ou trop récentes, cela va créer de l’obsolescence car personne ne pourra le faire évoluer.
  5. Quelles sont les dépendances du système entre le matériel, la partie logicielle et autres composants externes ?

Que fait Aeonics ?

Lors de la mise en place d’un service numérique, par exemple une application web qui traite des données, plusieurs logiciels sont impliqués dans le traitement de l’information. De même, plusieurs composants coexistent pour fournir des fonctionnalités complémentaires. Afin de limiter les interférences entre ces éléments, il est recommandé de les gérer en tant que « micro-service ». Ceci veut dire que les différents logiciels sont installés et évoluent de manière indépendante les uns des autres. Cela offre plus de flexibilité et moins de risques en cas de problème. En revanche, cela augmente la complexité du système qui est plus difficile à faire évoluer dans le temps. C’est une forme d’obsolescence liée aux compétences des professionnels du secteur.

Lorsqu’une donnée doit être traitée par le système, celle-ci va cheminer entre différentes étapes et différents logiciels qui vont communiquer entre eux par le réseau. Chaque étape et donc chaque échange de données consomme un petit peu d’énergie. Lorsque l’on considère une application qui est fortement utilisée, on parle de millions d’échanges par seconde au sein même des datacenters, il est alors nécessaire de remplacer les réseaux existants avec du nouveau matériel qui permet d’augmenter la bande passante. C’est une obsolescence involontaire liée à la manière dont les services numériques sont déployés.

Aeonics améliore ces architectures microservices en limitant le nombre de couches impliquées dans le traitement de l’information. De plus, les fonctionnalités sont déployées au sein d’un seul système, ce qui élimine totalement le passage intermédiaire des données par le réseau.

Comme les échanges de données sont plus rapides (de l’ordre de la nanoseconde), cela signifie que le même matériel physique pourra gérer d’autant plus d’informations par unité de temps. Cela diminue le besoin de multiplier le nombre de machines, de ressources et d’énergie pour offrir le même service.

Cette méthode permet donc à la fois de limiter les ressources dépensées pour offrir un service numérique, économiquement et environnementalement, mais permet aussi de lutter contre l’obsolescence et le renouvellement du matériel plus ancien, car même si les performances sont dégradées par du matériel plus vieux, la réactivité du service reste acceptable pour l’utilisateur.

Aeonics propose ainsi une solution qui se veut flexible, simple, efficiente et durable permettant de répondre aux besoins et réalités entre toutes les parties prenantes (utilisateurs – développeurs – gestionnaires de projet). Leur solution modulaire vise également à mieux gérer le changement pour repousser l’obsolescence des services numériques.

Cet article a été co-écrit en collaboration entre l’ISIT, Algorila et Aeonics

Pour aller plus loin 

Laisser un commentaire

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