Web Eco-Design: Balancing Performance and Digital Frugality
Web Performance

Web Eco-Design: Balancing Performance and Digital Frugality

How to reduce your websites' carbon footprint while improving performance? Next.js, image optimization, frugal UX: complete VOID guide.

🇫🇷 This article is currently available in French. English translation in progress.

Note: This article is available in French with full technical details and code examples.

Read the full French version →

L'éco-conception web consiste à réduire l'empreinte environnementale d'un site ou d'une application numérique tout en maintenant (voire en améliorant) ses performances et son accessibilité. Chez VOID, nous intégrons ces principes dans chaque projet, car performance et frugalité vont de pair.

Pourquoi l'éco-conception web est stratégique ?

Le numérique représente aujourd'hui 4% des émissions mondiales de CO2, et cette part devrait doubler d'ici 2025. Chaque page web consomme de l'énergie sur 3 niveaux :

  • RĂ©seau : transfert des donnĂ©es (images, JS, CSS, fonts...)
  • Serveurs : gĂ©nĂ©ration des pages, bases de donnĂ©es, CDN
  • Terminaux : CPU/GPU pour rendre la page (surtout sur mobile)

Un site sobre est un site qui :

  • Charge moins de ressources (moins de Ko = moins d'Ă©nergie rĂ©seau)
  • Sollicite moins le CPU (moins de JS = batterie Ă©conomisĂ©e)
  • S'affiche plus vite (meilleure UX = moins de frustration = moins de rebond)

Next.js : architecture frugale par défaut

Chez VOID, nous utilisons Next.js pour créer des sites web légers et performants. Voici pourquoi Next.js est un choix naturel pour l'éco-conception :

1. Code splitting automatique

Contrairement aux frameworks monolithiques qui chargent tout le JavaScript d'un coup, Next.js découpe automatiquement le code en chunks :

  • Chaque page ne charge que le JS dont elle a besoin
  • Les composants partagĂ©s sont dans un chunk sĂ©parĂ© (cache navigateur)
  • RĂ©duction de 50-70% du JS tĂ©lĂ©chargĂ© par rapport Ă  un SPA classique

Exemple concret : Sur void.ma, la page d'accueil charge 102 Ko de JS, contre 400+ Ko pour un React CRA typique.

2. Server-Side Rendering (SSR) & Static Generation

Next.js permet de générer les pages côté serveur ou en statique :

  • SSR : HTML envoyĂ© directement au navigateur (FCP instantanĂ©, moins de CPU client)
  • SSG : Pages prĂ©-gĂ©nĂ©rĂ©es servies via CDN (zĂ©ro calcul serveur par requĂŞte)
  • ISR : RĂ©gĂ©nĂ©ration incrĂ©mentale (fraĂ®cheur + cache)

Impact environnemental : Une page statique consomme 10x moins d'énergie qu'une page générée dynamiquement à chaque requête.

3. Optimisation des images intégrée

Les images représentent en moyenne 60% du poids d'une page web. Next.js inclut next/image qui :

  • Redimensionne automatiquement les images selon le viewport (responsive)
  • Convertit en WebP / AVIF (formats ~50% plus lĂ©gers que JPEG)
  • Lazy-load par dĂ©faut (chargement seulement si visible Ă  l'Ă©cran)
  • GĂ©nère des placeholders flous (meilleur CLS, moins de layout shift)

Résultat : Réduction de 60-80% du poids images sans perte de qualité perçue.

Éco-conception dans l'UX Design

L'éco-conception ne concerne pas que le code : l'UX Design joue un rôle majeur dans la sobriété numérique.

1. Dark patterns inversés : guidez l'utilisateur efficacement

Un utilisateur qui trouve rapidement ce qu'il cherche consomme moins de ressources :

  • Navigation claire : menu Ă©purĂ©, max 7 items (loi de Miller)
  • Parcours courts : 3 clics max pour accĂ©der Ă  une info clĂ©
  • Search first : barre de recherche visible (Ă©vite la navigation exploratoire)
  • Fil d'Ariane : orientation spatiale immĂ©diate

Cas VOID : Sur Attijariwafa bank, nous avons réduit de 40% le nombre de pages vues par session en optimisant la navigation → moins de transferts réseau.

2. Design minimaliste et contenu prioritaire

  • Above the fold : l'essentiel visible sans scroll (Ă©vite le chargement d'assets inutiles)
  • Progressive disclosure : afficher le dĂ©tail seulement si demandĂ© (accordĂ©ons, tabs)
  • Typographie système : utiliser les fonts natives du système (0 Ko de webfonts)
  • Couleurs optimisĂ©es : pixels noirs consomment moins d'Ă©nergie (OLED)

3. Interactions sobres

  • Animations CSS pures : Ă©viter les animations JS gourmandes (transform + opacity only)
  • VidĂ©os en fallback : proposer une image statique par dĂ©faut, lecture sur demande
  • Infinite scroll OFF : pagination classique (l'utilisateur contrĂ´le ce qu'il charge)
  • Autoplay OFF : respecter la bande passante de l'utilisateur

Images : banque d'images ou illustrations ?

Question stratégique pour l'éco-conception. Voici notre recommandation VOID :

❌ Quand éviter les images de banque

  • Purement dĂ©coratives : si l'image n'apporte rien au message → supprimez-la
  • Redondance : si le texte suffit (ex : icĂ´ne "email" + texte "email")
  • Poids excessif : photos HD 3000x2000px pour afficher 400x300px

âś… Alternatives plus sobres

  • SVG : ~2-10 Ko vs. 50-200 Ko pour une photo (icĂ´nes, logos, illustrations simples)
  • DĂ©gradĂ©s CSS : 0 Ko, rendu GPU (backgrounds, sĂ©parateurs)
  • Data visualisation : graphiques gĂ©nĂ©rĂ©s cĂ´tĂ© client avec Chart.js (donnĂ©es JSON lĂ©gères)
  • Lazy-loading agressif : charger uniquement si visible (via Intersection Observer)

✅ Quand utiliser des images optimisées

Si l'image est indispensable (photo produit, portfolio, témoignage humain) :

  • Format WebP / AVIF (50-80% plus lĂ©ger que JPEG)
  • Compression 85% qualitĂ© (imperceptible Ă  l'Ĺ“il)
  • Responsive images avec srcset (servir 400px sur mobile, pas 2000px)
  • CDN + cache agressif (1 an minimum)

Budget VOID : Nous visons max 100 Ko d'images par page pour rester sous la barre des 500 Ko total (recommandation GreenIT).

Checklist éco-conception VOID

Pour chaque projet, nous appliquons cette grille :

📊 Performance

  • âś… Lighthouse score > 90 (Performance, Accessibility, SEO)
  • âś… FCP < 1.5s (First Contentful Paint)
  • âś… LCP < 2.5s (Largest Contentful Paint)
  • âś… CLS < 0.1 (Cumulative Layout Shift)
  • âś… TTI < 3.5s (Time to Interactive)

đź’ľ Poids

  • âś… HTML + CSS + JS < 200 Ko (gzippĂ©)
  • âś… Images < 100 Ko par page
  • âś… Fonts : 0 Ko (système) ou < 50 Ko (webfont subset)
  • âś… Total page < 500 Ko (idĂ©al < 300 Ko)

♻️ Architecture

  • âś… Code splitting (Next.js automatic)
  • âś… Tree-shaking (suppression JS inutilisĂ©)
  • âś… SSG/SSR prioritaire sur CSR
  • âś… CDN + cache agressif (stale-while-revalidate)
  • âś… HTTP/2 + Brotli compression

🎨 UX

  • âś… Navigation < 3 clics pour info clĂ©
  • âś… Search bar visible
  • âś… Autoplay dĂ©sactivĂ© (vidĂ©o/carousel)
  • âś… Mode dark disponible (Ă©conomie OLED)
  • âś… Pagination > infinite scroll

Cas d'usage VOID : Bourse de Casablanca

Sur le projet Bourse de Casablanca, nous avons appliqué l'éco-conception :

  • Architecture : Next.js SSG + ISR (pages statiques rĂ©gĂ©nĂ©rĂ©es toutes les 60s)
  • Images : 95% SVG (logos sociĂ©tĂ©s, graphiques), 5% WebP (photos dirigeants)
  • JS : 85 Ko total (vs. 400 Ko pour un SPA classique)
  • Fonts : System fonts (Inter fallback sur -apple-system)
  • Data : WebSocket pour cotations temps rĂ©el (Ă©vite polling HTTP toutes les 10s)

Résultats :

  • Lighthouse Performance : 98/100
  • Poids total page d'accueil : 220 Ko
  • FCP : 0.8s (3G slow)
  • Économie estimĂ©e : -65% CO2 vs. architecture SPA classique

Outils pour mesurer l'impact

Comment quantifier l'empreinte carbone de votre site ?

1. Website Carbon Calculator

websitecarbon.com : estimez le CO2 émis par page vue (basé sur le poids de la page + mix énergétique du datacenter).

2. EcoIndex (GreenIT.fr)

ecoindex.fr : note /100 basée sur nombre de requêtes HTTP, poids de la page, complexité DOM.

3. Lighthouse (Google)

Intégré à Chrome DevTools : audit Performance, Accessibility, Best Practices, SEO.

4. WebPageTest

webpagetest.org : test depuis différentes localisations/devices, waterfall détaillé.

Next.js vs. alternatives : comparaison éco-conception

Framework JS moyen SSR/SSG Image optim Code split
Next.js ~100 Ko âś… Natif âś… next/image âś… Auto
Create React App ~400 Ko ❌ CSR only ❌ Manuel ⚠️ Lazy
Gatsby ~150 Ko âś… SSG âś… gatsby-image âś… Auto
WordPress ~250 Ko ✅ SSR ⚠️ Plugins ❌ Monolithe
Drupal (trad.) ~200 Ko ✅ SSR ⚠️ Manuel ❌ Monolithe
Drupal + Next.js (Vactory) ~100 Ko âś… SSG/ISR âś… next/image âś… Auto

Verdict VOID : Next.js (seul ou couplé à Drupal headless via Vactory) offre le meilleur compromis performance / frugalité / DX.

Conclusion : performance = frugalité

L'éco-conception n'est pas une contrainte, c'est une opportunité :

  • Sites plus rapides = meilleur SEO, moins de rebond, plus de conversions
  • Moins de ressources = coĂ»ts d'hĂ©bergement rĂ©duits, factures Ă©nergĂ©tiques allĂ©gĂ©es
  • UX sobre = clartĂ©, accessibilitĂ©, satisfaction utilisateur
  • Image de marque = engagement RSE crĂ©dible, diffĂ©renciation concurrentielle

Chez VOID, nous intégrons l'éco-conception dès la phase de conception UX et architecturale. Chaque Ko économisé est un geste pour la planète et pour vos utilisateurs.

« Le site web le plus écologique est celui qu'on ne visite pas. Le deuxième, c'est celui qui charge en moins d'1 seconde. »

— Frédéric Bordage, fondateur GreenIT.fr

Besoin d'un audit éco-conception ?

VOID vous accompagne pour :

  • âś… Auditer l'empreinte carbone de votre site actuel
  • âś… Refondre votre architecture avec Next.js + Drupal headless
  • âś… Former vos Ă©quipes aux bonnes pratiques Ă©co-conception
  • âś… Certifier votre dĂ©marche (labels GreenIT, ISO 14001...)

Références VOID : Attijariwafa bank, Bourse de Casablanca, FM6SS (tous avec Lighthouse > 95).

Tags:

Éco-conceptionPerformanceNext.jsUX DesignFrugalitéGreenIT

Need Expert Support?

VOID accompanies you in your digital transformation projects in Morocco and Africa.