Aller au contenu
Thibaud WajrockIngénieur full-stack freelance
Tous les projets

Projet industriel

Éco-conception de G4IT

Audit et optimisation de G4IT, outil open source de mesure d'empreinte environnementale : transferts divisés par 13 et EcoIndex passé de C/D à A/B.

Année
2025
Durée
4 mois
Stack
Angular · SCSS · GreenIT-Analysis · EcoIndex
Tableau de bord de G4IT, l'outil de mesure d'empreinte environnementale de Sopra Steria

Résultats clés

  • Poids des transferts de 7 876 Ko à 582 Ko
  • Requêtes HTTP par page de 100+ à moins de 33
  • EcoIndex de C/D à A/B sur tous les modules
  • Contributions intégrées au dépôt officiel

Contexte

G4IT est un outil open source développé par Sopra Steria pour mesurer l’empreinte environnementale des systèmes d’information. Paradoxalement, l’application elle-même présentait une dette technique qui pesait sur sa propre sobriété : scores EcoIndex en grade C et D, aucune compression, pas de politique de cache et trop de requêtes HTTP par page.

Dans le cadre d’un projet industriel à l’ESIR, notre équipe a été chargée d’auditer l’application et d’implémenter des optimisations mesurables.

Approche

  • Montée en compétence sur l’éco-conception logicielle (MOOC Inria sur les impacts environnementaux du numérique)
  • Audit initial avec GreenIT-Analysis pour identifier et prioriser les points critiques
  • Politique de cache HTTP couvrant 100 % des ressources statiques
  • Compression Gzip intégrée au pipeline de production
  • Refonte de l’architecture des styles Angular pour réduire les styles inline et favoriser la mise en cache
  • Contributions soumises et validées par pull requests sur le dépôt officiel de G4IT

Décisions techniques

Le levier le plus structurant a été le passage de ViewEncapsulation.Emulated à ViewEncapsulation.None sur les composants structurels. Ce changement a imposé une restructuration profonde du SCSS : consolidation des styles locaux en classes globales préfixées et suppression des sélecteurs ::ng-deep pour éviter les conflits d’héritage.

En amont, la mise en place de l’environnement local (Angular, Spring Boot, PostgreSQL) a nécessité plusieurs sessions avec les experts techniques de Sopra Steria pour résoudre des conflits de versions et des erreurs de compilation TypeScript.

Résultats

  • Poids des transferts divisé par plus de 13 : de 7 876 Ko à 582 Ko
  • Requêtes HTTP divisées par 3 : de plus de 100 à moins de 33 par page
  • Compression Gzip sur 100 % des ressources statiques, contre 0 % initialement
  • EcoIndex passé du grade C/D au grade A/B sur l’ensemble des modules
  • Contributions intégrées au dépôt officiel de G4IT

Un projet en tête ? Parlons-en.

Parlons de votre projet