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:

  1. 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
Processus de mise Ă  jour des donnĂ©es lors de l’ajout d’une adresse
  1. 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.
Les donnĂ©es sont mises Ă  jour lorsqu’une modification est notifiĂ©e
  1. 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.
L’utilisateur·trice est notifiĂ© 24 h avant une coupure de courant

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.