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

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