Python - Éco-conception & Green Coding
Python est un langage de programmation interprété, polyvalent et largement utilisé dans de nombreux domaines. Sa simplicité de syntaxe permet de développer rapidement, mais peut aussi conduire à des pratiques coûteuses en ressources.
Cette page présente 10 règles d'éco-conception concrètes pour réduire l'empreinte carbone des applications Python, à partir de mesures réalisées avec CodeCarbon et d'exemples faciles à comprendre.
Métriques de référence Green IT
1 km voiture thermique
112 g eq CO₂
112 g eq CO₂
Empreinte numérique française
420 kg eq CO₂ / an / personne
420 kg eq CO₂ / an / personne
Énergie primaire
1 800 kWh = fabrication de 32 téléphones
1 800 kWh = fabrication de 32 téléphones
Consommation d'eau numérique
1 900 L / an
1 900 L / an
Exemple de 10 Éco-Rules Python
Bibliographie & Références
- [1] CodeCarbon. Machine Learning CO2 Impact Estimator. [Site officiel] [GitHub]
- [2] ADEME. Base Carbone - Facteurs d'émissions. [Base Carbone]
- [3] GreenIT.fr. Impacts environnementaux du numérique en France. Version 0.8 - Janvier 2021. [GreenIT.fr]
- [4] Python Software Foundation. Performance Tips - Official Documentation. [Python Wiki]
- [5] Harris, C. R., et al. (2020). Array programming with NumPy. Nature, 585(7825), 357-362. [Nature]
- [6] Van Rossum, G., & Drake, F. L. (2011). The Python Language Reference Manual - Generators. [Python Docs]
- [7] Python Documentation. multiprocessing — Process-based parallelism. [Docs]
- [8] Python Documentation. collections — deque objects. [Docs]
- [9] Python Documentation. functools — lru_cache decorator. [Docs]
- [10] Lannelongue, L., Grealey, J., & Inouye, M. (2021). Green Algorithms: Quantifying the Carbon Footprint of Computation. Advanced Science, 8(12). [Paper]
- [11] CodeCarbon. Global Energy Mix by Country. [JSON Data]
- [12] Ramalho, L. (2022). Fluent Python: Clear, Concise, and Effective Programming (2nd ed.). O'Reilly Media.
- [13] Slatkin, B. (2019). Effective Python: 125 Specific Ways to Write Better Python (2nd ed.). Addison-Wesley.
- [14] PEP 8. Style Guide for Python Code. [PEP 8]
- [15] Astral. Ruff - An extremely fast Python linter and code formatter, written in Rust. [Documentation]
- [16] Łukasz Langa. Black - The uncompromising Python code formatter. [Documentation]
- [17] Google. Google Python Style Guide. [Style Guide]
- [18] PEP 498. Literal String Interpolation (f-strings). [PEP 498]