L’éco-conception des services numériques : un réflexe nécessaire pour maîtriser les consommations

L’éco-conception des services numériques : un réflexe nécessaire pour maîtriser les consommations

Sites web, logiciels, applications, tous concernés par les enjeux environnementaux dès la conception.

Le numérique, le continent qui consomme autant que deux France

 

Le monde numérique continue son expansion, connectant toujours plus d’internautes, de terminaux et de serveurs.

Selon un récent rapport de The Shift Project, plus de 300 millions de tonnes de CO2 ont été produites par la consommation de vidéos en ligne en 2018. Sont concernés par cette étude le visionnage de vidéos sur Netflix, le partage de vidéos sur Facebook, le défilement des stories Instagram ou l’écoute de la musique sur YouTube, etc…

 

Des chiffres alarmants :

(source)

  • 10h de film en HD contiennent plus de données que l’intégralité des articles en anglais de Wikipédia.
  • La vidéo en ligne consomme 80% de l’ensemble de la bande passante d’internet
  • Elle a été responsable de 300 millions de tonnes de CO2 en 2018, soit autant que l’Espagne. Cela représente 1% des émissions mondiales.
  • Les services de vidéos à la demande (Netflix, Amazon Prime, OCS…) rejettent autant de gaz à effet de serre que le Chili (où les industries au charbon représentent 77% des émissions nationales de CO2)

La réalité est là : des millions d’utilisateurs utilisent chaque jour des solutions trop gourmandes et pas suffisamment optimisées, et l’impact environnemental est conséquent. Et contrairement aux idées reçues, ce ne sont pas les data centers, mais les terminaux utilisateurs qui ont le plus d’impact : ils sont en tête des chiffres dans tous les domaines (déchets, gaz à effet de serre, énergie, …) sauf pour l’eau, où les data centers et les infrastructures réseaux prennent la première place. Il est donc primordial de repenser les solutions, afin de prolonger la durée de vie des terminaux, et de limiter l’utilisation de leurs ressources, tout en gardant en tête que l’on peut également agir en parallèle sur les serveurs et donc les data centers (en savoir plus).

 

L’éco-conception, pour l’écologie, la qualité et la réussite

Pour arriver à réduire ces impacts, on utilise l’éco-conception, une démarche standardisée, employée dans l’industrie depuis plus de 15 ans, et qui vise toutes les étapes du cycle de vie d’un produit. Certaines normes ISO viennent certifier cette démarche d’éco-conception, preuve qu’il s’agit réellement d’une démarche de qualité.

L’éco-conception n’est pas un élément bonus à ajouter aux projets, mais s’inscrit dans une démarche globale, et doit être, dans l’idéal, prise en compte dès la conception du produit. Loin de se limiter à un impact environnemental (qui est déjà d’une importance majeure), la prise en compte de ces considérations permet de mettre en place une démarche globale visant à éviter les fonctionnalités inutiles, et à créer un produit de qualité, avec les fonctionnalités nécessaires, le tout utilisant le moins de puissance informatique possible. Cette démarche s’associe également très bien à celles existantes pour l’accessibilité, la sécurité ou la qualité, par exemple. On obtient donc au final une meilleure conception, qui assure un taux de réussite du projet plus élevé, mais aussi une solution plus performante, moins gourmande et axée sur l’utilisateur.

Cela permet également de lutter contre l’obsolescence programmée, qui concerne aussi bien les machines que les logiciels, comme le souligne le collectif HOP dans son livre blanc (page 33).

Éco-concevoir un service numérique, c’est « trouver le meilleur équilibre possible entre le niveau de performance (ou de qualité de service) à atteindre et la quantité de ressources (informatiques comme humaines) nécessaires pour atteindre cette performance ».

 

Une démarche qui profite à tous

Cette démarche est profitable, car elle apporte un gain non négligeable à tous les acteurs d’un projet :

Les utilisateurs finaux obtiennent un logiciel, application ou site web qui se concentre sur l’essentiel (ce qu’ils veulent faire), et qui n’est pas surchargé de fonctionnalités ou contenus inutiles et/ou lourds. Temps de chargement réduits, applications plus légères au téléchargement comme à l’installation, images qui s’affichent immédiatement… Tant de critères qui font la différence auprès d’un utilisateur, qui peut se désintéresser rapidement d’un site ou d’une application s’il se retrouve à attendre indéfiniment.

L’entreprise propriétaire de cette solution, en plus d’attirer et de conserver plus de clients grâce à un service efficient, montre son attachement aux questions écologiques. On peut aisément imaginer que nombre de clients seront enthousiastes à l’idée d’utiliser un service éco-conçu et plus responsable. On constate d’ailleurs que c’est une préoccupation grandissante : il ne se passe pas une heure sans que plusieurs sites ne soient testés par des internautes au travers d’ecoindex, pas un mois sans que des articles n’apparaissent sur la consommation énergétique ou la consommation des données mobiles générées par les applications (cf. graphique ci-dessous)Ce qui prouve bien l’intérêt des utilisateurs pour ces questions écologiques et économiques.

Voici par exemple le site Greenspector qui fait état des données consommées par les applications GPS les plus utilisées.

Cette démarche assure aussi une moins grande saturation du réseau (pour les services en ligne), qui peut engendrer des économies, et elle n’est pas si complexe à mettre en place : nombre d’outils existent, et on trouve des moyens d’actions à tous les niveaux, des plus simples aux plus complexes. On répond également à des standards ISO, qui peuvent être un moyen de se démarquer de la concurrence et d’afficher son engagement, mais aussi de se préparer aux prochaines législations qui devraient apparaître dans les prochaines années, demandées par divers collectifs d’utilisateurs, et auquel notre domaine n’échappera pas.

 

Déjà adoptée par des entreprises de toutes tailles

Il y a quelques années déjà, LinkedIn et IBM annonçaient avoir divisé par plus de 100 le nombre de serveurs nécessaires en éco-concevant leurs services numériques. De nombreuses entités pratiquent l’éco-conception dans le domaine digital (cette pratique étant déjà courante depuis une quinzaine d’années dans les autres domaines), notamment la Banque Cantonale de Fribourg, La Poste, les opérateurs télécom français, et nombre d’autres entreprises, de toutes les dimensions.

Concrètement sur le site de la commission européenne l’empreinte environnementale a été divisée par 2 et sa note Ecoindex est passé de F à C, seulement en limitant l’affichage des actualités qui était de 75 à 10 ! (source p.26)

 

Ensemble vers un monde plus vert et plus durable

 

Considérant le contexte actuel, nous devons de mutuellement nous encourager à aller vers l’écoconception : c’est un moyen de réduire notre empreinte environnementale, mais aussi les coûts en production, et d’améliorer l’expérience utilisateur, les performances et les chances de réussite de tout projet.

Tout en se méfiant du greenwashing*, il est possible de s’appuyer sur des outils et connaissances fiables (labels, référentiels, certifications, outils de mesure, …) afin de mesurer et de réduire l’impact écologique de nos entreprises, dans notre intérêt à tous.

*L’écoblanchiment, ou verdissage, aussi nommé greenwashing, est un procédé de marketing ou de relations publiques utilisé par une organisation (entreprise, administration publique nationale ou territoriale, etc.) dans le but de se donner une image de responsabilité écologique trompeuse.

 

Vous souhaitez intégrer une partie logicielle dans vos solutions et vous recherchez performance et durabilité/pérennité ? Nous pouvons vous aider à optimiser vos applications.

Apitech compte depuis plus de 20 ans de nombreuses expériences dans la collecte et le traitement des données. Que ce soit dans le secteur public, le secteur industriel ou le secteur tertiaire, Apitech a constaté au fur et à mesure des projets que l’optimisation des plateformes était déjà un enjeu crucial.

Outre le gain économique, les sociétés prennent maintenant aussi conscience des consommations qui se multiplient sur divers périphériques.

L’enjeu de la performance a toujours été intégré à nos réalisations, dorénavant nous vous proposons de réaliser une analyse de votre site internet grâce à des outils reconnus (eco-index, ecometer, etc)

Afin de vous aider à mesurer vos indicateurs clés de performances, et si vous êtes intéressés et curieux de connaître votre score d’éco-conception, renseignez votre adresse mail et votre url.

Par la suite nous échangerons sur les préconisations et axes d’amélioration sur lesquels nous pourrions travailler et vous disposerez d’une comparaison de votre score par rapport à la moyenne de votre secteur !

Prenons le temps de bien comprendre ces 2 lettres : IA

Prenons le temps de bien comprendre ces 2 lettres : IA

IA 101 – Où les premiers pas de l’Intelligence Artificielle

A l’heure où l’IA envahit les écrans et les conversations, nourrit de nouvelles angoisses sociétales et redéfinit la place de l’Homme dans les processus de création et de production, nous, professionnels du logiciel devons faire œuvre de pédagogie et de mise en perspective de cette Informatique Avancée.


 

 

 

 

 

 

“Saurons nous expliquer à notre petite cousine et à notre grand-mère

ce que sont l’Intelligence Artificielle et ses enjeux ?”

Et pour cela la compréhension des fondamentaux, en particulier celle des algorithmes appartenant à la grande famille IA, constitue notre valeur ajoutée et notre contribution aux débats.

  • Quelles sont les classes de problèmes couvertes par ces algorithmes ?
  • Quels sont les domaines d’usage et de validité de ces différents algorithmes ?
  • Pourquoi ces algorithmes, dont certains datent des années 40, connaissent-ils actuellement un regain d’intérêt ?

Par exemple, sur votre table de cuisine, il y a des petits pois et des billes de plomb. Comment les séparer ?

Les succès de l’IA connexionniste

La famille IA se structure en deux grandes branches – parfois complémentaires mais souvent rivales :

  1. L’IA symbolique (les neats) repose sur le raisonnement formel et la logique (moteur de règles, programmation par contraintes, systèmes experts…) qui garantissent une approche déterministe et des résultats explicables,
  2. L’IA connexionniste (les scruffies) (réseaux neuronaux, machine learning, deep learning…) utilise des approches statistiques, voire probabilistes, qui nécessitent de gros volumes de données d’apprentissage et ne permettent pas ‘d’expliquer’ les résultats obtenus.

les succes de l'ia connexionniste

Les récents progrès de l’IA sont liés à la branche connexionniste, à l’existence de gros volumes de données (issues de l’IoT ou des réseaux sociaux) et à la puissance de calcul disponible dans le Cloud.

Les méthodes de l’IA connexionniste sont de nature probabilistes et les résultats produits sont non formels et exprimés sous la forme d’un pourcentage de véracité (« il est probable à 80% que cette pièce sera en panne dans 3 mois »). On va pouvoir prédire mais sans forcément comprendre !

Pour aller plus loin sur les distinctions IA symbolique / IA connexionniste :
Olivier Ezratty : http://www.oezratty.net/wordpress/2018/que-devient-ia-symbolique/
Marvin Minsky : https://www.aaai.org/ojs/index.php/aimagazine/article/view/894/812

Les grands domaines d’applications de ces algorithmes IA connexionnistes sont :

La classification d’éléments. Identifier un spam, une tumeur.
La prédiction d’événements. Anticiper une prévision de panne.
La découverte de modèles et de relations cachées. Optimiser l’utilisation de ressources.
La détection d’anomalies de comportement. Détecter une tentative de fraude.

Premiers éléments d’algorithmie

Les variables prédictives : à partir desquelles on espère faire une prédiction, représentées par un vecteur X = {x1… xp}. Exemple x1= âge du client, x2=son domicile, x3= son niveau étude, ….

La variable cible : dont on souhaite prédire la valeur pour des éléments non encore observés. Représentée par Y qui peut-être une valeur quantitative (ie numérique) ou qualitative (ie un nom de catégorie, ou 0 ou 1). Exemple Y : probabilité de rembourser un crédit.

  • Pour une variable cible quantitative on utilisera des modèles dits de ‘régression’.
  • Pour une variable cible qualitative on utilisera des modèles dits de ‘classification’.

La fonction de prédiction :

La valeur observée Y dépend d’une fonction entièrement déterminée par les variables prédictives X et d’un bruit aléatoire : Y = FonctionDeterministe(X) + BruitAleatoire(X)

Cette FonctionDeterministe() et ce BruitAleatoire() resteront toujours inconnus. Ce que l’on cherche c’est une approximation – suffisamment bonne – de cette FonctionDeterministe() par une FonctionPrédiction(X) construite à partir des données observées. La fonction de prédiction peut être linéaire (exemple la régression linéaire f(x) = a1.x1 + … + an.xn) ou non linéaire (exemple les machines à vecteurs de support).

Il s’agit d’une approche résolument pragmatique et non académique.

Le Machine Learning (ML) permet d’automatiser la construction de la FonctionPrédiction() à partir d’un ensemble de données d’apprentissage.
La construction de la FonctionPrédiction() constitue la phase d’apprentissage du modèle.

Les stratégies d’apprentissage

Dans le Machine Learning (ML) on distinguera différentes stratégies d’apprentissage :

  • Un apprentissage supervisé avec des données et leurs résultats associés.
  • Un apprentissage semi-supervisé avec des données mais sans tous les résultats associés.
  • Un apprentissage non supervisé avec des données mais sans aucun résultat associé.
  • Un apprentissage par renforcement de capacités avec les règles mais sans les données.

Pour apprendre à un enfant à reconnaître une girafe il suffit de 4 photos.

Pour entraîner une IA il faut des centaines de milliers de photos.

Il faut disposer d’un gros volume des données d’apprentissage !

Source

Pour chacune de ces stratégies d’apprentissage, on dispose de plusieurs algorithmes pour construire les fonctions de prédiction correspondantes.

Apprentissage supervisé et semi-supervisé

Bayesian Statistics

Decision Trees

Forcasting

Neural Networks

Random Forest

Regression Analysis

Support Vector Machine (SVM)

Apprentissage non supervisé

Affinity Analysis

Clustering

K-Means

Nearest Neighbour Mapping

Self-Organizing Maps

Singular Value Decomposition

Apprentissage par renforcement de capacités

Artificial Neural Networks

Learning Automata

Makov Decision Process (MDP)

Q-Learning

Un algorithme possède son domaine d’utilisation (veut-on Prédire / Classifier / Identifier / Détecter), ses caractéristiques d’apprentissage (rapide, lent, avec plus ou moins de données d’apprentissage…) et ses performances (temps, mémoire, précision…).

« Quand on n’a qu’un marteau, tous les problèmes deviennent des clous… » Abraham Maslow

-> Pratiquer l’IA, c’est donc disposer d’une boite à outils d’algorithmes variés !

Exemple d’utilisation du Support Vector Machine :

« Sur votre table de cuisine, il y a des petits pois et des billes de plomb. Comment les séparer ? »

SVM nous suggère de changer de dimension pour trouver alors dans la nouvelle dimension un facteur discriminant qui n’est pas visible dans la dimension initiale.

De la table de cuisine (2D) mettre petits pois et billes de plomb dans une casserole d’eau (3D).

-> La gravité sera le facteur discriminant.

Les grandes étapes d’un projet IA – ML

  1. L’expression du besoin métier avec une question précise.
  2. La sélection d’un ou de plusieurs algorithmes IA (tous les problèmes ne sont pas des clous).
  3. L’entrainement de l’algorithme à partir des données d’apprentissage et la construction automatique de la fonction de prédiction.
  4. La validation de la fonction de prédiction sur des données de tests.
  5. L’exécution de la fonction de prédiction sur les nouvelles données.
  6. L’amélioration de l’algorithme avec les nouvelles données.

 

A suivre…

Node.js : de la performance pour les services web

Node.js : de la performance pour les services web

Créée en 2009, cette plateforme compatible avec les environnements Windows et Linux a conquis les développeurs Web expérimentés qui traitent un très grand nombre de requêtes même avec de tout petits volumes. Elle est de plus en plus utilisée par des grands comptes :

  • Ebay a developpé une passerelle HTTP basée sur Node.js.
  • LinkedIn se sert du framework comme interface pour ses applications mobiles.
  • Paypal a developpé un serveur pour tous les développements de leurs applications web. La migration d’une douzaine de ses applications a été amorcée.
  • General Electric utilise Node.js pour développer une interface utilisateur commune à toute l’entreprise.
  • Dow Jones a développé une large gamme d’outils qui tournent exclusivement sur Node.js dont la version mobile du Wall Street Journal.
  • 53% du trafic de Walmart est traité par Node.js.

Une prise en main rapide

Node.js contient une bibliothèque de serveurs HTTP intégrée permettant de faire tourner un serveur web sans recourir à une infrastructure externe lourde comme Apache. Il utilise la machine virtuelle V8 (V8 JavaScript engine), un moteur Javascript open source développé par Google. Parmi ses avantages, Node.js bénéficie d’une très bonne montée en charge, son langage (JavaScript) est connu de tous et rend cohérente la programmation côté serveur et côté client.

Des gains de performances spectaculaires

Malgré une maturité moindre que PHP par exemple, les performances notables de Node.js font qu’un grand compte comme Groupon a repensé son architecture pour des raisons de performance et de rapidité de développement.

“Les tests de performances en production sur du matériel identique ont montré que l’application Node.js était 35% plus rapide que son équivalent Java” Jeff Harrell, Directeur de l’ingénierie chez Paypal.

Un cas concret avec DELL France

GIGS France, entité service de DELL France, a choisi Node.js pour accompagner la filiale développement d’un grand nom du CAC 40 dans la mise en oeuvre d’une application Web métier remplaçant une solution bureautique vieillissante et limitée.

L’outil développé répond pleinement aux besoins importants de charge : 3 000 utilisateurs internes et plus de 50 000 externes. Il fonctionne en interopérabilité avec SharePoint et Office Web Application qui sont utilisés pour fournir les fonctionnalités de gestion électronique des documents de l’application.

Si vous désirez réellement donner un coup d’accélérateur à vos applications, venez donc consulter Apitech, qui se positionne en expert sur le sujet.

Modernisez l’interface web de votre messagerie

Modernisez l’interface web de votre messagerie

L’enjeu était de taille pour les équipes technique du MEDDE et du MLET qui devaient moderniser la suite collaborative Mélanie 2 basée sur Horde 3, afin de mieux servir leurs 55 000 agents. Il leur fallait une solution libre évolutive, devant faire face à de fortes contraintes de maîtrise des coûts, de déploiements et de maintien des conditions opérationnelles actuelles.

Accompagnés par Apitech, des tests de charge ont démontré d’excellentes performances en période de pointe : en moyenne, la charge était de 5 fois moins importante qu’avec Horde pour les mêmes services d’accès aux données personnelles et partagées (contacts, agendas, notes et tâches), de gestion de l’annuaire et du compte utilisateur. De plus, la plateforme Roundcube supporte 3 fois plus d’utilisateurs par serveur.

Roundcube repose sur une communauté active depuis près de 10 ans et compte parmi ses utilisateurs le Massachussets Institute of Technology (70 000 utilisateurs) ou l’hébergeur Gandi. Plus d’informations sur http://roundcube.net/.

Les points forts de Roundcube :

  • Une meilleure utilisation des ressources matérielles pour héberger plus d’utilisateurs.
  • Un produit modulaire facilitant l’intégration d’applications externes (plug-ins) et réduisant la complexité des changements de versions.
  • Une interface utilisateur fluide, moderne et personnalisable.
Devenez ActiveSync compliant avec Z-Push

Devenez ActiveSync compliant avec Z-Push

ActiveSync est un des protocoles de synchronisation mobile les plus utilisés. Contrairement à la plupart de ses concurrents, il est nativement présent sur la majorité des smartphones du marché. Il supporte le push pour tous les services synchronisés (e-mail, calendriers, contacts, …). De plus, la configuration sur les téléphones est simplifiée, grâce à des technologies comme l'”autodiscover”.

Z-Push est un projet open-source permettant de déployer une interface ActiveSync. Il est adaptable pour se connecter à un backend (serveur IMAP, webmail, messagerie atypique, …). La version 2 de Z-Push apporte le support d’ActiveSync 14. Cette nouvelle version permet notamment la gestion de politiques de sécurité sur le mobile (verrouillage du téléphone, cryptage des données, …).

Avec l’abandon annoncé par Google de leur serveur ActiveSync, le 31 juillet 2013, mettre en place son propre serveur de synchronisation ActiveSync est une décision stratégique. En effet, aucun autre protocole de synchronisation n’atteint encore le niveau de fonctionnalités d’ActiveSync. Or, les besoins en synchronisation des utilisateurs continuent d’augmenter, et ActiveSync reste la solution universelle pour synchroniser les appareils iOS, Android, Windows Phone ou autres.