Pourquoi avons nous choisi Hugo pour Labanqui.se ?
Hugo est un générateur de site statique open-source programmé en langage “go” (souvent appelé Golang). L’utilisation d’un site statique garantie des pages performantes et économes en calculs, donc en énergie. L’utilisation d’un langage compilé permet une génération rapide et efficace des pages.
Ces deux points en font un choix évident pour une agence web eco-responsable ou n’importe qui s’intéressant au greenit.
A noter : on entend souvent parler d'Hugo CMS et il est vrai qu’il est idéal pour gérer des contenus. Mais il peut faire plus de choses avec un peu de développements. D’ailleurs Hugo se définit lui même comme étant un moteur de site web statiques.
Hugo est le framework le plus rapide pour construire des sites internet.
Chaque page de votre site est généré en moins d’une milliseconde et votre site dans sa globalité en moins d’une seconde.
Moins de temps de génération = moins d’énergie consommée !
Quels sont les avantages d’un langage compilé ?
Pour répondre à cette question, voyons d’abord comment fonctionne un langage interprété (comme le php). A chaque fois que l’on veut exécuter le programme :
- L’ordinateur charge l’interpréteur ou le mobilise s’il est déjà en mémoire
- L’ordinateur charge l’environnement d’exécution ou le mobilise s’il est déjà en mémoire
- L’ordinateur charge le code et l’injecte dans l’interpréteur
- L’interpréteur analyse le code pour en faire une suite de commande utilisable par l’environnement d’exécution
- L’ordinateur exécute le programme en donnant le code préparé à l’environnement d’exécution
Lorsqu’on utilise un langage compilé, le code n’est analysé et transformé qu’une seule fois, à la fin du développement. Lorsque l’on veut exécuter le programme, il ne reste donc qu’une étape :
- L’ordinateur exécute le programme, éventuellement en s’appuyant sur des bibliothèques.
On devine donc qu’un langage compilé sera beaucoup plus sobre qu’un langage interprété, que ce soit en termes de mémoire ou de CPU. Et le gain sera d’autant plus important que le programme est exécuté souvent.
De plus, l’exécution du programme compilé sera beaucoup plus rapide. Surtout dans le cas du Golang qui est naturellement véloce et ne nécessite aucune bibliothèque.
Travailler en langage compilé demande donc moins de ressources matérielles et moins de puissance (donc moins d’électricité). C’est donc un choix naturel pour nous.
Le langage utilisé pour créer un site Web a-t-il une importance sur son impact écologique ?
Une étude portugaise publiée en 2017 compare l’efficacité de 27 langages en terme d’énergie, de temps et de mémoire ( https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/paperSLE.pdf ).
Notre choix s’est porté sur le GO car il obtient les évaluations suivantes :
- Energie 3.23 ( Le C obtient 1 qui est la meilleure note et l’indice de référence , le PHP obtient 29.3 )
- Temps 2.83 ( ( Le C obtient 1 qui est la meilleure note et l’indice de référence , le PHP obtient 27.64 )
Je cite tout particulièrement le PHP car c’est un langage simple, très répandu ,utilisé dans un grand nombre de solutions grand public comme Wordpress, Magento, Prestashop ou encore Drupal.
Le revers de la médaille de cette simplicité est une très mauvais performance énergétique, qui permet certes de coder vite mais en contrepartie la pollution induite est bien supérieure.
Ce qui veut dire que pour réaliser les mêmes actions un développement réalisé en GO consommera en moyenne 9 fois moins d’énergie et prendra 10 fois moins de temps.
Les deux valeurs étant naturellement corrélées car il semble normal que le fait d’aller beaucoup plus vite impacte la consommation énergétique.
Effectivement, on parle de millisecondes d’utilisation de processeurs et que la perception humaine de 1 ms ou de 1.1 ms est identique mais si on ramène ça à des dizaines de millions de serveurs qui hébergent des centaines de millions d’application pour des milliards d’utilisateurs, on n’est plus dans l’épaisseur du trait.
Compilé , Statique & Sans serveur
Cet article vous a expliqué pourquoi le choix d’un langage compilé plutôt qu’un interprété , pourquoi le choix de GO et pourquoi le choix de HUGO CMS.
Ces choix sont nos choix et il y en a d’autres surement aussi bon , peut être meilleur.
Nous espérons juste qu’à la lecture de cet article vous avez appris et compris que dans une optique écoresponsable, le choix des technologies n’est pas neutre et qu’il n’y a pas de choix évidents.
Si WordPress se targue sur son site de représenter 39% des sites web, aucune trace de ses impacts écologiques ( qui pourrait approcher les 39% ) et de son absence d’optimisation énergétique.
Dans notre prochain article, nous évoquerons le choix de faires des sites statiques dans un monde rempli de sites dynamiques pas vraiment dynamiques.