- Fichier Informatique
-
Fichier informatique
En informatique, un fichier est un lot d'informations portant un nom et conservé dans une mémoire.
Les fichiers sont la plupart du temps conservés sur des mémoires de masse tels que les disques durs. Les mémoires de masse permettent de conserver à long terme une très grande quantité de fichiers.
Les fichiers sont classés dans des groupes appelés répertoires, chaque répertoire peut contenir d'autres répertoires, formant ainsi une organisation arborescente appelée système de fichiers.
Sommaire
Caractéristiques
- Le chemin d'accès est une formule qui sert à indiquer l'emplacement où se trouve un fichier dans l'arborescence du système de fichier. La syntaxe de la formule diffère d'un système d'exploitation à l'autre.
- La taille du fichier indique la quantité d'informations conservée, exprimée en octets.
- La taille physique indique la place réservé dans la mémoire - en octets - pour conserver le fichier ainsi que ses caractéristiques. La taille physique est légèrement supérieure à la taille du fichier.
- L'extension est un suffixe ajouté au nom du fichier pour indiquer la nature de son contenu. L'usage des extensions est une pratique généralisée sur les systèmes d'exploitation Windows et une pratique courante sur les systèmes d'exploitation Unix.
La date de création et la date de modification donnent des indications sur l'histoire du fichier. Le nom du propriétaire du fichier ainsi que informations de droits d'accès permettent d'interdire la manipulation du fichier à certaines personnes - ceci est utilisé dans les systèmes informatiques multi-utilisateurs.
Le contenu du fichier est une suite d'octets, qui peut représenter n'importe quelle donnée binaire déterministe : un programme informatique, un document, un texte, etc.
Objets du système de fichiers
Un système de fichier est une structure de classement organisé des informations enregistrées dans une mémoire. Le système de fichier peut contenir des fichiers, ainsi que d'autres objets.
- Un répertoire est un groupe d'objets portant un nom. un répertoire peut contenir des fichiers ainsi que des répertoires ou d'autres objets. Les répertoires sont aussi appelés dossiers ou tiroirs.
- Le répertoire racine est le groupe qui contient la totalité des objets du système de fichiers.
- Un lien (lien symbolique ou lien matériel) est un objet portant un nom. Il est placé dans un répertoire et permet d'accéder aux informations se trouvant dans un fichier placé dans un autre répertoire. Les liens sont aussi appelés raccourcis ou alias.
- Sur les systèmes d'exploitation Unix, un descripteur de périphérique est un objet portant un nom, placé dans un répertoire, et qui permet de recevoir et d'envoyer des informations à un périphérique.
Techniquement les liens symboliques et les répertoires sont mis en oeuvre par des fichiers, et sont parfois considérés comme des fichiers spéciaux.
Pour déterminer le type d'un objet, sous Unix et ses dérivés (Linux) ou avec Cygwin sous Windows, la commande
file
peut être utilisée.Types de fichiers
Un fichier texte est un fichier dont le contenu peut être lu comme un texte. Par opposition un fichier binaire n'est pas lisible.
- ASCII (de l'anglais American Standard Code for Information Interchange) et ISO 8859 sont des tables normalisées qui indiquent la correspondance entre une suite de huit bits et un caractère. Les fichiers binaires contiennent des suites de bits qui ne figurent pas dans ces tables.
Fichier texte
Les fichiers texte ont un contenu pouvant être interprété comme du texte, la plupart du temps en codage ASCII ou une extension de ASCII (UTF-8 ou extension régionale). Des fichiers UTF-16 existent également.
Quelques exemples de fichiers textes :
- fichiers XML ;
- code source d'un programme ;
- fichiers de configuration d'un logiciel pouvant être lus et édités par l'utilisateur ;
- fichiers destinés à être lus par l'utilisateur.
Fichier binaire
Le contenu d'un fichier binaire n'est pas du texte et correspond souvent à un format précis. Voici quelques exemples de formats binaires usuels :
- code objet ;
- fichier de base de données structuré en enregistrements de taille fixe ou variable ;
- document de traitement de texte ;
- fichiers multimédias : images, sons, vidéos.
Fichier compressé
Un fichier (texte ou binaire) qui a subi une transformation par un algorithme en vue de diminuer sa taille est appelé fichier compressé. Le fichier transformé est un fichier binaire.
- deflate est un algorithme de compression. Les fichiers ZIP sont des fichiers compressés en utilisant l'algorithme deflate.
Le taux de compression est le rapport entre la diminution de taille par l'algorithme et la taille originale du fichier, exprimée en pourcentage.
Accès
Les données dans les fichiers peuvent être en
- Accès séquentiel
- Accès aléatoire
- En lecture ou en écriture
Intégrité des fichiers
Deux fichiers sont identiques s'ils ont la même taille et s'ils contiennent les mêmes informations dans le même ordre. Comparer tous les octets de deux fichiers potentiellement identiques est malheureusement une opération longue (proportionnelle à la taille du fichier). Elle n'est pas non plus toujours possible, comme dans le cas du transport d'un fichier d'un point à un autre que ce soit via un support physique ou par le réseau.
Différentes méthodes sont utilisées pour vérifier l'intégrité d'un fichier :
- la comparaison des noms : utile uniquement pour le dédoublonage et avec des risques d'erreur tant des faux positifs que des faux négatifs.
- la comparaison des dates ou d'autres métadonnées associées au fichier : il existe un fort risque d'erreur, ces méta-données pouvant être modifiées indépendamment du contenu du fichier.
- la comparaison de numéros informels de versions : la problématique est dans ce cas de repérer une version d'un fichier parmi plusieurs, le système nécessite de la rigueur l'utilisateur devant mettre à jour le numéro de version et ne protège en rien contre les modifications accidentelles, par exemple lors du transport)
- le contrôle de la taille : deux tailles différentes garantissent que des fichiers diffèrent, mais cela ne permet pas de vérifier qu'ils sont identiques, il y a de plus des risques importants de faux positifs)
- le checksum (somme de contrôle) : c'est une méthode simple pour s'assurer de l'intégrité d'un fichier après transport, la méthode n'offre cependant qu'une garantie limitée par le nombre de bits consacrés au checksum, il existe aussi un risque de mauvaise foi un fichier pouvant être facilement falsifié pour produire un cheksum donné)
- la signature ou empreinte : Il existe plusieurs type de signatures: certaines comme les signatures MD5 ou SHA-1 sont similaires à un checksum mais bien plus complexes à falsifier. On compare le résultat d'un calcul de signature réalisé sur le contenu du fichier avec une signature obtenue depuis un site de confiance. D'autres systèmes de signature basés sur un système de clefs publiques valident non seulement l'intégrité d'un fichier mais aussi l'identité de son expéditeur.
Voir Intégrité (cryptographie)
Par ailleurs, un fichier peut être chiffré, ou compressé.
Différence entre fichier et document
Le système d'exploitation du Macintosh utilisait un format de fichier évolué (supporté par HFS et HFS+) qui tend à disparaître à partir de la dixième version. Ce format, outre une certaine quantité de métadonnées, prévoit deux formes de données : la branche des données (data fork), correspondant au fichier de n'importe quel système d'exploitation, et la branche des ressources (resource fork), sorte de répertoire contenant des plus petites unités de données appelées ressources, classées par leur type. L'avantage par rapport au fichier monolithique ordinaire est double : premièrement, l'application peut utiliser une API du système (Boîte à outils Macintosh) pour gérer les données en mémoire ; deuxièmement, l'utilisateur voit un simple fichier qu'il nomme document alors qu'il contient des données hétérogènes, à la manière d'un répertoire. Le tout est évolutif puisqu'on peut toujours ajouter des nouveaux types de ressources sans modifier le format original du fichier. À partir de Mac OS X la notion de bundle (document qui est, en fait, un répertoire), reprend les avantages principaux de la branche des ressources. Un document n'est donc plus forcément un fichier.
L'usage des suffixes dans les noms de fichier
Afin de repérer le format interne d'un fichier, et donc de choisir le logiciel permettant d'exploiter son contenu, il est d'usage de lui donner un suffixe de fichier, souvent désigné par le terme extension. Il s'agit simplement d'un ensemble de caractères conventionnels identifiant un format de document et placé après un point à la fin du nom du fichier. Dans certains cas il est possibles d'enchainer plusieurs suffixes de fichier.
Par exemple : mozilla-i686-pc-linux-gnu-1.5-sea.tar.gz
- .gz indique que le fichier a été compressé au format gzip.
- .tar indique que le fichier contient une arborescence de fichiers (archive au format tar).
Par contre, malgré le point .5-sea n'est pas ici un suffixe véritable. On doit en fait comprendre :
- logiciel : mozilla
- plateforme : i686-pc-linux-gnu
- version : 1.5
sea indique une archive auto-extractible (self extractible archive), un fichier qui en s'exécutant lui-même, extrait son contenu dans un répertoire (folder).
Accès par API
Les systèmes d'exploitation permettent aux utilisateurs, ainsi qu'aux développeurs de logiciels, d'accéder à un fichier dans un système de fichiers grâce à une norme de nommage et le manipuler conformément à une API.
L'API de base inaugurée par UNIX considère les fichiers comme plats, sans structure et ne gère pas le tamponnage niveau utilisateur. L'API de base ne permet guère plus que de définir une position courante, de lire ou écrire. On peut aussi tronquer ou étendre un fichier. À ce niveau un fichier n'est donc qu'une séquence d'octets.
C'est le rôle d'API de plus haut niveau que de se spécialiser pour différents types de fichiers. La simplification de l'API permet de considérer comme fichiers des entités qui n'appartiennent pas nécessairement à un système de fichiers (canaux d'entrées sortie, mémoire vive) et de manipuler ces entités de manière homogène.
Cela est à contraster avec des systèmes de générations précédentes avec des API spécialisées pour chaque composant physique ou imposant des structures aux fichiers sur disque (adressage séquentiel indexé par exemple)
Exemple :
- sous Windows :
- C:\WINNT\system\sys.ini - désignation absolue du fichier sys.ini se trouvant dans le répertoire C:\WINNT\system\ ;
- sys.ini - désignation relative du fichier sys.ini, lorsque l'utilisateur se trouve dans le répertoire C:\WINNT\system\.
- sous Unix :
- /var/spool/mail/r4f - désignation absolue du fichier r4f se trouvant dans le répertoire /var/spool/mail ;
- mail/r4f - désignation relative du fichier r4f se trouvant dans le sous-répertoire mail, lorsque l'utilisateur se trouve dans le répertoire /var/spool/.
Une fois le fichier désigné, on peut le soumettre à un logiciel, afin qu'il le manipule. Certains outils sont destinés à gérer l'emplacement des fichiers (déplacement, nommage, copie), d'autres gèrent le contenu des fichiers afin que l'utilisateur puisse les modifier ou simplement les consulter.
Voir aussi
Articles connexes
- Format de fichier
- Système de fichiers
- Répertoire
- Lien symbolique
- Lien matériel
- Droits sur un fichier
- Fichiers Internet temporaires
- Gestionnaire de fichiers
- Numérisation
- Compression de données
- Serveur de fichier
- Liste d'extensions de fichiers
- Portail de l’informatique
Catégorie : Système de fichiers
Wikimedia Foundation. 2010.