Table des matières
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 :
Qualité/professionnalisme du service rendu : images lisibles, fichiers légers, mise en page conservée ou autre.
Interopérabilité : les correspondant peuvent ouvrir les documents et pratiquer dessus les opérations attendues.
Performance : aisance de travail, rapidité d'exécution, pas de perte de temps inutile etc.
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.