Livre : Le développement informatique durable

Livre - Lavoisier - Félix Guillemot - Le développement informatique durable

Le thème du développement informatique durable est encore naissant. Cette discipline consiste à produire un code maintenable dans la durée, et, d’autre part, un code dont l’exécution nécessite peu de ressources matérielles (mémoire, CPU).

Ces deux aspects sont un gage d’économie pour l’entreprise et tendent à diminuer l’impact environnemental du système d’information : prolongement de la durée d’utilisation du matériel (donc moins de déchets sur le cycle de vie du logiciel), moins de kWh consommés, etc.

Développant depuis plus de 20 ans, Félix Guillemot propose dans son ouvrage - Le développement informatique durable - une méthode et des techniques - écriture analytique, méthode pas à pas, débogage par la division, etc. - pour allonger la durée de vie du code.

L’approche de Félix replace également le développeur, aujourd’hui considéré comme un simple ouvrier de l’économie numérique, au sein du processus. Comme il l’explique très bien, “on a beau avoir des plans dessinés par un architecte, si les maçons posent mal les parpaings, la maison finira par s’écrouler”.

Editions Hermes Science – Lavoisier
ISBN-13: 978-2746222465
224 pages - 49 euros


Commentaires

Ce livre est certainement un bon complément des principes fondateurs des méthodes agiles tels que le refactoring. Je l’achète ce soir !

Stéphane (non vérifié) le 10/11/2009

@Stéphane : tout l’intérêt du livre est d’alerter les responsables informatiques sur le rôle joué par la couche logicielle. Finalement, le principal artisan du renouvellement accéléré des postes de travail, c’est la couche logicielle. Pourquoi ? Parce que les éditeurs ne cherchent plus à bien coder, mais à coder vite pour augmenter leurs bénéfices. Et c’est l’utilisateur ou l’entreprise qui en paie le prix. Hallucinant quand on y pense.

admin le 10/11/2009

J’ai acheté ce livre. Il s’agit d’un document de référence à mon avis indispensable pour organiser efficacement ses développements.
Développeur depuis 10 ans, je me croyais à l’abri des erreurs “classiques” décrites dans cet ouvrage.
J’ai depuis mis à l’épreuve cette méthodologie dans mon travail lors de missions variées.
Premier bilan :
- la méthode fonctionne quel que soit l’environnement
- elle permet de gagner un temps précieux, à la fois en raison de la simplicité de la mise en oeuvre et de l’appel au bon sens qui est en chacun de nous
- elle permet de gagner en qualité de code en (ré)activant des automatismes trop souvent négligés, notamment en raison du temps limité qui nous est souvent imparti pour développer. Raison de plus pour être irreprochable sur le “sens” du code, son optimisation en évitant de continuer le code “spaghetti” que l’on trouve malheureusement inévitablement
- je trouve l’idée de commenter son code avant de coder indispensable pour les développeurs futurs de vos projets, surtout quand aucune doc n’existe. Mes employeurs sont ravis de cette initiative qu’ils découvrent !

Bref, bravo pour cette synthèse.
Il est rare de trouver un ouvrage simple à lire et à mettre en oeuvre sur ce sujet.

Un livre de chevet à mettre prêt de votre ordi.

Samuel (non vérifié) le 10/11/2009

Pour compléter le 2nd commentaire (admin) : le développeur est aujourd’hui devenu l’ouvrier en bleu de travail de l’informatique. (je vous recommande l’excellentissime texte de Romain Verdier [http://codingly.com/2008/12/29/degage-sale-programmeur/] qui a su décrire la situation avec beaucoup d’humour et de finesse.
Le problème est bien là : nous n’avons plus de considération en France pour les gens qui font de code, alors qu’il est justement garant de la qualité de nos systèmes d’information.
Le savoir faire disparaît à l’horizon dans l’océan d’absurdité du monde de la prestation informatique.
Le livre remet les choses à leur place en rappelant que cette profonde méprise a un coût…énorme…
Il donne aussi et surtout des ficelles du métier en montrant justement que ce n’est pas n’importe quoi et qu’il y a des gens qui font du code sans pour autant avoir une casquette de geek illettré :-))

Félix Guillemot (non vérifié) le 10/11/2009

Peu aguerrie à l’informatique, ce support est un outil qui convient aussi bien aux novices telles que moi qu’aux véritables “pro” en remettant une bonne fois les choses à leur place ! A lire absolument.

Sandra (non vérifié) le 10/11/2009

J’ai regardé le sommaire : 49 euros pour un ouvrage qui reprend les bases de développement ?!!
Ne sommes nous pas en flagrant délit de Green business ?
=> Je pose la question sans esprit de contradiction, mais il me semble raisonnable de se la poser … Y a t’il des résultats d’études sérieuses dans ce livre qui démontrent les gains en terme d’émissions de CO2, de lien social ou d’économie équitable ?

Anonyme (non vérifié) le 10/11/2009

Les méthodes exposées dans cet ouvrage prennent tout leur sens lorsqu’on est soi-même confronté à des problématiques que l’on ne sait résoudre à prime abord !

Du “bon sens” me direz-vous ? certes, mais ces dernières trouvent non seulement leur application dans la vie de tous les jours, mais offrent à ceux qui le souhaitent des garde-fous pour ne pas s’égarer dans les dérives des développements informatiques à n’en plus finir…

Ce que j’ai apprécié dans ce livre, outre le recueil de bonnes pratiques, c’est le recul et l’humour omniprésent de l’auteur, preuve de son expérience dans le domaine, un peu dans la lignée du Livre Noir du Consulting, car il rend facile la compréhension des problématiques auxquelles sont confrontées nos entreprises. On s’identifie d’ailleurs à bon nombre de situations relatées.

A lire absolument !

Alan (non vérifié) le 10/11/2009

@Anonyme : Je me permets de répondre à votre questionnement.
La lecture du sommaire d’un livre ne suffit en effet pas à l’évaluer.
Au delà les études “sérieuses”, auquelles ont peut faire dire ce que l’on veut du moment que cela aille dans le sens qui nous arrange, il y a l’expérience.
Sur le terrain, en tant que consultant, on se rend compte d’un énorme gâchis causé par la façon dont marche le business de la prestation informatique et par les mauvaise pratiques du développement informatique.
Le livre met en lumière l’hémorragie financière engendrée par le système et propose une méthodologie adaptée à la nouvelle génération de développeurs afin d’aporter des solutions concrètes.
J’imagine que 25 ans d’expériences de la programmation dont 12 ans en tant que consultant dans les grands comptes et les PME n’ont aucune comparaison avec les “études sérieuses”, comme celles que l’on voit tous les jours à la télévision, celles là même qui font acheter des hectolitres de vaccins à des laboratoires pharmaceutiques pour une population appeurée par les médias (fournisseurs d’études sérieuses).
Pour des critiques pragmatiques et neutres sur ce livre (de gens qui l’ont lu), il y a celle de Laurent Dardenne :
http://conception.developpez.com/livres/?page=livresFR#L9782746222465
ou encore celle de Bertrand Lemaire :
http://www.cio-online.com/actualites/lire-manifeste-pour-une-programmati…
qui explique très bien le lien avec le “développement durable”

L’auteur (non anonyme).

Félix Guillemot (non vérifié) le 12/11/2009

Enfin une approche innovante dans ce domaine!
Les comparaisons avec d’autres pratiques sont fortes intéressantes et rendent l’ouvrage accessible à tous.
C’est une invitation à questionner nos méthodologies et prendre une saine distance par rapport à certaines habitudes.

Charlotte (non vérifié) le 12/11/2009

Quand je parle d’étude, je pense “étude sur le cycle de vie”, pas “d’études pour avoir des études”.
Aujourd’hui tout le monde se veut être consultant, et le couplet un brin caliméro ironique sur l’expérience face aux études sérieuses ne répond pas à ma question:
Optimiser le code n’est pas une nouveauté ! Je veux simplement savoir si le fait de rapprocher le concept de développement durable avec le développement informatique est un jeu de mot (amusant?) ou un vrai sujet !
Pour l’instant cela me semble plus être un rapprochement marketing… Mais cela ne remet pas en cause la qualité du livre en ce qui concerne le codage.
Bien sur si on parle de la reconnaissance des développeurs à l’heure de la modélisation à tout va et de la génération automatique pilotée par les modèles + les pratiques d’offshore, on attaque un volet social, mais cela ne suffit pas pour être accolé au concept de développement durable…

Anonyme (non vérifié) le 12/11/2009

@anonyme : de mon point de vue ce n’est pas un rapprochement marketing (greenwashing). Pourquoi les entreprises renouvellent-elles leur parc de poste de travail tous les 3 ans ? Parce que les éditeurs de logiciels ne savent plus développer. Ou plutôt, parce qu’ils préfèrent déporter la charge de la non optimisation du code sur leur client. C’est plus rentable.

D’autre part, pour avoir été développeur quelques années, l’architecture d’un logiciel, la qualité syntaxique du code (indentation, nom des classes, qualité des commentaires pour l’auto-documentation, etc.) jouent un rôle primordial dans la maintenabilité du code, et donc sa durée de vie.

Le livre de Félix Guillemot des innovations fracassantes. Il montre juste que la qualité du code est primordiale pour :
- allonger sa durée de vie,
- réduire les ressources physiques nécessaires (RAM, CPU, etc.),
- et rappelle les règles de base à respecter.

Bien entendu ça fera marrer les vieux comme moi qui ont appris à coder en assembleur et s’extasiaient devant des démos de moins de 64 ko. Mais force est de constater que les nouvelles générations de développeurs répondent à la demande du marché : quick & dirty.

Et après on s’étonne qu’il faille 4 Go de RAM et deux coeurs à 3 GHz pour faire fonctionner un système d’exploitation… avec pour conséquence une consommation d’électricité décuplée en moins de 15 ans (pour effectuer la même tâche) et 75 millions de tonnes de déchets électroniques (DEEE) à l’horizon 2015.

Le code jetable se traduit par :
- des investissements jetables (c’est un paradoxe que les DSI préfèrent ignorer),
- des matériels jetables.
- et, accessoirement, des développeurs kleenex.

Et ça, ça impact sérieusement la biodiversité, la couche d’ozone, et les conditions de vie des développeurs. Il n’y a qu’à voir le taux de chômage actuel des informaticiens et les efforts faits dans tous les datacenters pour réduire leur conso d’énergie pour s’en convaincre.

Ce que l’on sait le mieux développer de nos jours, ce sont des logiciels qui chauffent les bureaux ! :-)

admin le 12/11/2009

Ok, je comprends ce point de vue que je partage a priori.
L’impact du codage sur le DD est un sujet qui m’intéresse depuis un moment et en fait je me méfie des fausses bonnes idées…
J’ai lu il y a quelques temps un article d’une personne qui à tenté de calculer le gain en CO2 si elle arrêtait de prendre l’ascenseur. Son calcul a finalement abouti à un gain potentiel absolument minime dû au fonctionnement de son ascenseur qui n’est pas optimisé. La conclusion: tant que l’algorithme de l’ascenseur ne change pas, le prendre ou pas est une décision à impact négligeable.
Aujourd’hui le monde du visuel pousse le codage d’application visuelles et animées, ce qui est très gourmand en ressource. Bien ou mal coder une application en mode texte est un sujet ridicule par rapport au simple fait de choisir de coder des applications de plus en plus chargées graphiquement(regardez Deezer par exemple).
Je pense plus intéressant de réfléchir sur les outils qui permettent d’évaluer l’impact d’un code et ensuite d’agir si besoin, mais l’impact d’un mauvais code me semble tellement minime par rapport au Hardware que sortir un livre avec un tel titre reste suspect … en fonction de son apport sur la réflexion du Développement durable, mais il est vrai que je ne l’ai pas lu (et sincèrement, à 49 euros je ne pense pas l’acheter)

Anonyme (non vérifié) le 13/11/2009

@anonyme : « Optimiser le code n’est pas une nouveauté ! »
pffffff ! ça recommence…

Cher « inconnu », vous semblez évaluer le contenu de ce livre sans l’avoir lu [et ce n’est pas la première fois entre nous ;-)].
Ok ok, il semble que l’on n’y puisse rien, donc soit !

Je vais donc essayer de répondre à votre question à ma façon, à savoir le lien entre ce livre et le concept de développent durable.

Quand on parle de GreenIT, qu’imaginez vous ?

- que l’on va mettre des lampes basses consommation dans les écrans plats et placer des feuilles de menthe sur les micro-processeurs ?
- confectionner des cables Ethernet avec des bouts le liane et de la pâte de riz ?
- fabriquer des batteries au chocolat ?
- habiller les informaticiens en pagnes à base de feuilles de bananiers ?

Je ne sais pas…je n’en sais rien en fait.

Mon métier, c’est le développement informatique, et il me semble que comme il vous l’est expliqué plus haut par « admin », ou encore par votre serviteur, que des développements effectués dans les règles de l’art, ou du moins avec une certaine hygiène contribuent à construire un système d’information durable.
Durable, donc qui dure, pas des programmes que l’on est obligé de corriger à coup de rustines qui coûtent des millions aux entreprises. TMA coûteuses, projets aux durées astronomiques pour fabriquer trois écrans et deux procédures stockées…

On remplit des « open-spaces » d’informaticiens improbables qui codent avec des moufles pour faire et défaire…
« Allez les gars, on va tout passer en Java .NET, j’ai lu dans PIF informatique que c’est ce qui se fait de mieux. »
Deux ans d’open space plus tard :
« Bon, finalement les gars, c’est de la daube, allez…poubelle ! »
Si je me laissais aller à la facilité, je dirais que ces gens là, il a fallu les chauffer en attendant, mais bon, ça serait se taire sur le plus important : les millions dépensés pour rien et qui pour le coup auraient pu servir à d’autres choses…comme l’environnement…et pourquoi pas ?
Vous n’y aviez pas pensé ?

« Les fuites de mémoire de l’application ? Laisse tomber on s’en fout, il y a les ramasse-miettes ».
Pendant se temps, personne ne s’étonne qu’il faille le double de mémoire vive pour faire fonctionner un OS d’une version à l’autre (quand c’est 4Go et qu’on double, ça fait mal) pour avoir la joie de voir deux fenêtres en relief qui tournent sur elle même et des applications qui plantent tellement qu’on est obligés de rebooter toutes les 10mn…
C’est comme ça qu’on a inventé l’ordinateur jetable puisque d’une version à l’autres de l’OS, il ne convient plus.
« Bah non m’sieur, ça suffit pas de rajouter une barrette de mémoire, on n’est plus il y a 10 ans, allez balancez tout, la carte mère et les disques avec, ben oui. Le rayon portables à 100€, c’est par là m’sieur ».

Quand il est question de GreenIT, chacun a sa pierre à apporter à l’édifice, et il m’a semblé, et je ne suis visiblement pas le seul, que le développement informatique en est une.
Ainsi, le titre « le développement informatique durable » n’est pas un jeu de mot ou une trouvaille marketing destinée à duper le lectorat mais est bien lié au développement durable, ne vous en déplaise.

Félix Guillemot (non vérifié) le 13/11/2009

Le gaspillage est un phénomène de société et évidemment on le retrouve partout, même dans la manière de coder.
Évidemment la nouvelle génération de codeurs est plus une population de consommateurs que de producteurs.
J’entends par là qu’ils utilisent les outils de génération sans se soucier de se qu’il se passe derrière, comme on pouvait le faire quand on a apprit à coder en assembleur.
Hé oui, avant la mémoire était en quantité finie comme le pétrole, donc il fallait s’en préoccuper :-)

Ma question de fond était de savoir si c’est vraiment dans la manière de coder que se trouve un gisement de gain à faire pour le développement durable, car on a beaucoup d’outils, les compilateurs sont capables de réorganiser du code mal fait, les analyseurs sont capables de donner des indicateurs, et à l’exécution, suivant l’architecture de la machine un code apparemment bien écrit peu devenir absolument infâme…

Je pensais que le blog était un outil de discussion, mais je vous trouve bien nerveux sur le sujet avec certainement beaucoup de préjugés en tête.
Je pense donc qu’on est arrivé au bout de la discussion, d’autant plus que apparemment on est d’accord mais vous ne l’avez pas encore compris…

Merci pour vos échanges.

Anonyme (non vérifié) le 13/11/2009

Je n’avais pas compris d’après votre premier post que votre question de fond était de savoir si “c’est vraiment dans la manière de coder que se trouve un gisement de gain à faire pour le développement durable” d’après
“Ne sommes nous pas en flagrant délit de Green business ?”

Maintenant que ces questions préliminaires sont éludées, je peux sans problème répondre à votre question “de fond”.
Bien évidemment…oui !
Je fais partie des gens qui développement avec des outils de développement RAD comme Delphi et suis bien placé pour savoir que si performant soit-il, le compilateur ne fait pas de tours de magie. Si il y a une fuite de mémoire, elle y reste, tout comme les fuites d’eau et les dégâts des eaux continuent d’exister aujourd’hui.
Je ne parle même pas de l’utilisation shadock des bases de données…

Adopter une méthodologie pour un développement de qualité, c’est :
- améliorer les performances du développement et donc raccourcir le temps nécessaire à un projet, et donc réduire les coûts,
- améliorer la stabilité et la durabilité du SI, et donc réduire les coûts des ses évolutions et de sa maintenance,
- diminuer la consommation d’énergie qui est nécessaire au SI,
- Procurer aux acteurs du développement de la sérénité dans leur travail (diminuer le stress, et tout ce qui avec).

Le livre est là justement pour montrer à quel point les négligences et les mauvaises pratiques du développement informatique nous impactent de façon négative, et à l’inverse à quel point la méthode et les bons gestes intégrés à nos comportements quotidiens peuvent très facilement inverser la tendance…

Merci pour votre participation. Si on était toujours d’accord, il n’y aurait pas d’échanges.

Félix Guillemot (non vérifié) le 13/11/2009

Une question à l’Auteur:
Y aurait il une seconde édition en préparation de cet ouvrage?

Anonyme (non vérifié) le 13/02/2011

@Anonyme : pas à ma connaissance

admin le 14/02/2011

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement.