SNT Données

Identification

Infoforall

2 - Données structurées


Les données sont l'une des parties fondamentales de tout système informatique.

Cette activité pose le vocabulaire utilisé dans les autres activités et permet de répondre à trois questions :

  • Pourquoi les données sont-elles devenues un enjeu ?
  • Les données sont-elles si immatérielles que cela ?
  • Comment parvient-on à structurer l'information ?

Evaluation ✎ : questions 01-06-07-08-09-10

1 - Evolution des capacités de stockage

Nous avons déjà vu plusieurs types de données :

  • Un fichier-image est en fin de compte une suite de nombres RGB stockés sous forme d'octets.
  • Un fichier-vidéo n'est rien d'autre qu'une succession d'images, donc des octets également
  • Les textes sont placés en mémoire à l'aide d'un codage associant chaque caractère à un nombre (65 pour A, 66 pour B...). Un fichier-texte n'est donc qu'une suite de nombres (stockés sous forme ...d'octets)
  • Un fichier-html n'est rien d'autre qu'un fichier-texte transmis au navigateur et donc, au final, une suite de nombres également.

Nous pourrions continuer longtemps ainsi et faire l'énumération de tous les contenus numériques (musiques, pdf, programmes) : au final, il ne s'agit que de suites d'octets qui encodent un certain contenu.

Dans cette partie, nous allons voir pourquoi les données sont devenues aujourd'hui si nombreuses et si présentes autour de nous.

1.1 : l'octet

L'unité de base du stockage de l'information en informatique est le bit. Il s'agit d'une case mémoire qui ne possède que deux états : Vrai ou Faux, Haut ou Bas ou encore plus simple :

 0  ou  1 

Si on prend deux bits, on aura alors 4 possibilités différentes : 22 :

 00  ou  01  ou  10  ou ou  11 

En réalité, on ne transmet jamais un seul bit à la fois. On transmet toujours les bits par groupe de 8 bits consecutifs : c'est ce qu'on nomme un octet. Puisqu'on a 8 bits, on a alors 28 possibilités. Soit 256 nombres différents allant de 0 à 255.

  •  0 0 0 0 0 0 0 0  pour la première possibilité (0)
  •  0 0 0 0 0 0 0 1  pour la deuxième possibilité (1)
  •  0 0 0 0 0 0 1 0  pour la troisième possibilité (2)
  •  0 0 0 0 0 0 1 1  pour la quatrième possibilité (3)
  •  0 0 0 0 0 1 0 0  pour la cinquième possibilité (4)
  • ...
  •  1 1 1 1 1 1 1 1  pour la dernière possibilité et 256e possibilité (255)

C'est pour cela qu'un octet permet de stocker un nombre compris entre 0 et 255 uniquement.

1.2 : évolution des premiers supports de stockage

Au début de l'utilisation des systèmes automatisés, on utilisait des systèmes mécaniques et les données étaient codées sous forme de cartes perforées : on voyait bien les 0 et les 1 !

Punched card
Carte perforée (Mutatis mutandis CC BY-SA sur Wikimedia)

Puis vint un autre système de stockage, plus rapide mais toujours fortement mécanique : la bande magnétique.

Bande magnétique
Bande magnétique (CC BY-SA sur Wikimedia)

L'avantage par rapport aux fiches ? Plus de vitesse et la possibilité de modifier l'enregistrement sans sortir du scotch !

En 1956, la société IBM crée un premier disque dur de 5 Mo. L’ensemble mesurait alors 1,52 x 1,73 x 0,74 m !

L'IBM 3330
L'IBM 3330 (source https://www.cs.auckland.ac.nz)

Le coût ? Environ 10 000 $ le Mo !

Le gros avantage du disque dur ? Un peu moins de mécanique encore : c'est un ensemble de disques qui tournent à grande vitesse. Moins d'usure que les deux systèmes précédents.

Au fil des ans, le prix du Mo et l'encombrement des disques durs à diminuer, démocratisant peu à peu son utilisation.

Dans les années 1984 sont apparus des systèmes de stockage de masse purement électroniques, sans pièce en mouvement : la carte SD et la clé USB.

usb
Interieur d'une clé USB (image libre de droit, Wikipedia)

Ce type de technologie remplace maintenant de plus en plus les disques durs classiques. Il s'agit des fameux disques durs SSD.

En 2007, le stockage a même l'air d'être devenu immatériel : on passe au stockage dans le "Cloud" avec Dropbox par exemple.

cloud
(image licence Pixabay, Image par Pete

Mais en réalité, sous cette belle image de nuage tout mignon, se cache des Data Centers, c'est à dire un entassement d'ordinateurs. Et ils chauffent, quoi qu'on en dise...

l'intérieur d'un Data Center
(image récupérée sur le site du lycée Brassens

Si vous voulez voir à quoi les Data Centers un peu plus propres du futur pourraient ressembler, vous pouvez suivre ce lien qui mène à une vidéo d'Orange stockée sur Dailymotion.

Bref, les prix ont baissé de façon drastique :

  • en 1958 : 10000 $ le Mo
  • en 2000 : 0.02 $ le Mo...
  • en 2010 : 0.08 $ le Go, 8 cents pour mille fois plus de mémoire !
  • et ça continue à baisser...
Bilan

Toutes les données informatiques sont stockées sous forme d'octets.

  1. Le prix de ce stockage a dramatiquement baissé depuis les années 2000.
  2. Les possibilités de récupérer des données facilement ont augmenté avec l'explosion d'Internet et du Web.

Conclusion : au début, les sociétés devaient sélectionner les données qu'elles enregistraient mais, aujourd'hui, elles peuvent se permettre de stocker un peu tout et n'importe quoi en attendant de voir si les informations vont réellement être utiles.

Les données sont donc devenus un produit créé en grande quantité et facile à stocker.

Pour finir, voyons quelques unes des unités à connaitre :

Capacités de stockage

Pour décrire la taille d'une donnée, on utilise :

  • L'octet (un caractère)
  • Le kilo-octet (ko) qui vaut 1000 octets (une courte histoire).
  • Le Mega-octet (Mo) qui vaut 1000 ko et donc un million d'octets (un roman).
  • Le Giga-octet (Go) qui vaut 1000 Mo et donc un milliard d'octets (un film).
  • Le Téra-octet (To) qui vaut 1000 Go et donc mille milliards d'octets.
  • Le Péta-octet (Po) qui vaut 1000 To et donc un million de milliards d'octets (en 2020, Google traitait plus de 24 Po d’informations chaque jour).

A titre informatif, en 2018, il y a eu 33 millions de To de données produites.

Le résumé en tableau :

Sous-unité Valeur en octetEquivalent au stockage
Un kilo (k) représente 103

soit 1 000

Un petit texte
Un Méga (M) représente 106

soit 1 000 000

un livre ou une image HD
Un Giga (G) représente 109

soit 1 000 000 000

un film
Un Téra (T) représente 1012

soit 1 000 000 000 000

Un Péta (P) représente 1015 capacité mémoire d'un cerceau humain selon certaines études
Un Exa (E) représente 1018
Un Zetta (E) représente 1021 Production annuelle d'informations par Internet

✎ 01° Fouiller dans la configuration de votre Smartphone ou de votre ordinateur pour trouver la place mémoire totale.

02° Les mémoires des smartphones sont-elles composées de disques durs classiques ?

...CORRECTION...

Non, ces mémoires sont des mémoires purement électroniques, sans composant mobile. Comme les cartes et disques durs SSD.

2 - Données structurées

En réalité, on ne stocke pas juste des données.

Donner un rapport de 30 000 pages écrits à un système informatique ne sert pas à grand chose. Pour être efficace, il faut fournir au système les informations dans un format bien défini.

C'est ce qu'on nomme des données structurées.

Nous allons voir ce que signifient tous ces termes.

Données non structurées

Une donnée non structurée est une donnée présente mais qu'un système automatisé aura bien du mal à retrouver.

Exemple

C'est une voiture de sport de couleur rouge et conduite par un moustachu qui porte des chemises à fleurs.

L'un de ses amis possède un bel hélicoptère. Celui-ci est plutôt marron mais possède également quelques lignes colorées dans des tons rouge, bleu et jaune.

03° Quel est le type et la couleur du premier véhicule ? Quel est le type et la couleur du second véhicule ?

...CORRECTION...

Véhicule : Voiture de sport --- Couleur : rouge

Véhicule : Hélicoptère --- Couleur : marron

Vous venez d'utiliser un centre de traitement de l'information super performant : votre cerveau.

Pas possible pour un ordinateur. Il existe une branche de la recherche informatique qui traite de cette capacité de donner du sens à un texte brut mais c'est loin d'être facile et rapide.

La meilleur façon pour qu'un ordinateur puisse traiter cela est de lui mâcher le travail : nous allons structurer les données.

Vocabulaire sur les Données structurées

Une donnée structurée est une donnée présentée selon un format connu et fixe.

Il peut s'agir par exemple d'un tableau à deux entrées.

Exemple

Identifiant Type Utilisation Couleur
0 Voiture Sport Rouge
1 Hélicoptère Tourisme Marron
2 Voiture Sport Rouge

Cette fois, on voit qu'on pourra demander facilement à l'ordinateur de renvoyer les couleurs des véhicules : il suffit de trouver la bonne colonne. C'est beaucoup plus facile.

Les colonnes sont nommées les descripteurs.

Toutes les données présentes dans ce tableau partagent les mêmes descripteurs et les fournissent dans le même ordre :
ID - Type - Catégorie - Couleur.

Chaque ligne se nomme un enregistrement

La seule ligne qui ne soit pas un enregistrement est la toute première, en bleu foncé. Il s'agit de l'en-tête (header en anglais). Elle permet de connaître le nom et l'ordre des descripteurs.

La collection est le nom donné à l'ensemble des enregistrements, donc au tableau.

Collection Attributs
Identifiant(0) Type(1) Utilisation(2) Couleur(3)
Enregistrements 0 Voiture Sport Rouge
1 Hélicoptère Tourisme Marron
2 Voiture Sport Rouge

04° Répondre aux questions suivantes :

  1. Quels sont les descripteurs de la collection précédente ?
  2. Combien y-a-t-il d'enregistrements dans cette collection ?
  3. Quelle est la valeur qui correspond au descripteur d'indice 2 et à l'enregistrement d'indice 0 ?

...CORRECTION...

Il y a 4 descripteurs :

  • Indice 0 : Identifiant
  • Indice 1 : Type
  • Indice 2 : Utilisation
  • Indice 3 : Couleur

Il y a 3 enregistrements d'indice 0, 1 et 2.

La valeur d'indice 2 en descripteur et d'indice 0 en enregistrement correspond à sport

05° Quel est le seul attribut qui permette de distinguer le premier et le dernier enregistrement ?

...CORRECTION...

Il s'agit de l'identifiant. On rajoute TOUJOURS un identifiant qu'on définit soi-même. De cette façon, nous sommes certains de pouvoir distinguer deur enregistrements même si les contenus sont similaires.

✎ 06° Peut-on séparer deux individus uniquement à l'aide du nom et du prénom ? A quoi sert le numéro de sécurité sociale ?

3 - Exo Pokemons

Dans l'une des prochaines activités, nous allons travailler sur un jeu de données stocké dans un fichier dit CSV et qu'un tableau sait ouvrir et lire. Il contient les caractéristiques des Pokemons. En voici un extrait :

CSV dans un tableur

✎ 07° Combien d'enregistrement sont-ils visibles sur cette photo d'écran ?

✎ 08° Quelle est la lettre caractérisant le descripteur points de vie (HP pour Hit Points en anglais) ?

✎ 09° La cellule G4 sélectionnée fait référence à 82. Quel est le descripteur correspondant ?

✎ 10° Trouver le ou les Pokemons de type Feu qui possèdent une attaque supérieure à 80 et une défense supérieure à 80. Pensez-vous qu'on peut programmer facilement ce type de requête ?

4 - Trois formats de données structurées

Partie optionnelle en fonction du temps restant.

L'activité suivante repsrend les notions de toutes manières.

Voici 3 façons de stocker les données de façon structurée.

Dans les trois cas ci-dessous, vous allez voir qu'il s'agit ni plus, ni moins qu'un fichier texte dans lequel le système informatique pourra naviguer facilement.

4.1 - Le format CSV

CSV veut dire Comma-Separated Value : valeur séparée par des virgules.

  • Le début et la fin de la collection sont simplement le début et la fin du fichier-texte.
  • Une ligne par enregistrement.
  • Chaque descripteur est fourni sur la ligne dans un ordre précis. C'est le passage à la ligne qui permet au système de détecter et séparer les enregistrements.
  • Les valeurs des descripteurs sont séparées par des virgules ou des points virgules.
  • Option : La première ligne peut contenir les noms des descripteurs et pas un enregistrement.

A titre d'exemple voici la représentation CSV d'un tableau contenant la collection ci-dessous :

Collection Attributs
Identifiant Type Utilisation Couleur
Enregistrements 0 Voiture Sport Rouge
1 Hélicoptère Tourisme Marron
2 Voiture Sport Rouge

Contenu du fichier vehicules.csv :

1 2 3 4
Identifiant, Type, Utilisation, Couleur 0, Voiture, Sport, Rouge 1, Hélicoptère, Tourisme, Marron 2, Voiture, Sport, Rouge

Nous verrons qu'un tableur est capable d'ouvrir les fichiers CSV.

✎ 11° En utilisant un simple éditeur de texte comme Notepad ou Notepad++, réaliser un fichier CSV contenant au moins 3 chansons dont voici les descripteurs et leurs ordres :

  1. Le "nom" de la chanson
  2. L'"interprète" (le chanteur ou le groupe si c'est un groupe)
  3. Le "genre" du morceau (en minuscules): rap, pop, rock, ...
  4. L'année de "sortie" du morceau
  5. La durée en "minutes" sous forme d'un entier (inutile de rajouter les secondes)
  6. votre "notation" entre 0 (c'est nul) et 5 (c'est top)

Envoyer le fichier via l'ENT pour que je puisse centraliser les morceaux pour la prochaine séance.

4.2 - Le format XML

XML veut dire Extensible Markup Language : il s'agit d'utiliser des balises pour identifier le contenu, comme en HTML.

  • Le début et la fin de la collection sont identifiés par l'utilisation d'une balise d'ouverture et de fermeture qui porte le nom de la collection, comme <collec> et </collec>.
  • Le début et la fin d'un enregistrement sont identifiés par l'utilisation d'une balise d'ouverture et de fermeture qui porte le même nom pour tous les enregistrements, comme <vehicule> et </vehicule>.
  • Chaque descripteur est également identifié par une balise spécifique ouverture-fermeture. On devra donc retrouver ces balises autant de fois qu'il y a d'enregistrements. Exemple : <type> et </type>.

A titre d'exemple voici la représentation XML d'un tableau contenant la collection ci-dessous :

Collection Attributs
Identifiant Type Utilisation Couleur
Enregistrements 0 Voiture Sport Rouge
1 Hélicoptère Tourisme Marron
2 Voiture Sport Rouge

Contenu du fichier vehicules.xml :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
<collec> <vehicule> <identifiant>0</identifidant> <type>Voiture</type> <utilisation>Sport</utilisation> <couleurn>Rouge</couleur> </vehicule> <vehicule> <identifiant>1</identifidant> <type>Hélicoptère</type> <utilisation>Tourisme</utilisation> <couleurn>Marron</couleur> </vehicule> <vehicule> <identifiant>2</identifidant> <type>Voiture</type> <utilisation>Sport</utilisation> <couleurn>Rouge</couleur> </vehicule> </collec>
4.3 - Le format JSON

JSON veut dire JavaScript Object Notation : il s'agit d'un format classique pour réaliser des échanges de données structurées en petites quantités en un serveur et un client.

  • La collection est entourée par des crochets []. Le début correspond à [ et la fin à ].
  • Chaque enregistrement est entouré par des accollades {}. Le début d'un enregistrement correspond à { et la fin à }.
  • Chaque enregistrement est séparé des autres par une virgule.
  • Chaque descripteur apparaît sous forme d'un string suivi du caractère de séparation : suivi de la valeur de ce descripteur pour cet enregistrement. Exemple : "type":"Sport".
  • Chaque descripteur est séparé des autres par une virgule.
  • Les valeurs peuvent être représentées soit comme des strings, soit comme des nombres.

A titre d'exemple voici la représentation JSON d'un tableau contenant la collection ci-dessous :

Collection Attributs
Identifiant Type Utilisation Couleur
Enregistrements 0 Voiture Sport Rouge
1 Hélicoptère Tourisme Marron
2 Voiture Sport Rouge

Contenu du fichier vehicules.json :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
[ { "identifiant":0, "type":"Voiture", "utilisation":"Sport", "couleur":"Rouge" }, { "identifiant":1, "type":"Hélicoptère", "utilisation":"Tourisme", "couleur":"Marron" }, { "identifiant":2, "type""Voiture", "utilisation":"Sport", "couleur":"Rouge" } ]

Voici pour l'introduction. Vous devriez un peu mieux comprendre comment on parvient à obtenir les listes des personnes de plus de 40 ans, de sexe masculin, qui ont une voiture rouge dont le numéro de la plaque d'immatriculation contient TZ... Le tout est d'avoir les fichiers contenant ces informations et que ces informations soient structurées.

Activité publiée le 27 04 2021
Dernière modification : 27 04 2021
Auteur : ows. h.