- Fichier (informatique)
-
Pour les articles homonymes, voir Fichier.
En informatique un fichier est une collection d'informations numériques réunies sous un même nom, enregistrée sur un support de stockage tel qu'un disque dur, un CD-ROM, ou une bande magnétique, et manipulées comme une unité[1],[2].
En vue de faciliter leur localisation, les fichiers sont classés dans des systèmes de fichier: organisations hiérarchiques de catégories appelées par analogie répertoires ou dossiers, ou chaque catégorie peut contenir d'autres catégories[2].
Le nom du fichier sert à décrire le contenu. Ce nom comporte souvent un suffixe - l´extension, qui renseigne sur la nature des informations et le logiciel utilisé pour les manipuler. Chaque fichier comporte un certain nombre de métadonnées - des informations concernant les informations: la longueur du fichier, son auteur, les personnes autorisées à le manipuler, ainsi que la date de la dernière modification[2].
L'essence du fichier sont les informations qu'il contient. Le format de fichier est la convention selon laquelle les informations ainsi que les métadonnées sont numérisées et emballées dans le fichier. Le format du fichier est propriétaire lorsque la convention n'est connue que de son auteur et n'a jamais été publiée. Selon la nature et le format du contenu, les fichiers peuvent être qualifiés d'exécutables, de compressés, de textes, de documents, d'images, d'audio ou de vidéos[3].
Avant l'arrivée des ordinateurs, les fichiers étaient des piles de fiches réunies dans des classeurs. L'utilisation des ordinateurs et du stockage magnétique a facilité et accéléré la manipulation de grands fichiers tels que ceux utilisés dans le commerce et l'administration publique[4]. La manipulation des fichiers est un des services classiques offerts par les systèmes d'exploitation[5].
Sommaire
Contenu
Article connexe : format de fichier.Le contenu est l'essence du fichier. Il existe des centaines, voire des milliers de types de fichiers, qui se différencient par la nature du contenu, le format, le logiciel utilisé pour manipuler le contenu, et l'usage qu'en fait l'ordinateur. La nature du contenu peut être des textes, des images, de l'audio ou de la vidéo[6],[2].
Le format de fichier est la convention selon laquelle les informations sont numérisées et organisées dans le fichier et sert d'emballage dans lequel sera mis le contenu ainsi que les métadonnées. L´extension est un suffixe ajouté au nom du fichier, et destiné à renseigner sur le format du fichier et le logiciel à utiliser pour le manipuler[2]. Chaque fichier peut être enregistré n'importe où dans le système de fichiers, et le logiciel qui le manipule propose un emplacement conventionnel de stockage[2]. Certains formats sont dit propriétaire, c'est-à-dire que le format n'est connu que de son auteur et n'a jamais fait l'objet de publications[3].
Les principales catégories de fichiers sont:[6]
- exécutable: fichiers qui peuvent être exécutés par l'ordinateur - autrement dit des programmes.
- compressés: des fichiers codés selon un procédé qui les rends plus petit que le fichier original non codé. Un programme décompresseur est nécessaire pour effectuer le codage inverse et retrouver ainsi le fichier original. voir compression de données.
- images, audio et vidéo: des fichiers qui contiennent des images et du son sous une forme exploitable par l'ordinateur. De tels fichiers peuvent contenir des photos, des pictogrammes, des graphiques, des chansons, de la musique, des émissions radio, ou des films.
- documents: Il s'agit de documents écrits, destinés à être imprimés et lus. Le fichier contient le texte ainsi que les informations de typographie (polices de caractères, couleurs).
- fichiers texte: les fichiers texte brut contiennent des textes écrits, sans indications de typographie. Il peut s'agir de textes destinés aux humains tels que des modes d'emploi, ou des brouillons; ou alors de textes destinés à l'ordinateur tels que du code source ou des données pour un programme.
Les extensions courantes sur Internet sont:[7]
- textes et documents: .asc, .doc, .htm, .html, .txt, .msg
- images: .gif, .jpg, .bmp, .png, .eps, .tif
- audio: .au, .wav, .ra, .ram
- vidéo: .avi, .mpg, .mov
- exécutables: .exe, .com, .bat
- compressés: .arc, .zip, .z, .arj, .tar, .sit, .gz
Histoire
1950, un fichier de cartes perforées, ancêtre des fichiers informatiquesLe fichage - la collecte de renseignements - est une pratique qui date de l'antiquité. Les premières fiches au sens de supports d'informations étaient des plaquettes gravées par les Babyloniens en 400 av. J. C[4]. À la fin du 19e siècle, le terme "fiche" est (entre autres) défini comme une "feuille de carton sur laquelle on écrit des titres d'ouvrages, que l'on classe alphabétiquement dans des boîtes, et auxquelles on recourt pour trouver le volume dans la bibliothèque. On s'en sert aussi pour préparer des tables de matières."[8]. De là est plus tard dérivé le terme "fichier", qui désigne un recueil de fiches et, par extension, le meuble destiné à les contenir[9].
Au début du 20e siècle, avant l'arrivée des ordinateurs, l'utilisation de fiches documentaires était courante dans de nombreux domaines. Les informations étaient consignées sur des feuilles de papier ou de carton, dans documents, des formulaires, des dossiers, rangés dans les tiroirs d'une armoire. C'est en particulier dans l'administration publique, le commerce et l'industrie que se trouvaient les plus grands fichiers. L'enregistrement, puis la mise à jour de toutes les informations contenues sur les documents demandait un effort considérable et prenait beaucoup de temps. Elle a pu être simplifiée par l'utilisation de cartes perforées, dont la lecture pouvait être réalisée par des machines[4],[10].
En 1950, les fichiers informatique se présentaient sous la forme d'une pile de cartes perforées, qu'un appareil lisait sans intervention humaine. Elles pouvaient ainsi être traitées 100 fois plus vite que si les informations avaient été introduites manuellement. De tels fichiers étaient cependant volumineux et ont rapidement été remplacées par des dispositifs de stockage magnétique, plus compacts et plus rapides: une bobine de bande magnétique peut contenir autant d'informations qu'une pile de cartes de 60 mètres de haut et le contenu de la bande magnétique peut être lu 100 fois plus vite que celui d'un fichier de cartes perforées[4].
L'organisation des fichiers sur bande magnétique était analogue à celle des fichiers de carte perforées: ils étaient composés d'enregistrements, chaque enregistrement correspondant à un ensemble d'informations sur un même sujet. Chaque enregistrement contenait un certain nombre de champs, dans lesquels on trouvait des renseignements en rapport avec le sujet. Dans le cas d'un fichier concernant un étudiant, par exemple, les différents champs pouvaient contenir le nom, le prénom, l'âge, les résultats scolaires, etc. Diverses informations sur un même sujet pouvaient être réparties entre différents fichiers[11] Les fiches enregistrées sur bande magnétique étaient lues une par une, dans l'ordre ou elles étaient enregistrées sur la bande; ce procédé appelé fichier séquentiel était utilisé pour le décompte des salaires, ainsi que des abonnements de téléphone et de gaz[4].
Depuis 1980, les systèmes d'exploitation tel Unix offrent la possibilité de stocker de grande quantités d'informations, de les rechercher et de les classer d'une manière analogue à un bloc-notes dans une hiérarchie ou chaque répertoire peut contenir d'autres répertoires[12],[13].
Mise en oeuvre
Article connexe : système de fichiers.Dans les années 1950 les informations destinées à être manipulées par ordinateur étaient des piles de fiches en carton. Puis ils ont été remplacés par des enregistrements numériques sur bande magnétique, ce qui a permis d'accélérer les calculs et économiser de la place. L'appareil de lecture lisait la bande par blocs d'environ 1000 octets, et la bande comportait un répertoire, sorte de catalogue qui contient le nom de tout les fichiers enregistrés sur la bande. Lors de la lecture, l'appareil déroule la bande, et lit le contenu du fichier dans l'ordre ou il a été enregistré; c'est le procédé du fichier séquentiel[4].
En 2010, la manipulation de fichiers est un service classique offert par les systèmes d'exploitation. Le système d'exploitation permet de créer, d'altérer ou de supprimer des fichiers ainsi que des répertoires; il réserve la place nécessaire sur le support de stockage pour le contenu et les métadonnées et impose des conventions sur les noms des fichiers et des répertoires[5]. Le support est divisé en blocs de taille fixe. Un logiciel entretient les structures nécessaires pour conserver la hiérarchie des répertoires et répartir les fichiers ainsi que les métadonnées sur le support de stockage[1].
L'enregistrement du fichier nécessite typiquement plusieurs blocs. le fichier est dit fragmenté si les blocs ne sont pas contigus. Les métadonnées qui accompagnent les fichiers sont: la longueur du fichier, son auteur, les personnes autorisées à le manipuler, la date de la dernière modification, ainsi que la liste des espaces libre sur le support[1].
Les systèmes d'exploitation Mac OS de Apple, créent deux hiérarchies par support de stockage: une est destinée à enregistrer le contenu du fichier, tandis que l'autre - le resource fork est destinée à contenir les métadonnées[14].
Le logiciel NTFS de Microsoft enregistre les métadonnées dans les fichiers $MFT et $Secure, les informations standard enregistrées dans ces fichiers sont les dates de création, de modification et de manipulation du fichier[15].
Divers format de fichiers permettent d'enregistrer des métadonnées à l'intérieur du fichier. C'est le cas du format de documents PDF, des images numériques au format JPEG ainsi que des documents au formats de Microsoft Office[15].
Objets du système de fichiers
Un système de fichiers est une structure de classement organisé des informations enregistrées dans une mémoire. Le système de fichiers 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 œuvre 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.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.
- la somme de contrôle (checksum) : 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 types 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é.
Fichiers et documents sur le Macintosh
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.
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.
Notes et références
- (en)EMC Education Services - Lastemc,Information Storage and Management: Storing, Managing, and Protecting Digital Information,John Wiley and Sons - 2010,(ISBN 9780470618332)
- (en)Dan Oja - June Jamrich Parsons,Computer Concepts Illustrated: Enhanced Introductory,Cengage Learning - 2009,(ISBN 9780324788921)
- (en)Andreas Mauthe - Peter Thomas,Professional content management systems: handling digital media assets,John Wiley and Sons - 2004,(ISBN 9780470855423)
- (en)F. J. M. Laver,An introduction to the uses of computers,CUP Archive - 1976,(ISBN 9780521290357)
- (en)Shibu,Intro To Embedded Systems 1E,Tata McGraw-Hill Education - 2009,(ISBN 9780070145894)
- (en)John R. Levine - Margaret Levine Young,The Internet For Dummies,John Wiley & Sons - 2010,(ISBN inconnu)
- (en)K. L. JAMES,THE INTERNET : A USER'S GUIDE,PHI Learning Pvt. Ltd. - 2010,(ISBN 9788120340299)
- http://dvlf.uchicago.edu/mot/fiche
- http://dvlf.uchicago.edu/mot/fichier
- (en)Ilpo Laine - Olli Lehto - Tuomas Sorvali,Complex analysis, Joensuu 1978: proceedings of the Colloquium on Complex Analysis, Joensuu, Finland, August 24-27, 1978,Springer - 1979,(ISBN 9780387095530)
- (en)James Samuel Coleman - Nancy L. Karweit,Information systems and performance measures in schools,Educational Technology - 1972,(ISBN 9780877780380)
- (en)B. C. Wonsiewicz,Computer Automation of Materials Testing - STP 710, ASTM International - 1980,(ISBN 9780803102675)
- (en)Wai-Kai Chen,The electrical engineering handbook, Academic Press - 2005, (ISBN 9780121709600)
- (en)Kevin M. White,Mac OS X support essentials v10.6,Peachpit Press - 2009,(ISBN 9780321635341)
- (en)Eoghan Casey,Handbook of Digital Forensics and Investigation,Academic Press - 2009,(ISBN 9780123742674)
Voir aussi
Articles connexes
Catégories :- Système de fichiers
- Terminologie de l'informatique
Wikimedia Foundation. 2010.