Les différents types de données structurées

Regardez la vidéo suivante, puis répondez aux questions.

1) Qu'est-ce qu'une donnée ?

a. Une valeur décrivant un objet.

b. Un nombre entre 0 et 100.

c. Le nom d'un objet

2) Qu'est-ce qu'un descripteur ?

a. Une catégorie.

b. Un texte donnant des informations sur un objet.

c. La taille d'un objet

3) À quoi servent les métadonnées ?

a. À décrire le contenu d'un fichier.

b. À enregistrer des données très volumineuses.

c. À enregistrer des données secrètes.

4) Quel est l'objectif du RGPD ?

a. Protéger les données personnelles et préserver l'anonymat.

b. Lutter contre les fake news.

c. Protéger les droits d'auteurs

Fichiers

5) Un fichier:

a. ne peut contenir que du texte.

b. ne peut contenir qu'une image.

c. peut contenir une image, des sons, du texte, etc.

6) Les fichiers de musique peuvent être stockés au format :

a. 16:9.

b. mp3.

c. ba13.

7) La capacité d'un smartphone actuel pour stocker des fichiers se mesure en :

a. mégaoctet.

b. gigaoctet.

c. kilogramme.

Données personnelles

8) L'adresse d'une personne :

a. est une donnée personnelle.

b. n'est pas une donnée personnelle.

c. n'est pas une donnée personnelle si elle a été donnée volontairement.

9) Pour protéger sa vie privée sur un site, il faut :

a. régler les paramètres de sécurité.

b. régler les paramètres de l'affichage.

c. cocher la case « S'inscrire avec Facebook ».

10) Quelle institution contrôle le traitement des informations personnelles ?

a. L'Hadopi

b. La Sacem

c. La CNIL (Commission nationale de (Informatique et des libertés)

Partage de données

11) Un fichier partagé en ligne peut toujours être vu par :

a. le propriétaire du fichier seulement.

b. le propriétaire et l'hébergeur.

c. tout le monde.

12) Les opérateurs téléphoniques conseillent :

a. de ne pas sauvegarder ses données.

b. de sauvegarder ses données en ligne.

c. de transférer ses données à ses amis.

13) Les informations d'une carte Vitale sont présentes :

a. uniquement sur la carte.

b. uniquement sur l'ordinateur connecté à la carte.

c. sur un réseau d'ordinateurs en ligne.

Tableur

14) Comment s'appelle une case de tableur

a. Une feuille de calcul.

b. Une cellule.

c. Un élément.

15) Comment identifie-t-on une case d'un tableur ?

a. Avec des chiffres et des lettres.

b. Avec deux chiffres.

c. Avec deux lettres.

16) Dans un tableur :

a. on peut trier des nombres seulement.

b. on peut trier des nombres ou du texte.

c. on ne peut pas trier les données.

Définition

On trouve énormément de données sur internet. Une partie de ces données sont publiques, par exemple le site data.gouv.fr recense un grand nombre de données publiques. Ces données sont librement réutilisables.

À faire vous-même 1

Afin de découvrir ce qu'est "l'open data", allez sur le site data.gouv.fr. Cliquez sur "commencer sur data.gouv et qu'est ce que data.gouv.fr .Découvrir L'OpenData". Résumez en quelques lignes ce que vous aurez appris en lisant cette page.

À faire vous-même 2

Explorez pendant quelques minutes le site data.gouv.fr. Recherchez les données "Opérations coordonnées par les CROSS" à l'aide du moteur de recherche proposé par le site

Vous pouvez constater que ces données sont au format csv.

Le format csv est très courant sur internet, nous allons l'étudier en premier.

Voici ce que nous dit Wikipédia sur le format CSV :

Comma-separated values, connu sous le sigle CSV, est un format informatique ouvert représentant des données tabulaires sous forme de valeurs séparées par des virgules.

Un fichier CSV est un fichier texte, par opposition aux formats dits « binaires ». Chaque ligne du texte correspond à une ligne du tableau et les virgules correspondent aux séparations entre les colonnes. Les portions de texte séparées par une virgule correspondent ainsi aux contenus des cellules du tableau.

Voici un exemple du contenu d'un fichier CSV :

Je pense qu'il est évident pour vous que nous avons ici 3 personnes :

Jean-Pierre Durand qui est né le 23/05/1985

Christophe Dupont qui est né le 15/12/1967

Henry Terta qui est né le 12/06/1978

"nom", "prenom" et "date_naissance" sont appelés des descripteurs alors que, par exemple, "Durand", "Dupont" et "Terta" sont les valeurs du descripteur "nom".

À faire vous-même 3

Donnez les différentes valeurs du descripteur "date_naissance"

ATTENTION :

La virgule est un standard pour les données anglo-saxonnes, mais pas pour les données aux normes françaises. En effet, en français, la virgule est le séparateur des chiffres décimaux. Il serait impossible de différencier les virgules des décimaux et les virgules de séparation des informations. C'est pourquoi on utilise un autre séparateur : le point-virgule (;). Dans certains cas cela peut engendrer quelques problèmes, vous devrez donc rester vigilants sur le type de séparateur utilisé.

Les tableurs, tels que "Calc" (Libre Office), sont normalement capables de lire les fichiers au format CSV. J'ai précisé "normalement" car certains tableurs gèrent mal le séparateur CSV "point-virgule" et le séparateur des chiffres décimaux "virgule".

À faire vous-même 4

Après avoir téléchargé le dossier ci-dessous, ouvrez le fichier ident_pointVirgule.csv, à l'aide d'un tableur.

Si par hasard votre tableur ne gère pas correctement le fichier avec le séparateur "point-virgule", ouvrez le fichier ident_Virgule.csv,

Dans la suite, gardez toujours cet éventuel problème à l'esprit (surtout avec des données "made in France")

Vous devriez obtenir ceci :

Vous pouvez constater que les données sont bien "rangées" dans un tableau avec des lignes et des colonnes (voilà pourquoi on parle de données tabulaires.

Il est possible de trouver sur le web des données beaucoup plus intéressantes à traiter que celles contenues dans le fichier "ident_pointVirgule.csv" (ou "ident_virgule.csv"). Par exemple, le site sql.sh, propose un fichier csv contenant des informations sur l'ensemble des communes françaises.

À faire vous-même 5

Après avoir téléchargé le dossier ci-dessous, ouvrez le fichier ville_point_virgule.csv à l'aide d'un tableur (c'est une version légèrement modifiée de celle disponible sur le site sql.sh, j'y ai notamment ajouté des entêtes). En cas de problème avec votre tableur, ouvrez le fichier ville_virgule.csv (attention le séparateur "décimal" est ici le point)

Comme vous pouvez le constater, nous avons 12 colonnes (et 36700 lignes si on ne compte pas l'entête !), voici la signification de ces colonnes :

  • dep : numéro de département

  • nom : nom de la commune

  • cp : code postal

  • nb_hab_2010 : nombre d'habitants en 2010

  • nb_hab_1999 : nombre d'habitants en 1999

  • nb_hab_2012 : nombre d'habitants en 2012 (approximatif)

  • dens : densité de la population (habitants par kilomètre carré)

  • surf : superficie de la commune en kilomètre carré

  • long : longitude

  • lat : latitude

  • alt_min : altitude minimale de la commune (il manque des données pour certains territoires d'outre-mer)

  • alt_max : altitude maximale de la commune (il manque des données pour certains territoires d'outre-mer)

À faire vous-même 6

En vous aidant du fichier ouvert dans le "À faire vous-même 5", déterminez l'altitude maximale et l'altitude minimale de votre commune.

Autre format de données très courant sur le "web", le JSON (JavaScript Object Notation). Le JSON fonctionne avec un système de paire clé/valeur.

Un "objet" est encadré par des accolades :

souvent, pour une question de lisibilité, on écrira :

Un fichier au format JSON peut regrouper un grand nombre d'objets :

Ci-dessus, nous avons une liste (délimité par [ ]) contenant des objets.

La "valeur" d'une paire "clé/valeur" peut être une liste :

ou même un autre objet :

Comme vous pouvez le constater, il est possible d'obtenir des structures de données très complexes avec le format JSON.

À faire vous-même 7

Téléchargez le fichier ident.json ci-dessous et ouvrez-le à l'aide d'un éditeur de texte.

De nombreux sites web proposent des services basés sur des API (Application Programming Interface). Ces sites sont capables de fournir des données aux formats JSON sur "simple demande". Souvent, ces "demandes" sont effectuées par l'intermédiaire d'une url.

Nous allons illustrer ce propos en utilisant l'API d'un site qui fournit des informations météo au format JSON. Vous trouverez ce site à l'adresse suivante : openweathermap.org/api.

Pour profiter de ce service, il est nécessaire d'obtenir une clé (API key) , ce travail a déjà été réalisé par l'enseignant...

À faire vous-même 8

Ouvrez l'url, dont le détail est donné ci-dessous :

  • http://api.openweathermap.org/data/2.5/weather?q=brive,fr&lang=fr&units=metrics&APPID=b5c3b9bf4ee69342f3dfe1b31d31986d

Remarque :

Au lieu d'obtenir, comme d'habitude, une page web, vous devriez obtenir uniquement quelque chose qui ressemblera à ceci :

Comme les données sont réactualisées relativement souvent, vous n'obtiendrez pas la même chose que moi !

Avec une simple url, le site open weather renvoie des informations météo sous forme de données JSON.

Détaillons l'url :

Cette partie de l'url ne changera pas (sauf si vous désirez autre chose que les conditions météo actuelles, à ce moment-là, il faudra remplacer "weather" par autre chose (consulter le site open weather pour plus d'informations)).

À partir du point d'interrogation, vous devez renseigner les différents paramètres qui permettront à open weather de vous renvoyer les bonnes informations. Ces paramètres sont séparés par le caractère "&".

"q=brive,fr" le paramètre "q" correspond au nom de la ville suivi du pays (fr dans notre cas)

"lang=fr" la langue utilisée sera le français

"units=metric" on désire avoir les longueurs en mètres (et les vitesses en mètre par seconde).

"APPID" correspond à l'API key

Il est possible de construire des requêtes beaucoup plus complexes, encore une fois, veuillez consulter le site open weather pour plus d'informations.

Intéressons-nous maintenant aux données JSON renvoyées (nous n'allons pas tout détailler) :

"coord":{"lon":6.41,"lat":46.08} latitude et longitude du lieu

"weather":[{"id":800,"main":"Clear","description":"ensoleillé","icon":"01d"}] "weather" correspond à un tableau qui contient un seul objet.

"main":{"temp":17.35,"pressure":1016,"humidity":59,"temp_min":16,"temp_max":19} "main" correspond à un objet qui contient différents types d'informations

"dt":1443975257 "dt" nous donne l'heure et la date de diffusion du bulletin au format "timestamp" (voir en bas de cette page pour plus d'informations sur le format "timestamp")

"sunrise":1443937018,"sunset":144397849 : respectivement heure de lever et de coucher du soleil au format timestamp

Dernier format de données que nous verrons aujourd'hui le geoJSON. Le geoJSON est un format (http://geojson.org/) qui permet d'encoder des données à "caractère géographique". Voici ce que dit Wikipédia à propos de ce format :

« GeoJSON (de l'anglais Geographic JSON, signifiant littéralement JSON géographique) est un format ouvert d'encodage d'ensemble de données géospatiales simples utilisant la norme JSON (JavaScript Object Notation). Il permet de décrire des données de type point, ligne, chaîne de caractères, polygone, ainsi que des ensembles et sous-ensembles de ces types de données et d'y ajouter des attributs d'information qui ne sont pas spatiale. Le format GeoJSON, contrairement à la majorité des standards de systèmes d'informations géographiques, n'est pas écrit par l'Open Geospatial Consortium, mais par un groupe de travail de développeurs au travers d'internet. »

Comme indiqué dans Wikipédia, le geoJSON est avant tout du JSON, nous retrouverons donc les mêmes caractéristiques que le JSON (système de clé/valeur).

À faire vous-même 9

Dans la barre d'adresse de votre navigateur, tapez l'adresse suivante :

Vous devriez obtenir quelque chose ressemblant à ceci :

Vous avez obtenu des informations au format geoJSON, sur les tremblements de Terre ayant eu lieu entre le 31 juillet 2019 et le 01 août 2019, partout dans le monde.

Le site "earthquake.usgs.gov", comme le site "http://openweathermap.org/", propose une API qui renvoie des données à partir d'une simple url. Le site vous propose différentes options pour la requête, vous trouverez une description complète de ces options ici

Attention, vous aurez un message d'erreur si votre requête renvoie plus de 20000 événements.

À faire vous-même 10

En vous aidant de la documentation présente sur le site http://earthquake.usgs.gov, écrivez une requête sous forme d'url qui permettra d'obtenir des données (au format geoJSON) sur les tremblements de terre, d'une magnitude supérieure à 5, ayant eu lieu ces 30 derniers jours partout dans le monde.

Testez votre requête en la copiant dans la barre d'adresse de votre navigateur. Une fois les données obtenues, étudiez-les afin de comprendre la structure de ces données.

ATTENTION : les dates et les heures sont fournies au format "timestamp". Le "timestamp" désigne le nombre de secondes écoulé depuis le 1er janvier 1970 à minuit UTC précise. Au lieu de donner une date et une heure pour un événement donné, il est possible de donner son "timestamp". Par exemple, au lieu de dire l'événement A à eu lieu le 24 octobre 2018 à 13h 11 minutes et 10 secondes, on pourra dire que l'événement A à pour "timestamp" 1540379470 (durée qui s'est écoulé en seconde entre le 1er janvier 1970 à minuit UTC et le 24 octobre 2018 à 13h 11 minutes et 10 secondes). Vous trouverez un convertisseur de timestamp sur ce site. Attention, dans le JSON renvoyé par le site "earthquake.usgs.gov" le timestamp est donné en milliseconde, il est donc nécessaire de diviser par 1000 la valeur que vous allez trouver dans le JSON (et garder uniquement la partie entière du résultat de votre division).