Agenda. 14h00 - Mot d'accueil. 14h10 - Les fondamentaux de l éco-conception logicielle



Documents pareils
Efficience énergétique du SI par l écoconception des logiciels - projet Code Vert

Vers une Gestion Ecologique du Parc Informatique. Pierre et Sophie CHOPLAIN, Société PCI CUME ET Groupe Logiciel, 24/03/2011

Experts efficience informatique

répondre aux défis de l ingénierie logicielle déploiement et mise en œuvre opérationnelle : l'industrialisation au service de la compétitivité

Quels enjeux? 4. Quels bénéfices pour qui? 5. Les économies réalisables 6. Les caractéristiques et fonctionnalités en bref 7

réduisez la facture électrique

Elasticité logicielle pour optimiser l empreinte énergétique

e need L un des premiers intégrateurs opérateurs Cloud Computing indépendants en France

Tivoli Endpoint Manager Introduction IBM Corporation

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Cloud Computing. La révolution industrielle informatique Alexis Savin

Green it consulting nouveau leader de l informatique écologique

DataStudio. Solution d intégration des données et de diffusion de l information

La reconquête de vos marges de manœuvre

La Virtualisation Windows chez CASINO. Philippe CROUZY Responsable Infrastructure Equipes Systèmes -Stockage

D ÉVALUATION D UN SI ÉCOLOGIQUEMENT RESPONSABLE?

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

virtualisation et consolidation des infrastructure: comment amèliorer la performance du SI

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Transformation vers le Cloud. Premier partenaire Cloud Builder certifié IBM, HP et VMware

WEB ENERGY ARCHIVE (WEA)

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Entreprise. Gestion énergétique de votre parc informatique

Architectures informatiques dans les nuages

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

MAÎTRISEZ VOTRE PARC EN TOUTE LIBERTÉ!

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

l E R P s a n s l i m i t e

Visual Paradigm Contraintes inter-associations

Prestations de conseil en SRM (Storage Ressource Management)

CAHIER DES CHARGES D IMPLANTATION

Offre Référentiel d échange

Famille IBM WebSphere Application Server

GÉNÉRATEUR DE PERFORMANCE CONSEIL EN SYSTÈMES D INFORMATION

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

CLOUD PRIVÉ GENERALI - ACCOMPAGNEMENT AU CHANGEMENT - DU «POC» À LA RÉALITÉ. Alain ROY Generali Logo Société

Paul FLYE SAINTE MARIE

Hébergement MMI SEMESTRE 4

Cloud Computing et SaaS

Solution IT Power Management Gérer la consommation électrique de toute votre infrastructure IT

Qu est ce que le Cloud Computing?

Point sur les solutions de développement d apps pour les périphériques mobiles

PRÉSENTE SES SERVEURS L ESPACE LE PLUS INNOVANT POUR FAIRE TRAVAILLER VOS DONNÉES EN TEMPS RÉEL

Entreprises Solutions

Protection des données avec les solutions de stockage NETGEAR

Maîtriser les mutations

Optimisez vos environnements Virtualisez assurément

Livre blanc. SaaS : garantir le meilleur niveau de service. (2e partie)

1 Actuate Corporation de données. + d analyses. + d utilisateurs.

Les impacts cachés des TIC. Quels enjeux et quelles actions concrètes?

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

Vérifier la qualité de vos applications logicielle de manière continue

Présentation de la gamme des PGI/ERP modulaires Wavesoft

Bienvenue. Présentation de la société. Microsoft Innovation Center, le 20 mars Gilles Dedisse, Chef de Projets

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

W4 - Workflow La base des applications agiles

KIWI BACKUP DOSSIER DE PRESSE

VMWare Infrastructure 3

Pensezdifféremment: la supervision unifiéeen mode SaaS

Release Notes POM v5

Etude d architecture de consolidation et virtualisation

tech days AMBIENT INTELLIGENCE

DEMANDE D INFORMATION RFI (Request for information)

Linux embarqué: une alternative à Windows CE?

en version SAN ou NAS

Gérez-vous vos serveurs virtuels et physiques en tant que partie intégrante de votre infrastructure sous-jacente?

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

APX et VCE, Modèle d industrialisation de l intégration et du déploiement. Olivier BERNARD, VCE

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Ingénierie des méthodes Agiles : Que cache l opposition entre déploiement et livraison en continu? Faut-il adopter DevOps 1?

Refonte front-office / back-office - Architecture & Conception -

Dossier de Presse SYLOB

Réussir le choix de son SIRH

Architecture de serveurs virtualisés pour la communauté mathématique

Comment initialiser une démarche SOA

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Environnements de développement (intégrés)

vbladecenter S! tout-en-un en version SAN ou NAS

Comment réussir le déploiement de votre communauté B2B et réduire les coûts de votre chaîne logistique?

LES APPROCHES CONCRÈTES POUR LE DÉPLOIEMENT D INFRASTRUCTURES CLOUD AVEC HDS & VMWARE

MICROSOFT DYNAMICS CRM & O Val

Panorama des solutions analytiques existantes

Résolvez vos problèmes d énergie dédiée à l informatique

La réponse aux enjeux des RH du 21 ème siècle

Jean-Nicolas Piotrowski, Dirigeant Fondateur d ITrust

Green (?) datacenter. Green Datacenter - TIC et environnement - Institut Mines Telecom - 13 mai 2014, boutherin@lpsc.in2p3.fr

<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server

Chapitre 4: Introduction au Cloud computing

Francis Mignault. ! Coauteur : Expert Oracle Application Express. ! Membre du Oracle APEX Advisory Board apex.oracle.com/vote

Configuration Matérielle et Logicielle AGORA V2

ACCOMPAGNEMENT VERS LE CLOUD COMPUTING BIENVENUE

Enjeux énergétiques Datacenter et postes de travail

Solutions de gestion Catalyseur de performance

Transcription:

Agenda Joël Courtois Epita 14h00 - Mot d'accueil Frédéric Bordage GreenIT.fr Erwan Bouvier Blueight 14h10 - Les fondamentaux de l éco-conception logicielle 14h40 - L éco-conception à toutes les étapes du cycle de vie d une application Thierry Leboucq Kaliterre 15h30 - Code vert : détecter les «patterns consommant» dans le code source Pierre Carrio, Beveod Yann Azoury, Faveod 16h10 - Industrialisation de l éco-conception logicielle grâce à un outil dédié Animée par Frédéric Bordage, GreenIT.fr 17:00 - Table ronde 18:00 - Cocktail

Agenda Joël Courtois Epita 14h00 - Mot d'accueil Frédéric Bordage GreenIT.fr Erwan Bouvier Blueight 14h10 - Les fondamentaux de l éco-conception logicielle 14h40 - L éco-conception à toutes les étapes du cycle de vie d une application Thierry Leboucq Kaliterre 15h30 - Code vert : détecter les «patterns consommant» dans le code source Pierre Carrio, Beveod Yann Azoury, Faveod 16h10 - Industrialisation de l éco-conception logicielle grâce à un outil dédié Animée par Frédéric Bordage, GreenIT.fr 17:00 - Table ronde 18:00 - Cocktail

Les fondamentaux de l éco-conception logicielle Frédéric Bordage expert green IT et éco-conception logicielle

Agenda Constats clé du Green IT Le rôle du logiciel Définition de l éco-conception logicielle Potentiel écologique et économique de l éco-conception logicielle Retours d expérience

Constats clés du Green IT

Empreinte écologique L empreinte écologique se concentre dans la fabrication la fin de vie des composants électroniques et des écrans plats Impact environnemental des différents composants de l UC d un PC fixe, exprimé en points Eco-Indicator 99 source : Eugster et al, 2007 Contribution des différentes phases du cycle de vie d une UC de PC coréen à chaque catégorie d impact, avec un taux de recyclage de 46% - source : Choi et al, 2006

Solution clé : allonger la durée de vie active Fabrication et fin de vie des composants électroniques Fabricants Éco-concevoir Re-conditionner plutôt que recycler Réduire les volumes fabriqués et en fin de vie Utilisateurs Allonger la durée de vie active Allonger la durée de vie active Power Management Éco-conception logicielle Collecter les DEEE après de prestataires certifiés Source :

Durée d utilisation Durée de vie électronique 10 à 15 ans Durée de vie active divisée par 3 en 20 ans Durée de vie électronique 3 à 12 ans 1985 2000 2005 2007 2011 10,7 ans Source : 5,5 ans 3,6 ans 2,5 ans 4 ans Facile à upgrader, réparer, reconditionner, recycler Difficile ou impossible à upgrader, réparer, reconditionner, recycler

Le rôle clé du logiciel dans l obsolescence accélérée des équipements

Le rôle clé du logiciel Les ordinateurs ne sont pas remplacés par ce qu ils ne fonctionnent plus mais parce qu ils ne sont plus assez puissants pour exécuter les nouvelles versions de logiciels stocker les données (x69 en 10 ans) Constat valable pour postes de travail serveurs 71x + de mémoire vive en 12 ans Durée d utilisation du matériel est directement liée aux besoins en ressources de la couche logicielle Source : Puissance matérielle nécessaire x2 tous les 3 ans

Exemple de Windows et Office

Exemple de Mac OS X

Pourquoi est-ce un sujet clé? Arrivée à maturité de la couche matérielle Loi de Koomey : The number of computations per joule of energy dissipated has been doubling approximately every 2 years. (40x moins d énergie qu en 1946) Mais aucun progrès notable pour la couche logicielle Loi de Wirth : Le logiciel ralentit plus vite que le matériel n'accélère. (71x + de RAM en 12 ans) Source : http://en.wikipedia.org/wiki/koomey%27s_law Les plus gros effets de levier économiques techniques, environnementaux sont sur la couche logicielle car c est elle qui dimensionne l infrastructure matérielle qui concentre l empreinte écologique et qui conditionne la durée de vie active des équipements.

Potentiel?

L obésiciel n est pas une fatalité Conception 45 % des fonctionnalités demandées par les utilisateurs ne sont jamais utilisées (obésiciel) Empilement de frameworks et de composants pour raccourcir les temps de développement (obésiciel) Non optimisation du code et du contenu (images, etc.) (obésiciel) Utilisation 10 à 50 % des applications sont redondantes 25 % des applications ne sont plus utilisées depuis 3 ans! 15 % de serveurs zombies dans les data centers (parce qu on ne sait plus quel logiciel fonctionne dessus) Source : Standish Group, 2006

Eco-conception : définition

Eco-conception logicielle : définition L éco-conception vise à «trouver l équilibre entre le niveau de performance à atteindre et la quantité de ressources nécessaires au fonctionnement d un logiciel». C est une démarche d efficience. L éco-conception porte également sur la dimension sociale (accessibilité notamment). L éco-conception porte sur l ensemble du cycle de vie du logiciel Conception fonctionnelle et technique Développement Utilisation Mise à jour / maintenance évolutive Fin de vie (dé-provisionning) Elle ne se limite pas au code Limiter les impressions Limiter les déplacements physiques pour la maintenance des logiciels

Retours d expérience

Algorithme Retour d expérience IBM IBM Suisse 9 To de données à lire et valider (data warehouse) Costas Bekas et Alessandro Curioni Choix d un algorithme de validation différent et optimisation poussée Avant Temps : 33 heures Consommation : plusieurs MWh Après Temps : 20 minutes (100x plus rapide) Consommation : 700 kwh (1% de l énergie dépensée avant)

Retour d expérience choix socle dév. : Evernote Evernote 4 Some bugs were unfixable in v3.5: blurry fonts, slow startup times, large memory footprint, poor support for certain graphics cards..net 3.5 (WPF) -> C++ natif Résultat Temps de démarrage de l application divisé par 5 Consommation mémoire divisée par 2 Runtime

Cahier des charges fonctionnelles Retour d expérience - Microsoft Microsoft Research Moteur de recherche Bing Etude sur l impact de la Qualité de Service (QoS) sur la consommation énergétique des fermes de serveurs LiveSearch sur lesquelles fonctionne le moteur de recherche Bing. Réduction du nombre de liens (résultats) : 10 % => réduction de la consommation électrique de 65 %. 20 % => réduction la consommation électrique de 80 %.

Optimisation Retour d expérience - BCF Banque Cantonale de Fribourg (BCF) Eco-conception de son site web Intégration de 45 bonnes pratiques d éco-conception web (sur un référentiel de 104) au cahier des charges 3 à 4 % de surcoût par rapport à un site traditionnel Exemple Optimiser le poids des images (page d accueil) Avant : 5,8 Mo Après : 1,9 Mo Bénéfices potentiels Temps d affichage divisé par plus de 2 pour l internaute Trafic économisé : 17 Go / jour, 6 094 Go / an Bande passante quotidienne (largeur du tuyaux) : divisée par 3 3 fois plus d internautes avec la même infrastructure

Retour d expérience web : Facebook Facebook Eco-conception de son site web Compilation du code PHP en C++ (Hip-Hop for PHP) Résultats 2 fois moins de serveurs (CPU, mémoire) nécessaires Bénéfices Cost avoidance : data center à 100 millions de $ Coût de fonctionnement 2x moins de kwh 2x moins d émissions de GES Runtime

Pour aller plus loin Sites GreenCodeLab.fr GreenIT.fr/tag/eco-conception-logicielle Livres Green Patterns, Manuel d éco-conception des logiciels Green Code Lab (collectif) Lulu.com Eco-conception web : les 100 bonnes pratiques Frédéric Bordage & al. Eyrolles

Agenda Joël Courtois Epita 14h00 - Mot d'accueil Frédéric Bordage GreenIT.fr Erwan Bouvier Blueight 14h10 - Contexte et enjeux 14h40 - L éco-conception à toutes les étapes du cycle de vie d une application Thierry Leboucq Kaliterre 15h30 - Code vert : détecter les «patterns consommant» dans le code source Pierre Carrio, Beveod Yann Azoury, Faveod 16h10 - Industrialisation de l éco-conception logicielle grâce à un outil dédié Animée par Frédéric Bordage, GreenIT.fr 17:00 - Table ronde 18:00 - Cocktail

L éco-conception à toutes les étapes du cycle de vie d une application Erwan Bouvier Co-fondateur et responsable technique

Agenda Les étapes du cycle de vie d une application Conception fonctionnelle et technique Développement Utilisation Mise à jour et maintenance évolutive Fin de vie

Les étapes du cycle de vie d une application

Les étapes du cycle de vie d une application Conception fonctionnelle et technique Développement Mise à jour et maintenance évolutive Utilisation Fin de vie

Les étapes du cycle de vie d une application Phase de conception et développement Conception Développement 45 % des fonctionnalités demandées par les utilisateurs ne sont jamais utilisées Utilisation de l application 10 à 50% des applications sont redondantes Gestion de la fin de vie Empilement de frameworks et de composants pour raccourcir les temps de développement Mise à jour et maintenance évolutive Utilisation Mise à jour et maintenance évolutive Mise à jour et maintenance évolutive Mise à jour et maintenance évolutive 25% des applications ne sont plus utilisées depuis plus de 3 ans Fin de vie t0 Quelques mois à 1 an Plusieurs années Plusieurs mois

Conception fonctionnelle et technique

Conception fonctionnelle et technique Etape primordiale dans un projet qui permet de cadrer la mise en place de l application afin de répondre au besoin exprimé Définition des fonctionnalités à intégrer dans le développement de l application Définition des choix techniques Quelles fonctions mettre en œuvre pour répondre au besoin exprimé? Comment intégrer les nouvelles fonctionnalités dans les processus existants? Quels référentiels utiliser? Quelle architecture doit être déployée pour permettre d assurer le niveau de service demandé? Le développement et l hébergement de l application doivent-ils être réalisés par un partenaire? Quelle plate-forme technique doit être utilisée? Quel langage de programmation choisir?

Conception fonctionnelle et technique Les bonnes pratiques Réutiliser au maximum les ressources existantes Optimiser l usage de nouvelles ressources Définir des solutions durables Utiliser les bonnes pratiques Répondre au plus d urbanisation juste au besoin : 10% Service à 50% oriented des applications sont exprimé architecture redondantes (SOA) Veiller Cartographier à ne pas le SI et La recréer identifier virtualisation des les référentiels permet une réduction fonctionnalités Avoir un de inventaire 80% des déjà du consommations existantes matériel et de 90% du Utiliser nombre des de machines ressources Virtualiser les matérielles disponibles environnements physiques Formaliser les SLA pour chaque Définir application une plate-forme 90% technique des applications en ont un SLA Ne cohérence mettre défini sans place avec analyse de les la des redondance risques niveaux métier de que services lorsque nécessaire demandés et uniquement sur En recompilant les briques techniques son le application Réduire nécessitant PHP les en C++, Facebook consommations a divisé par 2 ses besoins Utiliser énergétique des en ressources environnements des peu équipements gourmands en ressources Veiller à réaliser des Enjeu autour de la pérennité choix fonctionnels et de Utiliser la technologie des architectures Java logicielles depuis techniques son et rachat techniques permettant par modulaires Oracle de répondre à Eviter l évolution des plates-formes des besoins techniques Les Choisir banques des exotiques et industries ou en fin peinent technologies de vie à trouver et des développeurs solutions pérennes en COBOL

Développement

Développement Réalisation du développement applicatif, basé sur les choix et directives de l étape précédente Ecriture et intégration des différents modules de l application Validation de la conformité de la réalisation avec le cahier des charges Utilisation d outils de développement intégrés Fournir un cadre standard de développement (framework) Automatiser la production des fonction les plus utilisées en s appuyant sur des librairies standards

Développement Les bonnes pratiques Réduire les besoins en ressources Adopter des méthodes de travail durables Utilisation intelligente des différentes techniques de cache et de proxy Utilisation Optimiser des les capacités accès techniques distants, les des équipements accès aux disques ou à la mémoire Parallélisation des accès aux CPU L utilisation multi-core des caches sur le navigateur du Simplifier poste client les (proxy-client) calculs demandés permet au diviser processeur de 3 à 10 la charge des serveurs Intégration systématique des «Green Patterns webs» dans le code de l application Réutiliser au maximum les objets et fonctions créés Intégrer la notion de contexte d exécution : Arrêter le rafraichissement de l interface client lorsque celle-ci est réduite en icône Réaliser une documentation ad-hoc permettant la reprise du projet par de Automatiser nouvelles la équipes rédaction de de travail la documentation en intégrant également les tests unitaires à réaliser Documenter les API et modules Utiliser proposés un formalisme pour faciliter standard la réutilisation pour la description nécessite une du développement des charge objets, de méthodes travail supérieure par projets APIs à la réécriture complète de l application tiers La reprise d une application non documentée Modèle UML (Unified Modelling Language) Privilégier des méthodes de travail «zéro Veiller à réaliser des choix d outils papier» permettant un travail ultérieur sur le développement produit

Utilisation

Utilisation Etape comprenant l ensemble de la durée de vie de l application une fois son exploitation démarrée L utilisation dépend des processus en place mais également des comportements L utilisation de l application a été formalisée lors des étapes précédentes, notamment au travers de processus : interactions avec d autres applications, usage par les utilisateurs L éco-usage de l application dépend de l utilisateur

Utilisation Les bonnes pratiques Respecter la logique de fonctionnement de l application Utiliser l ensemble des fonctionnalités proposées Corriger les processus inadaptés Dans les GED, présence de documents standards sur L usage inadapté de une Mettre architecture l application en place peut un haute accompagnement disponibilité réservée amener à une au aux changement documents classés avec une stratégiques surconsommation des et ressources des formations Le nécessaires mail est régulièrement campagne de sensibilisation utilisé pour transférer des fichiers volumineux Les fonctionnalités non utilisées représentent des ressources inutiles Définir 10% à 50% mises des à évaluations des applications disposition manuelles sont redondantes ou automatiques pour identifier les Certaines fonctionnalités En moyenne, uniquement inutilisées, redondantes 10% fonctionnalités à 20% des ou peuvent manquantes fonctionnalités être recréées de dans Word sont utilisées d autres applications, par méconnaissance de l application Dans une application éco-conçue, le processus métier peut Réaliser Lors de l ajout à intervalles d un nouveau réguliers document demander des papier cheminements aux dans usagers un de dossier de processus réaliser dématérialisé, pour plusieurs identifier les impression fois leviers la même d optimisation de l ensemble tâche, éco-responsable du annulant dossier pour ainsi le et scanner tout proposer de effet nouveau bénéfique des en optimisations intégrant de la le adaptées nouveau conception document écoresponsable de l application

Mise à jour et maintenance évolutive

Mise à jour et maintenance évolutive Faire évoluer l application en fonction des nouveaux besoins et contraintes apparaissant tout au long de son utilisation Définition des cahiers des charges techniques et fonctionnels, décrivant les évolutions à apporter Ecriture et intégration des différents modules de l application avec l existant Validation de la conformité de la réalisation avec le cahier des charges Les équipes de maintenance ne sont pas forcément celles du développement initial! Importance de la formalisation des travaux Des contraintes de comptabilité d outils et de continuité de méthodes de développement peuvent alors apparaître

Mise à jour et maintenance évolutive Les bonnes pratiques Maintenir un usage optimisé des besoins en ressources Optimiser les accès distants, les accès aux disques ou à la mémoire Réutilisation des techniques de développement L utilisation de serveurs utilisées plus lors puissants de la création Simplifier les calculs demandés au de peut processeur l application permettre de diviser le nombre d équipements utilisés sur une infrastructure Modifier les fonctionnalités ou de supprimer disponibles des en Réutiliser au maximum les objets fonction couches des d équilibrage nouveaux de besoins charge et fonctions créés Adapter Les fonctionnalités l architecture d HTML5 technique permettent aux de remplacer l usage de Flash dans les sites nouveaux Prendre usages en compte et aux les nouvelles évolutions technologies web des besoins en termes de fonctionnalités, disponibilités ou volume d utilisation Adopter des méthodes de travail durables identiques à celles de l étape du développement Réaliser une documentation ad-hoc permettant la reprise du projet par de nouvelles équipes de travail et les mises à jour ultérieures Automatiser la rédaction de la documentation en L utilisation intégrant du également modèle standard les tests UML unitaires (Unified à Documenter les API et modules réaliser Modelling proposés Language) pour faciliter pour la la documentation réutilisation de Utiliser du développement développement un formalisme standard par des pour projets la description tiers des objets, méthodes et APIs technique permet d utiliser n importe quel outil description des objets, méthodes et APIs Utiliser des outils compatibles avec ceux utilisés lors du développement du produit

Fin de vie

Fin de vie L étape de fin de vie démarre lorsque l application a été remplacée par une nouvelle Migration de son contenu vers les nouvelles applications ou archivage des données Arrêt de l application Suppression ou réattribution des équipements et ressources dédiés à cette application Étape importante pour éviter une croissance incontrôlée des Systèmes d Information tant au niveau logique que physique

Fin de vie Les bonnes pratiques Prendre en compte l arrêt de l application Réutiliser ou recycler les infrastructures techniques Les anciennes applications et les une infrastructures stratégie de migration techniques des données doivent sur pouvoir la les être nouvelles retirées applications, dès que une stratégie de modification des processus possible Mettre en place un plan de migration avec métiers et un plan de communication à destination 25% des applications des utilisateurs en place ne sont pas utilisées depuis plus de 3 ans Les infrastructures techniques doivent pouvoir être décommissionnées Procéder à une consolidation régulière des ressources 15% des serveurs pour pouvoir dans les désengager datacentres des équipements sont des serveurs sous-utilisés zombies Les services associés (exploitation, Maintenir un inventaire des applications pour maintenance, détecter les contrats licences) liés doivent à l arrêt être d une résiliés application d une application Sélectionner, en s appuyant sur l expertise des éco-organismes, les prestataires qualifiés pour Les réaliser serveurs la gestion usagés des ne déchets doivent pas électroniques Seuls être 30% mis des au rebut DEEE ou sont disparaître aujourd hui dans collectés par la filière de recyclage la nature Mettre en place un processus d évaluation de la réutilisation des équipements désengagés

Agenda Joël Courtois Epita 14h00 - Mot d'accueil Frédéric Bordage GreenIT.fr Erwan Bouvier Blueight 14h10 - Contexte et enjeux 14h40 - L éco-conception à toutes les étapes du cycle de vie d une application Thierry Leboucq Kaliterre 15h30 - Code vert : détecter les «patterns consommant» dans le code source Pierre Carrio, Beveod Yann Azoury, Faveod 16h10 - Industrialisation de l éco-conception logicielle grâce à un outil dédié Animée par Frédéric Bordage, GreenIT.fr 17:00 - Table ronde 18:00 - Cocktail

Code vert : détecter les «patterns consommant» dans le code source Thierry Leboucq Fondateur

Positionnement / Philosophie Jeune Entreprise Innovante nantaise créée en 2010 Des valeurs humaines et environnementales Le travail en réseau et le partage de connaissance Des convictions : «Les changements seront subis s ils ne sont pas anticipés, les petits gestes ne suffisent plus, il faut agir en profondeur et reconstruire»kali, déesse hindou de la reconstruction Conseil et Système d Information au service du Développement Durable

KaliTerre : Conseil et Système d Information au service du Développement Durable AMO Projets DD Conseil formation RSE Conseil formation Green IT

Notre implication sociétale et associative Membre d ACCENT 21 : accompagnement à la mise en œuvre de la RSE dans les entreprises Pilote de la filière Informatique Durable pour la région Pays de la Loire dans le cadre de Ouest Numérique Membre du conseil d administration et responsable Forum Informatique Durable ADN Ouest Membre fondateur de la Chaire du Développement Durable de l EMN Membre fondateur du Green Code Lab Membre de l AGIT (Alliance Green IT) Membre du réseau Atlanpole Membre Pôle Images et Réseaux Membre participant DIAG26000 à l outil d évaluation en ligne pour les entreprises

KaliTerre et l écoconception Vulgarisation de la consommation logicielle KaliTerre informe le grand public via le site e-learning en ligne http://www.informatiqueverte.info/ en partenariat avec le CNAM pays de Loire KaliTerre participe à des séminaires Green IT pour vulgariser l éco-conception des logiciels auprès des entreprises : SPR PAYS DE LA LOIRE, table ronde Eco-conception du SI Accent 21 forum logicielle Durable Pôle Images et Réseaux sur l éco-conception et animation GT. KaliTerre forme les étudiants à l éco-conception Polytechnique Nantes, CNAM PAYS DE LA LOIRE, ESAIP KaliTerre participe aux initiatives sur l éco-conception logicielle Porteur du projet de label du logiciel durable au sein du Groupe EcoInfo (CNRS, ) Membre fondateur du Green Code Lab, laboratoire agrégateur en ligne de bonnes pratiques d éco-conception pour les architectes et développeurs. http://greencodelab.fr Co-auteur du livre «Green Pattern : Manuel d écoconception des logiciels Membre du GT Ecoconception logicielle au sein de l AFNOR pour l ISO. Organisation du premier colloque sur l éco-conception des logiciels à Nantes

Offre en écoconception des logiciels Une démarche en 4 étapes Sensibilisation Ecoconception Diagnostic d un site, d une application Elaboration conjointe d un référentiel éco-conception Mise en œuvre référentiel sur un Projet Pilote Les points clés de la démarche Un référentiel générique de 100 règles et de bonnes pratiques de l écoconception logicielle Une étude des impacts sur tout le cycle de vie du produit Une étude qui porte sur les thématiques de consommation, performance, sans remettre en question les référentiels existants sur la sécurité, qualité, ergonomie-accessibilité. Une expertise adjointe par langage / plateforme Une étude pragmatique et collaborative avec mesure Une démarche d ancrage dans le processus d ingénierie logicielle de l organisation

Association Green Code Lab Groupe de travail formé en mai 2011, association créée en août 2012 Fédérer les experts autour de l éco-conception des logiciels Experts du développement durable et du green IT, Développeurs Organisations et individus A pour objectif de : Généraliser ses bonnes pratiques par un référentiel Sensibiliser et former les développeurs à l éco-conception Favoriser des échanges entre développeurs et partenaires Travailler avec les autres communautés internationales

Le projet Code Vert : présentation Objet Développer un logiciel permettant d établir une évaluation de la maturité en écoconception d un code logiciel par l analyse statique du code informatique Appel à projet PME Collaboratif Accompagnement projet Labellisation Projet labellisé par le pôle en décembre 2011 Financement p.an Coût (K ) Durée(mois) 13,7 910 24 mois

Le projet Code Vert : Phasing Phasing et mode collaboratif KaliTerre en porteur du projet Une R&D partagée avec l ICAM Une technologie emprunté à TOCEA Un client SIGMA dans le projet

Organisation du projet

REFERENTIEL Répartition des règles sources : forum, mémoire, référentiel performance, Objectif de rendre les règles génériques et de les décliner par langage Couverture cible : Java, puis référentiel Web (css, html, js, images, php) A date : 185 règles candidates, 12 règles mesurées

GREEN PATTERNS Bonne pratique de programmation pour réduire l impact des logiciels sur l environnement, Eviter l obscolescence Réduire la consommation Limiter les exclusions Green Patterns vont dans le sens de la performance, Mais pas tout le temps

REFERENTIEL : EXEMPLE DE GREEN PATTERN Prendre en compte le contexte Minimiser une fenêtre, un onglet traitement non utilisé = Eviter le gaspillage

LE REFERENTIEL CANDIDAT Règle Explication Intitulé (Fr) Exemple (Fr) AvoidP rimitive Types Wrappe rrule S hould use a primitive type ins te ad of a wrappe r in orde r to re duce the me mory ove rhe ad due to an obje ct he ade r in the J VM. This type s hould be initialized with ExpandableTypeCons tructorwithoutinitialsizerule an initial s ize to avoid a dynamic expans ion. AvoidTimerPeriodReductionRule Le s type s primitifs doivent ê tre privilé gié s aux wrappe rs pour é vite r un s urcoût de la ge s tion des objets. Ce type doit être initialis é avec une taille initiale pour éviter une expans ion dynamique May reduce the s ys tem timer period. La fréquence du timer doit être réduite. It s hould be activated only if required Le timer doit de plus être uniquement in a given runtime context. activé si le contexte le demande. Avec wrapper : Map<Integer, Integer> counters = new Has hmap<integer, Integer>(); int runs = 20 * 1000; for (Integer i = 0; i < runs ; i++) { Integer x = i % 12; Integer y = i / 12 % 12; Integer times = x * y; Integer count = counters.get(times ); if (count == null) counters.put(times, 1); els e counters.put(times, count + 1); } Avec primitive : int[] counters = new int[144]; int runs = 20 * 1000; for (int i = 0; i < runs ; i++) { int x = i % 12; int y = i / 12 % 12; int times = x * y; counters [times ]++; } Sans initialisation: StringBuffer newstring = new StringBuffer(""); for(int i=0;i<500000;i++){ newstring.append("abcdeabcde"); Criticité (Info, Minor, Major, Critical, Blocker) Domaine (Efficacity, Evolutivity, Fiability, Maintainability, Security, Tes tability) Impact du refactoring (Local, File, Project) Temps de refactoring manuel pour une violation (en minutes ) Majo r Effic ac ity Lo c al 1 Automatis ation du refactoring avec Scertify (Manual, Partially automatic, Automatic) Partially auto matic Environnemental Gain Avec initialis ation : StringBuffer newstring2 = new StringBuffer(6029310); for(int i=0;i<500001;i++){ newstring2.append("abcdeabcde"); } Info Efficacity Local 5 Manual C Par exemple pour java : - Sys tem.currenttimemillis () utilis e GetSys temtimeas FileTime s ous Windows. Le temps courrant es t utilis é ce qui es t moins couteux (6 cycles processeurs ) - Sys tem.nanotime() utilis e QueryPerformanceFrequency qui s era implémentée de différente manière en fonction du hardware. Dans tous les cas, des IO lentes (ACPI, PIT...) s ont utilis ées. Elles s ont coûteuses (plus de 100 cycles ) - Les API utilis ants le temps peuvent potentiellement demander un timer plus précis par exemplethread.s leep(integer.max_value), Object.wait(millis, nanos )... - En dehors du code il faut éviter de forcer l'utilis ation de timer précis : lancement de la VM avec - XX:+ForceTimeHighRes olution ou /us epmtimer dans boot.ini Critical Efficacity Project 30 Manual A C

LA MESURE Importance de la mesure pour valider l intuition et apporter la robustesse du référentiel pour donner un niveau d efficacité à la règle Difficultés de la mesure Mesure physique unitaire : très faible mesure Répétitivité des résultats des mesures complexe Mesure par modèle de consommation via PowerAPI, Qualitune travail sur du microbenchmarking initialement contextes variés de mesure (arhitecture, langage, matériel, )

LA MESURE

LA MESURE

LA MESURE

LA MESURE

LA DETECTION : SCERTIFY

LA DETECTION : RESULTATS

LA DETECTION sur APPLICATIONS

L OUTIL CIBLE L outillage Mode SaaS Mode PlugIn SONAR, ECLIPSE, Périmètre Analyse Statique du code Bibliothèque de framework marché check-list de pratiques non détectable par le code Evaluation de la dette environnementale Mesure physique sur scénario entre 2 versions

L OUTIL CIBLE

REJOIGNEZ- NOUS www.code-vert.org http://greencodelab.fr/

Agenda Joël Courtois Epita 14h00 - Mot d'accueil Frédéric Bordage GreenIT.fr Erwan Bouvier Blueight 14h10 - Contexte et enjeux 14h40 - L éco-conception à toutes les étapes du cycle de vie d une application Thierry Leboucq Kaliterre 15h30 - Code vert : détecter les «patterns consommant» dans le code source Pierre Carrio, Beveod Yann Azoury, Faveod 16h10 - Industrialisation de l éco-conception logicielle grâce à un outil dédié Animée par Frédéric Bordage, GreenIT.fr 17:00 - Table ronde 18:00 - Cocktail

Pour en finir avec l opposition entre les développeurs et les serveurs Pierre Carrio Fondateur BeVEOD Créateur d entreprises Nouvelles technologies Yann Azoury Fondateur Faveod Directeur Technique de BeVEOD

Changer de paradigme

Pierre CARRIO Profil 80 s Ingénieur des Pétroles (Offshore) réalisation de systèmes informatiques pour le positionnement dynamique de navires réalisation de systèmes robotiques pour les travaux sous-marins en très grande profondeur création d un centre de calcul et de simulation de structures en dynamique 90 s Directeur au sein de SII et Clients CAP SOGETI ATOS Directeur Général Groupe Siemens Arche EQUANT groupe SITA Directeur Informatique GIE Informatique AXA Depuis 2003 Créateur de sociétés IT Fondateur BeTHINK société de Conseil en Gouvernance des Systèmes d Information BeVEOD société de Services pour la réalisation d Applications Logicielles BeSAT société spécialisée dans les infrastructures Informatiques, Réseaux et Telecoms