EcoConception Logicielle
9.0K views | +5 today
EcoConception Logicielle
Green IT, performance web, économies d'énergies, bref : éco-conception logicielle !
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Scooped by Mickael Ruau
September 8, 2013 8:09 AM
Scoop.it!

L'éco-conception une démarche rentable

L'éco-conception une démarche rentable
Mickael Ruau's insight:
Elaboré par l'ADEME dans le cadre d'un projet collaboratif animé par Ernst & Young, ce document est un argumentaire pour convaincre la direction d'une entreprise de l'intérêt d'initier une démarche d'éco-conception.Ce document propose notamment un schéma qui permet de situer votre entreprise en terme de motivation : a-t-elle une attitude défensive ou offensive en terme de développement de produits ? Son objectif est-il de valoriser la démarche en interne ou en externe ? En fonction de sa motivation initiale, vous pourrez activer les bons leviers pour favoriser le passage à l’action de votre direction.
No comment yet.
Scooped by Mickael Ruau
September 8, 2013 8:06 AM
Scoop.it!

L'Eco-Conception Logicielle | Green Code Lab

L'Eco-Conception Logicielle | Green Code Lab | EcoConception Logicielle | Scoop.it

Un développement logiciel durable s’appuie sur les trois piliers sur les 3 piliers du développement durable :

Préservation de le l’environnement : Le logiciel doit maîtriser son impact en terme de préservation des matières premières. Comme nous l’avons vu, cet impact est indirectement issu de la demande croissante en matériel électronique. Le logiciel doit lors de son utilisation limiter son empreinte environnementale : consommation d’énergie et de ressources durant en phase d’utilisation, émissions d’onde… Et enfin le logiciel doit minimiser son impact lors de sa fin de vie et le déchet qu’il occasionne par le renouvellement prématuré des matériels.Equité sociale : Le développement durable doit prendre en compte l’aspect social, c'est-à-dire ne pas introduire d’inégalité. Pour le développement logiciel, l’inégalité principale est la sous-traitance du développement dans des pays où les droits de travail ne sont pas corrects (offshoring). Il existe aussi un impact indirect, toujours par rapport au matériel : le logiciel utilise du matériel qui est en quasi-totalité fabriqué en Asie. Les problématiques sociales que cela implique sont nombreuses. On notera également l’équitabilité de l’accès à l’information pour tous à travers les principes d’accessibilité que l’on retrouve aujourd’hui sur le web (label accessiweb).L’efficacité économique : le modèle économique du développement logiciel doit être efficace, c'est-à-dire que s’il est basé sur des hypothèses qui ne sont pas viables économiquement, il ne sera pas durable. Editeurs, intégrateurs, distributeurs, consommateurs doivent trouver un équilibre économique sain et durable.

L’éco-conception s’appuie sur des bonnes pratiques et des green patterns permettant d’atteindre ses objectifs.

 
No comment yet.
Scooped by Mickael Ruau
September 7, 2013 5:59 PM
Scoop.it!

PowerSpy2 : un enregistreur énergétique très haute performance

PowerSpy2 : un enregistreur énergétique très haute performance | EcoConception Logicielle | Scoop.it
Audit énergétique. Spécialisé dans les applications innovantes de l'électronique, le fabricant Alcion vient de lancer la version 2 du PowerSpy, un analyseur énergétique avancé qui offre une nouvelle fonction d'enregistrement à haute résolution en...
No comment yet.
Scooped by Mickael Ruau
September 7, 2013 5:45 PM
Scoop.it!

Keeping Your CSS3 Code Markup Slim

Keeping Your CSS3 Code Markup Slim | EcoConception Logicielle | Scoop.it
Web developers can save a lot of time using more sophisticated CSS3 syntax. Users who visit your page are expecting the fastest possible load time – which makes it your responsibility to keep file sizes down.
Mickael Ruau's insight:

There are in-browser tools available to aid developers in the styling process but you would want to combine shortcodes with this file-size reduction to ultimately streamline the rendering process of your website.

No comment yet.
Rescooped by Mickael Ruau from Green IT 1.0, 1.5, 2.0
September 7, 2013 4:57 PM
Scoop.it!

PowerSpy2 : un enregistreur énergétique très haute performance

PowerSpy2 : un enregistreur énergétique très haute performance | EcoConception Logicielle | Scoop.it

Le PowerSpy2 réalise une acquisition à haute fréquence des formes d’ondes de courant et de tension à la manière d’un oscilloscope, et transmet ces informations en temps réel à un ordinateur via une liaison Bluetooth.


Via Alliance Green IT (AGIT)
No comment yet.
Scooped by Mickael Ruau
September 7, 2013 6:34 AM
Scoop.it!

Processeurs : vers la fin de la loi de Moore ? Un expert donne son point de vue, ainsi que des pistes pour améliorer les performances des puces

Processeurs : vers la fin de la loi de Moore ? Un expert donne son point de vue, ainsi que des pistes pour améliorer les performances des puces | EcoConception Logicielle | Scoop.it
En 1965, un jeune ingénieur de Fairchild Semiconductor, postulait que le nombre de transistors (éléments atomiques des puces électroniques à savoir microprocesseurs et autres) devait doubler tous les deux ans.
Mickael Ruau's insight:

Tout comme Gordon Moore, Colwell pense que, contrairement aux idées reçues, ce ne sont pas les lois physiques qui vont mettre un terme à la loi de Moore, mais plutôt les questions d’ordre financier. Pour lui, les constructeurs arriveront à un stade où ils auront des difficultés à vendre leurs puces de façon à compenser les coûts de fabrication en usine.

Au passage, en répondant à une question qui lui a été posée, Colwell affirme qu’il faudrait bien du chemin pour qu’un constructeur propose une architecture de meilleure qualité que celles d’Intel et ARM. « Intel est fait de visionnaires capables d’établir des prédictions sur cinq ans » dira-t-il.

No comment yet.
Scooped by Mickael Ruau
September 1, 2013 10:49 AM
Scoop.it!

Informatique durable - Wikipédia

L'informatique a été pendant longtemps considérée comme une industrie « propre », s'étant retranchée avec les technologies de l'information et de la communication (TIC) derrière des slogans tels que « produits immatériels, industrie du silicium, zéro papier, télétravail, commerce électronique… », l’affranchissant ainsi de responsabilité sociétale[1]. On reconnaît aujourd'hui que ses impacts environnementaux et sociaux sont importants, justifiant ainsi une démarche de développement durable dans ce secteur.

Il importe de ne pas se limiter aux impacts directs de l'informatique, mais d'analyser aussi les impacts indirects que ces systèmes induisent dans les métiers des entreprises et des administrations, et dans la société en général. On comprend alors qu'une démarche de développement durable dans le domaine de l'informatique est un véritable projet d'entreprise, c'est-à-dire transversal pour toute l'organisation[2]. En effet, en ce qu'il supporte l'organisation ciblée et en augmente l'automatisation, le système d'information est intimement lié à la performance globale de cette organisation, y compris en matière de développement durable.

Une étude faite en 2008 montre qu'il serait possible de réduire significativement l'empreinte environnementale des activités humaines en agissant par l'intermédiaire des techniques de l'information et de la communication de manière adéquate[3].

No comment yet.
Scooped by Mickael Ruau
September 1, 2013 9:47 AM
Scoop.it!

Performance of === vs. ==

One particular weirdness and unpleasantry in JavaScript is the set of equality operators. Like virtually every language, JavaScript has the standard ==, !=, <, >, <=, and >= operators. However, == and != are NOT the operators most would think they are. These operators do type coercion, which is why [0] == 0 and "\n0\t " == 0 both evaluate to true. This is considered, by sane people, to be a bad thing. Luckily, JavaScript does provide a normal set of equality operators, which do what you expect: === and !==. It sucks that we need these at all, and === is a pain to type, but at least [0] !== 0.

So, that’s all well and good, but when making the decision to use === instead of == it’s important to understand if there are any performance implications. Reasonable people, like myself, would expect the strict equality operators to be faster than their type-coercing counterparts, because the type coercion must take time. But, being a scientist, I had to set up an experiment to test this hypothesis.

Mickael Ruau's insight:

Not much surprise in these results, other than the Firefox result. But, it did help me avoid a nagging worry that I’m silently slowing down my code whenever I use === instead of == in my JavaScript.

Again, find the test here and my results here. I hope you found this information interesting. Let me know in the comments if you see different results than I got.

No comment yet.
Scooped by Mickael Ruau
September 1, 2013 9:05 AM
Scoop.it!

Profiling Long Paint Times with DevTools' Continuous Painting Mode - HTML5Rocks Updates

Profiling Long Paint Times with DevTools' Continuous Painting Mode - HTML5Rocks Updates | EcoConception Logicielle | Scoop.it
A resource for developers looking to put HTML5 to use today, including information on specific features and when to use them in your apps.
No comment yet.
Scooped by Mickael Ruau
September 1, 2013 8:12 AM
Scoop.it!

That No SQL Thing: The relational modeling anti pattern in document databases - Ayende @ Rahien

That No SQL Thing: The relational modeling anti pattern in document databases - Ayende @ Rahien | EcoConception Logicielle | Scoop.it

I am going to demonstrate the design of the data model in a document database for a typical blog application.

Mickael Ruau's insight:

As you’ve seen, by copying the relational model, we have created just the same sort of environment that we already had with RDBMS, but now we are faced with the problem that a document database can’t do things that a relational database can. In my eyes, what we have done is a net lose. Oh, we may gain some small benefit by being schemaless, but that isn’t really that beneficial in compared to the amount of effort that we have to go to by trying to be relational on a non relational database.

 
No comment yet.
Scooped by Mickael Ruau
September 1, 2013 8:09 AM
Scoop.it!

Entity Framework anti-patterns: How not to use an ORM with SQL Server « Ben Morris. Software architect.

Entity Framework anti-patterns: How not to use an ORM with SQL Server « Ben Morris. Software architect. | EcoConception Logicielle | Scoop.it
The Entity Framework has come a long way since its earliest incarnations prompted a vote of no confidence from the development community.
Mickael Ruau's insight:

Some of these problems are related to limitations inherent in Object\Relational Mapping (ORM) tools. They only provide partially successful abstractions of relational databases and tend to be complex to implement, mainly because they are trying to solve a very difficult problem. You are trying to synchronise two very different representations of data that are used in two very different contexts.

This need not be a barrier to using ORM technologies successfully. The Entity Framework can be a great tool for rapidly building out a data access layer so long as you are aware of its limitations and understand what is going on under the bonnet.

No comment yet.
Scooped by Mickael Ruau
September 1, 2013 7:57 AM
Scoop.it!

The "Nested WHERE-IN" SQL Anti-Pattern

The "Nested WHERE-IN" SQL Anti-Pattern | EcoConception Logicielle | Scoop.it

There's a fascinating technique that I see many beginners use when writing SQL statements, and I call it the "Nested WHERE-IN" anti-pattern.  It is, unfortunately, a common SQL technique used to avoid JOINS at all costs. 

No comment yet.
Scooped by Mickael Ruau
September 1, 2013 7:56 AM
Scoop.it!

Développeurs, arrêtez de partir en boucle...

Développeurs, arrêtez de partir en boucle... | EcoConception Logicielle | Scoop.it
Vous n'allez pas tomber de votre chaise : "faire des boucles dans un langage de programmation, plutôt qu'un SELECT, pour insérer des données dans une table a un cout". Et ne parlons même pas de les...
Mickael Ruau's insight:

faîtes donc ces tests vous même. Ça ne vous prendra pas plus de 5′. Et, si après ça, vous arrivez à transformer une seule boucle en SELECT, vous aurez contribué, vous aussi, à améliorer ce monde…

No comment yet.
Scooped by Mickael Ruau
September 8, 2013 8:07 AM
Scoop.it!

GreenMaterials | Environnement, Social et Economique : les 3 piliers du Développement Durable

GreenMaterials | Environnement, Social et Economique : les 3 piliers du Développement Durable | EcoConception Logicielle | Scoop.it

Le développement durable est un développement qui répond aux besoins des générations présentes sans compromettre la capacité des générations futures de répondre aux leurs.
Le développement durable fait l’objet d’une attention de plus en plus importante : pensons par exemple aux nombreux articles consacrés aux pollutions engendrées par l’activités des grande firmes, la pollution atmosphérique, aux problèmes de mobilité, aux milieux naturels, au réchauffement climatique de la planète, … Chacun peut tirer profit d’une politique de développement durable et chacun peut facilement y contribuer.
Les trois piliers du développement durable
- Le pilier Économique : l’ économie est un pilier qui occupe une place prééminente dans notre société de consommation. Le développement durable implique la modification des modes de production et de consommation en introduisant des actions pour que la croissance économique ne se fasse pas au détriment de l’environnement et du social.
- Le pilier Social : ou encore le pilier humain. Le développement durable englobe la lutte contre l’exclusion sociale, l’accès généralisé aux biens et aux services, les conditions de travail, l’amélioration de la formation des salariés et leur diversité, le développement du commerce équitable et local.
- Le pilier Environnemental : il s’agit du pilier le plus connu. Le développement durable est souvent réduit à tort à cette seule dimension environnementale. Il est vrai que dans les pays industrialisés, l’environnement est l’une des principales préoccupations en la matière. Nous consommons trop et nous produisons trop de déchets. Il s’agit de rejeter les actes nuisibles à notre planète pour que notre écosystème, la biodiversité, la faune et la flore puissent être préservées.

No comment yet.
Scooped by Mickael Ruau
September 8, 2013 7:30 AM
Scoop.it!

How To Remove Unnecessary Modules in jQuery

How To Remove Unnecessary Modules in jQuery | EcoConception Logicielle | Scoop.it
jQuery is undoubtedly the most popular JavaScript library, (almost) every website on this planet is using it. This affects jQuery to include all the functionalities within the library to cover every instance and possibility.
No comment yet.
Scooped by Mickael Ruau
September 7, 2013 5:45 PM
Scoop.it!

Uncovering the Native DOM API

Uncovering the Native DOM API | EcoConception Logicielle | Scoop.it

JavaScript libraries such as jQuery serve a great purpose in normalizing cross-browser behaviors in the DOM in such a way that it’s possible to use the same interface to interact with many different browsers. But they do so at a price. Part of that price, in the case of some developers, is having no idea what the heck the library is actually doing when we use it.

Heck, it works! Right? Well, no. You should know what’s happening behind the scenes, in order to better understand what you are doing. Otherwise, you would be just programming by coincidence.

In this article, I’ll explore some of the parts of the DOM API that are usually abstracted away behind a little neat interface in your library of choice, including Ajax, events and DOM querying.

Mickael Ruau's insight:

Alternatives natives aux fonctions proposées par les frameworks javascript telles que  Jquery.

No comment yet.
Scooped by Mickael Ruau
September 7, 2013 5:12 PM
Scoop.it!

Visualising JavaScript Processing Over Time With DevTools Flame Charts

Visualising JavaScript Processing Over Time With DevTools Flame Charts | EcoConception Logicielle | Scoop.it
In this quick video, I walk through how to effectively use DevTools Flame Charts for visually representing your app's JavaScript processing over time. This
Mickael Ruau's insight:

This can be useful if you’re concerned it may be suffering from particularly long function executions and you want to dive into them further.

 

Flame Charts compliment the existing JavaScript CPU Profile’s Tree and Heavy views, displayed lower down. For those unfamiliar with the CPU profiler, it shows where CPU time is statistically spent on your code.

No comment yet.
Scooped by Mickael Ruau
September 7, 2013 4:57 PM
Scoop.it!

GreenTouch : vers des réseaux 1000 fois moins gourmands

GreenTouch : vers des réseaux 1000 fois moins gourmands | EcoConception Logicielle | Scoop.it
Les technologies de l'information et de la communication (TIC) sont responsables de 2,3 % des émissions de carbone dans le monde ! Un impact comparable à celui de l'industrie aérienne mondiale ou à celui d'une flotte de 50 millions d'automobiles.
No comment yet.
Scooped by Mickael Ruau
September 6, 2013 4:32 AM
Scoop.it!

L’écotaxe officiellement reportée au 1er janvier 2014

Initialement prévue au 1er octobre 2013, l’entrée en vigueur de l’écotaxe a officiellement été reportée au 1er janvier 2014, ont annoncé les ministres Frédéric Cuvillier (Transports) et Bernard Cazeneuve (Budget) ce jeudi 5 septembre.
No comment yet.
Scooped by Mickael Ruau
September 1, 2013 10:14 AM
Scoop.it!

Comment Optimiser mySQL ? Problématique et Solutions | EdelweissHosting

Comment Optimiser mySQL ? Problématique et Solutions | EdelweissHosting | EcoConception Logicielle | Scoop.it

-          Est-ce votre caddie électronique peut supporter 50 utilisateurs en même temps ?
-          Est-ce que votre forum peut supporter 300 utilisateurs connectés ?
-          Est-ce que votre annuaire supportera 50’000 liens ?

Mickael Ruau's insight:

Le problème que nous avons constaté en analysant des applications hébergées dans le réseau EdelweissHosting, est la mauvaise utilisation de mySQL par une partie des clients. Ceci donne une situation où les ressources nécessaires pour faire tourner une base augmentent plus vite que :

-          Le nombre d’utilisateurs
-          La taille de la base

 

Par exemple, un site peut voir un doublement de ses utilisateurs en un an et durant la même période, les ressources nécessaires se multiplient par huit. Les ressources ont un prix que le client paye. Voici ce que ça donne pour cet exemple à supposer que le site coutait à la base 10 Euros par mois pour son hosting :

Année 1 – Facteur Visiteurs 1 – Ressources 1 – Frais 10 Euros/mois
Année 2 – Facteur Visiteurs 2 – Ressources 8 – Frais 80 Euros / mois
Année 3 – Facteur Visiteurs 4 – Ressources 64  – Frais 640 Euros / mois
Année 4 – Facteur Visiteurs 8 – Ressources  512 – Frais 5120 Euros / mois

A la cinquième année, on n’est pas loin de 41000 Euros par mois alors que le nombre de visiteurs ne s’est multiplié que par 16 depuis le début de l’aventure ! Ce tableau vous montre que des applications non optimisées pour le trafic plomberont votre site et vous mettront en faillite plus vite que toute autre chose.

 

No comment yet.
Scooped by Mickael Ruau
September 1, 2013 9:46 AM
Scoop.it!

Object-to-Primitive Conversions in JavaScript

Like most object-oriented programming languages, JavaScript provides built-in ways to convert between objects and primitive values, by way of the special toString and valueOf methods. This article will cover the basics of these methods, but then dive into the details of how this stuff really works, bad stuff, performance, and browser support.

 
Mickael Ruau's insight:

There are three important things to take away from this article:

Implement toString and valueOf on your commonly-reused objects. They can help you write clearer, more concise code, and make debugging easier too.All browsers implement object-to-primitive conversion according to the specification, so you can safely consult it for more detail.When performance is important, always try to call your type-conversion methods directly, instead of relying on JavaScript’s implicit calls.
No comment yet.
Scooped by Mickael Ruau
September 1, 2013 9:03 AM
Scoop.it!

Use forensics and detective work to solve JavaScript performance mysteries

Learn how to surface important signals from deep inside V8 and use them to improve the performance of your site
No comment yet.
Scooped by Mickael Ruau
September 1, 2013 8:10 AM
Scoop.it!

Anti-Search patterns - SQL to look for what is NOT there - Part One

Anti-Search patterns - SQL to look for what is NOT there - Part One | EcoConception Logicielle | Scoop.it

Usually in SQL queries, you will try to retrieve information from a database by reading specific records from the relevant tables. However, there are situations where what you want to learn from a query is the fact that something is NOT there. So instead of querying for existing records, you are looking for records that do not exist. This article discusses a number of such situations and demonstrates several “anti-queries”. 

No comment yet.
Scooped by Mickael Ruau
September 1, 2013 8:08 AM
Scoop.it!

ORM is an anti-pattern | Seldo.Com Blog

ORM is an anti-pattern | Seldo.Com Blog | EcoConception Logicielle | Scoop.it

I tweeted about ORM last week, and since then several people have asked me to clarify what I meant. I have actually previously written about ORM, but it was in the context of a larger discussion about SQL and I shouldn't have confused the two issues. So here I'm going to focus on ORM itself. I'm also going to try to be very brief, since it became very apparent from my SQL article that people tend to stop reading at the first sentence that makes them angry (and then leave a comment about it, whether or not their point is addressed later on).

Mickael Ruau's insight:
In summary (TL;DR)ORM is initially simpler to understand and faster to write than SQL-based model codeIts efficiency in the early stages of any project is adequateUnfortunately, these advantages disappear as the project increases in complexity: the abstraction breaks down, forcing the dev to use and understand SQLEntirely anecdotally, I claim that the abstraction of ORM breaks down not for 20% of projects, but close to 100% of them.Objects are not an adequate way of expressing the results of relational queries.The inadequacy of the mapping of queries to objects leads to a fundamental inefficiency in ORM-backed applications that is pervasive, distributed, and therefore not easily fixed without abandoning ORM entirely.Instead of using relational stores and ORM for everything, think more carefully about your designIf your data is object in nature, then use object stores ("NoSQL"). They'll be much faster than a relational database.If your data is relational in nature, the overhead of a relational database is worth it.Encapsulate your relational queries into a Model layer, but design your API to serve the specific data needs of your application; resist the temptation to generalize too far.OO design cannot represent relational data in an efficient way; this is a fundamental limitation of OO design that ORM cannot fix.
No comment yet.
Scooped by Mickael Ruau
September 1, 2013 7:57 AM
Scoop.it!

Sql Anti Patterns

Anti Patterns are common in Sql, where programmers used to procedural languages build models that would work well in a procedural environment, but in the Sql environment result in very large numbers of queries or avoidable replication of data.

Mickael Ruau's insight:

The AntiPatterns:

 

Modeling a tree in SQL using the 'obvious' equivalent of pointers. Down the road you will find you need to perform many many queries, each retrieving just a few rows of data to work with the tree.Solution: TreeInSql. Although BreadthFirstTraversalInSql can make the 'obvious' representation perform well for certain operations.

 

Putting all business logic into triggers. (You will hit implementation limits). See WritingUnmaintainableSql for some more anti-patterns. Solution: Just say no.

 

ScatterSqlEverywhere. If you're writing server side ASP web pages, your SQL is mixed in with the html formatting. Solution: (1) refactor so that the html formatting is in 'template' files which are read by the asp. (2) Move the text of the SQL queries to the top of the asp file so it is all in one place. {Some of us don't feel that keeping the logic close to where it is used is an overall bad thing. There are some existing topics on this long debate already.}

 

Nested queries, where subcategories in a category are retrieved by repeated queries. someone please describe this anti-pattern better!. Solution: (for example) DocQueryInSql.

 

Modeling version information in SQL. One 'obvious' solution replicates the information for each 'version'. Another 'obvious' solution keeps a start date and end date for each version. The first wastes storage. The second doesn't accommodate changes in versions well. Solution: TimeSeriesInSql.

 

Naive composition of queries from strings. Systems that accept all or part of SQL commands and clauses without validation are a security risk (because one can supply malicious substrings) and a source of dynamic bugs (because a malformed string may only be detected at runtime when the composed query fails). An extreme example are RDBMS or API's that allow multiple SQL commands per API call, since then a malicious substring could actually insert one or more entire SQL commands that are completely unrelated to the base query being composed. Solution: SqlStringsAndSecurity

 

Sloppy use of nulls (e.g. if an empty string is needed instead, or if two-valued logic is assumed, etc). Solution: NullsInSql

 

No comment yet.