Files
SNT/sequences/donnees_structurees/README.md

449 lines
14 KiB
Markdown
Raw Normal View History

# Données structurées et leur traitement
> Chaque jour, nous produisons et consommons des quantités gigantesques de données : messages, photos, achats, positions GPS, statistiques sportives...
>
> Mais comment ces données sont-elles organisées ? Comment peut-on les exploiter pour en tirer des informations utiles ?
---
## Le Programme
| Contenus | Capacités attendues |
|----------|---------------------|
| Données, descripteurs, valeurs, types | Identifier les descripteurs et les valeurs d'une collection de données |
| Formats de fichiers (CSV, JSON) | Ouvrir et manipuler des fichiers de données structurées |
| Traitement de données | Trier, filtrer et effectuer des calculs sur des données |
| Open data | Trouver et exploiter des données ouvertes |
| Cloud et données personnelles | Comprendre les enjeux du stockage des données |
---
## Qu'est-ce qu'une donnée ?
### Définition
Une **donnée** est une information représentée sous une forme conventionnelle, permettant son traitement par un ordinateur.
**Exemples de données** :
- Votre nom, prénom, date de naissance
- Le prix d'un article
- La température relevée par un capteur
- Le nombre de likes sur une publication
### Données brutes vs informations
| Concept | Description | Exemple |
|---------|-------------|---------|
| **Donnée brute** | Valeur sans contexte | `37.5` |
| **Information** | Donnée avec du sens | `Température corporelle : 37.5°C` |
> Une donnée devient une **information** quand on lui donne un contexte et une signification.
---
## Les données structurées
### Organisation en tableau
Les données structurées sont organisées de manière régulière, généralement sous forme de **tableau** :
| Prénom | Âge | Ville | Sport préféré |
|--------|-----|-------|---------------|
| Emma | 15 | Genech | Handball |
| Lucas | 16 | Orchies | Football |
| Léa | 15 | Templeuve | Danse |
| Noah | 16 | Genech | Basketball |
### Vocabulaire essentiel
| Terme | Définition | Exemple |
|-------|------------|---------|
| **Collection** | Ensemble de données du même type | Le tableau des élèves |
| **Objet** | Un élément de la collection | Une ligne du tableau (un élève) |
| **Descripteur** | Caractéristique décrite (colonne) | Prénom, Âge, Ville, Sport préféré |
| **Valeur** | Contenu d'une case | "Emma", 15, "Genech" |
### Types de données
Chaque valeur a un **type** qui détermine comment elle est traitée :
| Type | Description | Exemples |
|------|-------------|----------|
| **Texte** (chaîne de caractères) | Suite de caractères | "Emma", "Genech", "Handball" |
| **Nombre entier** | Nombre sans décimales | 15, 16, 2024 |
| **Nombre décimal** | Nombre avec décimales | 1.75, 37.5, 9.99 |
| **Booléen** | Vrai ou faux | Vrai, Faux |
| **Date** | Date et/ou heure | 15/01/2024, 14:30:00 |
### Activité : Identifier les descripteurs
✏️ **À faire** : Observez ce tableau de jeux vidéo et identifiez :
| Titre | Studio | Année | Note | Multijoueur |
|-------|--------|-------|------|-------------|
| Minecraft | Mojang | 2011 | 9.2 | Vrai |
| Fortnite | Epic Games | 2017 | 8.5 | Vrai |
| Zelda TOTK | Nintendo | 2023 | 9.8 | Faux |
| FIFA 24 | EA Sports | 2023 | 7.5 | Vrai |
1. Combien d'objets contient cette collection ?
2. Quels sont les descripteurs ?
3. Quel est le type de chaque descripteur ?
4. Quelle est la valeur du descripteur "Studio" pour "Fortnite" ?
---
## Les formats de fichiers
### Le format CSV
**CSV** signifie *Comma-Separated Values* (valeurs séparées par des virgules). C'est un format texte simple pour stocker des données en tableau.
**Exemple de fichier `eleves.csv`** :
```csv
Prénom,Âge,Ville,Sport
Emma,15,Genech,Handball
Lucas,16,Orchies,Football
Léa,15,Templeuve,Danse
Noah,16,Genech,Basketball
```
**Caractéristiques** :
- Première ligne = noms des descripteurs
- Une ligne = un objet
- Valeurs séparées par des virgules (ou points-virgules en France)
- Fichier lisible avec un simple éditeur de texte
> **Attention** : En France, on utilise souvent le point-virgule (`;`) comme séparateur car la virgule est utilisée pour les nombres décimaux (3,14 au lieu de 3.14).
### Le format JSON
**JSON** signifie *JavaScript Object Notation*. C'est un format plus structuré, très utilisé sur le web.
**Exemple de fichier `eleves.json`** :
```json
[
{
"prenom": "Emma",
"age": 15,
"ville": "Genech",
"sport": "Handball"
},
{
"prenom": "Lucas",
"age": 16,
"ville": "Orchies",
"sport": "Football"
}
]
```
**Caractéristiques** :
- Utilise des accolades `{}` pour les objets
- Utilise des crochets `[]` pour les listes
- Descripteurs entre guillemets
- Plus lisible mais plus volumineux que CSV
### Comparaison des formats
| Critère | CSV | JSON |
|---------|-----|------|
| **Lisibilité** | Simple | Structuré |
| **Taille** | Compact | Plus volumineux |
| **Hiérarchie** | Non (tableau plat) | Oui (données imbriquées) |
| **Usage** | Tableurs, exports | Web, APIs |
| **Ouverture** | Excel, LibreOffice | Navigateurs, éditeurs de code |
---
## Traitement des données
### Les opérations de base
| Opération | Description | Exemple |
|-----------|-------------|---------|
| **Trier** | Ordonner selon un critère | Trier par âge croissant |
| **Filtrer** | Garder certaines lignes | Garder seulement les élèves de Genech |
| **Rechercher** | Trouver une valeur | Trouver l'élève "Emma" |
| **Calculer** | Effectuer des opérations | Calculer l'âge moyen |
| **Croiser** | Combiner des données | Ajouter les notes à partir d'un autre fichier |
### Exemple avec un tableur
Dans LibreOffice Calc ou Excel :
**Trier** :
1. Sélectionner le tableau
2. Menu Données → Trier
3. Choisir le critère de tri
**Filtrer** :
1. Sélectionner le tableau
2. Menu Données → Filtre automatique
3. Cliquer sur la flèche d'un descripteur pour filtrer
**Calculer** :
- `=MOYENNE(B2:B5)` → calcule la moyenne des âges
- `=NB.SI(C2:C5;"Genech")` → compte les élèves de Genech
- `=MAX(B2:B5)` → trouve l'âge maximum
### Activité : Manipuler des données
✏️ **À faire** avec LibreOffice Calc :
1. Téléchargez un fichier CSV (ou créez-en un)
2. Ouvrez-le dans LibreOffice Calc
3. Triez les données par ordre alphabétique
4. Filtrez pour n'afficher que certaines lignes
5. Calculez une moyenne, un maximum, un minimum
---
## Les données ouvertes (Open Data)
### Qu'est-ce que l'Open Data ?
L'**Open Data** désigne des données accessibles librement et gratuitement, que chacun peut utiliser, modifier et partager.
**Principes** :
- Accès libre et gratuit
- Format ouvert et exploitable
- Licence permettant la réutilisation
### Exemples de données ouvertes
| Source | Données disponibles |
|--------|---------------------|
| [data.gouv.fr](https://www.data.gouv.fr) | Données publiques françaises |
| [INSEE](https://www.insee.fr) | Statistiques démographiques et économiques |
| [OpenStreetMap](https://www.openstreetmap.org) | Données cartographiques |
| [Météo France](https://donneespubliques.meteofrance.fr) | Données météorologiques |
| [SNCF Open Data](https://data.sncf.com) | Horaires, gares, trafic |
### Exemples d'utilisation
- **Applications de transport** : utilisent les données SNCF/RATP
- **Sites météo** : utilisent les données Météo France
- **Cartes** : utilisent OpenStreetMap
- **Journalisme de données** : analyse des données publiques
### Activité : Explorer l'Open Data
✏️ **À faire** :
1. Rendez-vous sur [data.gouv.fr](https://www.data.gouv.fr)
2. Recherchez un jeu de données qui vous intéresse (sport, culture, environnement...)
3. Téléchargez-le au format CSV
4. Ouvrez-le dans un tableur
5. Posez-vous des questions et essayez d'y répondre avec les données
**Exemples de questions** :
- Quelle commune a le plus de... ?
- Quelle est l'évolution de... au fil des années ?
- Y a-t-il une corrélation entre... et... ?
---
## Le Cloud et le stockage des données
### Qu'est-ce que le Cloud ?
Le **Cloud** (nuage) désigne le stockage et le traitement de données sur des serveurs distants, accessibles via Internet.
**Exemples de services Cloud** :
- Stockage : Google Drive, iCloud, OneDrive, Dropbox
- Photos : Google Photos, iCloud Photos
- Musique : Spotify, Deezer, Apple Music
- Documents : Google Docs, Office 365
### Avantages et inconvénients
| Avantages | Inconvénients |
|-----------|---------------|
| Accès depuis n'importe où | Dépendance à Internet |
| Synchronisation automatique | Vie privée (données sur serveurs tiers) |
| Partage facile | Coût des abonnements |
| Sauvegarde automatique | Risque de piratage |
| Pas besoin d'espace local | Consommation énergétique des datacenters |
### Où sont stockées vos données ?
Quand vous utilisez un service Cloud, vos données sont physiquement stockées dans des **datacenters** (centres de données), souvent situés à l'étranger.
> **Question** : Savez-vous dans quel pays sont stockées vos photos Instagram ? Vos messages Snapchat ?
---
## Protection des données personnelles
### Le RGPD
Le **RGPD** (Règlement Général sur la Protection des Données) est une loi européenne entrée en vigueur en 2018.
**Vos droits** :
- **Droit d'accès** : savoir quelles données sont collectées sur vous
- **Droit de rectification** : corriger des données inexactes
- **Droit à l'effacement** : demander la suppression de vos données
- **Droit à la portabilité** : récupérer vos données dans un format exploitable
- **Droit d'opposition** : refuser certains traitements
### La CNIL
La **CNIL** (Commission Nationale de l'Informatique et des Libertés) est l'autorité française qui veille au respect de la vie privée numérique.
**Ses missions** :
- Informer et protéger les citoyens
- Contrôler les entreprises
- Sanctionner les abus
- Conseiller les pouvoirs publics
### Activité : Exercer ses droits
✏️ **À faire** :
1. Choisissez un réseau social que vous utilisez
2. Trouvez comment accéder à vos données personnelles
3. Téléchargez une copie de vos données (si possible)
4. Analysez ce qui a été collecté sur vous
**Exemples** :
- Instagram : Paramètres → Votre activité → Télécharger vos informations
- Google : [takeout.google.com](https://takeout.google.com)
- Facebook : Paramètres → Vos informations Facebook → Télécharger vos informations
---
## Traitement des données en Python
### Lire un fichier CSV
```python
import csv
# Ouvrir et lire un fichier CSV
with open('eleves.csv', 'r') as fichier:
lecteur = csv.DictReader(fichier, delimiter=';')
for ligne in lecteur:
print(ligne['Prénom'], ligne['Âge'])
```
### Filtrer des données
```python
# Filtrer les élèves de plus de 15 ans
eleves_16_ans = []
for ligne in lecteur:
if int(ligne['Âge']) >= 16:
eleves_16_ans.append(ligne)
```
### Calculer une moyenne
```python
# Calculer l'âge moyen
total = 0
nombre = 0
for ligne in lecteur:
total += int(ligne['Âge'])
nombre += 1
moyenne = total / nombre
print(f"Âge moyen : {moyenne}")
```
### Activité : Traiter des données en Python
✏️ **À faire** sur [Notebook](https://notebook.florianmathieu.prof) :
1. Créez un fichier CSV avec des données de votre choix
2. Écrivez un programme Python pour :
- Lire le fichier
- Afficher toutes les données
- Filtrer selon un critère
- Calculer une statistique (moyenne, maximum, etc.)
---
## Métadonnées
### Qu'est-ce qu'une métadonnée ?
Une **métadonnée** est une donnée qui décrit une autre donnée. C'est une "donnée sur la donnée".
**Exemples** :
- Pour une photo : date de prise de vue, appareil utilisé, coordonnées GPS
- Pour un fichier : nom, taille, date de création, auteur
- Pour une chanson : artiste, album, durée, genre
### Métadonnées et vie privée
Les métadonnées peuvent révéler beaucoup d'informations :
| Type de fichier | Métadonnées sensibles |
|-----------------|----------------------|
| **Photo** | Position GPS, date, appareil |
| **Document** | Auteur, historique des modifications |
| **Email** | Expéditeur, destinataires, date, serveurs traversés |
| **Musique** | Historique d'écoute, préférences |
> **Rappel** : Les métadonnées EXIF des photos ont été étudiées dans le chapitre sur la photographie numérique.
---
## Big Data
### Définition
Le **Big Data** désigne des ensembles de données tellement volumineux qu'ils ne peuvent pas être traités par des outils classiques.
### Les 3V du Big Data
| V | Signification | Exemple |
|---|---------------|---------|
| **Volume** | Quantité massive de données | Facebook : 4 pétaoctets/jour |
| **Vélocité** | Vitesse de génération | Twitter : 500 millions de tweets/jour |
| **Variété** | Diversité des formats | Texte, images, vidéos, capteurs... |
### Qui utilise le Big Data ?
- **Réseaux sociaux** : personnalisation du fil d'actualité
- **E-commerce** : recommandations de produits
- **Streaming** : suggestions de films/musiques
- **Santé** : analyse de données médicales
- **Transports** : optimisation du trafic
---
## Pour aller plus loin
- 📖 [CNIL - Comprendre mes traces](https://www.cnil.fr/fr/comprendre-mes-traces)
- 📖 [Data.gouv.fr](https://www.data.gouv.fr) - Plateforme Open Data française
- 🎥 [Do Not Track](https://donottrack-doc.com/fr/) - Webdocumentaire sur le tracking
- 📖 [Mes datas et moi](https://www.yourdigitallife.fr/) - MAIF
---
## Synthèse
Complétez le texte suivant :
Les données structurées sont organisées sous forme de _____________ avec des lignes (objets) et des colonnes (_____________).
Chaque valeur a un _____________ : texte, nombre entier, nombre décimal, booléen ou date.
Le format _____________ stocke les données avec des valeurs séparées par des virgules, tandis que le format _____________ utilise des accolades et des crochets.
Les opérations de base sur les données sont : _____________, filtrer, rechercher et _____________.
L'_____________ Data désigne des données librement accessibles et réutilisables.
Le _____________ protège nos données personnelles en Europe et la _____________ veille à son application en France.
---
Auteur : Florian Mathieu
Licence CC BY NC
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> <br />Ce cours est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.