Cette page présente notre projet et en détaille la composition et la structure, de la sélection des données jusqu'à leur visualisation en passant par les traitements effectués dessus pour pouvoir les exploiter. Notre projet s'est articulé autour la visualisation de données fournies par le portail Open Data et l'API de la SNCF1 en utilisant des données variées pour montrer la variété des données accessibles sur ce portail, et les différentes visualisations qu'il nous était possible de proposer.
Comme dit en introduction, nous avons exploité différents jeux de données fournis par la SNCF sur son portail Open Data ; notre ambition de départ était de croiser ces données sur les transports en France avec des données démographiques , comme de population, fournies en général par l'INSEE. Mais, faute de temps, ces considérations sont restées au niveau de l'analyse, sans être implémentées.
En plus de ces données textuelles, différentes données géographiques ont été exploitées pour créer des cartes interactives de la France et ses départements : dans un cas, des données GeoJSON et TopoJSON fournies par l'IGN dans sa base GeoFLA 2
Bien que les données de la SNCF soient suffisamment rangées pour ne pas avoir besoin de traitements significatifs, il y a des incohérences dans certaines données voire parfois des absences de données. Par exemple, dans les données de lignes, toutes les lignes ne sont pas renseignées et il a fallu corriger quelques incohérences (La gare de Milan n'est malheureusement pas au point de longitude-latitude 0,0-0,0). De plus, toujours sur les coordonnées géographiques, il a fallu regrouper les données de la SNCF pour pouvoir des projections correctes sur nos cartes.
N'ayant finalement pas eu à croiser de jeux de données (faute de temps, principalement), il n'y a pas eu vraiment d'algorithmes de traitement utilisés autre que des comptes sur ces fichiers bruts, par exemple des ébauches d'algorithme map-reduce.
Les données fournies par les différentes sources choisies sont des simples fichiers JSON ou CSV, plus ou moins gros ; dans tous les cas, nous n'avons pas eu besoin d'installer ou de mettre en place des services externes comme des frameworks ou une base de données. L'architecture mise en place est alors assez simple.
Tous les traitements sont réalisés en JavaScript (ou jQuery parfois), avec un fichier .js globalement associé à chaque visualisation. Les visualisations ont été réalisées à l'aide de la librairie D3.js et de transformations CSS liées à cette librairie.
A la racine du projet, on trouve toutes les pages HTML du projet, et deux dossiers, 'data' et 'assets'. Le dossier 'data' contient toutes les sources de données brutes utilisées par l'application pour construire les visualisations requises, et le second contient les fichiers de paramétrage de ces visualisations : un dossier 'css', pour les feuilles de styles associées au site web et à chacun des visualisations dans son contexte d'affichage, et un dossier 'js' contenant tous les scripts générant et paramétrant ces visualisations.
Dans chaque visualisation, nous pouvons en faire une analyse.
Sur la visualisation des lignes des TGV ainsi que leur empreinte carbone, nous pouvons en premier lieu voir que Paris est le centre du monde (ou au moins le centre du réseau ferré de TGV français). On remarque aussi que quelques autres gares importantes accueillent des TGV comme Lyon, Marseille, Bordeaux ou Lille. Quant à l'empreinte carbone, il faut préciser que celle ci est exprimée en kgCO2/voyageur.kilomètre. On remarque ainsi que souvent cela dépend bien sûr de la ligne, mais aussi de la fréquentation de celle ci. Ainsi, si une ligne courte est très fréquentée, elle polluera moins qu'une ligne de même longueur avec moins de voyageurs.
Pour la visualisation des lignes de France avec les départements, a contrario, on voit que la majorité des lignes enregistrées par la SNCF (quelques lignes manquent à l'appel, mais ce n'est pas dramatique) relient des gares importantes aux autres gares alentours plus locales (Rayonnement régional). Bien sûr, il y a toujours Paris en hypercentre du réseau ferré. Ce qui n'est pas montré sur cette carte, c'est les lignes "Est-Ouest" : on a l'impression qu'elles sont directes alors qu'elles passent pour la majorité par Paris. On remarque qu'il reste encore quelques lignes "solitaires" (de Morcenx à Mont de Marsan par exemple) : ce sont des restes de l'ancien réseau ferré français, quand le train était encore un moyen de transport important et rentable (avant la démocratisation de la voiture.
La représentation de la régularité mensuelle des TGV permet de voir que les retards cumulés sont plutôt satisfaisants (90% en moyenne), ce qui contredit l'idée reçue qu'aucun train, TGV inclus, est à l'heure avec la SNCF. On remarque que ces retards cumulés peuvent être imputables à la météo/saison en cours : en hiver (janvier, février), la neige peut entraîner des perturbations et en été (juin, juillet), la chaleur peut entraîner des ruptures de caténaires sur les les lignes ou des surchauffes.
L'historique des mouvements sociaux montre lui que le nombre de journées de travail cumulées menuellement perdues (donc par tous les agents de la SNCF). On peut remarquer que c'est assez irrégulier en fonction des années (lorsqu'il y a plus de 40 000 journées de perdues, des résultats seront proposés sur Wikipédia). De plus, on voit que certains mois sont plus ou moins propices à la grève : juillet et août ont très peu de journées perdues par des revendications (on peut lier cela aux vacances annuelles ?) contrairement à juin (pour rallonger les vacances annuelles ?), mars et octobre.
Enfin, sur la visualisation des objets trouvés, on remarque que les mêmes objets reviennent assez souvent comme la bagagerie par exemple. Sachant toutes les mesures de sécurité liées aux objets trouvés (colis suspect) ou simplement quand parfois un usager se dépèche d'aller récupérer son objet avant le départ, les objets perdus peuvent être liés à des retards de train. Une idée intéressante à implémenter aurait été de voir s'il y a une corrélation avec la période de l'année (faire apparaitre les vacances, etc).
Nous avons pu observer que le portail de la SNCF regorge de données sur des thématiques très variées, certaines même mises à jour en temps réel. Cette grande variété permet d'explorer de nombreux types de visualisations possibles et donc de potentiellement agrandir le spectre des analyses.
Malgré cela et sa simplicité d'accès, il souffre quand même de quelques problèmes, notamment l'accès complexe à des données évidentes (horaires en temps réel, ...), et manque de cohérence parfois dans ses formats de données. On a alors l'impression de voir un portail d'Open Data pas si "Open" que ça.
Toutefois nous avons pu efficacement expérimenter la 'DataViz' avec la librairie D3.js, et en cela les données comme le projet étaient intéressants et appropriés.