Services numériques
Version bêta. Dernière mise à jour le
La loi de Wirth est une loi empirique formulée par Niklaus Wirth en 1995, selon laquelle « les programmes ralentissent plus vite que le matériel n’accélère ». En effet, l’une des causes de l’obsolescence des équipements est due aux logiciels, qui en consommant de plus en plus de ressources informatiques, accélèrent l’obsolescence des équipements.
De plus, sur certains équipements ou sur certains systèmes d’exploitation, des logiciels préinstallés ne peuvent pas être supprimés (bloatware), occupant à la fois les ressources disques et parfois les ressources CPU lorsqu’ils fonctionnent en tâche de fond.
Quelques questions à se poser
À l’achat de logiciels ou d’équipements contenant un logiciel :
- Quelles sont les versions des systèmes d’exploitation, navigateurs et types d’équipements supportés par le logiciel acheté ? Peut-on estimer la durée pendant laquelle ils le seront ?
- Peut-on contractualiser sur des durées longues de maintenance du logiciel acheté ?
- Les acheteurs sont-ils formés sur les sujets de l’écoconception de service numérique, de l’obsolescence des logiciels eux-mêmes mais aussi l’obsolescence induite par le logiciel sur les équipements ?
À la conception d’un service numérique :
- A-t-on besoin de numériser le service ?
- A-t-on identifié les attentes réelles des utilisateurs-cibles ?
- Une stratégie de compatibilité avec les terminaux et versions logicielles obsolètes est-elle définie ? Dans la définition des personae, les versions cibles d’équipements, systèmes d’exploitation (OS) et navigateurs ont-elles été prises en compte ?
- S’assurer d’une compatibilité descendante et ascendante sur les équipements
- Conception d’abord web ou technologies standard au lieu d’applications propriétaires (web app vs applications natives par exemple)
- Limiter les dépendances externes (librairies / packages tiers)
- Privilégier les versions LTS (Long-term support) des outils ou briques logicielles notamment open source
- Privilégier des solutions open source mais vérifier les durées d’engagement de maintenance ou s’engager dans la maintenance de l’outil.
- Amélioration progressive selon les possibilités du terminal (Progressive Web App)
- Séparer les mises à jour évolutives des mises à jours correctives (vrai surtout pour les applications propriétaires et les systèmes d’exploitation)
- Découpler le code métier des frameworks pour faciliter les mises à jour et les évolutions
- Conception sobre : limiter les fonctionnalités, limiter la consommation de ressources informatiques (nombre de requêtes, poids, process, RAM…) et utiliser des composants natifs du système.
Exemples de bonnes pratiques
- Évaluer collectivement la pertinence des fonctionnalités à concevoir
- Systématiser une revue de conception en amont et une revue de code orientées sobriété numérique
- Mettre en place les bonnes pratiques et s’appuyer sur les référentiels
- Concevoir un service numérique compatible avec des équipements les plus anciens possibles
- Concevoir un service numérique qui s’adapte à différents types de terminaux d’affichage
- Concevoir un service numérique compatible avec des faibles débits
- Concevoir à l’aide de technologies standard plutôt que de technologies propriétaires ou spécifiques à une plateforme
- Réduire le temps passé par un usager sur un service numérique
- Accompagner les contributeurs pour alléger les contenus multimédia
- Dissocier les mises à jour évolutives et les mises à jour correctives
- Envisager des solutions non-numériques plus efficientes