L'écoconception du code

Les leviers du développeur pour un code sobre, rangés en quatre (traitements, données, réseau, affichage), ce qu'on mesure et les référentiels qui guident.

  • 21 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Écoconception d'un service numérique : de quoi s'agit-il ?

    Voir la réponse

    Démarche qui réduit, dès la conception, les impacts environnementaux d'un service sur tout son cycle de vie : fabrication des terminaux, serveurs, réseau, usage.

    Pour un service web, la fabrication des appareils pèse souvent plus que l'électricité consommée : allonger la durée de vie des terminaux compte autant que le code.

  • Une page affiche 20 lignes d'une table qui en compte 50 000. Quelle écriture est la plus sobre ?

    • Paginer dans la requête SQL, qui ne renvoie que les 20 lignes affichées
    • Envoyer les 50 000 lignes au navigateur, qui n'en affiche que 20
    • Lire les 50 000 lignes côté serveur et n'envoyer que les 20 utiles
    • Compresser la réponse qui transporte les 50 000 lignes
    Voir la réponse

    Paginer dans la requête SQL, qui ne renvoie que les 20 lignes affichées

    La pagination se fait dans la requête (LIMIT 20 OFFSET …), au plus près des données : on ne lit ni ne transfère ce qu'on n'affiche pas. Compresser un transfert inutile le réduit, mais ne le supprime pas.

  • Les leviers du développeur se rangent en quatre familles : les …, les … stockées et transférées, les échanges réseau et l'affichage.

    Voir la réponse

    Les leviers du développeur se rangent en quatre familles : les traitements, les données stockées et transférées, les échanges réseau et l'affichage.

    Cette grille aide à ne rien oublier : un code rapide mais qui télécharge dix fois la même image reste gourmand.

  • Code sobre : de quoi s'agit-il ?

    Voir la réponse

    Ensemble des pratiques d'écriture qui limitent les ressources consommées par un programme : calcul, mémoire, stockage, transferts.

    Elle recoupe la performance (moins de calcul, c'est moins d'énergie) mais va plus loin : ne pas stocker, ne pas transférer, ne pas afficher ce qui est inutile.

  • Une page d'accueil de 8 Mo contient une vidéo qui démarre seule en arrière-plan, décorative. Que faire d'abord ?

    • Se demander si elle est utile, puis la retirer ou la différer
    • La réencoder en plus basse définition et la garder en lecture automatique
    • La servir par un réseau de diffusion plus proche des visiteurs
    • L'héberger chez un fournisseur alimenté en énergie renouvelable
    Voir la réponse

    Se demander si elle est utile, puis la retirer ou la différer

    Le meilleur octet est celui qu'on ne transfère pas. Optimiser une ressource inutile est moins efficace que la retirer ; la sobriété passe avant l'optimisation.