Si vous avez besoin de reformater des données pour les utiliser dans une autre application, pour les situer sur une représentation cartographique ou les transformer en graphique web interactif, certains outils et bibliothèques JavaScript peuvent aider à les traduire dans un format adapté à leur analyse ou à leur publication en ligne. Sharon Machlis, de Computerworld, en a sélectionné six : Cascading Tree Sheets, Data-Driven Documents (D3) et Dataset, présentés dans un précédent article (1ère partie), Leaflet (ci-dessous), Searchable Map Template (à utiliser avec Fusion Tables de Google) et Tabletop.

4 - Leaflet

Bibliothèque légère, quoique solide, pour constituer des cartes interactives destinées à un usage mobile. Elle apporte « toutes les caractéristiques dont les développeurs ont besoin pour produire des cartes en ligne », indique le site web du projet. Toujours selon ce dernier, elle est conçue en gardant à l'esprit trois mots-clés : simplicité, performance, facilité d'emploi.

Avec Leaflet, on peut créer des marqueurs pour les cartes, des polygones et de l'interactivité (prenant en compte les écrans tactiles et les pointeurs), mais son code ne possède pas ses propres données cartographiques. Il faut donc lui ajouter cette couche. Le tutorial du projet suggère d'utiliser celle de la société CloudMade qui a créé et mis Leaflet en Open Source. Cela fonctionne aussi avec d'autres plateformes cartographiques comme MapBox et OpenStreetMap.

Intérêt : Leaflet peut supporter non seulement les marqueurs et les polygones, mais aussi les pop-up, les couches de données par découpage (de type tuiles) et les interactions, avec la molette de zoom de la souris sur les desktops, et avec le zoom multi-touch sur iOS, Windows 8, Android 4.0 et les versions suivantes. Par ailleurs, la bibliothèque ne pèse que 28 Ko.

Inconvénients : Leaflet ne permet pas de tout faire, rappellent ses créateurs. C'est une façon de prévenir qu'on n'y trouvera pas nécessairement des options complexes d'interactions cartographiques. Par exemple, sur le forum Leaflet, plusieurs utilisateurs réclament qu'il soit possible de changer la couleur des marqueurs (pour aller au-delà du simple bleu).

Niveau de compétences : expert.

Exemples : les résultats d'élection publiés sur le Texas Tribune, ou par le Washington Post pour le Sénat en 2012, ou encore des informations sur les remises en état après l'ouragan Sandy, fournies par la radio publique WNYC.

En savoir plus : plusieurs tutoriaux sont disponibles sur le site du projet. Il existe aussi un guide associé à OpenStreetMap. Voir également les informations en français proposées par geotribu.net. 

Cliquer ici pour agrandir l'image.
[[page]]
5 - Searchable Map Template

Cette bibliothèque a été conçue pour fonctionner avec l'application Fusion Tables, de Google, et ajouter des capacités de recherche et de filtrage aux cartes que celle-ci permet de créer.

Intérêt : Fusion Tables est un excellent outil de visualisation de données, facile à utiliser, mais les cartes proposées par défaut n'incluent pas de fonctions de recherche ou de classement. Searchable Map permet de l'en pourvoir, sans devoir tout coder en JavaScript en partant de zéro. Il existe aussi un guide pour ajouter une liste de résultats en mode texte lorsqu'un utilisateur effectue une recherche sur une carte.

Inconvénients : s'appuyer sur l'API Google Maps signifie aussi que l'application peut ne plus fonctionner si Google modifie, limite ou arrête son service.

Niveau de compétences : débutant avancé.

Exemples : carte des écoles publiques de Chicago.

En savoir plus : une découverte pas à pas est proposée sur la page Github du projet. L'assistant FusionTablesLayer de Google aide aussi à générer du code pour faire des recherches dans une carte Fusion Tables.

Recherche d'écoles à Chicago. Cliquer ici pour agrandir l'image.
[[page]]
6 - Tabletop

S'il s'agit d'extraire des données d'un tableur en ligne pour les utiliser sur un site web et que Dataset est un peu surdimensionné pour cela, Tabletop est peut-être le bon outil. Il permet de rendre une feuille de calcul de Google Spreadsheet facilement accessible à travers JavaScript, explique le site du projet. « Sans aucune dépendances », y est-il assuré. Tabletop a été conçu pour la radio WNYC par Balance Media.

Intérêt : les feuilles de calcul réalisées avec le tableur de Google peuvent être aisément mises à jour par plusieurs personnes. Et un simple clic suffira à rafraîchir les données sur le site web. Google prend en charge l'hébergement, l'accès et les questions de sécurité. Il suffit de se concentrer sur la façon de présenter les données. S'il n'apporte pas la robustesse d'une vraie database, Tabletop ne nécessite pas non plus d'administration, mais la nature des projets ne l'exige pas nécessairement. L'outil peut être utilisé pour gérer des applications web qui font davantage que proposer des tableaux de données en ligne. Voici un exemple de présentation « Choose your own Adventure » qui permet d'établir un Quiz : les utilisateurs répondent à des questions et, selon leurs réponses, se voient poser d'autres d'autres questions.


Exemple de Quiz sur le site Mother Jones.
A la réponse "Yes", nouvelle question ci-dessous.



Inconvénients : Tabletop n'est à l'évidence pas taillé pour les jeux de données volumineux, ni pour les pics de trafic à la Twitter. Certains développeurs s'inquiètent que Google puisse limiter l'utilisation intensive d'applications ou transformer son API (l'app cesserait alors de fonctionner). Pour pallier ces risques potentiels, cela peut valoir la peine de mettre ses données dans un fichier CSV statique sur un serveur plutôt que directement dans une page web à laquelle les utilisateurs accéderaient. Mais cela ajoute un niveau de complexité.

Niveau de compétences : débutant avancé.

Exemples : le suivi des candidats au poste de maire de New York géré par Tabletop et une feuille de calcul Google Spreadsheet. En cliquant sur la présentation, on affiche bien plus que du texte. On trouve aussi un autre plug-in pour une narration interactive « Choose your own Adventure ».

En savoir plus : Un tutorial sur le site Tabletop et une vidéo de 90 minutes « Tabletop for beginners » postée par le développeur du Chicago Tribune Andy Boyle.