Formats de fichiers

Nous commencerons par examiner ce que l'on entend par un format de fichier et par décrire les caractéristiques des principales familles de formats de fichiers. Cette compréhension se révèle utile lorsque l'on gère de l'information numérique à plusieurs égards qui seront présentés. Cette section se terminera par la présentation d'une méthode de résolution de problèmes en lien avec les formats de fichiers.

Définition de "formats de fichiers"

L'OQLF[1] définit un format ainsi :

DéfinitionFormat

[s]tructure définie de données contenues sur un support magnétique ou autre, établie selon des règles qui régissent le stockage, l'affichage, la manipulation, l'impression ou la transmission de ces données.

Ce que l'on doit retenir de cette définition est l'idée qu'un format est une structure de données qui répond à certaines règles propres à ce format en fonction des actions qu'il permet. PDF, par exemple, est un exemple d'un format de fichier, ainsi que JPEG et MP4. Ces trois formats représentent des types de fichier très différents, respectivement un fichier textuel, un fichier d'image et un fichier de son. Leur structure respecte ainsi des règles différentes qui permettent des opérations différentes.

Plus spécifiquement, ces règles doivent respecter une certaine syntaxe propre au format, c'est-à-dire une certaine manière d'écrire les 0 et les 1. C'est ce que l'on appelle la composante syntaxique d'un format. Pour pouvoir ouvrir un fichier sur votre ordinateur, il faut que les 0 et les 1 soient bien conformes à cette syntaxe. Il s'agit qu'un seul 0 soit changé pour que le fichier devienne illisible (corrompu).

En sus d'une certaine syntaxe, les règles d'un format décrivent une manière d'en interpréter le contenu, c'est-à-dire de faire du sens des 0 et des 1. On parle ici de la composante sémantique du format. Même si vous recevez par courriel un fichier dont la syntaxe est conforme au format, si vous n'avez aucun logiciel capable d'en interpréter le sens, vous ne serez pas capable de l'ouvrir.

Ainsi, pour que vous soyez en mesure d'ouvrir un fichier sur votre ordinateur, il faut qu'il en respecte bien la syntaxe ainsi que vous ayez ce qu'il faut pour en comprendre la sémantique. Ces deux composantes sont étroitement reliées.

AttentionCe que n'est pas un format...

Un format n'est pas un logiciel

Il ne faut pas confondre le format d'un fichier avec le logiciel qui l'a créé. Il est ainsi plus ou moins juste de parler d'un fichier en format Word comme Word permet de sauvegarder un fichier en plusieurs formats (docx, rtf, txt, html).

Un format n'est pas une extension

Dans les systèmes d'exploitation qui affichent l'extension des fichiers (par exemple sous Windows), bien que cette extension soit normalement en lien avec le format, ce n'est pas l'extension qui crée le format. Si vous renommez un fichier en format HTML pour lui attribuer comme extension PDF, le fichier ne sera pas transformé en format PDF! L'extension est un moyen d'associer un fichier à un logiciel pour en accélérer l'ouverture. Changer l'extension d'un fichier en le renommant va simplement l'associer potentiellement à un autre logiciel qui sera fort probablement bien en peine de l'ouvrir comme il n'en connaîtra vraisemblablement pas la sémantique.

Utilité de connaître les formats de fichiers

On fait actuellement face à une problématique multiple : (1) la prolifération des formats, (2) l'opacité potentielle de l'information numérique si le format n'est pas reconnu, et (3) le choix du meilleur format pour une tâche donnée. Dans un contexte de gestion de l'information numérique il importe ainsi de s'attarder à connaître les différents formats de fichier pour plusieurs raisons :

  • D'une part, il faut choisir des formats qui sont compatibles avec votre environnement informatique.

  • D'autre part, cela vous aidera à résoudre certains problèmes de lecture de fichiers que vous pourriez rencontrer.

  • De plus, vous serez ainsi en mesure de mieux gérer les échanges d'information et d'optimiser leur diffusion en choisissant les bons formats.

  • Finalement, cela vous permettra de faire des choix éclairés selon les besoins que vous aurez en termes :

    • d'accessibilité pour utiliser des formats compris par une communauté de lecteurs la plus grande possible

    • de pérennité pour que vos fichiers demeurent accessibles dans le futur

    • de réutilisation pour pouvoir retravailler certains fichiers

Types de formats de fichiers

Formats ouverts versus formats fermés

On retrouve différentes familles de formats. Une première dichotomie à connaître est la distinction entre des formats ouverts et des formats fermés :

Formats ouverts versus formats fermés

Formats ouverts

Formats fermés

  • Spécifications (c'est-à-dire les règles définissant la syntaxe et la sémantique du format) publiques et accessibles

  • Favorisent l'interopérabilité entre les logiciels

  • Généralement produits ou préconisés par des organismes internationaux de normalisation

  • Par exemple, format ODT (traitement de texte de LibreOffice)

  • Spécifications secrètes et non publiées

  • Compatibilité limitée (avec un seul logiciel, ou bien avec ceux d'un même producteur donné ou, suite à une entente, de quelques producteurs)

  • Par exemple, format des fichiers produits par Adobe Photoshop (.psd)

La différence entre ces deux familles de formats réside dans l'accessibilité des spécifications qui aura un impact sur l'interopérabilité de ces formats. Si vous cherchez à vous assurer qu'un plus grand nombre de personnes soit en mesure de consulter votre fichier, le format ouvert est en ce cas préférable.

Formats normalisés & formats propriétaires

On retrouve aussi deux autres familles de formats qui se distinguent cette fois-ci par leurs producteurs :

Formats normalisés & formats propriétaires

Formats normalisés

Formats propriétaires

  • Formats définis et adoptés par une instance officielle de normalisation (deviennent des normes)

  • Offrent une plus grande garantie de pérennité et d'accessibilité qu'un format fermé

  • Par exemple

    • Format PNG recommandé par le W3C (World Wide Web Consortium)

    • Format HTML défini par le W3C

  • Formats dont les spécifications sont définies par un producteur commercial

  • Peuvent être ouverts si les spécifications sont disponibles publiquement (par ex. format PPTX)

    • Un format propriétaire ouvert devenu très populaire et reconnu par un grand nombre de producteurs est appelé une norme de facto (par ex. format LaTeX)

  • Peuvent être fermés si les spécifications sont secrètes (par exemple format interne de DB/TextWorks (logiciel de bases de données))

Si vous recherchez un format qui garantit une meilleure conservation dans le temps, les formats normalisés sont à prendre en considération. Le fait d'être endossés par une instance officielle de normalisation est en effet un garant sur le plan de la pérennité des formats.

Formats texte et formats binaires

Nous nous attarderons à une dernière dichotomie dans les familles de formats de fichiers, soit la distinction entre un fichier en format texte et un fichier en format binaire.

D'entrée de jeu, précisons que tout fichier est enregistré sur le disque dur sous forme binaire, c'est-à-dire dans des suites de 0 et de 1. Ces 0 et ces 1 sont agencés de manière à respecter la syntaxe du format et de manière à ce que leur interprétation par le logiciel utilisé pour l'ouvrir produise le résultat souhaité (une image, un son, un texte, etc.).

Représentation numérique des données

Heureusement pour nous, il y a donc quelque chose qui sert d'interprète afin de nous restituer les 0 et les 1 sous une forme qui nous est compréhensible. Pour certains types de fichiers, le format est complexe et demande un logiciel spécialisé pour en faire l'interprétation. C'est le cas, par exemple, d'une image. On parlera ici de fichiers en format binaire.

Dans d'autres cas, le fichier contient uniquement des caractères alphanumériques (c'est-à-dire des lettres, des chiffres et quelques symboles) sans aucune mise en forme, un contenu beaucoup plus simple que celui d'une image! L'interprétation de son format peut alors se faire par l'utilisation d'une simple table de correspondance entre des suites de 0 et de 1 et des caractères alphanumériques (ce que l'on appelle un jeu de caractères; cette notion sera abordée un peu plus loin). Ainsi, un éditeur de texte simple comme Bloc-notes (Windows) peut arriver à l'interpréter. C'est ce que l'on appelle un fichier en format texte.

Interprétation d'un fichier en format texte

La distinction entre un fichier en format binaire et un fichier en format texte repose ainsi sur la complexité de leur sémantique (complexe ou simple). Le tableau ci-dessous résume les différences entre ces deux types de formats :

Fichier en format texte versus fichier en format binaire

Fichier en format texte

Fichier en format binaire

  • Fichiers dont le contenu est interprété comme une suite de caractères selon un jeu de caractères (sémantique = jeu de caractères)

  • Aucun élément de formatage ou de présentation

  • Peuvent être compris par un éditeur de texte tel Bloc-notes

  • Exemple d'un fichier texte ouvert dans le Bloc-notes : https://cours.ebsi.umontreal.ca/sci6005/fichiers_demo/copie_txt.jpg

  • Fichiers dont le contenu ne peut être interprété comme une suite de caractères selon un jeu de caractères en raison de leur sémantique plus complexe (par ex. mise en page, images)

  • Besoin d'un logiciel compatible avec celui utilisé pour la création du fichier pour pouvoir afficher ou exécuter un fichier binaire

  • Exemple d'un fichier binaire ouvert dans le Bloc-notes : https://cours.ebsi.umontreal.ca/sci6005/fichiers_demo/binaire_blocnotes.jpg

  • Familles : fichiers d'images, fichiers sonores, fichiers vidéo, etc.

Comme vous l'avez noté en ouvrant les deux exemples du tableau ci-dessus, une manière simple de savoir si un fichier est en format binaire ou en format texte est de l'ouvrir dans un éditeur de texte simple comme Bloc-notes : s'il est lisible, il s'agit d'un format texte, sinon, c'est un format binaire.

Il est à noter qu'il existe des formats de fichiers basés sur un format texte, c'est-à-dire interprétables à l'aide d'un jeu de caractères, mais avec des règles supplémentaires pour des opérations de mise en page ou de structuration. Il est ainsi possible de représenter des objets plus complexes. C'est le cas, par exemple, du format HTML que nous découvrirons un peu plus tard dans la session. Si vous l'ouvrez dans Bloc-notes, vous serez capable de le lire, mais il est possible que vous ne connaissiez pas certains codes utilisés comme, par exemple, <h1>. Il s'agit de balises HTML représentant certains types de contenu que le navigateur web saura interpréter pour lui associer une mise en page particulière. Dans l'exemple ci-dessous, la balise <h1> représente un titre de niveau 1 que le navigateur affichera dans une police de caractères plus grande et en gras.

1
<h1>Plan du cours SCI6005 - Information numérique et informatique documentaire (Automne 2022)</h1>
2
<p><strong>Professeure : </strong>Christine Dufour</p>

Types de fichiers en format binaire

On retrouve une multitude de types de fichiers en format binaire. Nous en présenterons quelques-uns dans les tableaux ci-dessous à titre d'exemples.

Principaux types de fichiers d'image (format binaire)

Formats

Caractéristiques

Graphic Interchange Format

(extension .gif)

  • Développé par CompuServe (années ‘80)

  • Maximum de 256 couleurs (8 bits)

  • Surtout pour graphiques et icônes

  • Gifs animés : série d'images gif affichées en séquence

Joint Photographic Expert Group

(extensions .jpeg, .jpg)

  • Norme de compression d'images selon le standard ISO-10918

  • Palette de 16 millions de couleurs (24 pixels/bit)

  • Fichiers habituellement plus petits que les .gif donc transfert plus rapide et économie d'espace

  • Pour photographies, œuvres d'art et images texturées

Tagged File Format

(extensions .tif, .tiff)

  • Développé par Adobe

  • Format soutenu par la plupart des logiciels d'image

  • Pour archivage des images de qualité (très haute résolution)

  • Fichiers relativement volumineux

Portable Network Graphics

(extension .png)

  • Norme publique recommandée par le W3C

  • Spécialement conçu pour Internet en réponse à la « guerre des gifs » (https://www.gnu.org/philosophy/gif.fr.html)

  • 16 millions de couleurs

  • Pas supporté par les anciennes versions des navigateurs

  • Appelé à remplacer le .gif : taille plus réduite et palette plus grande

Le tableau ci-dessus illustre bien une des raisons principales pour retenir un format, soit l'utilisation que l'on compte faire des fichiers. On remarque en effet des différences notables pour les fichiers d'image pour ce qui est du nombre de couleurs possibles. De plus, certains formats comme JPEG utilisent un algorithme de compression pour obtenir des fichiers plus légers. Qui dit compression dit potentiellement perte d'information.

Dans l'exemple ci-dessous, trois images en formats différents ont été créées à partir de la même image de départ agrandie à 300%. Voici quelques observations par rapport à ces formats :

  • On remarque en effet que le format TIF est plus lourd et que le JPEG réduit la taille du fichier grâce à la compression.

  • Remarquez l'effet de pixelisation du fichier GIF du fait d'une palette de couleurs moins grande.

  • Pour JPEG, on remarque une certaine perte de précision au pourtour du cercle.

  • C'est le format TIF qui offre la plus grande précision.

Fichier GIF (79ko)
Fichier JPEG (21ko)
Fichier TIF (109ko)

C'est donc le type d'image et son utilisation qui influenceront vos choix. Dans un contexte archivistique de conservation à long terme d'images, la perte de précision n'est pas souhaitable rendant un format comme TIF plus intéressant. Bibliothèque et Archives Canada, par exemple, donne des lignes directrices pour aider au choix des formats : https://www.bac-lac.gc.ca/fra/services/gestion-ressources-documentaires-gouvernement/lignes-directrices/Documents/formats-fichier-rdvc.pdf.

Les tableaux qui suivent présentent des exemples d'autres types de fichiers en format binaire. Les caractéristiques présentées sont des pistes qui peuvent être utilisées pour faire un choix éclairé de formats.

Principaux types de fichiers de son (format binaire)

Formats

Caractéristiques

Real Audio

(extensions .ra, .ram)

  • Format propriétaire pour la diffusion en direct de séquences sonores et vidéo par Internet

  • Permet la lecture en transit de fichiers audio (audio streaming)

Music Instrumental Digital Interface

(extensions .mid, .rmi)

  • Fichier son, au format normalisé, contenant les instructions MIDI transmises à un synthétiseur qui le traduit en notes de musique

  • Fichier de petite taille et de bonne qualité

MPEG1 Audio Layer 3

(extension .mp3)

  • Compression d'une séquence sonore dans un très petit fichier (1/12 de la taille originale) tout en conservant la qualité sonore initiale

  • Télécharge et joue les fichiers ainsi que lecture en transit (audio streaming)

  • On retrouve maintenant les fichiers .mp4

Wave Form Audio File Format

(extension .wav)

  • Standard de son de Windows 3.11 créé par Microsoft

  • Représentation numérique d'un signal analogique

  • Fichers volumineux (1 minute = 1 Meg)

Principaux types de fichiers vidéo (format binaire)

Formats

Caractéristiques

Real Audio

(extensions .ra, .ram)

  • Format propriétaire pour la diffusion en direct de séquences sonores et vidéos par Internet

  • Permet la lecture en transit de fichiers audio (audio streaming)

Quicktime

(extensions .qt, .mov)

  • PC & Mac

  • Norme ISO créée à l'origine par Apple

  • Combine son, vidéo et animation

  • Bonne qualité d'images

  • Visualisation en différé

Audio Video Interleaved

(extension .avi)

  • Standard de Microsoft Windows

  • Utilisé pour le stockage des images vidéo et du son

  • Données vidéo alternent avec celles audio, accélérant la vitesse de restitution

Moving Picture Experts Group

(extensions .mpg, .mpeg)

  • Fichier vidéo compressé, utilisé notamment pour la diffusion de films sur Internet

  • Norme pour vidéo numérique et compression audio numérique développée par 70 compagnies, dont Sony, Philips et Apple

  • Bonne qualité vidéo

Autres types de fichiers en format binaire

  • Fichiers de traitement de texte (extensions .doc, .docx, .wpd, .odt, ...)

  • Fichiers Portable Document Format (extension .pdf)

    • Pour la diffusion de documents

    • Associé à Adobe Acrobat

    • Norme de facto qui conserve les éléments typographiques et la mise en page originale

  • Fichiers compressés (extension .zip, .hqx, .qzip, ...)

    • Pour la compression et l'archivage de fichiers; à considérer aussi pour l'échange de fichiers

    • Utilisés par certains formats « composites » pour regrouper leurs composantes (par exemple, ePub, .docx)

      • Certains formats exploitent des formats existants pour représenter leurs composantes en les regroupant dans une archive compressée

      • Remplacer l'extension .epub par .zip permet de découvrir les différentes composantes d'un fichier ePub basé sur XML et XHTML

    • La compression modifie le format des fichiers

    • Traitement spécial applicable à tout format et complètement réversible (tout comme le cryptage ou le chiffrement)

  • Etc.

Jeux de caractères

Dans la section précédente, nous avons vu que l'interprétation d'un fichier en format texte passe par l'utilisation d'un jeu de caractères. Bien que cela semble plutôt simple, l'évolution des jeux de caractères au fil du temps fait en sorte que certains problèmes d'interprétation peuvent survenir. Une connaissance de cette évolution permet de développer de meilleurs réflexes de résolution de problèmes lorsque surgit ce type de problèmes.

Bref historique des jeux de caractères

Décennies

Jeux de caractères

Caractéristiques

1960

ASCII (American Standard Code for Information Interchange) (ASCII pur)

  • Créé en 1963 et normalisé en 1967

  • Code sur 8 bits, mais en utilisant 7 donc possibilité de représenter 128 caractères seulement (= 27)

  • Initiative américaine, donc les caractères accentués non inclus

1980

ASCII étendus

  • Développés au début des années 80 pour inclure les caractères accentués

  • ASCII pur « étendu » sur 8 bits donc 256 caractères, mieux, mais insuffisant pour toutes les langues

  • Plusieurs ASCII étendus existent ayant tous en commun les premiers 128 caractères de l'ASCII pur normalisé mais qui diffèrent pour les 128 suivants

  • Série ISO-8859 : 15 jeux normalisés dont le ISO-Latin-1 (ISO-8859-1)

  • Autres exemples d'ASCII étendus, mais non normalisés :

    • Jeu de caractères Windows : page de codes 1252

    • Jeu de caractères DOS : page de codes 437

    • Jeu de caractères sous Mac : Mac Os Roman

1990

Unicode

  • Standard informatique développé au début des années 1990 pour répondre aux problèmes nés de la multiplicité des ASCII étendus

  • Code sur 16 bits donc potentiellement 65 536 caractères peuvent être représentés; suffisant pour contenir l'ensemble des caractères pour les principales langues du monde

  • Plusieurs jeux différents : UTF-8, UTF-16BE, etc.

  • UTF-8 : reconnu sur le Web

  • Pour exemples, voir https://www.unicode.org/charts/

Ce qu'il faut retenir, d'une part, c'est l'augmentation au fil du temps du nombre de caractères représentés par les jeux de caractères afin de prendre en compte un nombre grandissant de langues et, d'autre part, le fait que pour les ASCII étendus, cela n'a pas fait l'objet d'un effort unique de normalisation ce qui a généré plusieurs ASCII étendus. Encore aujourd'hui, ces multiples ASCII étendus coexistent, et ce parfois sur un même ordinateur. Il est ainsi possible d'observer des problèmes dans la restitution des contenus si le mauvais jeu de caractères est utilisé.

C'est le cas de l'exemple ci-dessous. Le texte a été écrit à partir du mode commande de Windows et il est affiché dans le mode graphique de Windows sur le même poste. Remarquez que :

  • Tous les caractères non accentués sont à leur place.

  • Il n'y a que les caractères accentués qui sont mal interprétés.

Cela correspond bien à ce qui est décrit dans le tableau : les caractères non accentués demeurent les mêmes comme tous les ASCII étendus sont basés sur l'ASCII pur, mais les caractères accentués situés dans les 128 caractères suivants ne sont pas placés aux mêmes endroits.

Problème d'interprétation d'un fichier en format texte

Il est parfois possible d'observer ce problème sur le Web lorsque le navigateur n'utilise pas le même jeu de caractères que celui utilisé pour créer des pages HTML. Ce problème d'interprétation est en fait possible lorsque les personnes qui ont conçu les pages HTML n'ont pas pris soin d'expliciter en clair le jeu de caractères utilisé (nous verrons comment le faire plus tard dans la session).

Être en mesure de reconnaître ce type de problèmes nous permet d'y apporter une solution. La solution consiste à utiliser un logiciel qui offre la possibilité de changer le jeu de caractères utilisé. Pour le problème illustré ci-dessus, une des manières de le corriger est, dans Bloc-notes, d'utiliser la police Terminal (menu Format > Police...) qui est basée sur le jeu de caractères du mode commande de Windows. Si vous croisez ce problème avec une page web, certains navigateurs permettent de changer de jeu de caractères. On retrouve dans Firefox, par exemple, une option Encodage du texte dans le menu Affichage.

Pistes pour l'identification du format d'un fichier

Méthode

Il est possible que vous receviez un fichier dont le format vous est inconnu. Voici quelques pistes pour vous aider à l'identifier :

  • Si l'extension est correcte, mais que vous n'avez aucun logiciel compatible, le fichier sera illisible; il faut soit vous procurer un logiciel compatible ou un outil de conversion.

  • Si l'extension a été modifiée/perdue, vous pouvez l'ouvrir avec différents logiciels de lecture en fonction de la nature de l'information attendue. Un autre test simple consiste à ouvrir le fichier avec un éditeur de texte simple comme Bloc-notes

    • S'il s'agit d'un fichier de format texte ou basé sur un format texte, il sera fort probablement reconnaissable.

    • S'il s'agit d'un fichier binaire (donc illisible dans Bloc-notes), plusieurs incluent un en-tête reconnaissable en début de fichier (par ex. PDF, JPEG, MP3, etc.).

Le seul moyen infaillible pour connaître le format d'un fichier demeure que le créateur indique le format dans la documentation d'accompagnement du fichier qu'il vous envoie.