Défi Ville de Repentigny : Amener les citoyens à s'adapter aux canicules, plus sévères en milieu urbain.

Inspiration

*L’une des principales conséquences du changement climatique, ayant un impact direct sur la santé et la qualité de vie des citoyens en milieux urbains est l’augmentation de l’intensité et des fréquences d’apparition des canicules. En effet, elles ont un impact significatif sur la santé de la population à travers des coups de chaleur, des problèmes cardiovasculaires et respiratoires et peuvent même dans le pire des cas engendrer la mort. Ainsi, à travers tout le Québec, de nombreuses activités de surveillance et d’interventions sont mise en place afin d’assurer une meilleure prévention des risques sur la santé ainsi qu’une préparation des dispositifs d’urgence.

Mais tout d’abord, qu’est-ce qu’une canicule ? Au Québec, on considère qu’une canicule a lieu lorsque les températures moyennes maximales et minimales atteignent des valeurs seuils préalablement définies pendant 3 jours consécutifs. Au Canada, la valeur seuil maximale est de 30°c. [1] Cependant cette définition varie suivant les différents pays et ces valeurs seuils ne sont pas clairement défini. Ce manque de clarté dans la définition prouve qu’il y a un manque d’information et de données sur le ressenti des citoyens, qui devrait être le principal facteur d’impact sur la définition puisqu’elle représente un danger pour la population en influant sur le moment où des mesures de préventions doivent être prises pour elle. Il faut savoir que pour caractériser l’impact d’une canicule sur la santé de la population, de nombreuses données sont analysées de manière à voir si leur nombre est plus élevé que la moyenne des 5 années précédentes tels que : le nombre d’hospitalisation, de décès, d’admissions aux urgences, etc... Ces facteurs sont pris en compte sur 3 jours suivant la canicule comme période de latence. [2] C’est ainsi qu’une analyse [3] de l’été 2018, record en quasiment 150 années d’observations météorologiques au sud du Québec, on recense 86 décès associé à la chaleur. Une hausse significative des hospitalisations, des transports en ambulance et des admissions à l’urgence a aussi été observée dans plusieurs régions. Ce qui est intéressant de noter est que les conséquences de la canicule de 2018 sur la mortalité sont cependant plus faibles que celles enregistrées au cours de juillet 2010, qui a en moyenne causé 33% de décès supplémentaires qu’en 2018 [4] Ainsi, entre 2010 et 2018, c’est en 2010 où les impacts sur la santé ont été les plus importants, alors que la canicule était techniquement beaucoup plus "faible". Comment cela s’explique-t-il ? Tout simplement par l’augmentation des moyens de prévention, et des ressources mise à la disposition des citoyens entre 2010 et 2018 (augmentation des interventions préventives auprès des groupes à risque élevé (hôpitaux, résidences pour personnes âgées, sans-abri, quartiers à haut risque, développement de sources d’hydratation sur la voie publique) Dans une société où le réchauffement climatique et les actions nécessaires pour lutter contre sont devenu le cœur de nombreux débats, il parait évident que la fréquence et l’intensité des canicules n’ira pas en diminuant, tout du moins par pour les prochaines années. On se rend ainsi bien compte de la nécessité de développer des nouveaux outils, tant de prévention que de protection, afin de permettre une meilleure qualité de vie aux citoyens, notamment en milieu urbain qui subissent une chaleur généralement plus importante qu’ailleurs dû aux nombreuses infrastructures conservant cette chaleur en leurs seins. C’est en ce sens que s’inscrit notre projet. * L’équipe d’Othera.

  1. Lebel G, Dubé M, Bustinza R. (2019) Surveillance des impacts des vagues de chaleur extrême sur la santé au Québec à l’été 2018, INSPQ.

  2. Lebel G, Bustinza R, Dubé M (2019) Analyse des impacts des vagues régionales de chaleur extrême sur la santé au Québec de 2010 à 2015, INSPQ, 2017.

  3. ministère de l’Environnement et de la Lutte contre les changements climatiques Québec : Gouvernement du Québec ; 2019. Septembre 2018 : l’été le plus chaud en 146 ans d’observations au sud du Québec se confirme.

  4. Bustinza et al.: Health impacts of the July 2010 heat wave in Québec, Canada. BMC Public Health 2013 13:56.

Qu'est ce que Othera ?

https://othera/griselaugust.in

Othera est une application web citoyenne et communautaire développée afin d’aider les citoyens en milieu urbain à pouvoir se déplacer de façon sécuritaire lors des périodes de fortes chaleurs et de canicule. L’objectif est de pouvoir fournir un trajet à l’utilisateur avec comme premier facteur d’optimisation la chaleur ressentie par celui-ci, et non pas le temps de trajet. Elle se présente sous forme d’une map 2D, permettant de calculer le trajet et de proposer un itinéraire à l’utilisateur en fonction de sa position ou d’un point sélectionné sur la carte. Cependant, l’utilisateur peut optimiser son trajet en fonction de facteurs tels que le passage par des fontaines à eaux pour pouvoir s’hydrater, des points, zones ou jeux aquatiques disponibles dans les environs, ou encore de l’ombre fourni par les arbres sur le trajet. Ainsi, Othera propose un chemin alternatif à un trajet de 20 minutes (le plus rapide) qui passe par des zones entourées d’infrastructures urbaines, un chemin de 30 minutes permettant d’optimiser son temps à l’ombre, par des zones plus fraîches, des zones d’activité aquatique (piscines, parc pour enfant avec fontaine, pataugeoires…) ou encore passant par des fontaines à eaux (horaires d’ouvertures indiquées ainsi que des petites précision pour les trouver). Chacun de ces paramètres et sa volonté d’être prise en compte par l’application peuvent être sélectionné et désélectionné au choix par l’utilisateur. De plus, une personne pourra indiquer aux autres utilisateurs lorsqu’il se trouve dans un endroit où la chaleur est intense (exemple d’une grande place, pleinement ensoleillée entourée de building) que cet endroit est à éviter pour le moment en posant un petit thermomètre sur cette espace visible par les autres utilisateurs. Ainsi, toutes les autres personnes utilisant l’application pourront obtenir cette information et éviter un déplacement inutile jusque là-bas, ou le contourner. Cette indication restera active jusqu’à 2 heures après la dernière notification. Un contrôle en accord avec des application météorologique pourra être ajouté dans une version finale du projet afin d’éviter toute forme d’abus de la part de certains utilisateurs. Cela complètera le fait que Othera indique déjà sur la carte, en période de canicule, les lieux ou la chaleur est probablement très intense et qui sont à éviter, basé sur les données des canicules précédentes. Une autre fonctionnalité de l’application qui sera développé dans le futur sera de pouvoir optimiser les trajets en transport en commun afin d’atteindre le premier métro/bus le plus rapidement, même si cela n’est pas le plus optimum en temps de trajet. En effet, avec un trajet total de 40 minutes impliquant 15 minutes de marche à pied pour rejoindre sa station, l’application proposera une alternative permettant un temps de marche uniquement de 5 minutes pour atteindre un transport en commun (ou un système climatisé sera sûrement présent) même si cela impose que la durée du trajet total passe de 40 à 50 minutes à cause de correspondance. Cela se base sur le principe que dans certains cas, les citoyens préfèreraient attendre 15 ou 20 min dans une bouche de métro climatisé ou être dans un bus, que de marcher 10 minutes en plein soleil et prendre un risque pour leur santé. Nous envisageons également un partage des données de l’application avec les services de données publiques afin d’aider à définir le terme de « forte chaleur » basé sur le ressenti de la population, permettant ainsi aux services publics de déclarer une période de forte chaleur lorsque beaucoup de personnes utilisent l’application et non lorsqu’un certain seuil de chaleur choisi arbitrairement est dépassé. En effet, ils nous semblent essentiel et logique que cette définition reflète le ressenti des citoyens, afin de les prévenir au mieux pour leur santé et leur sécurité. Dans la mesure ou le thème de ce HackQC22 est la transition écologique, ils nous semblaient également important de pouvoir agir sur le réchauffement climatique afin de limiter ces vagues de chaleurs, et pas uniquement d’aider les citoyens à les surmonter. Ainsi, nous avons développé cette partie à travers des notifications un peu plus ludique, permettant d’afficher des messages de rappel écologiques élémentaires, mais qui sont encore de nos jours si importants à rappeler, ainsi que quelques messages de préventions. La logique est simple, lorsqu’une personne utilise l’application, c’est qu’une vague de chaleur est présente. Il y a de forte probabilité pour que l’utilisateur face usage d’une bouteille en plastique lors d’une vague de chaleur par exemple. Ainsi un petit message ludique tel que « Pensez à recycler votre bouteille en plastique, si vous ne souhaitez pas avoir encore plus chaud l’année prochaine ! » permet de faire un rappel à l’utilisateur sur l’importance du recyclage pour l’écologie, mais également de l’impact direct que celui a sur lui, en lui permettant de prendre conscience du lien entre nos actions et la situation qu’il vit actuellement.

Comment nous avons réalisé notre projet

Afin de réaliser Othera, nous avons utilisé divers outils pour allier la puissance d’un backend efficace et rapide avec un frontend esthétique et ergonomique. En effet, Othera est une web application qui utilise :

  • Docker nous permet de développer en containerisation notre application est ainsi de la partager au plus grand nombre. De plus, si des personnes souhaitent dans le futur contribuer sur le repository, l’installation de l’application reste simplifiée et disponible sur plusieurs OS.

  • Symfony est un framework PHP qui fait tourner notre backend. Nous avons choisi Symfony car nous sommes plus à l’aise pour sa mise en place. De plus, PHP est l’un des langages les plus rapides pour interpréter le code d’une application sur un serveur. Et Symfony est un projet open source dont plus de 2600 contributeurs ont participé sur le projet. Nous avons pris la version 6.1 du projet, qui est la version stable la plus récente actuelle. Enfin, Symfony propose divers bundle et package intégré facilitant le développement entre le frontend et le backend.

  • apache2 écoute les requêtes HTTP arrivant sur le serveur, apache2 venait avec l’image docker de PHP que nous utilisons

  • MySQL héberge les données générées par les utilisateurs via notre application sur une base de données.

  • Webpack Encore qui est une surcouche à Webpack apporté par Symfony. Webpack Encore permet de compiler nos styles et nos scripts tout en optimisant les codes générés via de l'obfuscation et de la minification des sources produites. Enfin ces codes sont traduits afin de supporter le plus de navigateurs possibles.

  • Javascript est la technologie permettant d’ajouter un comportement dynamique des pages web par excellence. Nous avons fait le choix d’utiliser uniquement Javascript sans Framework tels que VueJS ou Angular, qui sont des framework très lourds en octet.

  • Tailwind CSS est un framework CSS qui a su s’imposer sur le marché en un temps record grâce au fait qu’il soit très facile d’utilisation et la possibilité de produire un design d’application très esthétique. Grâce à sa compilation JIT (Just-In-Time), les fichiers CSS produits en sortie n’incluent qu’uniquement les classes CSS présentes dans nos fichiers.

  • Twig qui est le format de rendu des pages web côté serveur interprété par Symfony en PHP nous offre la possibilité d’ajouter des valeurs en PHP dans nos pages qui seront ensuite rendu et mise en cache au format HTML.

  • OpenStreetMap est un ensemble de tuiles utilisées pour générer la carte du monde. Cela nous permet d’afficher la carte du monde et des villes telles que Montréal ou Repentigny à diverses échelles.

  • Geoapify est une API nous permettant de chercher des adresses en fonction de l’entrée utilisateurs, de leur côté il emploie les adresses fournies par OpenStreetMap

  • GraphHopper est une API nous permettant de générer des trajets pédestres entre deux points préalablement choisis par l’utilisateur.

Les challenges auxquels nous avons dû faire face

L’idée de base de notre application devait prendre en compte l’ombrage des arbres à afficher sur la carte. Ce jeu de données nous avait sauté aux yeux comme une évidence. Malheureusement, leur format de données était trop compliqué à intégrer sur notre application et surtout trop lourd. Nous avons dû trouver une autre façon de faire; c’est pourquoi nous sommes partie sur le jeu de données avec les îlots de chaleur. D'un point de vue humain, le plus gros challenge a été de pouvoir combiner ce hackaton avec l'ensemble de nos horaires (Doctorant à temps pleins, Data scientist en entreprises, et barmaids dans une microbrasserie). Avancer ensemble sur un projet avec des horaires si différentes n'a pas été évident, mais nous a permis d'apprendre à nous organiser.

Les accomplissements dont nous sommes fier

Nous avons participé à notre devoir de citoyen, à notre échelle, afin de proposer une application en lien avec la transition écologique. Et en tant que développeurs et contributeurs nous sommes fiers de dire que nous avons participé à cet évènement.

Nous avons réussi à développer une application avec une carte intéractive sans utiliser l’API de Google Maps, entreprise du GAFAM. Les challenges ont été divers et variés afin d’intégrer les données d’OpenStreetMap dans notre application. Mais grâce au package javascript Leaflet, cela a été possible. Il existe des alternatives Open Source aux grands groupes exploitant nos données si l’on est près à se pencher dans des documentations obscures et itérant sur le développement en mode essaie/erreur.

Ce que nous avons appris

D’un point de technologique, nous avons appris à utiliser les packages leaflet pour générer l’affiche d'une carte et employer au mieux ses fonctionnalités afin de la rendre la plus dynamique possible et ergonomique pour l’utilisateur. De plus, nous avons appris qu’il existe des alternatives Open Sources à des API tel que Google Map. Mise à part la partie programmation, nous avons vu ce que cela représentait de se lancer dans un projet entièrement de 0, avec toute son énergie (en plus de nos jobs pour tous les membres de l’équipe), et d’essayer de donner le meilleur de soi-même sur une courte période. Nous en avons également appris plus sur le travail d’équipe, et surtout sur l’importance de la répartition des tâches. Je pense que tout le monde devrait essayer au moins une fois dans sa vie de se dépasser sur une courte période pour atteindre un objectif tel que celui du hackQC22. C’était une super expérience humaine et cela apporte un sentiment de satisfaction : être fier d’avoir tout donné ! Et c’est exactement ce que nous avons fait à Othera !

La suite pour Othera ?

Dans un futur proche, nous allons incorporer les zones de chaleur afin de donner un indicateur supplémentaire à l’utilisateur des zones à éviter lorsqu’il est piéton et que de fortes chaleurs pointent le bout de leur nez. De plus, nous allons ajouter des marqueurs supplémentaires sur la map recensant d’autres dispositifs utiles lors de canicule tels que des jeux d’eau. Enfin, nous comptons ajouter des phrases incitant les utilisateurs à adopter les bons gestes écologiques de tous les jours pour prévenir l’augmentation de la température dans plusieurs décennies : à notre échelle nous pouvons tous agir, même s’il s’agit de petites choses.

Dans un futur plus lointain, nous aurions souhaité ajouter le système d’ombrage procuré par les arbres sur la carte et pouvoir calculer un itinéraire optimisé pour éviter les zones de forte chaleur. Puis, nous proposons actuellement que des trajets à pied, il aurait été sympa de proposer des trajets mélangeant transport en commun et pédestre. Enfin, les trajets sont actuellement précisés mais il n’y a de suivi en temps réel de la personne ni de géolocalisation, à l’avenir cela devrait être mis en place afin de rendre l’application plus ergonomique.

Built With

Share this project:

Updates