Chapitre 3. Types usuels de fichiers

Table des matières

1. Documents, formats et fichiers
2. Archives et fichiers compressés
2.1. Formats de compression
2.2. Formats d'archivage
3. Documents textuels
3.1. PDF
3.2. Traitements de texte
3.3. Technologie web
4. Images fixes
4.1. Bitmaps “sans” perte en “vraies” couleurs
4.2. Bitmaps “sans” perte en couleurs indexées
4.3. Bitmaps avec pertes
4.4. Résumé synoptique sur les bitmaps
4.5. Dessins vectoriels

On traitera ici les principaux types de fichiers usuels, à l'exclusion des fichiers multimédias, traités plus spécifiquement dans d'autres cours spécialisés.

Il est important de bien choisir le codage des données que l'on transmet à ses correspondants pour les raisons suivantes :

1. Documents, formats et fichiers

Un fichier est généralement défini par deux éléments (au moins) : son nom et son contenu.

  • Contenu.- Les informations stockées sont toujours codées à l'aide d'un type de fichiers particulier (GIF, PDF v. 2, PNG, XHTML 1.0, MS Word 2000 etc.). Les serveurs web détermine le plus souvent le type de fichier à l’aide de l’extension : c'est très rapide mais aussi assez approximatif (quelle version de HTML, de Word ?) voire, parfois, ambigu.

  • Nom.- Il s'agit du nom proprement dit, suivi d'une ou plusieurs extensions (de un à quatre caractères, généralement) précédées chacune d'un point. Chaque extension donne des indications (pas toujours fiables) sur le format des données. Par exemple (fictif) : abc.fr.html.gz indique un fichier compressé contenant une page web rédigée principalement en français.

Traditionnellement, les extensions servaient à définir précisément le format de donnée des fichiers sur les ordinateurs de type PC-windows. Sur les ordinateurs de type MacIntosh, les fichiers contenaient en plus du contenu proprement dit un certain nombre de ressources, notamment des métadonnées, précisant : une icône, le format des données etc. Sur les ordinateurs Unix, cette information n'était généralement pas codée explicitement dans la mesure où chaque fichier commence généralement par quelques octets significatifs du format (appelés magic numbers). Par exemple les fichiers PDF en version 1.4 commencent par %PDF-1.4.

La diversité de ces procédés posait des problèmes pour l’interopérabilité entre les différents systèmes d’exploitation, provoquant des pertes de données ou des « scories ». Les difficultés les plus courantes concernaient l’ouverture des pièces jointes des courriers électroniques. De plus, aujourd'hui, les formats de fichiers sont trop nombreux pour que les méthodes traditionnelles soient suffisantes. On a donc défini une manière plus précise de spécifier le type d'encodage d'une donnée : le type MIME. Le registre MIME référence tous les principaux formats de données. Pour un fichier HTML, le type MIME est : text/html. De façon générale un type MIME est composé de deux parties : le type principal (text pour le cas précédent), suivi d'un sous-type (html dans ce cas). Ces deux informations sont éventuellement complétées d'informations complémentaires (jeu de caractère ou version du format, le plus souvent).

Les principaux types MIME :

  • text : textes, au sens large (text/plain, text/html, text/xml, text/rtf,...),

  • image : image/jpeg, image/gif, image/png,

  • audio : audio/mpeg (pour le MP3),

  • video : video/mpeg,

  • message : message/rfc822 (courrier électronique),

  • multipart : regroupement de parties de nature différente (pour des pièces jointes de courriers électroniques),

  • application : données dans un format spécifique à une application donnée,

  • model : description de scène 3D (model/vrml).

Les types MIME permettent de spécifier les données dans des contextes très variés. Initialement, il fut créé pour le courrier électronique : MIME signifie Multipurpose Internet Mail Extensions, pour préciser le format du message et des pièces jointes. Ces types MIME peuvent être complétés d'autres indications : jeu de caractère, nom des pièces jointes etc.

Aujourd'hui, le type MIME est utilisé par les serveurs web pour indiquer aux clients web (les navigateurs) le format des données envoyées. Ces navigateurs appliquent scrupuleusement cette information, pour des raisons d'efficacité. Toujours pour des raisons d'efficacité les serveurs web déterminent le format des données le plus souvent d'après l'extension des noms de fichiers. Il est donc impératif de faire extrêmement attention à cette information. Les serveurs les plus évolués peuvent être configurés pour utiliser la méthode Unix, mais ceci est plus long et peut donc nuire au service rendu.