*Tuteur : [Maxence Lagalle](mailto:maxence.lagalle@insee.fr)*
### Présentation
**GreenStream** est une API REST qui permet de réduire l’impact carbone d’un service de VOD (Netflix, Amazon Prime, Disney+…). Pour le consommateur, elle calcule l’impact carbone d’une vidéo à partir de sa durée et de sa résolution, en utilisant le modèle ["1byte" de The Shift Project](https://theshiftproject.org/article/climat-insoutenable-usage-video/) ou d’autres modèles d’estimation. Pour le fournisseur de VOD, elle aide à choisir des serveurs dans la meilleure zone géographique des fournisseurs Cloud en fonction de l’impact carbone de la production d’électricité. Ces données sur l’impact carbone sont fournies par [l'API ElectricityMaps](https://static.electricitymaps.com/api/docs/index.html).
GreenStream est un projet innovant et écologique, qui accompagne dans la transition vers des services de VOD plus vert et plus responsables.
*[ElectricityMaps](https://www.electricitymaps.com/) est partenaire de GreenStream et offre un accès à la version payante de son API pour toute la durée du projet.*
### Fonctionnalités de base
- **Estimation de l’empreinte carbone d’une vidéo** selon le modèle “1byte” de The Shift Project
- Prise en compte de la localisation géographique du fournisseur de VOD et de l’utilisateur
- Prise en compte de la durée et de la qualité de la vidéo, du type de connexion et du matériel utilisé pour regarder la vidéo
- Utilisation des données d’impact carbone en temps réel fournies par l’API ElectricityMaps
- **Recommandation du meilleur service Cloud** pour diffuser une vidéo à un utilisateur
- Choix du service Cloud à l’impact carbone le plus faible en fonction de la zone géographique de l’utilisateur
- Détermination des services Cloud éligibles en fonction de la localisation de l’utilisateur (ceux dans le même pays ou un pays limitrophe)
- Utilisation des données de prévision de l’impact carbone pour la durée de la vidéo fournies par l’API ElectricityMaps
- **Gestion de l’offre des fournisseurs Cloud**
- Implémentation de la liste des zones géographiques proposées par au moins deux fournisseurs Cloud (AWS, GCP, Azure…)
- Utilisation d’une base de données SQL pour stocker les informations sur les services Cloud disponibles
- **Information sur l’état du service GreenStream**
- Fourniture d’un service permettant de s’assurer que GreenStream fonctionne correctement et que son lien avec ElectricityMaps est actif
### Fonctionnalités avancées
- **Simulation de l’impact carbone d’un changement de comportement**
- Création d’un service qui permet à l’utilisateur de simuler l’impact carbone qu’il aurait s’il changeait certains paramètres de sa consommation de vidéos, tels que la qualité, la durée, le type de connexion ou le matériel utilisé
- Utilisation du modèle “1byte” ou d’autres modèles d’estimation pour calculer l’empreinte carbone selon les différents scénarios
- **Utilisation de modèles d’estimation de l’empreinte carbone plus sophistiqués**
- Prise en compte d'une consommation électrique variable selon les fournisseurs Cloud
- Utilisation d’autres modèles d’estimation publiés, tels que le modèle [“Carbon Footprint of Video Streaming” de Carbon Trust](https://www.carbontrust.com/our-work-and-impact/guides-reports-and-tools/carbon-impact-of-video-streaming) ou d'autres modèles à rechercher
- **Intégration de critères avancés dans la recommandation du service Cloud**
- Prise en compte du coût financier des services Cloud et d’un arbitrage entre le coût et l’empreinte carbone
- Utilisation d’un graphe de connexions entre les zones pour déterminer la liste des services Cloud éligibles pour diffuser une vidéo à un utilisateur
- **Suivi de la consommation totale du service et de son empreinte carbone**
- Enregistrement SQL de la consommation de vidéos : durée, zone géographique de l’utilisateur, service Cloud associé, empreinte carbone
- Accès aux données brutes ou à une synthèse statistique via l'API
- **Fonctionnement en mode dégradé**
- Utilisation de données historiques d’intensité carbone de la production d’électricité en cas de défaillance de l’API ElectricityMaps
L’initiative est fortement encouragée dans ce projet, et d’autres idées de fonctionnalités avancées ou d’amélioration des fonctionnalités de base peuvent être proposées par les élèves.