Stockage de données
Stockage de données
Objectifs cantonaux : O5.1, O5.2. Semaine dédoublée (×2, groupes A/B séparés).
Cours complet sur la plateforme Runestone de Cédric Donner : Supports de stockage.
Après plusieurs mois consacrés à la programmation puis à la représentation binaire des nombres, du texte et des images, on s’intéresse maintenant à la manière dont ces données sont concrètement organisées et conservées sur un ordinateur : les fichiers et l’arborescence de dossiers qui les contient.
Le fichier, unité de base du stockage
▷ Définition — Fichier
Un fichier est une suite d’octets enregistrée sur un support de stockage (disque dur, SSD, clé USB, …) sous un nom, et à laquelle on peut accéder plus tard. Un fichier peut contenir n’importe quoi : du texte, une image, un programme, de la musique, …
Un fichier est décrit par plusieurs informations qui l’accompagnent, sans faire partie de son contenu :
▷ Métadonnées d’un fichier
- Nom — l’identifiant choisi par l’utilisateur ou le programme qui a créé le fichier.
- Extension — suffixe après le dernier point du nom (
.txt,.png,.py, …), qui indique le type de contenu et le programme censé l’ouvrir. - Taille — volume de données occupé, en octets (ou multiples : Ko, Mo, Go — vu la semaine dernière).
- Dates — date de création et date de dernière modification.
- Propriétaire / droits d’accès — qui a le droit de lire, modifier ou exécuter le fichier (important sur un ordinateur partagé par plusieurs comptes).
! L’extension n’est qu’une convention
Rien n’empêche de renommer photo.png en photo.txt : le contenu réel (les octets qui composent l’image) ne change pas, seule l’extension change. Le système d’exploitation se fiera à cette nouvelle extension pour choisir un programme d’ouverture — souvent le mauvais, puisque le contenu reste une image. L’extension est une indication, pas une garantie.
Fichiers texte et fichiers binaires
▷ Définition — Deux grandes familles de fichiers
- Fichier texte
-
Contient uniquement des caractères codés selon une table connue (ASCII, UTF-8, …) — voir la semaine sur Unicode. Lisible directement par un éditeur de texte quelconque :
.txt,.py,.csv,.md, … - Fichier binaire
- Contient des octets qui n’ont de sens que pour un programme précis, capable de les interpréter selon un format défini (position des pixels et couleurs pour une image, échantillons audio pour un son, …). Ouvrir un fichier binaire dans un éditeur de texte affiche des caractères illisibles, car le contenu n’a jamais été prévu pour être lu comme du texte.
Un fichier .png est binaire : ses octets encodent une grille de pixels (vue en semaine sur la représentation des images). Un fichier .svg, lui, décrit une image sous forme de texte (des instructions de dessin comme « trace un cercle de rayon 50 ») : il est donc lisible dans un éditeur de texte, contrairement au .png.
Organiser les fichiers : l’arborescence
Un ordinateur contient rapidement des milliers de fichiers. Pour s’y retrouver, le système d’exploitation les organise en dossiers (ou « répertoires »), eux-mêmes rangés dans d’autres dossiers : une structure en arbre.
▷ Définition — Arborescence de fichiers
L’arborescence est la structure hiérarchique des dossiers et fichiers d’un support de stockage. Elle part d’un dossier racine (/ sur macOS/Linux, C:\ sur Windows), qui contient des dossiers, qui contiennent eux-mêmes d’autres dossiers ou des fichiers, et ainsi de suite.
◈ Syntaxe — Chemins absolus et relatifs
Un chemin décrit la position d’un fichier dans l’arborescence, en séparant chaque dossier traversé par / (macOS/Linux) ou \ (Windows) :
- Chemin absolu : part de la racine, décrit la position complète depuis le sommet de l’arborescence.
/Users/eleve/Documents/informatique/devoir.py - Chemin relatif : part de l’endroit où l’on se trouve déjà (le dossier « courant »), sans repartir de la racine.
informatique/devoir.py(si l’on est déjà dansDocuments)
/Users/eleve/Documents/informatique/devoir.py se lit ainsi : depuis la racine (/), on entre dans Users, puis eleve, puis Documents, puis informatique, et l’on y trouve le fichier devoir.py. Chaque / correspond à un niveau de descente dans l’arborescence.
! Deux fichiers ne peuvent pas porter le même nom au même endroit
Dans un même dossier, deux fichiers ne peuvent pas avoir strictement le même nom (y compris extension). C’est pourquoi le chemin complet (dossier + nom + extension) identifie un fichier de manière unique, même si le même nom de fichier se retrouve dans deux dossiers différents sans conflit.
Les mains à la pâte
- Ouvrez l’explorateur de fichiers (Finder / Explorateur Windows) de votre ordinateur et localisez le dossier contenant vos documents de cours.
- Notez le chemin absolu complet de ce dossier.
- Créez une arborescence de dossiers pour organiser vos cours (par exemple : un dossier par branche, avec un sous-dossier par semaine) et déplacez-y quelques fichiers existants.
- Renommez volontairement l’extension d’un fichier texte inoffensif (copie d’un fichier, pas l’original !) et observez ce qui se passe lorsque vous essayez de l’ouvrir.