écoconception mobile : les bonnes pratiques
En 2022, les utilisateurs ont installé 148 milliards d’applications sur leurs périphériques (Android ou iOS), faisant des apps mobiles une cible de choix de la démarche d’écoconception, en plus des sites web.
Face à de tels chiffres et parce que tous les projets ne peuvent pas suivre une démarche d’écoconception dans les règles de l’art (lire à ce sujet le standard IEC 62430), un fort degré d’automatisation est indispensable côté développeurs mobile pour les aider à appliquer les bonnes pratiques clés, partout, tout le temps.
C’est en partant de ce constat qu’est née l’idée d’appliquer les techniques d’analyse et de réparation automatique de programmes au domaine de l’écoconception mobile. Mais pour relever le défi, il a d’abord fallu répertorier les bonnes pratiques à partir de différentes sources de confiance : la documentation de référence de la plateforme, les études scientifiques et les retours d’expérience des développeurs.
Green Code Checklist
Voici les 8 règles d’or pour programmer une app mobile plus eco-friendly. Cette checklist de haut niveau a été initialement pensée pour la plateforme Android, mais elle semble tout aussi indiquée pour iOS.
- OPTIMIZED API
Check battery-efficient APIs that have been specifically designed to substitute regular APIs
- LEAKAGE
Make sure that an acquired resource is always released, to avoid unnecessary battery drain
- BOTTLENECK
Avoid accumulation of data or operations that will require an energy peak to be processed
- SOBRIETY
Make reasonable accommodations between user experience and more energy efficient variants
- IDLENESS
When the app enters in a idle state, reduce the workload accordingly
- POWER
Adapt the app’s behavior to the battery status helps prolong the battery life
- BATCH
Grouping individually costly operations allows to save energy globally
- RELEASE
Favour the compile-time tasks that decrease the energy footprint of the deployment of the app
Green Code Smells
Chaque règle d’or ci-dessus peut être déclinée en différents “code smells”, qui sont les symptômes visibles, dans le code source, des impacts environnementaux directs ou indirects à venir. Ils sont ainsi responsables d’une dette technique doublée d’une dette écologique.
Débuté en 2019 avec 9 codes smells seulement, le catalogue pour la plateforme Android en compte aujourd’hui 42 et est en constante évolution.
Accéder au catalogue de code smells Android
Les codes smells, qui sont des bonnes pratiques de bas niveau, offrent la garantie d’être détectables par des outils d’analyse statique de programme. C’est par exemple l’objectif du plugin SonarQube™ ecoCode Mobile capable de renifler ces codes smells.