This website is obsolete. Please follow this link or use a search engine to get at the new document root.

CET ARTICLE N'EST PAS TERMINE !!!!!

Les formats de fichier courants

Retour vers la page d'accueil (en Anglais)

Introduction

Alors que le partage d'informations par voie informatique se répand à une vitesse folle (notamment avec la découverte d'Internet par le grand public), il se fait rarement sans douleur. Le problème réside essentiellement dans les conventions utilisées pour mener à bien ce partage.

En effet, même lors d'un acte anodin tel que le prèt d'une cassette vidéo à un ami, on adopte un certain nombre de conventions (on envisage ici le cas de citoyens belges) :

Il suffit de se déplacer de quelques centaines de kilomètres pour que ces conventions changent. Les français, par exemple, utilisent un codage appelé SECAM à la place du PAL. Bien que le support soit tout à fait équivalent (les cassettes sont les mêmes), le film deviendra (partiellement) illisible.

Etant donné les variations culturelles observées d'un pays à l'autre, on se rend vite compte que l'échange d'informations à une échelle mondiale peut devenir un vrai cauchemard. Voici quelques exemples de différences culturelles intervenant dans les communications :

Pour compliquer un peu le tout, le monde informatique nous a abreuvé de solutions parfois ingénieuses mais toujours incompatibles. Ainsi, alors que la majorité des gens utilisent des PC et compatibles, d'autres utilisent des Macintosh, des Sun, Silicon Graphics, ou encore d'autres systèmes plus "exotiques". Même sur une architecture donnée, différentes personnes utilisent des systèmes d'exploitation et des logiciels différents, que ce soit par choix ou par nécessité.

Les standards

Afin d'aider les utilisateurs à s'y retrouver dans cette jungle de possiblités, un certain nombre de standards ont été définis. Certaines personnes font cependant remarquer que « Ce qu'il y a de bien avec les standards, c'est qu'il y en a une infinité parmi lesquels choisir ... ». Certaines sociétés vont même jusqu'à proclamer que leurs solutions propriétaires sont des standards. Du coup, des personnes non informées vont les adopter sans se soucier des conséquences ...

Il est donc important de se limiter aux standards les plus répandus et offrant le plus de flexibilité. Il faut aussi s'assurer de la pérennité du support utilisé. Il n'est pas rare de rencontrer des cas de figure où une personne n'arrive plus à relire un document écrit quelques années auparavant, non pas à cause d'une déterioration du support physique, mais bien parce qu'elle s'était appuyée sur un standard qui n'est plus d'actualité, et ne dispose plus d'aucun logiciel capable de récupérer ses données.

Les formats de fichier courants

Classification

La liste suivante reprend les types de fichiers les plus courants, leurs points forts et faibles, leurs domaines d'application, etc. . Les fichiers sont présentés par leur type MIME (Multimedia Internet Mail Extensions), suivis des extensions couramment rencontrées pour ce type de fichiers (On appelle extension les quelques caractères d'un nom de fichier se trouvant après le dernier point. Par exemple, l'extension du fichier readme.txt est "txt").

Chaque section de la liste traite d'un type de données bien particulier.

Sauf mention contraire, le fait qu'un format soit considéré comme standard n'en fait pas spécialement un candidat pour la publication sur Internet ! Les pages web utilisent en effet un sous-ensemble de ces standards afin de garantir une plus grande interopérabilité.

Liste des formats de fichier considérés

Le transport de texte

Bien qu'étant un des plus simples conceptuellement, le transport de texte est certainement un des échanges de données les plus difficiles à mener à bien dans la pratique. Cette difficulté est liée aux différents languages et jeux de caractères utilisés de par le monde.

text/plain (.txt, .text)

C'est le format de fichier utilisé pour convoyer du texte brut, sans formatage. Un fichier text/plain est totalement inutile si l'on ne connaît pas l'encodage utilisé (celui-ci est cependant souvent déduit de la langue dans laquelle est écrit le texte du fichier).

L'encodage le plus utilisé est ASCII, suivi de ISO-8859-1 (latin1). On trouve aussi un grand nombre de fichiers écrits en IBM-PC, datant de la glorieuse époque de MS-DOS.

Le gros avantage de ce type d'encodage est que les 128 premiers caractères sont identiques dans tous les cas, et contiennent les lettres de "a" à "z", les chiffres de "1" à "9", ainsi qu'un ensemble de symboles courants (mais pas de caractères accentués). Cela permet de garder intact un texte en anglais, et bien souvent de deviner les caractères manquants si l'on ne dispose pas du bon jeu de caractères.

Il est recommandé d'utiliser la famille d'encodages de type "latin" (ISO-8859, voir The ISO 8859 Alphabet Soup -- en Anglais) pour la plupart des langages américains et européens, et la famille UTF (généralement UTF-8, voir Unicode Transformation Formats -- en Anglais) pour les autres langages ou les textes multilingues.

Les fichiers texte sont lus et écrits par la plupart des logiciels (lorsque c'est d'application). Ils peuvent également être publiés tels quels sur Internet, à condition de préciser l'encodage dans les en-têtes HTTP où d'utiliser du pur ASCII (Traditionellement sur Internet, tout encodage non spécifié était considéré comme ISO-8859-1. Ce n'est néanmoins plus le cas dans les versions plus récentes des protocoles standard, il est donc préférable de s'en tenir à du pur ASCII).

Etant donné l'absence de formatage des fichiers texte, ainsi que l'absence de caractères accentués en ASCII, de nombreuses personnes ont recours à de petites astuces : ainsi, il n'est pas rare de voir \'e pour é, *foo* pour foo en gras, _foo_ pour foo souligné, ou encore /foo/ pour foo italique.

text/html (.htm, .html)

Ce type de fichier contient en fait du texte mélangé avec du markup HTML (des mots clés). Le langage HTML est utilisé pour créer des pages web (voir Le langage HTML -- en Français) et permet de structurer le document d'une manière relativement complexe, ainsi que de préciser des attributs de formatage tels que le gras, italique, etc. La version originale de ce document est écrite en HTML.

Dans un fichier HTML, du texte "pur" apparaît entre chaque élément de construction. On se retouve donc avec le même problème d'encodage que pour text/plain. On se reportera à la documentation de ce format pour plus de précisions.

De nombreux logiciels permettent de créer des fichiers HTML, notamment les traitements de texte, tableurs, etc. Il faut néanmoins se méfier de la qualité du HTML généré par ces outils, et il vaut souvent mieux se tourner vers un logiciel dédicacé si l'on veut créer des pages un tant soit peu compliquées. Puisque le HTML est composé de texte, on peut également créer et éditer de tels fichiers avec un simple éditeur.

Etant donné sa grande flexibilité, et le fait qu'il s'agisse du langage standard du World Wide Web, le HTML est supporté par toutes les plateformes. De plus, il permet de créer des liens hypertexte (des "télétransporteurs") facilitant la navigation, la création de tables des matières, etc. Le HTML est donc un des formats privilégiés pour la publication de documents (moyennement) complexes, que ce soit sur Internet ou non. Le HTML étant un standard ouvert et "facile" à implémenter, la pérennité des données est assurée.

text/enriched (.rtf)

NOTE : Je suppose ici que text/enriched est le nom MIME du format RTF. Je ne suis plus du tout certain de la justesse de cette affirmation depuis que j'ai découvert le type text/rtf. Si quelqu'un peut éclairer ma lanterne ...

Le format RTF, introduit par Microsoft, était une tentative de produire un format standard pour le texte mis en forme. Malheureusement, ce format a toujours été rejeté par le grand public, qui lui préférait (et lui préfère toujours) des formats propriétaires (et cela uniquement par manque d'information).

Bien que de nombreux logiciels de traitement de texte soient capables de lire et d'écrire le format RTF, il a été rendu plus ou moins obsolète par la popularité du HTML (voir text/html).

application/msword (.doc)

Le format MS-Word s'est répandu grâce à la popularité de la suite Office de Microsoft. Il permet à l'utilisateur de formater ses documents avec un grand nombre de possibilités, d'inclure des graphiques, tableaux complexes, etc. Les versions récentes permettent même d'importer des feuilles de tableur, ou des objets externes comme des sons ou des vidéos dans les fichiers Word.

Bien qu'il soit bien adapté à un usage interne, le format Word n'est absolument pas approprié pour l'échange de documents. En effet, les différentes versions ne sont pas compatibles entre elles (Un fichier Word 7.0 ne pourra pas être ouvert dans Word 6.0, et un utilisateur Macintosh aura parfois bien du mal à lire un fichier Word conçu sur PC. Il arrive même que des versions de Word ne puissent pas lire d'anciens fichiers).

De plus, la suite Office n'existe que sur les plateformes Windows et MacOS, ce qui réduit fortement la portabilité de ce type de document. Le format Word est propriétaire, et il est désobligeant de l'imposer aux gens. Il est donc vivement recommandé de ne jamais utiliser de documents Word sur Internet, sauf en cas de nécessité absolue. Il est facile d'exporter du HTML ou du RTF à partir des versions récentes de Word.

application/pdf (.pdf)

Cette section n'a pas encore été écrite

L'échange d'images bitmap

On appelle image bitmap (ou raster) une image composée d'un ensemble fini de points (pixels) arrangés dans une matrice rectangulaire. Une telle image est caractérisée par le nombre de points qu'elle comporte selon l'horizontale et la verticale, sa résolution et le nombre de couleurs qu'elle peut gérer. Lorsque l'on zoome sur une partie de l'image avec un grossissement suffisant, on voit apparaître ces points, qui créent un effet de "blocs".

Les formats d'image bitmap peuvent être classés selon de nombreux critères : la place qu'ils occupent, le nombre de couleurs qu'ils peuvent gérer, les informations de prépresse qu'ils peuvent contenir (des indications supplémentaires nécessaires lorsque l'image est destinée à une imprimerie).

image/gif (.gif)

Le format d'images GIF (Graphics Interchange Format) a été conçu, comme son nom l'indique, pour l'échange de données. Comme cet échange se faisait sur le réseau, il a été principalement optimisé pour occuper une taille minimale, au détriment d'un certain nombre de possiblités.

Les GIF comportent au maximum 256 couleurs, choisies dans une palette de 16 millions. Cette restriction en fait un support peu adapté pour des images de type photographique, bien que l'on puisse obtenir des résultats relativement corrects à l'aide de certaines techniques de réduction de couleurs (Floyd-Steinberg). Elles se sentent par contre particulièrement à l'aise lorsqu'il s'agit de présenter des organigrammes ou des graphiques comprenant peu de couleurs.

Afin de restreindre la place qu'elles occupent, les images GIF disposent d'un procédé de compression (LZW), qui est très efficace lorsqu'il est appliqué à des images peu colorées. Cette méthode préserve l'intégrité des données, donc la qualité de l'image reste la même après un cycle de compression / décompression. Malheureusement, la compression LZW est maintenant patentée par la société UNISYS, faisant par conséquent des GIF un format semi-propriétaire.

Deux particularités des GIF en ont fait un des principaux formats utilisés sur le Web :

De nombreux logiciels de retouche d'images peuvent créer et lire des images GIF. On peut les lire sur pratiquement toutes les plateformes, c'est un format fort portable. On ne recommandera cependant son utilisation que lors de la création d'animations ou d'images non photographiques sur le Web, car d'autres formats sont plus adaptés aux autres usages. Son manque de souplesse dans la gestion des couleurs, ainsi que le patent d'UNISYS en font néanmoins un format en voie d'extinction, au profit du format PNG (Portable Network Graphics) .

Le format GIF ne permet pas de stocker d'informations de résolution, de calibrage de couleurs, etc. Il n'est donc pas adapté à l'impression de haute qualité.

image/jpeg (.jpg, .jpeg)

Le format d'images JPEG a été conçu pour véhiculer une image photographique avec une qualité acceptable, tout en limitant la taille des fichiers à un strict minimum.

Une image JPEG peut contenir jusqu'à 16 millions de couleurs. C'est un impératif si l'on veut représenter des photos de manière fidèle. Les images JPEG gèrent aussi les images en niveaux de gris.

Afin de réduire au minimum l'espace occupé par le fichier, le format JPEG définit un algorithme de compression destructif : On a une perte de qualité après un cycle de compression / décompression. On peut néanmoins obtenir des résultats très concluants avec un peu d'expérience.

Le point faible des JPEG se situe au niveau des images comprenant de larges plages de couleur unie, ou des dégradés. Si le taux de compression choisi est trop élevé, on se retrouve avec des "pâtés" rectangulaires.

Afin de donner un petit aperçu des possibilités offertes par la compression JPEG, voici un comparatif des tailles de fichier résultant des différents choix de qualité, ainsi que des résultats visuels obtenus.

  1. Image originale, non compressée
    Taille : 640 ko
  2. Qualité : 100 %
    Taille : 196 ko
    Résultat : Excellent, indiscernable de l'original à l'oeil nu.
  3. Qualité : 75 %
    Taille : 40 ko
    Résultat : Très bon, très proche de la qualité 100 %
  4. Qualité : 50 %
    Taille : 26 ko
    Résultat : Moyen, apparition de "pâtés"
  5. Qualité : 25 %
    Taille : 16 ko
    Résultat : Mauvais, beaucoup de "pâtés"
  6. Qualité : 5 %
    Taille : 4 ko Résultat : Très mauvais, manque de couleur, horribles "pâtés"

En fait, 75-80 % est le compromis qui donne généralement le meilleur ratio qualité / taille. Les images restent très proche de l'original, tout en étant considérablement compressées (16 fois dans notre exemple). Il est important de noter que même à une qualité de 100 %, la compression JPEG déteriore l'image !

De très nombreux logiciels de retouche d'images gèrent le format JPEG, et on le retrouve sur toutes les plateformes. C'est le format traditionellement utilisé sur le Web pour présenter des images photographiques. Etant donné la nature destructrice de son algorithme de compression, il n'est pas du tout adapté au stockage temporaire d'images devant encore être retouchées (puisque l'on perd en qualité lors de chaque cycle de compression / décompression). Son encombrement réduit en fait par contre le candidat idéal pour l'échange et l'archivage des images définitives. Ce format ne contient les informations de résolution ou de calibrage nécessaire à une impression en haute qualité.

image/png (.png)

Le format PNG (Portable Network Graphics) a été conçu avec deux objectifs principaux :

Le format PNG gère donc des images en 256 couleurs, en niveaux de gris ou encore en 16 millions de couleurs. Il gère aussi une transparence progressive dans chacun de ces modes. Il peut également stocker des images de très haute qualité comprenant 16 bits par canal de couleur.

La compression du format PNG est non destructrice, (comme celle des GIF , et contraîrement à celle des JPEG ). Il s'agit d'un algorithme appelé Lempel-Ziv (LZ77) qui, contraîrement à LZW, n'est pas patenté. Afin d'augmenter les taux de compression des images produites, le format PNG propose un ingénieux système de filtres non destructifs appliqués à chaque rangée de pixels de l'image.

Le gros problème du format PNG est sa relative jeunesse : bien qu'il soit d'ores et déjà un format d'image officiel sur le Web (il est supporté par les versions récentes de tous les browsers graphiques), il n'est pas encore fort répandu. De plus, rares sont les outils graphiques qui gèrent toutes les possibilités offertes par ce format : la transparence graduelle est bien souvent oubliée, en particulier lorsqu'elle est utilisée en conjonction avec le mode 256 couleurs.

Le format PNG peut contenir de nombreuses informations supplémentaires de calibrage, de résolution, des descriptions textuelles, ce qui n'exclut pas son utilisation dans des environnements professionnels. Il s'agit d'un format ouvert dont les spécifications sont accessibles à tout le monde, et sera de mieux en mieux supporté par les applications dans les années à venir.

image/tiff (.tif, .tiff)

Les images TIFF (Tagged Image File Format) sont depuis longtemps les plus utilisées dans l'industrie graphique. Elles supportent en effet un grand nombre de fonctionnalités nécessaires lors de la gestion d'images destinées à une impression de haute qualité :

Le revers de la médaille est que les logiciels gérant la majorité des paramètres du format TIFF se comptent sur le bout des doigts, et ne sont généralement pas accessibles au grand public. Bien que le format lui même soit bien approprié aux échanges de données, il vaut toujours mieux se limiter à utiliser un sous-ensemble des possiblités. Des images TIFF en RGB, niveaux de gris ou noir et blanc, utilisant des méthodes de compression standard (LZW ou Packbits) devraient pouvoir être lues par la majorité des utilisateurs.

Les images TIFF ne sont pas reconnues par les navigateurs Web (ne serait-ce qu'en raison de la complexité du format), il est donc inutile de les publier directement sur internet, sauf à des fins de téléchargement. Il vaut en tous cas toujours mieux fournir une image correspondante dans un autre format ( JPEG ? ) afin que l'internaute puisse la visualiser.

Les logiciels compressant des images TIFF à l'aide le l'algorithme LZW sont couverts par le patent d'UNISYS (voir le format GIF pour plus d'informations).

application/psd (.psd)

Cette section n'a pas encore été écrite

Retour vers la page d'accueil (en Anglais)


dash@foobox.net