SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Vous êtes dans la salle 242B
palais des
congrès
Paris




7, 8 et 9
février 2012
Intro

    L’innocent Chat potté
      70 Millions d’heure de calcul, 25 TJoules

        http://dwave.wordpress.com/2011/11/20/fun-with-puss-n-boots/




 If you could eat 500 bananas per day,             23 minutes
 it would take you 327 years
Présentation
               Jeune Entreprise Innovante basée à Nantes, spécialisée dans l’informatique
               Durable, l’éco-conception des logiciels et la RSE dans les entreprises
               www.kaliterre.fr

               Thierry LEBOUCQ           tleboucq@kaliterre.fr       06 88 71 50 50
               Co-auteur du livre Green Patterns : http://greencodelab.fr/Livre

                Groupe d'utilisateurs qui souhaite rendre le développement logiciel plus
                durable et plus vertueux http://greencodelab.fr/

                Olivier Philippot         contact@olivierphilippot.fr 06 63 09 06 90
                Auteur du livre « Green IT » et co-auteur du livre « Green Patterns »
                Co-fondateur groupe eco-conception logiciel


               Sogeti compte 20 000 collaborateurs répartis dans 15 pays. 6000 d’entre
               eux sont dédiés aux technologies Microsoft.
               Les .NET Rangers : groupe d’experts avec un fort ancrange dans
               l’écosystème Microsoft (plusieurs MVP) http://www.dotnetrangers.net

               Keelan CLECH         keelan.clech@sogeti.com
               Directeur du Centre de Services Microsoft Sogeti et .NET Ranger

                 Eric MITTELETTE         ericmitt@microsoft.com
                 Relation Technique Développeur & IT
Fausses idées

  Performance = efficace = efficient
    2000 tr/mn ?= faible consommation



  Le cloud s’est le futur
    Lavoisier : « Rien se perd… »



  Eco-conception = efficacité énergétique
    Pas uniquement
Périmètre

  2 Dimensions:
    Cycle de vie : du berceau à la tombe

    Domaines : 3 piliers du développement durable

       Social

       Environnemental

       Economique




                                   Source Kaliterre
Processus plus vert

  Processus logiciel inefficace
    Etude CHAOS : 20% de réussite

  Développement quick-and-dirty
    Dette technique et environnementale
La mesure

  « Ce qui ne peut pas être mesuré ne peut pas être géré».
  Peter Drucker
Demo

 Infrastructure et moyens de mesure que nous allons
 utiliser
Optimisation de la qualité de
service
    Logiciel suréquipé
      Exemple : étude Standish Group




    Solutions
      Optimiser la qualité de service

          Exemple étude Microsoft avec Bing :

          20 résultats  Gain de 80% en conso



        Installation modulaire
           Voire intelligente et transparente

 pour l’utilisateur !

        Mieux identifier l’expression de besoin
Demo

 Réduction des updates autos
 Réduction du jeu de donnée
Langage, matériel et
compilation
  Langage
    Back to basics ou …

    … meilleure connaissance du runtime

    Exemple : Facebook avec le projet

    Hip-Hop qui compile le code PHP en C++




  Scalabilité = course à l’armement
    Scalabilité inverse

        Exemple node.js

        Support des plateformes Light (ARM..)



  Oubliez la synchronisation
    Loi de Moore : prophétie
                                                 2   1
   auto-réalisatrice
Efficacité d'architecture
  Répartition des calculs entre client/serveur
    Mettre les calculs dans l’endroit où l’on peut optimiser

    Dans un serveur … mais maîtrisé




  Provisionning et de-Provisionning
    Comment et à quel moment répartir les job sur plusieurs
     châssis /VM
    Monitoring application, publier son état, quota...
Demo

 Tri client vs serveur
Efficacité de calcul
  Optimiser le traitement des algos
    Intelligent ET optimisé !



  Eviter le polling
    Pas de sleep mais des interruptions ...



  Optimisez les boucles
    Sortie en cas d'erreur par exemple

    Sortir le plus de calcul



   Traitement parallèle
    Eviter les traitements non concurrents
    Danger de consommer plus qu’en mono-coeur
Demo

 Traitement parallèle vs traitement séquentiel
Fréquence & CPU
  Oubliez le % CPU, focalisez vous sur les timers et les
  fréquences
    Transition Cstate to idle coûteux
    Métriques : Fréquence & durée d’éxécution
                                   Source : Energy-Efficient Platforms – Considerations for
                                   Application Software & Services -
                                   http://software.intel.com/file/38273
Timers
  SetWaitableTimerEx(
 __in HANDLE hTimer,
 __in const LARGE_INTEGER *lpDueTime,
 __in LONG lPeriod,
 __in_opt PTIMERAPCROUTINE pfnCompletionRoutine,
 __in_opt LPVOID lpArgToCompletionRoutine,
 __in_opt PREASON_CONTEXT WakeContext,
 __in ULONG TolerableDelay
 );

 Indiquez votre tolérance pour votre timer
   2 ticks -> 32 ms

   Timers de plusieurs secondes --> jusqu'à 1 s de

     tolerance !
Demo

 Demo sous Intel Battery Life Analyser et Microsoft
 Windows Performance Analyzer
Efficacité des données
  Localisation des données
     Registre - 1 cycle
     Cache L1 - 3 cycles
     Cache L2 - 10 cycles
     Mémoire RAM - ~100 cycles
     Disque dur - ~ 1 millions de cycle
  Coût des données
   struct {     bool b;
                double d;   La structure va donc occuper: 1 (bool) + 7 (padding) + 8
                            (double) + 2 (short) + 2 (padding) + 4 (int) = 24 bytes
                short s;
                int i;}
  struct {      double d;
                int i;
                short s;      La taille sera de 8 (double) + 4 (int) + 2 (short) + 1
                              (bool) + 1 (padding) = 16 bytes.
                bool b;};
  Interfaces de marshalling pour améliorer le placement en managé
      [StructLayout(LayoutKind.Sequential, Pack = 1)]
      [StructLayout(LayoutKind.Explicit)] avec des champs [FieldOffset(0)]
Prise en compte du contexte

  Un logiciel n’est pas une unité indépendante
    Il doit communiquer avec l’extérieur

    Une programme « context-aware » sera plus intelligent

     et prendra mieux en compte les impacts
     environnementaux

  Prise en compte de la gestion d’énergie (Power-Aware)
    Power Management API

       Events, Api…
Exemple de surveillance
    const int WM_POWERBROADCAST = 0x0218;
    const int PBT_APMQUERYSUSPEND     = 0x0000;
    const int PBT_APMQUERYSTANDBY     = 0x0001;
    const int PBT_APMQUERYSUSPENDFAILED = 0x0002;
    const int PBT_APMQUERYSTANDBYFAILED = 0x0003;
    const int PBT_APMSUSPEND       = 0x0004;
    const int PBT_APMSTANDBY      = 0x0005;
    const int PBT_APMRESUMECRITICAL   = 0x0006;
    const int PBT_APMRESUMESUSPEND     = 0x0007;
    const int PBT_APMRESUMESTANDBY     = 0x0008;
    const int PBT_APMBATTERYLOW      = 0x0009;
    const int PBT_APMPOWERSTATUSCHANGE = 0x000A;
    const int PBT_APMOEMEVENT       = 0x000B;
    const int PBT_APMRESUMEAUTOMATIC    = 0x0012;

    protected override void WndProc(ref Message m)
    {
      base.WndProc(ref m);
      if (WM_POWERBROADCAST == m.Msg)
      {
          // Réalisez les actions en fonction des messages.
      }
    }
Fin de vie du logiciel
  Eviter le bloatware

  Ne pas perturber les autres logiciels

  Mieux gérer les données
   Fichiers temporaires

   Registres…

   Site web inactifs



  Désinstallation automatique
    Exemple Thunderbird
Social / Accessibilité
  Répondre au besoin de tous
  Eviter la fracture numérique et la cyber fracture

  Respecter les normes d’accessibilité et recommandation
    W3

    Livre Blanc TiC & Senior



   Généraliser l’accessibilité et l’ergonomie pour tout les
  logiciels et pas uniquement sur une segmentation
    Non aux logiciels pour informaticiens fait par des
      informaticiens !
Ressource et call to action

  Actions et initiatives
    Réflexion AFNOR et ISO : normalisation et guideline

    Green Software Engineering : Recommandations Web

    Green Challenge USI

    Projet Code Vert : Outil d’analyse des green patterns

    Green Code Lab : Actions sur l’éco-conception



  Livre Green Code Lab disponible !
Merci
Vous êtes dans la salle 242B

Weitere ähnliche Inhalte

Mehr von Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 

Mehr von Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 

Green Pattern & Architecture

  • 1. Vous êtes dans la salle 242B
  • 2. palais des congrès Paris 7, 8 et 9 février 2012
  • 3. Intro L’innocent Chat potté  70 Millions d’heure de calcul, 25 TJoules  http://dwave.wordpress.com/2011/11/20/fun-with-puss-n-boots/ If you could eat 500 bananas per day, 23 minutes it would take you 327 years
  • 4. Présentation Jeune Entreprise Innovante basée à Nantes, spécialisée dans l’informatique Durable, l’éco-conception des logiciels et la RSE dans les entreprises www.kaliterre.fr Thierry LEBOUCQ tleboucq@kaliterre.fr 06 88 71 50 50 Co-auteur du livre Green Patterns : http://greencodelab.fr/Livre Groupe d'utilisateurs qui souhaite rendre le développement logiciel plus durable et plus vertueux http://greencodelab.fr/ Olivier Philippot contact@olivierphilippot.fr 06 63 09 06 90 Auteur du livre « Green IT » et co-auteur du livre « Green Patterns » Co-fondateur groupe eco-conception logiciel Sogeti compte 20 000 collaborateurs répartis dans 15 pays. 6000 d’entre eux sont dédiés aux technologies Microsoft. Les .NET Rangers : groupe d’experts avec un fort ancrange dans l’écosystème Microsoft (plusieurs MVP) http://www.dotnetrangers.net Keelan CLECH keelan.clech@sogeti.com Directeur du Centre de Services Microsoft Sogeti et .NET Ranger Eric MITTELETTE ericmitt@microsoft.com Relation Technique Développeur & IT
  • 5. Fausses idées Performance = efficace = efficient  2000 tr/mn ?= faible consommation Le cloud s’est le futur  Lavoisier : « Rien se perd… » Eco-conception = efficacité énergétique  Pas uniquement
  • 6. Périmètre 2 Dimensions:  Cycle de vie : du berceau à la tombe  Domaines : 3 piliers du développement durable  Social  Environnemental  Economique Source Kaliterre
  • 7. Processus plus vert Processus logiciel inefficace  Etude CHAOS : 20% de réussite Développement quick-and-dirty  Dette technique et environnementale
  • 8. La mesure « Ce qui ne peut pas être mesuré ne peut pas être géré». Peter Drucker
  • 9. Demo Infrastructure et moyens de mesure que nous allons utiliser
  • 10. Optimisation de la qualité de service Logiciel suréquipé  Exemple : étude Standish Group Solutions  Optimiser la qualité de service  Exemple étude Microsoft avec Bing :  20 résultats  Gain de 80% en conso  Installation modulaire  Voire intelligente et transparente pour l’utilisateur !  Mieux identifier l’expression de besoin
  • 11. Demo Réduction des updates autos Réduction du jeu de donnée
  • 12. Langage, matériel et compilation Langage  Back to basics ou …  … meilleure connaissance du runtime  Exemple : Facebook avec le projet  Hip-Hop qui compile le code PHP en C++ Scalabilité = course à l’armement  Scalabilité inverse  Exemple node.js  Support des plateformes Light (ARM..) Oubliez la synchronisation  Loi de Moore : prophétie 2 1 auto-réalisatrice
  • 13. Efficacité d'architecture Répartition des calculs entre client/serveur  Mettre les calculs dans l’endroit où l’on peut optimiser  Dans un serveur … mais maîtrisé Provisionning et de-Provisionning  Comment et à quel moment répartir les job sur plusieurs châssis /VM  Monitoring application, publier son état, quota...
  • 14. Demo Tri client vs serveur
  • 15. Efficacité de calcul Optimiser le traitement des algos  Intelligent ET optimisé ! Eviter le polling  Pas de sleep mais des interruptions ... Optimisez les boucles  Sortie en cas d'erreur par exemple  Sortir le plus de calcul Traitement parallèle  Eviter les traitements non concurrents  Danger de consommer plus qu’en mono-coeur
  • 16. Demo Traitement parallèle vs traitement séquentiel
  • 17. Fréquence & CPU Oubliez le % CPU, focalisez vous sur les timers et les fréquences  Transition Cstate to idle coûteux  Métriques : Fréquence & durée d’éxécution Source : Energy-Efficient Platforms – Considerations for Application Software & Services - http://software.intel.com/file/38273
  • 18. Timers SetWaitableTimerEx( __in HANDLE hTimer, __in const LARGE_INTEGER *lpDueTime, __in LONG lPeriod, __in_opt PTIMERAPCROUTINE pfnCompletionRoutine, __in_opt LPVOID lpArgToCompletionRoutine, __in_opt PREASON_CONTEXT WakeContext, __in ULONG TolerableDelay ); Indiquez votre tolérance pour votre timer  2 ticks -> 32 ms  Timers de plusieurs secondes --> jusqu'à 1 s de tolerance !
  • 19. Demo Demo sous Intel Battery Life Analyser et Microsoft Windows Performance Analyzer
  • 20. Efficacité des données Localisation des données  Registre - 1 cycle  Cache L1 - 3 cycles  Cache L2 - 10 cycles  Mémoire RAM - ~100 cycles  Disque dur - ~ 1 millions de cycle Coût des données struct { bool b; double d; La structure va donc occuper: 1 (bool) + 7 (padding) + 8 (double) + 2 (short) + 2 (padding) + 4 (int) = 24 bytes short s; int i;} struct { double d; int i; short s; La taille sera de 8 (double) + 4 (int) + 2 (short) + 1 (bool) + 1 (padding) = 16 bytes. bool b;}; Interfaces de marshalling pour améliorer le placement en managé  [StructLayout(LayoutKind.Sequential, Pack = 1)]  [StructLayout(LayoutKind.Explicit)] avec des champs [FieldOffset(0)]
  • 21. Prise en compte du contexte Un logiciel n’est pas une unité indépendante  Il doit communiquer avec l’extérieur  Une programme « context-aware » sera plus intelligent et prendra mieux en compte les impacts environnementaux Prise en compte de la gestion d’énergie (Power-Aware)  Power Management API  Events, Api…
  • 22. Exemple de surveillance const int WM_POWERBROADCAST = 0x0218; const int PBT_APMQUERYSUSPEND = 0x0000; const int PBT_APMQUERYSTANDBY = 0x0001; const int PBT_APMQUERYSUSPENDFAILED = 0x0002; const int PBT_APMQUERYSTANDBYFAILED = 0x0003; const int PBT_APMSUSPEND = 0x0004; const int PBT_APMSTANDBY = 0x0005; const int PBT_APMRESUMECRITICAL = 0x0006; const int PBT_APMRESUMESUSPEND = 0x0007; const int PBT_APMRESUMESTANDBY = 0x0008; const int PBT_APMBATTERYLOW = 0x0009; const int PBT_APMPOWERSTATUSCHANGE = 0x000A; const int PBT_APMOEMEVENT = 0x000B; const int PBT_APMRESUMEAUTOMATIC = 0x0012; protected override void WndProc(ref Message m) { base.WndProc(ref m); if (WM_POWERBROADCAST == m.Msg) { // Réalisez les actions en fonction des messages. } }
  • 23. Fin de vie du logiciel Eviter le bloatware Ne pas perturber les autres logiciels Mieux gérer les données  Fichiers temporaires  Registres…  Site web inactifs Désinstallation automatique  Exemple Thunderbird
  • 24. Social / Accessibilité Répondre au besoin de tous Eviter la fracture numérique et la cyber fracture Respecter les normes d’accessibilité et recommandation  W3  Livre Blanc TiC & Senior Généraliser l’accessibilité et l’ergonomie pour tout les logiciels et pas uniquement sur une segmentation  Non aux logiciels pour informaticiens fait par des informaticiens !
  • 25. Ressource et call to action Actions et initiatives  Réflexion AFNOR et ISO : normalisation et guideline  Green Software Engineering : Recommandations Web  Green Challenge USI  Projet Code Vert : Outil d’analyse des green patterns  Green Code Lab : Actions sur l’éco-conception Livre Green Code Lab disponible !
  • 26. Merci
  • 27. Vous êtes dans la salle 242B