PowerTracker est une solution open data que nous avons crĂ©Ă©e pour suivre et gĂ©rer les coupures de courant au cas oĂč la production dâĂ©lectricitĂ© deviendrait insuffisante dans un avenir proche. Cette solution couvre une large gamme dâutilisateur·trice·s finaux et leurs diffĂ©rents besoins. La premiĂšre Ă©tape du projet a consistĂ© Ă collecter et synchroniser les donnĂ©es de tous les professionnels suisses du rĂ©seau Ă©nergĂ©tique Ă lâaide dâune plateforme web. Ensuite, les utilisateur·trice·s du rĂ©seau Ă©nergĂ©tique suisse (la population suisse) ne pouvant pas compter sur lâutilisation dâune application web, il fallait leur permettre dâaccĂ©der Ă lâinformation sur les coupures de courant programmĂ©es mĂȘme quand il nây a pas dâĂ©lectricitĂ© (et donc pas dâaccĂšs Ă internet). Notre solution: lâapplication mobile PowerTracker.
Pourquoi une application mobile?
DĂšs le dĂ©but du projet, nous savions que lâaccessibilitĂ© de notre solution Ă©tait primordiale. Elle devait ĂȘtre utilisable par toute la population suisse. Nous avons donc immĂ©diatement envisagĂ© de ne pas utiliser dâapplication, mais plutĂŽt la diffusion cellulaire. Cette technologie semblait idĂ©ale: toute personne possĂ©dant un tĂ©lĂ©phone connectĂ© au rĂ©seau de tĂ©lĂ©phonie mobile suisse peut en effet recevoir des alertes sans avoir Ă installer quoi que ce soit. Toutefois, certains inconvĂ©nients nous ont contraints Ă abandonner cette idĂ©e. Pourrions-nous fournir les informations dont les gens ont rĂ©ellement besoin, et non des informations gĂ©nĂ©riques pour lâensemble du pays? Comment pourraient-ils·elles choisir ce qui leur est pertinent? Enfin, comment pourraient-ils·elles retrouver ces informations plus tard, aprĂšs les avoir reçues?
Nous avions besoin dâune solution Ă la fois personnalisable et disponible hors ligne. Nous avons donc commencĂ© Ă travailler sur lâapplication mobile PowerTracker pour les plateformes Android et iOS.âš
Quel est lâobjectif de cette application?
Elle a Ă©tĂ© crĂ©Ă©e avec une seule mission en tĂȘte: informer la population en cas de coupure de courant. Toutes les fonctions que nous allions dĂ©velopper devaient servir cet objectif.
En gardant cet Ă©tat dâesprit durant toute la pĂ©riode de dĂ©veloppement, nous avons rĂ©ussi Ă rester concentrĂ©s sur la plus-value de la solution et Ă Ă©liminer les idĂ©es « sympas, mais pas vraiment utiles ». La solution choisie ne nĂ©cessite pas de mot de passe, elle ne stocke ni nâenvoie aucune donnĂ©e utilisateur privĂ©e ou sensible. Du point de vue de lâutilisateur, elle donne une impression de simplicitĂ© absolue. Lâinstallation est on ne peut plus simple
- Ouvrez lâapplication
- Saisissez votre adresseâš
- Fermez lâapplicationâšâš
Vous pouvez bien sĂ»r sĂ©lectionner et nommer dâautres adresses et une rubrique vous fournit des informations dont vous pourriez avoir besoin pendant les coupures dâĂ©lectricitĂ©, mais il nây a pas grand-chose de plus Ă faire sur lâapplication. Une fois cette dĂ©marche rĂ©alisĂ©e, les utilisateur·trice·s reçoivent une notification lorsque des informations concernant des coupures de courant sont disponibles pour les adresses sĂ©lectionnĂ©es. Ils·elles peuvent ouvrir lâapplication Ă tout moment, mĂȘme hors ligne, et consulter les derniĂšres informations relatives Ă leurs adresses. Un jour avant la coupure de courant, ils·elles recevront Ă©galement un rappel afin de pouvoir sâorganiser en consĂ©quence.
Alors, comment ça marche?
Les technologies sont standards, mais soigneusement sĂ©lectionnĂ©es pour que lâapplication reste lĂ©gĂšre, peu Ă©nergivore (elle ne dĂ©charge pas la batterie lorsquâelle est fermĂ©e) et performante. Elle a Ă©tĂ© pensĂ©e selon le principe « privacy by design » (protection de la vie privĂ©e dĂšs la conception). En rĂ©alitĂ©, nous avons rapidement optĂ© pour une solution qui ne nĂ©cessitait pas dâĂ©changer ou de stocker des donnĂ©es utilisateurs sensibles.
Lâapplication est dĂ©veloppĂ©e sur les frameworks natifs Ă la fois pour Android (sur Kotlin) et iOS (sur Swift). Elle gĂšre principalement trois types dâĂ©vĂ©nements:
- Modifier la liste dâadresses
Lorsque lâutilisateur·trice enregistre ou retire une adresse, lâapplication notifie le backend en transmettant un identifiant unique pour chaque adresse renseignĂ©e. Il est accompagnĂ© dâun jeton unique utilisĂ© pour renvoyer des notifications au tĂ©lĂ©phone. Le backend renvoie les informations actuelles pour les adresses. Ce processus a lieu dans lâapplication et nĂ©cessite une connexion Ă internet

- Actualiser les adresses
Lorsque de nouvelles informations pour une sĂ©rie dâadresses sont disponibles sur le backend, celui-ci envoie une notification push Ă tous les utilisateurs concernĂ©s. Ă ce moment-lĂ , les donnĂ©es de notification ne contiennent pas tous les calendriers mis Ă jour. Elles informent les utilisateurs que quelque chose a changĂ©. En arriĂšre-plan, lâapplication commence alors un processus qui va demander les nouvelles informations au backend. Lâobjectif est que les notifications soient les plus lĂ©gĂšres possibles afin de garantir leur rĂ©ception. La mise Ă jour en elle-mĂȘme, une fois enregistrĂ©e sur le tĂ©lĂ©phone, peut ĂȘtre exĂ©cutĂ©e en arriĂšre-plan autant de fois que nĂ©cessaire en cas de mauvaise connexion.

- Envoyer des notifications
DĂšs que la liste des calendriers est mise Ă jour, soit en modifiant la liste dâadresses (1), soit en recevant une notification de modification (2), lâapplication consulte la liste des coupures de courant associĂ©es aux adresses. Pour chaque coupure, lâaffichage dâune notification est ensuite programmĂ© 24 heures avant la coupure effective. Ces notifications sont planifiĂ©es localement, sur le tĂ©lĂ©phone, et ne nĂ©cessitent pas de connexion internet. Autrement dit, si le tĂ©lĂ©phone Ă©tait en ligne Ă un moment donnĂ©, lâutilisateur·trice recevra une notification un jour avant la coupure, mĂȘme si son tĂ©lĂ©phone est maintenant hors ligne. Il·elle peut aussi ouvrir lâapplication Ă tout moment et consulter les informations actualisĂ©es stockĂ©es localement sans avoir besoin de connexion internet.

Protection de la vie privée dÚs la conception (privacy by design)
Comme indiquĂ© prĂ©cĂ©demment, lâapplication et le processus de synchronisation des donnĂ©es ont Ă©tĂ© conçus afin de protĂ©ger la vie privĂ©e des utilisateur·trice·s. Aucune information sensible nâest requise ni partagĂ©e.
Quelles informations sont envoyées au backend de PowerTracker?
Lâapplication communique seulement deux choses. PremiĂšrement, un identifiant de notification, qui permet Ă lâutilisateur·trice de recevoir des notifications. Ce jeton change rĂ©guliĂšrement et ne peut pas ĂȘtre utilisĂ© pour identifier lâutilisateur·trice.âšDeuxiĂšmement, une liste dâidentifiants uniques qui permet au backend de savoir pour quelles adresses lâutilisateur veut ĂȘtre informĂ©. Ces identifiants ne sont pas directement lisibles.
Quâest-ce qui est stockĂ© localement sur le tĂ©lĂ©phone?âš
Le tĂ©lĂ©phone conserve les adresses, directement lisibles, que lâutilisateur·trice a sĂ©lectionnĂ©es et, avec elles, les informations concernant les coupures de courant reçues du backend. Ces informations, bien que non sensibles (tout le monde est autorisĂ© Ă recevoir des informations sur les coupures de courant pour nâimporte quelle adresse), sont stockĂ©es de maniĂšre chiffrĂ©e sur le tĂ©lĂ©phone.
Lâapplication PowerTracker est une application relativement petite, mais elle rĂ©sume bien nos principes et nos valeurs. Elle est ciblĂ©e, centrĂ©e sur lâutilisateur·trice, respectueuse de la vie privĂ©e et accessible Ă toutes·s. Nous espĂ©rons que vous lâinstallerez, tout en espĂ©rant que vous nâen aurez jamais besoin.