 Donc, on vient de vous parler d'un projet qu'on a fait lors d'un hackathon qui s'est visité stationnement pour vélo à Montréal. Donc, c'était le 19 octobre, tu peux changer. Le hackathon Montréal, c'était un hackathon d'une journée, le premier hackathon montréalais sur la durabilité urbaine. S'il y avait lors du hackathon, il y a eu deux projets de cartes alimentaires, des applications pour encourager le compostage, une application pour localiser les points de baignade le long du fleuve et également le défi qui nous a été lancé, que, Mathieu, vous vous présentez. Donc, le défi, en fait, il y a ce vie qui est dans la coalition vélo Montréal qui voulait en fait savoir où il y avait du stationnement pour vélo à Montréal et aussi pouvoir faire pression près des politiciens pour avoir plus de stationnement pour les vélo à Montréal. Donc, en fait, il voulait une application qui permet aux gens de dire exactement où il voulait du stationnement et pourquoi. Donc, en fait, les participants, donc, il y avait ce vie qui était l'idéatard et le gars qui s'occupait des relations publiques. Donc, en fait, il y avait des médias qui étaient présents, il y avait des politiciens qui sont passés. Donc, ce vie s'est occupé de parler avec eux. Il y avait François Sprovancher qui a fait, qui nous a aidé avec le graphisme et la modélisation des données. Guillaume Prat, qui s'est occupé de la programmation et du front-end des données géographiques, vu que Guillaume avait déjà une expertise avec OpenStreetMap. Et moi, je suis arrivé et j'ai fait la programmation, le back-end, j'ai aussi graffé MongoDB à la solution. Donc, en fait, quand on est arrivé, ni Mathieu ni moi, on avait idée de ce qu'on allait faire. Mais je me suis intéressé à ce projet-là. Puis quand j'ai vu Mathieu arrive, je lui ai dit « Mathieu, viens tard, j'ai besoin de toi ». Et ça a donné un super bon résultat qu'on va vous montrer tout de suite si tu peux me driver la démonstration, Mathieu. Donc, ce que vous allez voir, vous pouvez y aller. C'est live sur ce site-là, véloMTL.arac.org. S'agir encore d'une application, vous voudrez peut-être mettre un petit logo beta comme certains sites font. Mais elle est entièrement fonctionnelle. Donc, le fond de la carte que vous voyez, c'est l'OpenCycleMap. C'est un projet qui réalise à partir de la carte libre OpenStreetMap, qui réalise un fond de carte. Donc, les lignes bleues qu'on voit, ce sont les pistes cyclables et les points qu'on voit, ce sont les stationnements de vélo. Il y a certains points qui viennent des données d'OpenStreetMap directement et d'autres points qui viennent de la Ville de Montréal. En fait, les points en bleu viennent des données d'OpenStreetMap. On peut le voir si, par exemple, on décoche les données de la Ville de Montréal. On voit que les points vert disparaissent. Donc, c'est une carte qui est éditable. Si on clique, par exemple, sur une des icônes bleues, on peut cliquer sur Édite Décentuée et ça vous nous amène à une page d'OpenStreetMap qui nous demandera probablement de se connecter. Et on peut modifier directement le point. Par exemple, ici, on voit que ce point-là a une capacité de 10. Et donc, si vous connaissez la capacité de stationnement d'un stationnement de vélo, en particulier, vous pouvez venir l'éditer directement sur la carte. Si on regarde au niveau un petit peu de l'implant A, d'autres choses aussi que j'oublie. Il y avait deux objectifs. Donc, comme on disait pour cette carte, montrer les stationnements de vélo, mais également permettre aux gens aussi de rapporter les points de vélo, où est-ce qu'il y a en manque à Montréal, de pouvoir dire à la Ville où est-ce qu'on aimerait avoir des stationnements de vélo. Donc, si on clique sur un point précis sur la carte, on peut remplir un formulaire. Et nous, on va accumuler ces données-là et, éventuellement, les envoyer à la Ville de Montréal. On peut voir les demandes qui sont faites également en ayant cliqué ici dans les layers. Et on a construit un heat map qui nous permet de voir les demandes actuelles. Donc, tout ça, une journée, ça a été une journée extrêmement intense, très profitable, très intéressante. Un petit détail intéressant que je voudrais vous montrer. Si, Mathieu, tu peux monter l'éditeur de code qu'on puisse regarder. Donc, les données d'open street map, techniquement, il va falloir ajuster. Il y a, à la ligne 17, on voit une requête, on voit une adresse URL HTTP qui est faite à un savoir qui s'appelle overpassepi.de. Et on voit qu'il y a une requête dans certains langages. C'est marqué amenity-bicycle-parking. C'est une URL qui va nous permettre d'aller chercher directement de la base de données d'open street map, les données en format JSON, et après ça, de pouvoir les afficher directement sur la carte. Donc, si on regarde sur le site web, sur le retour navigateur, on a cet API-là. Il existe également une interface web qui permet de lancer, de construire des requêtes interactives puis des exécutés. Donc, par exemple, la requête qu'on utilise pour le site web, si on fait run, on va voir que ça va faire la requête et ça va nous générer des points. Puis, ce sont les mêmes points qui sont affichés sur notre carte. Puis, on pourrait changer, par exemple, Mathieu, si tu changes bicycle-parking dans le requête à gauche pour café, on va voir, plutôt que d'avoir une carte des stationnements de vélo, on aurait la carte, ça serait café comme en français. Donc, c'est voici la densité des cafés qu'on a à Montréal. On a quand même plusieurs sur les avenues commerciales passantes. Donc, voilà, si on revient à notre présentation, pour faire un sommaire de ce qu'on vient de dire, au niveau de l'architecture, on voit que, au niveau du front-end, on peut y aller rapidement. On utilise l'IFLET, qui est une librairie JavaScript qui est spécialisée à ça. Ça sert à afficher des cartes. C'est très convivial. Il y a certains plugins aussi qu'on va utiliser pour générer le item app à partir des données ou pouvoir aller faire les requêtes sur la pays Overpassed OpenStreetMap. Et on utilise deux sources de données en plus, qui sont les arceaux à vélo qui proviennent du portail des données ouvertes de la ville de Montréal, ainsi que les bondes de stationnement qui ont été libérées, des données qui ont été libérées spécialement pour la journée du 19 octobre, qu'on prend en format J.O.G. Sun, que j'ai converti en format J.O.G. Sun, puis qu'on va télécharger directement JavaScript et afficher à ce moment-là à travers l'IFLET. Au niveau du backend, ça reste super simple. En fait, j'ai arrivé et puis on avait eu l'idée d'utiliser les Google Fusion Table. L'API de Google Fusion Table, la manipulée en Python, c'est horrible. Ça utilise OAT2. C'est avec l'interaction du client, il faut obtenir l'API qui est juste accessible pendant un certain temps. C'est la grosse merde. Donc en fait, on a décidé de reculer, de ne pas utiliser Google Fusion Table. Et d'utiliser MongoDB. MongoDB, en fait, il fait vraiment la job pour ce type de données-là, parce qu'en fait, ça reste des données plus... Donc en fait, on fait juste sauvegarder plein de petites données et puis on n'a pas vraiment un schéma, on n'a pas besoin de refaire de requêtes complexes. Au-dessus de ça, on a utilisé Bottle pour faire un REST API au-dessus de ça et faire le rendering des vues qui nous permettent d'afficher le fichier HTML de base qui fait appel au JavaScript. Donc en fait, le code Bottle fait juste deux ou trois vues, je pense, en fait, une vue pour afficher la page principale qui fait le render d'un fichier HTML. Et une autre vue qui va faire des requêtes pour Post. En fait, qui reçoit des requêtes Post pour sauvegarder les coordonnées géographiques qu'on se soumet par l'application lorsqu'on clique ici sur le bouton OK. Ça, c'est sauvegarder dans une BD Mongo qu'on a hostée chez Mongo Lab. Donc en fait, c'est une BD gratuite Mongo qui est hostée chez eux. Je pense que c'est gratuit, on ne fait pas plus que 500 mètres de données. Donc ça reste... Avant qu'on arrive à 500 mètres avec ce projet-là, je pense que ça va prendre du temps, en fait. On a 50 de demandes présentement et ça fait... On a une cinquantaine de demandes présentement. Ça fait 46 kiloketés dans la base de données. Ça fait 40, on atteigne 500 mètres. Ça va prendre vraiment du temps. Je veux tu m'en ridier quelques exemples de cas du backend. Je ne sais même pas si ça vaut la peine tellement c'est simple, en fait. Ça vaut la peine de dire que c'est simple, en fait. Part d'ici, en fait, on a les vues Bottle qui sont avec les décorateurs de Bottle ici, qu'on importe route, static file, post et requêtes et response. Donc la vue principale, c'est index qui fait juste retourner un static file qui est affiché HTML de base. On a le five icon qui est affiché ici. Les requêtes ici pour la soumission du formulaire, c'est ici. Et puis obtenir... Donc, en fait, c'est un post sur la vue submit. Et donc tout ce qu'on fait, c'est retirer les informations du formulaire et les envoyer ici avec DB, qui est la référence à notre handler MongoDB. Et on fait juste un insert du clenard directement dans MongoDB. Et puis, lorsqu'on veut afficher le Itemap, on va chercher toutes les requêtes dans notre BD Mongo. On va faire un find sans paramètres spécifiques. Et on va juste chercher la longitude et la tititude de chacun. Et on retourne tout ça en JSON, tout simplement. Le JavaScript va juste consommer tout ça après. Je pourrais peut-être montrer la portion d'une requête. En fait, c'est aussi simple. On fait une requête. Et puis sur nos données, on a un layer ici, un layer leaflet, qui est un Itemap. Où est-ce qu'on définit un dégradé de couleur, l'opacité, le rayon de chaque boule, chaque rang. Et puis, on fait un get sur Request. Et avec les données, on prend carrément les données qui viennent du backend, et on les met directement dans le layer. Fait que c'est vraiment bimaliste, mais ça fait, ça fonctionne à merveille. On a besoin de vous, parce qu'en fait, ça reste plutôt rough, tout ça. Ça reste vraiment super simple. Donc le 28 novembre, Montréal-Piton fait une soirée de projets chez Caravan. Donc si jamais c'est optant de nous donner un coup de main, il y a vraiment plein de trucs qu'on voudrait faire. On voudrait optimiser le rendu de la carte avec, pour les plateformes mobiles, parce qu'actuellement, ça ne marche juste pas sur une plateforme mobile. On voudrait rendre le site plus responsive avec, on prend un moment d'implémentant tout le bootstrap, ajouter un panneau d'information à gauche, parce qu'actuellement, il y a aucune information. Et puis peut-être jouer avec des outils SIG, pour être capable d'extraire, par exemple, où sont les points critiques où les gens demandent le plus de stationnement pour les vélos à Montréal, pour le stationnement de Montréal, en fait. Donc le 28 novembre, venez nous voir, puis on va être vraiment contents d'avoir de l'aide de vous. Donc pour la suite des choses, en fait, cette semaine, jeudi, il va y avoir l'annonce des résultats. Le ECOAC, c'est également un concours. Il y a de l'argent qui est en jeu un petit peu. Il y a un site web sur lequel vous pouvez voter. Si vous cherchez ECOAC Montréal, vous pouvez voter pour vos projets préférés. Vous pouvez voter pour plus d'un projet. Donc jeudi l'annonce des résultats. Ensuite, le groupe OpenStreetMap Montréal va présenter des conférences. Une soirée conférence le 19 novembre à l'ambassade Bitcoin sur le boulevard Saint-Laurent. Et puis je vais pousser un peu plus loin la présentation ici. On va parler plus du Pass EPI entre autres, puis plus du fonctionnement également de l'IFLET. Donc si vous voulez en savoir plus sur les technologies qui ont été utilisées pour construire cette carte-là, je vous invite à vous aborder le 9 novembre. Et également, le 5 décembre avec David, je vais animer en fait, c'est un atelier conjoint entre Montréal-Piton et OpenStreetMap Montréal. Et ça va être un atelier sur la manipulation des données d'OpenStreetMap. Le 5 décembre, vous pouvez surveiller la liste de Montréal-Piton pour voir les détails. Pour en savoir plus, si vous voulez aller voir le code, tout est là. Vous pouvez aller sur www.mtl.arac.org et aller voter pour des endroits où vous voudriez plus de vélos en Montréal. Il y a un nouveau maire qui a été élu, peut-être qui va peut-être nous écouter. Et sinon, la soirée de projet, le jeudi 21 novembre, à 19h00, chez Caravan, le blog post va partir sur Montréal-Piton à 10p. Et voilà.