29 novembre 2011

Tragicace - Un mashup d'OpenData

Dans le cadre du Hackathon qui s'est tenu le 12 novembre dernier, @SimonMercier, @RooSoft, @jipiboily et moi même (@MartinOuellet) avons développé Tragicace.

Tragicace = 2 objectifs bien précis:
  1. Indiquer aux citoyens la présence (ou non) de travaux le long d'un itinéraire routier (entre A et B par exemple)
  2. En présence d'un chantier, il devait aussi proposer un parcours alternatif évitant ainsi lesdits travaux.

Comment ça fonctionne:
1- La liste des travaux (fournie par la Ville de Québec) a été géoréférencée (association d'une coordonnée pour chacun), stockée dans une base de données (PostGIS) et affichée sur un fond cartographique (Google Maps).

2- Après avoir récupéré les adresses de départ et d'arrivée (saisies par l'usager dans l'interface Web), le système effectue un appel au service Web de Google pour générer un parcours routier (ensemble de coordonnées formant une ligne) entre ces deux points

C'est à ce moment que ça devient vraiment intéressant:
3- Le tracé retourné par le service de Google (point #2) est décodé et converti dans un format plus compréhensible par un humain soit le WKT.

4- Cette ligne en format WKT est ensuite utilisée dans une requête SQL spatiale pour identifier si elle croise des travaux routiers (point #1)

5- Si la requête ne retourne aucun résultat, la madame est contente car elle peut se rendre à destination sans avoir à traverser un chantier et c'est ici que l'histoire se termine pour elle.

6- Par contre, si la requête retourne un ou plusieurs enregistrements, on doit trouver un parcours alternatif.

7- C'est à ce moment que AQRéseau fait son entrée dans l'équation. AQRéseau est un produit qui fournit les données officielles sur la localisation des routes (couverture de lignes), la toponymie et la classification routière de tout le Québec et ce, de façon gratuite.

8- Tout comme les travaux, nous avons donc procédé au chargement de ce jeu de données dans notre base de données spatiale (PostGIS)

9- À partir de la coordonnée du point du chantier à contourner (point #6), nous avons identifié des rues localisées autour de ce point à l'intérieur d'un certain rayon. De cette façon, nous avons obtenu une liste de rues potentielles pour éventuellement éviter le chantier.

10- Le service Web de Google nous permet d'ajouter, dans les paramètres d'appel, le nom d'une rue à utiliser pour générer des itinéraires. Ce nouveau paramètre (waypoints) retourne un nouveau tracé dans lequel le passage sur la rue en question a été forcé.

11- Cet exercice (point #10) est donc effectué en boucle (sur toutes les rues avoisinantes) jusqu'au moment ou l'utilisation d'une rue n'engendre plus d'intersection avec des travaux routiers.

http://tragicace.com/

Pas parfait:
Certains diront, avec raison d'ailleurs, que le parcours alternatif proposé par Tragicace n'est pas nécessairement le meilleur (le plus court ou le plus efficace). Il ne faut pas oublier que l'objectif premier du Hackathon était de démontrer le potentiel des données ouvertes. Dans cette optique, je considère que Tragicace en est un très bel exemple car il intègre au sein d'une même application des données provenant de deux paliers de gouvernement (municipal et provincial). Autre fait à ne pas négliger, Tragicace a été développé en quelques heures seulement par 4 personnes.

Bravo à ces organismes qui ouvrent progressivement l'accès à leurs données et merci à mes chums "geeks" avec qui j'ai passé une excellente journée le 12 novembre dernier!

Pour en savoir davantage sur les données ouvertes et le Hackathon:

22 septembre 2011

Top 10 coolest softwares discovered at FOSS4G

1) TileMill
  • Web platform for creating beautiful maps (from shapefile or PostGIS data) with a css-like online editor. It's also a tiling application (using Mapnik). 
2) GeoCat Bridge
  • This ArcGIS extension can easily publish metadata from a list of layers in the TOC into GeoNetwork BUT ALSO publish the data themselves to your WMS server (in the beta version) and keep the symbology (convert into a SLD for GeoServer or a mapfile for MapServer). 
3) Mapnik
  • Powerfull C++ library for creating beautiful maps (Desktop or Web). 
4) CartoDB
  • Online geospatial database with PostGIS in the backend (inspired from Google Fusion but OS). 
5) Node.js
  • Very powerfull javascript program to build scalable applications on server-side.
6) JQueryGeo
  • jQuery plugin that encapsulate a bunch of geolocation functionality into 6 APIs.
7) Polymaps and ModestMap
  • Two lightweight javascript libraries for displaying interactive maps on the Web.
8) CartoSet
  • Customizable geoportal solution that allows creation of nice looking maps and to publish them easily on the Web.
9) Stado
  • Very new product that enable powerfull and massively parellel processing (MPP) architecture with Postgresql and PostGIS. Seem really promising...
10) MapQuery
  • Another jQuery plug-in using OpenLayers library. 

15 septembre 2011

Openlayers Mobile (FOSS4G 2011)

Notes "en vrac" et presque "live" suite à la présentation portant sur Openlayers Mobile (FOSS4G 2011)

  • Présentateur: Tim Shaub et Éric Lemoine
  • Openlayers 2.0 sortie en 2005 (javascript non supporté à l'époque sur les appareils mobiles)
  • L'idée d'une version OpenLayers mobile provient du Code sprint à Lausanne
  • Sortie officielle de OpenLayers 2.11 la semaine dernière
  • Les événements de type "touch navigation" sont maintenant supporté:
    • pinch, pinch zoom, drag, sélection de feature, kinetic dragging
  • Les outils d'édition sont aussi implantés
  • OpenLayers n'offre pas beaucoup de "widgets" donc l'interface utilisateur doit être combiné avec d'autres frameworks tels que jQuery ou Sencha (extjs)
  • Le développement pour appareil mobile est TRÈS complexe:
    • petit écran, prolifération d'appareils (Android)
  • Il est difficile d'obtenir de la performance à cause des composantes physiques des appareils (cpu et mémoire limitée)
  • À venir:
    • meilleure documentation
    • gestion plus intelligente des projections
    • navigation plus fluide (expérience utilisateur)
    • fenêtre de type "popup" plus soignée
    • Améliorer et rendre plus simple la procédure pour "builder" les libraries d'OpenLayers en fonction de nos besoins afin de réduire la taille du fichier.

9 septembre 2011

I'm going to Disneyworld!

Plus que quelques jours avant mon départ pour Denver afin d'assister au Colloque "Free and Open Source Software For Geospatial (FOSS4G)" qui s'annonce pour être "Le Show" géospatial cette année. Je suis aussi excité que Patrick Roy en 1993 à l'approche de la finale de la coupe Stanley ou bien Tom Brady en 2002 avant sa participation au SuperBowl.  La liste impressionnante des commanditaires pour l'édition 2011 confirme la pertinence d'un tel événement et met en lumière tout le sérieux que les grands acteurs commerciaux de l'industrie accordent maintenant aux technologies OpenSource.

Denver, au coeur d'un pôle géospatial.
L'industrie géospatiale semble très active et prolifique dans la région nordique du Colorado. Le groupe de travail collaboratif "Rocky Mountain Geospatial Cluster", qui surveille la vitalité des compagnies et l'expertise oeuvrant dans le domaine vont jusqu'à utiliser le slogan suivant: “We’re not Silicon Valley, we’re the GIS Alley!

Pourquoi autant d'engouement pour cet événement
  • Le contenu des présentations rejoint la quasi totalité des solutions géopatiales OpenSource qui existent présentement ;
  • Les développeurs et architectes seront présents pour nous parler de l'état actuel de leur produit/logiciel/solution mais aussi des nouveautés à venir (ex: PostGIS 2.0 et OpenLayers mobile) ;
  • Organisé par des geo-geeks pour des geo-geeks ; 
  • Pour faire le plein de nouvelles idées/approches de développement ;
  • C'est l'endroit idéal pour bonifier/entretenir le réseau de contacts (élément primordial pour du développement basé sur des techno. OpenSource) ;
  • N'implique que des passionnés (conférenciers et participants), aucun vendeur blasé. 
Mon horaire de la semaine
Lundi AM - Workshop sur GeoNetwork ;
Lundi PM - Workshop avec OpenLayers ;
Lundi soir - Repos - Monday night football in Denver...Go Broncos Go!
Mardi AM - Workshop sur MapNik ;
Mardi PM - Workshop sur NodeJS et Polymaps ;

Mercredi au Vendredi - PostGIS (optimisation et nouveautés 2.0), WMS Shootout, Web Processing Service (WPS), OpenLayers mobile et sûrement bien d'autres trucs ou nouveautés dont j'ignore encore l'existence...

Vendredi - Repos - Match de baseball...Go Rockies Go!

En direct sur la toile
Pour ceux qui désirent en savoir un peu plus, je vous invite à me suivre tout au long de la semaine sur Twitter(@MartinOuellet) ainsi que sur mon blog car j'essaierai d'être très actif durant l'événement.

Prépare toi Mickey, j'arrive!

16 avril 2011

Foursquare day 2011 - QC

Je vous apprends sûrement qu'aujourd'hui, 16 avril 2011, c'est la journée mondiale du réseau social Foursquare© (4sqday). Pourquoi aujourd'hui?
  • 4 au carré (4square) = 16 
  • Avril = 4e mois de l'année 


À Québec, le 4sqday se déroule au Café le Nektar. Ce dernier est l'un des commerces le plus actifs à Québec en intégrant Foursquare© dans son programme de fidélisation de la clientèle. Je vous écris ces quelques lignes en direct de l'endroit, car je suis venu faire un tour (en espion avec ma fille) pour voir combien de personnes se sont spécialement déplacées pour venir souligner l'événement. Je compte entre 6 et 10 personnes (dont @NicolasRoberge et @dezjeff). Avec 22 000 nouveaux utilisateurs chaque jour (pour un total anticipé d'environ 10 millions en juillet 2011), je m'attendais à plus de monde.

Foursquare©, comparativement à Facebook© et Twitter©, est extrêmement dépendant de la mobilité. Les gens sont invités à partager leur expérience (« check-in », « tips») en temps réel et non pas de retour chez eux, les deux pieds sur le pouf. La position de force des différents fournisseurs en téléphonie mobile au Canada n'aide en rien en nous proposant des forfaits parmi les plus dispendieux du niveau mondial. De plus, les bénéfices qu'en retirent les participants sont davantage ludiques que réels (pour l'instant). Par contre, je persiste à penser que ce réseau va connaître une explosion dans le futur. Grâce à son assise géolocalisée, Foursquare© devrait éventuellement maturer et passer du simple jeu vers un puissant outil d'aide à la décision (voyage, activité culturelle, conseil gastronomique, analyse démographique et dans bien d'autres domaines encore) sans compter les « apps », les « mashup » ainsi que les « spin-off » qui en découleront.

En attendant, je retire encore un certain plaisir en accumulant les mairies et les « badges », mais ce que j'affectionne particulièrement c'est d'expliquer, à un non-initié, le fonctionnement de Foursquare et surtout les nombreuses possibilités à venir...

MartinOuellet (Foursquare "evangelist")

12 mars 2011

ConFoo Jour 2: Sous le signe de la performance

Ma deuxième journée à ConFoo fût pratiquement dédiée aux "best practices" en matière de développement Web.  Nous n'en connaissons jamais assez à ce sujet et nous oublions trop souvent de les appliquer correctement.  Sachant que 75% des visiteurs ne reviendront jamais sur votre site si la page d'accueil prend plus de 4 secondes à charger (source), mieux vaut s'y attarder.

Alors voici un rappel pour certains ou des trucs à découvrir pour les autres:
  • Les définitions de style (css) devraient toujours se retrouver dans l'entête des pages, de cette façon, le rendu de la page se fait progressivement
  • Lorsque possible (s'il ne comporte pas de document.write par exemple), le code javascript devrait toujours se retrouver à la fin des pages afin de ne pas bloquer le téléchargement simultané des autres éléments (ex: images)
  • Les fureteurs ne peuvent pas télécharger plus de 2 fichiers provenant du même domaine en même temps. Il est donc possible de les déjouer en utilisant des CNAMES différents qui pointent vers le même serveur
  • Les cookies sont choses du passé, regardez plutôt du coté des "client-side storage" du HTML5
  • Réduire le nombre d'appel HTTP-Request en regroupant le code css et js (lorsque possible) et en utilisant davantage les css sprites
  • Très important d'utiliser les outils de "minify" (Closure Compiler, YUI compressor)
  • Favoriser les data URIs 
  • Compresser le contenu (gzip)
  • Retirer les noeuds du DOM qui ne sont plus requis
  • Utiliser le doctype de HTML5 (plus léger et humainement compréhensible)
Faire du "caching":
Utiliser des outils de "monitoring":
Après tout cela, si votre site ne vous offre toujours pas les performances attendues, il vous reste le refactoring...

Excellent article de Yahoo sur le même sujet ici (avec plus de détails en anglais).

9 mars 2011

ConFoo Day 1 - Top 10 links

  1. Nice HTML5 video player: http://videojs.com/
  2. Single URL for everything video: http://vid.ly/
  3. Useless but impressive canvas video blower demo
  4. WebSocket protocol (thinks AJAX on steroids)
  5. Be aware of ClickJacking
  6. Location-based API for your apps: http://www.yellowapi.com/overview
  7. Lots of API to integrate into your apps: http://developer.mashery.com/apis
  8. High quality, cross-platform native application development with Titanium
  9. StatusNet, a flexible, Open Source, "twitter-like" enterprise social software
  10. Complementary libraries for JQuery: Underscore.js and Modernizr
Top tweet of the day (by @muhdiekuh):

OH thats actually a good way to generate a random password: let a windows user try to exit vim

Ready for day 2?

16 février 2011

La communauté "Open" de Québec

Une fois de plus, la communauté TIC de la ville de Québec a prouvé son dynamisme mercredi dernier (16 février) en réunissant plus de 80 personnes dans le magnifique auditoire de l'ENAP pour débattre du mouvement "OpenSource". La brochette impressionnante de commanditaires pour l'événement démontre assez clairement que ce mouvement est pris au sérieux (ou du moins, soulève énormément d'interrogations) dans le milieu des affaires.

OpenGov/OpenData/CloseQuebec

À l'heure actuelle, bien des villes et des gouvernements ont pris position en démocratisant l'accès à leurs données. Les villes de Vancouver, Edmonton, Ottawa et Toronto sont souvent citées en exemple tout comme l'initiative américaine http://www.data.gov/ qui est une réelle priorité pour l'administration Obama. Au Québec, le débat concernant l'accès aux données fait du sur-place depuis de nombreuses années. Nous accusons un retard important sur le reste du Canada et le fossé s'agrandit. Alors que nos données sont bien en sécurité dans des silos, ou bien revendues à d'autres membres de notre grande famille (villes, ministères, partenaires), certaines autorités, ailleurs dans le monde, les rendent disponibles au grand public (dans une version agrégée et anonymisée). Ils ouvrent ainsi la porte grande ouverte pour des produits et applications dérivés à forte valeur ajoutée.

Le Web sémantique

Dommage pour ceux qui n'ont pas encore pris le virage Web 2.0, car vous devrez bientôt accepter que nous soyons maintenant à l'ère du 3.0. Dans cette prochaine "version", le Web sémantique en sera vraisemblablement le fil conducteur. Personnellement, le terme "sémantique" m'a toujours effrayé. Par ignorance, je laissais aux autres le soin d'utiliser ce terme conceptuel et flou. Après avoir écouté attentivement la (trop courte) présentation de M. François Belleau à l'OpenCamp, ma peur s'est quelque peu estompée. La vulgarisation des concepts de base du Web sémantique dont il a fait usage a rapidement retenu l'attention de l'auditoire.

L'objectif ambitieux du Web sémantique vise à formaliser le contenu du Web afin de faciliter son utilisation par des programmes informatiques. Un formalisme qui permettrait à des MACHINES d'établir des liens à travers un ensemble de termes SANS aucune intervention humaine. Il s'agit d'une forme d'intelligence artificielle que l'on tenterait de greffer au réseau Internet tel qu'il est aujourd'hui. À première vue, ces concepts peuvent s'apparenter davantage à un quatrième épisode de la trilogie "The Matrix" mais sachez qu'il existe déjà des standards (RDF) et des langages (SPARQL) pour permettre ce type de recherches sémantiques.

Actuellement, le projet DBpedia, mené par l'Université de Leipzig en Allemagne, tente de formaliser le contenu de Wikipédia afin d'en faire une version "Web sémantique". Pour ceux qui, comme moi, ont besoin de voir pour mieux comprendre, je vous invite fortement à essayer le moteur de recherche Relfinder. Cet outil simple, et visuellement fort agréable, permet de faire ressortir des relations entre des objets (personnes, endroits, choses, etc.).

Formule gagnante

J'en étais à ma sixième participation à un événement de type "Camp". Je considère toujours que cette formule représente une plateforme exceptionnelle, car elle favorise les échanges ainsi que des débats d'idées, orchestrée par des passionnées de l'industrie. Dans une prochaine édition, il serait fort intéressant d'avoir une représentation plus importante de gestionnaires et de décideurs dans l'auditoire, car ce sont des acteurs importants qui pourront amorcer et endosser un changement de culture.

Bravo et merci aux organisateurs @ysadok @lucvaillancourt @lepatricecaron @francoisbelleau.

Fil Twitter parallèle de l'événement

13 janvier 2011

Sondage pour une formation avancée sur PostGIS?

Ce message s'adresse aux utilisateurs de PostgreSQL/PostGIS désireux d'en apprendre davantage sur ces technologies...

Montréal sera bientôt l'hôte du "Code Sprint 2011" de l'OSGeo (15-18mars). Il s'agit en fait d'un important rassemblement de développeurs/architectes des principaux logiciels "Open Source" soutenus par "The Open Source Geospatial Foundation". Pendant quelques jours, nous compterons sur la présence de plusieurs experts qui profitent de ce genre d'événements pour:
  • effectuer des corrections d'anomalies ;
  • ajouter de nouvelles fonctionnalités ;
  • décider de l'orientation future de leur logiciel.
Parmi ces gens, notons la présence de M. Olivier Courtin de la société Oslandia (France). Cette jeune entreprise est spécialisée en base de données spatiales "Open Source". Lors d'une récente discussion avec M. Courtin, ce dernier m'a confirmé son intérêt et sa disponibilité pour tenir une formation avancée sur PostGIS dans les jours qui précèderont le "code sprint".

Pour en savoir davantage sur la société Oslandia, son co-fondateur, M. Courtin ou sur le contenu proposé pour la formation, veuillez consulter la brochure suivante.

En résumé:
-Contenu: PostgreSQL/PostGIS (avancée)
-Date: 2 jours soit dimanche 13 et lundi 14 mars
-Endroit: Montréal (salle à déterminer)
-Coût: (env. 3200$CAD + salle) / (nb. participants)
-Inscription: 4 à 6 personnes

Dans un premier temps, je dois recueillir le nombre de personnes intéressées. Pour ce faire, veuillez me faire parvenir un courriel rapidement (d'ici lundi prochain le 31 janvier) en me mentionnant votre intérêt.

MartinOuellet (geomartino@gmail.com)