Numérique Responsable

Comment lier performance et écologie ?

   @doc_roms

C'est juste la photo de mon profil

Romuald

C'est juste la photo de mon profil

Twitter : @doc_roms

Logo de The Green Compagnon

LeadDev

- Performance

- Qualité (éthique, sécurité… )

- Eco-conception

- Ecologie

- Numérique Responsable

- Inclusion & Accessibilité

Logo d'Euronews
Logo de l'association Green IT

Etat des lieux du numérique

Un service numérique est constitué d’un ensemble de logiciels, matériels, réseaux et infrastructures, et d’autres services numériques.

Le numérique ?

Photi d'une console de jeux vidéos (c'est une xbox series X de mircosoft)
Photo d'un écran de TV relativement grand et légèrement incurvé
Photo d'une montre connectée
Photo d'une carte Graphique
Photo d'une partie d'une antenne 5G
Photo de 3 gros emplacements de serveurs
Photos de plusieurs smartphones

Qu'est-ce qui se passe ?

Photo du logo de Netflix
Photo d'une télévision relativement grande et légèrement incurvée
Photo d'une partie d'une antenne 5G
Photo de 3 gros emplacements de serveurs

Ce n'est PAS "immatériel"

Ex : le Bitcoin

Graphique ou l'on observe les différents mix énergétiques de plusieurs payes Européens. On constate que sur le rapport Quantité d'énérgie produite et impact en g/CO2 eq , la France et la suède sont bien placés, contrairement à la Pologne et l'Allemagne.

Electriquement, une même fonctionnalité n'aura pas le même impact d'un pays à l'autre !

Et le problème n'est PAS qu'éléctrique !

Photo d'un minerai d'Antimoine

Petit(s) rappel(s) sur les métaux :

Graphique d'une vue coupé d'un téléphone avec les différents métaux composants la batterie, l'éléctronique, l'écran et la coque.

Il y en a beaucoup... partout !

l'extraction pollue énormément

L'impact n'est PAS qu'environemental

Petit(s) rappel(s) sur l'ACV :

Graphique ou l'on remarque les différents impacts lors de la vie d'un produit : ceux-ci sont de très loin dû à la l'extraction des ressources pour sa fabrication.

Petit(s) rappel(s) sur le numérique :

L'impact c'est principalement NOUS

Petit(s) rappel(s) sur le numérique :

La caméra connectée – Le thermostat connecté - Le climatiseur connecté –Les prises électriques connectées - La montre connectée - La poubelle connectée - Le système d’éclairage connecté  - La balance connectée - La boîte à œufs connectée - La brosse à dents connectée - Le porte papier toilette connecté…

Trop de numérique ?

Petit(s) rappel(s) sur le numérique :

Le terme « écologie » vient des mots grecs « oikos » (la maison) et « logos » (discours, science, connaissance).

Il désigne la science qui étudie les conditions d’existence et les relations entre les organismes et leur milieu.

L’écologie pose comme principe que chaque être vivant est en relation continuelle avec tout ce qui constitue son environnement.

 

Dans ce cadre, elle étudie les flux d’énergie et de matières qui circulent dans un écosystème.

Ecologie ?

Performance?

Une application rapide !

Une application qui ne rame pas !

Une application qui ne plante pas !

?

>>> FOCUS Vitesse <<<

Performance?

Pourquoi c'est pas forcément "GREEN" ?

<link rel="prerender" href="https://example.com/next-page.html">

Scalabilité

Le fameux "plus de serveurs"

Le LazyLoading

ISO 25010 - qualité logicielle

Performance?

Norme ISO ? International Standard Organisation

Tests de performance

Temps de réponse

Capacité

Utilisation de Ressource

Rafale

Consomme 185,2 l /min

Réservoir de 5875 litres 

2222Km/h (1200 nœuds)

3700 Kms de rayon d'action

une Clio à un réservoir de 45 l

Qu'est-ce qu'on fait ?

Sobriété

Nouveau meilleur pote

Moins de fonctionnalités

A quoi va-t-elle me servir ?

Puis-je faire autrement ?

N'ai je pas déjà une fonctionnalité similaire ?

Est-elle essentielle pour mes utilisateurs ?

Moins de dépendances

Puis-je faire sans ?

Quel est son poids ?

Avec une dépendance que je possède déjà ?

En natif, sans utiliser de dépendance ?

Est-ce que ça ne va pénaliser mes utilisateurs ?

Même avec un débit réduit ?

Moins de ressources

Une iframe gMap ? 
Une font custo ?
Une gallerie d'images ? 
Une image ?

Et pourquoi pas :

Une image cliquable
Une font système
Une seule image
Une icône
Une icône ?
Pas d'icône

Moins de ressources

3 écrans / 4 téléphones de tests / 2 PCs

Et pourquoi pas :

1 écran (ou 0) / 1 abonnement BrowserStack   / 1 PC

Sur nos envs aussi !!

Moins de ressources

Moins de ressources

Une connaissance de mes utilisateurs et utilisatrices

Quel est le parcours ?

Que font-ils ?

Pourquoi sont-ils là ?

Peut-il être optimisé ?

Utilisent-ils toutes les fonctions?

Ils se sont peut-être planté ^^

Ok, j'ai compris, j'agis avec sobriété ! Mais pourquoi ?

Pour réduire l'impact de notre applicatif !

Coté Back

Moins de charge serveur

Moins de CPU utilisé

Moins de mémoire allouée

Moins de stockage utilisé

Sur le réseau

Moins de données transmises

Coté Front

Moins de données stockées

Un applicatif plus léger

Des téléchargements plus rapide

Il faut absolument éviter l'obsolescence logicielle de nos applicatifs 

OK ! Et concrètement ?

1/ Ecoconception

«Intégrer l'environnement dès la conception des produits et des services» ISO 14062

OK ! Et concrètement ?

Ecoconception

« De la conception à la fin de vie du produit ! »
Analyse de cycle de vie (ACV)

ISO 14040/44

Multicritères

Conséquentiel?

2/ Choisir son hébergeur

Energie bas carbone 

Réutilise les anciens composants

Utilise la chaleur générée pour autre chose

Fait des achats durables

Evite le Greenwashing en se disant "neutre en carbone" ;) 

+ Bonne gestion de l'énergie (ISO 50001)

Prise en compte des problématique écologique (ISO 14001 / BC ?) 

Bonus : Sécurité des donnés (ISO 27001)

Bonus : Sécurité des donnés (ISO 27001)

3/ Choisir son language

/!\ Ce n'est pas ULTRA impactant :)

!= Energie finale consommé

!= Temps d'execution

!= mémoire utilisée

4/ Mettre en place des bonnes pratiques 

Les bonnes pratiques de vos langages / Frameworks

Vous pouvez contribuer !
https://github.com/cnumr/best-practices

4.1 / Exemples

#1 Éliminer les fonctionnalités non essentielles

#2 Quantifier précisément le besoin

#5 Favoriser un design simple

#85 Mettre en place un plan de “fin de vie”

4.1 / Exemples

#9 Limiter le nombre de requêtes HTTP

#18 Limiter le nombre de domaines servant les ressources.

#34 Redimensionner les images en dehors du navigateur

#37 Utiliser le chargement paresseux (lazy-loading)

4.1 / Exemples

#40 N’utilisez que les portions indispensables des bibliothèques JavaScript et CSS

#56 Mettre en cache les données calculées souvent utilisées

#72 Éviter d’effectuer des requêtes SQL à l’intérieur d’une boucle

#114 Adopter les vidéos aux contextes de visualisation

#99 Utiliser un cache HTTP

5/Conseils \o/

Tester vos applications en bridant votre connexion

Image représentant la possibilité d'activer le `Throttling` dans la console de dev (onglet network) des navigateurs internet

Monitorer tout ça !

https://ecoIndex.fr

Empreinte environnementale

Poids et complexité

Grade (A - G)

https://web.dev/measure

Informations d'amélioration

Metrics WebPerf

Grades (0 - 100)

https://webpagetest.org

Informations d'amélioration

Metrics WebPerf

Paramètres

- Repeat

- Limitation du réseau 

- N°1 infos WebPerf

https://dareboost.com

Informations d'amélioration

Metrics WebPerf

Infos Technologies

Grade (0 - 100%)

Coup de ❤️ Qualité

Et beaucoup d'autres...

Outils "d'analyse statique"

Outils de "profilage"

http://validator.w3.org/

Petite mise en perspective

2T CO2eq (GIEC)

#ShowYourStripes Merci le Numérique ❤️

Petite mise en perspective

Le Numérique est utile !

Il n'est pas indispensable.

TOUT le monde peut changer les choses !

Merci !

C'est juste la photo de mon profil

@doc_roms

Des questions ?