Portic : visualisations
Guide d'utilisation Français Anglais

Documentation et guide d'utilisation

Last updated: 2020-07-30

Les données

Les sources de données

Cet ensemble de visualisations permet d’explorer distinctement, mais avec le même type d’outil graphique, deux types de sources :

  • les congés (sorties) des ports français en 1787 d'après les registres des bureaux d'amirautés : série appelée G5, du nom de la sous-série des Archives Nationales dont elles proviennent ;
  • screenshot
  • les entrées du port de Marseille d'après les registres du Bureau de la Santé (1787)
  • screenshot

Une troisième partie de l’application est plus personnalisable en permettant à l’usager de charger son propre jeu données dans l‘interface d’exploration, que ce soit à partir d’un fichier statique ou d’un flux de données accessibles par API.

screenshot

Le menu du bandeau supérieur permet d’accéder à tout moment à chacune de ces pages.

screenshot

Concernant les sets de données relatifs aux congés du G5 et aux entrées de Marseille sur lesquels sont “branchées” les visualisations, ils proviennent du mécanisme d’exposition des données par API mis en place dans le cadre du projet Portic.

L'API Portic

Documentation technique sur l'utilisation de l'API https://anr.portic.fr et code source dans Gitlab

Par exemple, la requête utilisée pour obtenir les données des trajets relatifs à la source G5 est construite avec les paramètres suivants :

http://data.portic.fr/api/travels/?params=distance_dep_dest,departure_uhgs_id,departure_admiralty,departure_province,departure_states,departure_action,outdate_fixed,destination,destination_uhgs_id,destination_admiralty,destination_province,destination_states,destination_action,tonnage,tonnage_unit,flag,homeport,homeport_uhgs_id,homeport_admiralty,homeport_province,homeport_states,source_suite,homeport_uncertainity&format=csv

La représentation des données

Les deux types de visualisation

Chacun de deux corpus de données (G5 et Marseille) sont visualisables, de manière distincte mais homogène, au travers de deux types de vues.

  • Premier onglet : exploration graphique
  • screenshot

    Les variables représentées sont agrégées dans des widgets (blocs) dédiés qui sont autant de points d’entrées dans le jeu de données :

    • d’une part en affichant directement sous forme graphique les valeurs consolidées de la variable
      • graphiques en barres pour les variables catégorielles
      • histogrammes pour les variables quantitatives
      • graphiques en aire pour les variables de date
    • et d’autre part en rendant actionnable chaque valeur ou classe de valeurs comme un filtre sur l’ensemble des données.
    screenshot
    Exemple de visualisation en barres pour la variable catégorielle représentant le pavillon des navires, sous forme d’histogramme pour la variable numérique du tonnage de la marchandise transportée et en volume du nombre de trajets par date de départ

    Toutes les possibilités d’interactions utilisateur avec les données et de combinaisons de critères d’exploration sont présentées plus loin

  • Deuxième onglet : tableau interactif
  • screenshot

    le même set de données est également accessible sous forme de tableau, une ligne par trajet et chaque variable en colonne. Les fonctionnalités associées au tableau en ligne permettent de trier, filtrer, regrouper, chercher dans et exporter les données (l’ensemble du set ou un sous-ensemble issu de manipulations effectuées dans l’affichage du tableau) en format Excel.

    screenshot

    Toutes les possibilités d’interactions utilisateur avec les données et de combinaisons de critères d’exploration sont détaillées plus loin

  • Synchronisation entre les vues
  • Se reporter aux paragraphes sur la synchronisation des filtres et le constructeur de filtres

Les deux sources de données

L’interface exploratoire présentant les données du G5 se lit de gauche à droite afin de présenter les trajets : à gauche sont explicitées les variables liées au départ (port d’attache, port de départ etc.), au centre les données analysées (tonnage, date de départ etc.) et à droite les destinations.

La présentation des données des registres du Bureau de la Santé se présentent également de gauche à droite. A gauche les informations liées au départ du navire, au centre les données générales sur le voyage (date de départ, nationalité etc.) et enfin à droite les informations liées au bateau : nationalité du capitaine, classe de bateau et produit transportés.

Les variables

Variables relatives aux lieux

La description des trajets peut s’envisager à différents niveaux géographiques : port, province, amirauté et état. On retrouve donc cette approche multi-scalaire au niveau des variables décrivant les lieux d’attache du navire ainsi que les points de départ et de destination des trajets.

Ports d'attache

Port of registry : Port d’attache [G5]

Admiralty of registry : amirauté d’appartenance [G5]

Province of registry : province d’appartenance [G5]

State of registry : état d’appartenance [G5]

Ports de départ

Port of departure : Port de départ [G5, Marseille]

Admiralty of departure : amirauté de départ [G5, Marseille]

Province of departure : province de départ [G5, Marseille]

State of departure : état de départ [G5, Marseille]

Ports de destination

Port of destination : port de destination [G5]

Admiralty of destination : amirauté d’arrivée [G5]

Province of destination : province d’arrivée [G5]

State of destination : état d’arrivée [G5]

Variables relatives aux navires

Flag : pavillon [G5, Marseille]

Burthen (en tonneaux) : contenance en tonneaux [G5, Marseille]

Burthen class (en tonneaux) : tonnages regroupés en intervalles de valeurs

Captain birthplace : Nationalité du capitaine [Marseille]

Ship class : type de bateau (frégate, brigantin etc.) [Marseille]

Products transported : marchandises transportées [Marseille]

Variables de dates

Date : date de départ pour l’année 1789 (format yyyy-mm-dd) [G5, Marseille]

Variables relatives à l'incertitude

Homeport uncertainty : incertitude du port d’attache (valeurs 0, -1, -2 ou -3) [Marseille]

Autres

Travel distances : distance (en kms à vol d’oiseau) entre le port de départ et le port d’arrivée [G5, Marseille]

Plus

Pour plus d'information

Sur les sources historiques, les méthodologies de traitement de l'incertitude, ainsi que sur la base de données

L’interface graphique d’exploration

Fonctionnalités de tris et de filtres

Filtre en survol

Au survol avec la souris de chaque modalité ou valeur affichée dans les blocs de variables, l’interface s’adapte de plusieurs manières :

  • la part relative de cette donnée dans les différentes variables s’affiche en surlignage dans chaque graphique ;
  • screenshot
  • la proportion de cette donnée dans le jeu complet de données s’affiche également dans la barre supérieure en en-tête de l’ensemble de la section graphique ;
  • le descriptif textuel du filtre simulé s’affiche au même endroit, par exemple “Port of departure : Agde” ou “Travels distance (in kms) : 200 to 400”.
  • screenshot

Le filtre peut aussi être inversement appliqué par exclusion de la valeur survolée, en survolant avec la souris l’icône Not s’affichant à gauche de chaque valeur.

screenshot

Sélection de données

Si vous souhaitez “réellement” filtrer” le dataset et n’afficher que certaines données, il vous suffit de cliquer sur la valeur voulue pour activer les opérations de filtrage et ré-organiser l’affichage des données en conséquence. Les fonctionnalités qui n’étaient que simulées lors du survol des valeurs avec la souris sont alors réellement activées et tous les blocs de données sont retriés dynamiquement.

  • Vous pouvez appliquer successivement plusieurs filtres et les annuler un par un en cliquant sur leur libellé en toute lettre dans le bandeau supérieur ;
  • screenshot
  • le filtrage par exclusion de valeurs fonctionne aussi en cliquant sur l’icône Not au lieu du texte ou la barre graphique de la donnée ;
  • par défaut, chaque filtre successif s’ajoute au précédent avec l’opérateur AND mais vous pouvez également créer des groupes de filtres pour chaque variable avec l’opérateur OR qui s’affiche en face à gauche de chaque valeur lorsqu’une donnée a déjà été sélectionnée pour cette variable ;
  • screenshot
  • de la même manière, vous pouvez cumuler l’exclusion de plusieurs valeurs en cliquant sur l’icône Not (ce qui revient à l’opération AND NOT).
  • screenshot

Sélection de données pour les variables de type Date

Pour sélectionner un intervalle de dates dans le graphique en aire spécifique à ce type de variable, vous pouvez cliquer sur un point de l’axe des abscisses, un point de la courbe ou directement dans l’aire sous la courbe.

L’intervalle proposé par défaut est le mois, mais il est possible de l’augmenter en “attrapant” avec la souris la borne supérieure ou inférieure du segment et en la déplaçant le long de l’axe des abscisses.

screenshot

Bloquer un filtre

Si vous voulez visualiser la part relative de certaines valeurs dans chaque variable mais sans filtrer le dataset (en excluant celles qui ne remplissent pas la condition correspondant au filtre) ni re-trier l’ensemble du jeu de données, vous pouvez bloquer un filtre en cliquant sur l’icône Lock qui s’affiche à droite des valeurs au survol de la souris. La proportion de trajets pour chaque variable s’affichera en surbrillance mais sans réorganisation de l’interface.

screenshot

Moteur de recherche spécifique à chaque variable (qualitative seulement)

Dans chaque widget de variable se trouve une icône « search » symbolisée par une loupe. Cet espace vous permet de saisir la donnée que vous souhaitez afficher. La liste des valeurs se met à jour au fur et à mesure de la saisie du texte dans la barre de recherche.

screenshot

Tri

Au sein de chaque widget, les données sont triées par ordre décroissant de valeurs, néanmoins il est possible d’inverser l’ordre des données grâce à l’icône de tri (qui ne s’affiche que lorsque la souris de l’utilisateur passe sur le widget et se place à droite de l’icône de recherche).

screenshot

Focus : synchronisation des filtres et export des données

La vue d’exploration ne propose pas de fonctionnalités d’export des données, et fournit seulement une vision du dataset au travers de données agrégées dans l’interface. Afin de pouvoir accéder au détail des trajets et/ou d’exporter les données, il faut se reporter à la vue en tableau du même jeu de données.

De plus, si vous souhaitez voir et exporter les données non agrégées correspondant à l’état de la vue exploratoire auquel vous êtes parvenus après avoir actionné des filtres, il suffit de sélectionner l’option “Synchroniser les filtres avec la vue en tableau”. La combinaison de filtres appliquée dans la visualisation graphique est alors traduite en requête pour le constructeur de filtres associé au tableau de données, le filtre sera alors automatiquement appliqué sur le tableau.

screenshot

Vous pouvez désactiver la synchronisation des filtres auquel cas les manipulations effectuées dans l’interface d’exploration ne sont pas reportées dans la vue tabulaire (comportement par défaut)

Fonctionnalités liées à l'affichage

Choix des variables à afficher (organisation des widgets)

Cette fonctionnalité permet de modifier les variables présentées par défaut dans l’interface. En sélectionnant l’écrou en haut à droite de la visualisation, vous pourrez ajouter ou supprimer des variables contenues dans la base de données et ainsi organiser l’interface en fonction de vos besoins.

En cliquant sur l’écrou la section d’exploration se divise en deux parties avec dans le bandeau gauche une liste de blocs représentant chaque variable : chaque bloc affiche une synthèse des données (nombre de valeurs uniques et diagramme en barres horizontales) et offre la possibilité de renommer la variable pour un affichage personnalisé.

screenshot

Pour intégrer un bloc dans l’interface sous forme de widget, il suffit de le déplacer avec la souris en glisser-déposer du bandeau gauche jusqu’à l’emplacement souhaité

screenshot

Enfin, dans la partie principale de l’écran, il devient possible de supprimer un widget en cliquant sur la croix à gauche dans le bandeau d’en-tête du widget.

screenshot

Affichage plein écran

Il est possible d’agrandir la visualisation afin de la mettre en plein écran avec le bouton Fullscreen en haut à droite de l’interface.

Réduire/agrandir les widgets

Dans la même démarche, chaque widget peut être réduit ou agrandi grâce aux icônes présentes sur la gauche dans le bandeau du titre. Celles-ci s’affichent au survol du widget par la souris (d'ailleurs certaines variables sont déjà réduites par défaut afin de faciliter la compréhension des données).

screenshot

Augmenter/réduire la taille de la police

Dans chaque widget il est possible de régler la taille des caractères grâce à l’écrou s’affichant à droite du titre de chaque widget. Visible au survol de la souris, il permet d’afficher les options de configuration disponibles.

screenshot

Convertir les données en %

Il est possible de passer d’un affichage des données en valeurs absolues par défaut à un affichage en valeurs relatives en cliquant sur le symbole # présent au début des valeurs en abscisses de chaque graphique, qui active l’option de modification des valeurs en pourcentage.

screenshot
screenshot

En résumé et en vidéo

A venir...

Les données en tableau interactif

Cette vue expose les données, non plus de manière agrégée, mais au niveau de chaque trajet dans un tableau modifiable en ligne.

Fonctionnalités liées à l'affichage

Pagination

Par défaut les résultats en tableau sont paginés par lots de 10, et l’option de navigation dans les pages de résultats se trouve en dessous des lignes de données. Sur la gauche du pied-de-page du tableau se trouve également la possibilité d’augmenter le nombre de résultats rendus par page.

screenshot

Données récapitulatives

En pied-de-page se trouve également une ligne de données indiquant (dynamiquement en fonction des filtres activés) le nombre total de lignes du tableau, les valeurs minimales et maximales de tonnage (G5), les valeurs minimales et maximales de distance entre point de départ et d’arrivée du navire.

screenshot

Sélection des variables à afficher

Le bouton dans la barre supérieure du tableau permet de sélectionner les colonnes à afficher ou masquer sur la page web (pour plus de lisibilité, certaines sont d’ailleurs masquées par défaut).

screenshot

Ordre des colonnes

L’agencement des colonnes peut être modifié par simple glisser-déposer des en-têtes de colonnes avec la souris.

screenshot

Export des données

Le bouton dans la barre supérieure du tableau permet d’exporter les données en format Excel.

screenshot

Attention, les données exportées correspondent à l’état du tableau tel qu’affiché au moment de l’export.

Fonctionnalités de tris et de filtres

Tri

Le tri ascendant ou descendant de l’ensemble des données en fonction d’une variable s’effectue en cliquant sur l’ en-tête de la colonne correspondante. Il est bien sûr possible de combiner successivement plusieurs critères de tri.

screenshot

Filtre par sélection de valeurs

En cliquant sur l’icône de filtre à droite du nom de chaque colonne, une popup affiche les valeurs uniques de la variable dans une liste permettant d’en sélectionner une ou plusieurs en tant que filtre sur les données.

screenshot

Moteur de recherche spécifique à chaque colonne

Sous chaque en-tête de colonne, une barre de recherche permet de saisir du texte libre à rechercher dans les valeurs de la variable, et d’associer un opérateur à la requête (de type contains, not contains, equals, starts with, ends with…). Les opérateurs disponibles sont contextuels au type (quantitatif, qualitatif, date) de la variable.

screenshot

Moteur de recherche global

La barre de recherche placée au-dessus et sur la droite du tableau permet la saisie de texte libre et la recherche sur l’ensemble de jeu de données, les données sont alors filtrées dynamiquement au fur et à mesure de la saisie et la suite de caractères recherchée mise en surbrillance dans les résultats.

screenshot

Focus : constructeur de filtre

screenshot

Fonctionnement

Dans la partie supérieure de l’écran au-dessus du tableau se trouve un bloc spécifique dédié à la construction de requêtes de filtrage avancées, qui permet de créer plusieurs filtres et de les combiner entre eux par les opérateurs booléens AND, OR, NOT AND, NOT OR.

screenshot

Les filtres à appliquer peuvent s’enchaîner successivement les uns aux autres ou être logiquement regroupés en groupes de conditions.

screenshot

Il suffit de cliquer sur l’icône pour ajouter un nouveau filtre et la saisie des requêtes est simplifiée grâce à l’affichage dynamique de la variable à sélectionner et de l’opérateur à appliquer.

screenshot
screenshot

Enfin, comme pour l’option de filtrage située au niveau de chaque colonne, les opérateurs proposés pour construire le filtre différent selon que la variable soit une catégorie, un nombre ou une date.

Exemple

Voici par exemple la construction logique du filtre et les résultats correspondant à la requête suivante sur les données des entrées de Marseille en 1787 : “je cherche tous les bateaux de type Tartane ou Brigantin partis d’un port dont le nom contient les lettres ‘ic’ et qui transportaient une marchandise dont le nom commence par W”

screenshot

Synchronisation

Si l’option “Synchroniser les filtres avec la vue en tableau” est sélectionnée dans la vue exploratoire en widgets, les filtres appliqués dans cette première visualisation sont “traduits” et reportés dans le constructeur de filtres de la vue en tableau.

Cette fonctionnalité permet de passer de la manipulation des trajets à un niveau agrégé à une liste plus précise trajet par trajet, ainsi qu’aux autres fonctionnalités disponibles dans la vue tabulaire (possibilité d’export notamment).

Clusterisation (regroupement) des données

Les données de trajet peuvent faire l’objet de regroupement par valeurs au sein du tableau par un simple glisser-déposer de l’en-tête de la colonne souhaitée comme critère de clusterisation dans la partie supérieure gauche du tableau (symétriquement l’opération inverse de retour aux données plates s’effectue par re-déplacement de la variable dans la première ligne des en-têtes de colonnes).

screenshot

Les lignes de trajets se partitionnent alors en sous-groupes (dépliables et repliables) en fonction des valeurs de la variable choisie.

screenshot

L’utilisateur peut cumuler les regroupements par glisser-déposer successif de chaque colonne souhaitée, les données s’organisent alors selon une arborescence de sous-groupes en fonction de l’ordre de réalisation de l’opération.

screenshot

Les mêmes options de tri par ordre croissant/décroissant et de sélection de valeurs dans la variable choisie sont actionnables.

En résumé et en vidéo

A venir...

Importer vos données

L’application offre aussi la possibilité d’intégrer, visualiser et interagir avec vos données en utilisant la vue d’exploration interactive.

Modalités d'import

Les possiblités d'import sont de deux types.

A partir de fichiers statiques stockés en local et formatés en csv, tsv ou json

screenshot

Cliquer sur "Parcourir" pour récupérer le fichier de données à son emplacement sur le PC, puis sur "Explorer vos données" pour les charger dans l’interface.

Les fichiers plats csv et tsv doivent comporter des en-têtes de colonnes.

Pour les fichiers csv, le séparateur doit être le point-virgule ;

Les fichiers json doivent présenter une arborescence simple à un niveau de tableau peuplés d'objets, par exemple [{"travel_rank":1, "ship_id":"0000001N", "departure":"Boulogne sur Mer", "destination":"Angleterre", "departure_action":"Out"}, {...}, ...]

A partir d’un flux de données Json issu d’une API ou d’un web service

screenshot

Il suffit alors de rentrer dans le champ texte l’url externe servant de point d’accès aux données qui doivent être formatées en Json simple. Par exemple si on utilise l’API Portic /flows comme source de données afin d’obtenir tous les trajets sortants (dédoublonnées) liés à Boulogne/Mer pour l’année 1787 avec certains paramètres :

http://data.portic.fr/api/flows/?format=json&ports=A0152606°ree=1&direction=Out¶ms=travel_rank,ship_id,departure,destination,departure_action,destination_action,distance_dep_dest,travel_uncertainity&both_to=false

Le bouton permet de vérifier la validité de l’url, l'accès aux données par le client web, et la conformité des données.

En cliquant sur “Explorer vos données”, l’application interroge donc l’url saisie, parse les données et les charge dans la visualisation.

Réglage de l'affichage dans l'interface d'exploration

Une fois les données source lues et parsées, les variables sont identifiées par l’application (les en-têtes de colonnes pour les fichiers csv, les clés des objets pour les formats Json) et sont affichées en blocs distincts dans la colonne de gauche de l’écran.

L’utilisateur peut ainsi construire sa visualisation personnalisée en disposant les widgets comme il le souhaite dans la partie centrale de l’écran par un simple glisser-déposer des blocs de variables, comme expliqué plus haut

screenshot

Le bouton en haut à droite de la visualisation permet d’afficher/masquer la colonne des variables.

Exemples de parcours avec les données Portic

En résumé et en vidéo

A venir...

Documentation et code source

Tout comme l’ensemble des développements réalisés dans le cadre du projet Portic, le code de l’application est disponible en open source sur le dépôt Gitlab de l’équipe Portic hébergé par la TGIR Human-Num