Formats ouverts : pérennité et intéropérabilité

Les Pages Perso Chez Free

Par Al, le , dans Créer ses pages perso. / Dernière modification : le par Al.
Tags : Tutoriaux

L'échange de document est une des « composantes » du réseau Internet mais, parfois, cela peu devenir un sérieux casse-tête pour décompresser, visualiser ou éditer les diverses ressources proposées en téléchargement ou par courriel depuis les sites Web. Ce texte, écrit par « Kazé » en tant que chapitre d'un Petit Guide de l'Informatique Durable, est ancien – il date de 2005 – mais les problématiques qu'il soulève sont encore d'actualité et, bien qu'il ne concerne pas spécifiquement le développement de site Web, présente des solutions viables et pérennes pour la mise à disposition de ressources via les pages Web ou les téléchargements depuis vos sites personnels. Le texte présente un certain nombre d'erreurs, imprécisions ou oublis par rapport au paysage actuel des formats de fichiers, en raison de son ancienneté. Certains découvriront des informations utiles, d'autres réviseront leurs acquis et souriront à la lecture des numéros de version de certains logiciels.

Ce texte, actualisé uniquement pour le tableau de synthèse et les liens, est reproduit ici sans avoir pu joindre l'auteur (j'espère qu'il ne s'opposera pas à la publication de son texte sur ce site). La version originale est disponible ici.

  Formats à éviter Formats recommandés Logiciels libres
Bureautique MS Office : DOC, XLS, PPT… XML1 + PDF2 OpenOffice.org, LibreOffice
Images bitmap BMP, GIF PNG, JPG (photos), WebP The GIMP
Images vectorielles AI SVG, SVGZ, EPS Inkscape
Compression audio MP3, WMA OGG-Vorbis, Opus, FLAC, MKA, ALAC3 VLC, Audacity
Compression vidéo AVI, WMV, DivX H2643, MPEG3, XviD3, WebM, OGG-Media, MKV VLC, VirtualDub

Notes :
1 formats de sauvegarde : OpenDocument, OpenOffice, DocBook, (X)HTML + CSS.
2 format de diffusion.
3 format fermés mais standards (conformes à une norme ISO).

Qu'est-ce qu'un format ouvert ?

On entend par « format ouvert » un format de données qui n'est pas dépendant d'un éditeur ou d'un logiciel ; les spécifications d'un tel format sont publiques, et librement implémentables par différents éditeurs de logiciels. Un format ouvert peut être :

  • Un format issu d'une organisation indépendante, telle que le W3C ou OASIS : HTML, XML, RDF, CSS, OpenDocument, SVG…
  • Un format propriétaire dont les spécifications ont été rendues publiques : PS, PDF, SWF…
  • Un format développé par la communauté du logiciel libre : OpenOffice.org (sxw, sxc…), Ogg-Vorbis, XViD…

Quelques nuances séparent ces différentes catégories de format :

  • Le W3C, contrairement à OASIS, impose que le format soit « royalty-free » : aucune société ne peut prétendre à des royalties sur un format W3C ; c'est le cas de tous les formats liés au Web ;
  • Actuellement, les éditeurs de logiciels (même libres) semblent privilégier OASIS pour normaliser les formats, notamment les formats « bureautique » ; cela émeut souvent la communauté du logiciel libre, notamment depuis l'adoption des brevets logiciels… ;
  • Les formats issus de logiciels libres ont souvent du mal à s'imposer ; leur succès dépend essentiellement de la diffusion du logiciel qui les utilise.

L'attitude des éditeurs de logiciels varie d'un extrême à l'autre.

Microsoft, pour prendre l'exemple le plus connu, n'a aucun intérêt à utiliser des formats ouverts sur les logiciels qu'il distribue ; il se repose sur des formats propriétaires très fermés (DOC, XLS, WMV…) pour s'éviter toute concurrence et se créer une clientèle captive. Pire, dans le cas d'Internet Explorer, il modifie les formats standard tels que le HTML et le CSS, de sorte que le Web « à la Microsoft » (IE représente environ 90% des navigateurs utilisés sur le Web) devienne un standard de fait, même si de nombreuses possibilités des standards officiels du W3C ne sont pas implémentées.

Il ne s'agit pas ici de diaboliser Microsoft (de nombreux sites font ça très bien), mais de montrer le piège que constitue les formats propriétaires fermés ; les utilisateurs Mac de l'excellent FrameMaker viennent d'en faire les frais, Adobe venant d'arrêter purement et simplement le développement de FrameMaker sur Mac… les exemples ne manquent pas.

Certains éditeurs (dont Adobe justement) jouent très bien le jeu de l'interopérabilité en ouvrant les spécifications de leurs formats propriétaires ; le succès du PDF est là pour prouver que cela peut être très rentable d'un point de vue strictement économique.

Les logiciels libres s'appuient systématiquement sur des standards ouverts, et tentent d'être compatibles avec les formats propriétaires ; cela risque de ne plus être possible dans la mesure où les formats sont brevetables… le danger des formats propriétaires est plus grand que jamais.

Ressources :

« Qu'est-ce qu'un format libre ? » sur LinuxFR.org, OpenFormats.org, Formats-Ouverts.org.

Formats Bureautique

Texte (brut)

On entend par « Texte brut », un format texte qui n'est ni SGML, ni XML (voir chapitres suivants) :

TXT

Le format le plus simple et le plus limité.

  • Aucune mise en forme ;
  • L'encodage n'est pas spécifié : seul l'ASCII est standard, et ne définit pas les caractères spéciaux tels que les accents, encore moins les autres alphabets (arabe, asiatiques…) ;
  • Les caractères de fin de ligne dépendent de l'OS : CR sous MacOS, LF sous Unix/Linux, CRLF sous Windows ;
  • Il est principalement utilisé par les programmeurs.
RTF

Ce « vieux » format est encore utilisé par les traitements de texte et les navigateurs Web.

  • Il permet d'exporter le texte en conservant une mise en forme basique ;
  • Par contre, il est peu adapté à l'édition de documents, du fait qu'il est impossible de définir des styles pour l'ensemble du document (tels que Titre1, Titre2, listes, etc.) ;
  • Il n'a plus d'intérêt depuis la généralisation du HTML.
LaTeX

Le standard ouvert des scientifiques (prononcer « Latek »).

  • Format déjà ancien, toujours très utilisé sur les systèmes Unix, peu connu des utilisateurs de Windows ;
  • Dédié à la documentation scientifique ;
  • De nombreux outils de transformation (HTML, PDF) sont disponibles en open-source ;
  • Une évolution de LaTeX, compatible XML, est en projet (XLaTeX) ; on aurait alors une solution comparable à DocBook, les fonctionnalités scientifiques en plus.

Note :

Seul LaTeX a des fonctionnalités qui n'ont pas encore d'équivalent dans les formats XML.

Le .doc n'est pas un format ouvert, et ne devrait jamais servir à la sauvegarde ou la diffusion de données : sous MS Word, la plus élémentaire règle de prudence consiste à sauvegarder en XML (à condition d'avoir la version 2003…) et exporter en PDF pour la diffusion.

Ressources :

Wikipédia : TXT, RTF, LaTeX

Texte (HTML)

Le HTML étant le standard du Web, il est aussi le « plus petit dénominateur commun » des formats bureautique :

HTML

C'est un standard de contenu.

  • Directement lisible sous n'importe quel navigateur Web ;
  • Inclusion de feuilles de style CSS ;
  • Inclusion d'éléments externes : images (bitmap/vectorielles), animations, sons, vidéos… ;
  • Possibilité d'incorporer des méta-données (schemas.org, ruby et microdonnées) dans le document ;
  • Immédiatement lisible dans tous les navigateurs et logiciels bureautique ;
  • Possibilité de définir l'encodage du document, ce qui permet d'afficher tous types d'alphabets, même ceux qui ne se lisent pas de gauche à droite…
CSS

C'est un standard de mise en forme.

  • Recommandation W3C (plusieurs niveaux de spécifications : CSS1, CSS2, CSS2.1, CSS3) ;
  • Permet de dissocier le style du contenu HTML ;
  • Il est possible d'utiliser des feuilles de style alternatives pour l'affichage ;
  • Il est possible de spécifier une feuille de style spécifique pour l'impression.
ECMAScript

Le standard ECMA-262, généralement appelé JavaScript (Netscape) ou JScript (MS) :

  • Permet de « dynamiser » une page HTML ;
  • L'interface DOM permet de manipuler le contenu d'une page ;
  • Pour la bureautique, à n'utiliser que parcimonieusement (pour palier au mauvais support de CSS par IE6, par exemple).

Note : il est possible de désactiver JavaScript sur un navigateur Web.

La principale contrainte pour la diffusion de documents HTML, est que le texte est dissocié du style (CSS) et des images (PNG, SVG…) ; il faut donc zipper l'ensemble de ces fichiers avant de pouvoir les diffuser, ou choisir un format d'archive Web.

Une autre difficulté est le non-respect des standards HTML et surtout CSS par IE6, ce qui peut causer des différences d'affichage d'un navigateur à l'autre.

Note :

Un document HTML/CSS est éditable par n'importe quel éditeur web (avec FrontPage, attention à ne pas utiliser les extensions spécifiques IE).

Pour une utilisation bureautique, une utilisation de CSS peut remplacer avantageusement le JavaScript, notamment pour faire des popups ou des menus dynamiques.

Il est facile de faire valider son document HTML/CSS par le moteur du W3C.

Toutes les suites bureautiques permettent d'importer / exporter les documents en HTML ; en revanche, le code HTML qu'elles produisent contient des balises spécifiques, et est difficilement éditable par un éditeur dédié au HTML… ou par une autre suite bureautique.

Ressources :

Wikipédia : SGML, HTML, CSS, JavaScript, DOM (français), DOM (anglais)

Comment Ça Marche : HTML, CSS, JavaScript

Texte (XML)

Le XML est le standard universel du contenu texte :

  • Recommandation W3C ;
  • XML n'est pas à proprement parler un format, mais un méta-format, c'est-à-dire qu'il définit un ensemble de règles pour stocker et retrouver des informations dans un fichier texte ;
  • DTD définit des types de documents XML ;
  • XML Schema (W3C) et Relax NG (OASIS) définissent des schémas de documents XML ;
  • Les technologies DOM et XPath permettent d'appliquer des filtres de recherche sur des documents XML ;
  • Les technologies XSL et XSLT permettent d'appliquer des filtres de transformation sur des documents XML ;
  • Directement lisible sur un navigateur web si une feuille de style (XSL) est liée.

De nombreux formats sont basés sur le XML ; dans le cas d'une utilisation bureautique / traitement de texte, les plus adaptés sont :

XHTML : le standard du web
  • Version XML du HTML (qui est un SGML) ;
  • la conversion HTML ⟶ XHTML est immédiate avec htmlTidy ou htmlValidator.
DocBook : la référence pour la documentation technique
  • Solution très professionnelle mais un peu élitiste, peu d'éditeurs étant disponibles ;
  • Existe sous forme SGML ou XML ;
  • De nombreux filtres sont disponibles pour générer du HTML ou du PDF ;
  • Il est possible de transformer un document OOo en DocBook.
OpenDocument : le standard ouvert de la bureautique
  • Développé à partir du format XML d'OOo ;
  • Reconnu par le TAC européen comme standard ouvert ;
  • En cours de standardisation par OASIS et l'ISO ;
  • Réutilise les standards existants : SVG, Dublin Core, MathML… ;
  • Supporté par OOo (natif), KOffice, Gnome Office, Libre Office… mais pas MS Office ;
  • IBM, Novell, Adobe et Sun (toujours pas Microsoft) ont annoncé qu'ils supporteraient entièrement ce format.
Office 2003 : le XML vu par Microsoft
  • Microsoft publie les schémas (DTD) de WordprocessingML, SpreadsheetML et DataDiagramingML, respectivement pour Word, Excel et Visio 2003 ;
  • Pas de schéma pour MS PowerPoint 2003 ;
  • La licence de ces schémas est « libre » mais ambigüe (incompatible GPL ?) et soumise à brevets ;
  • Microsoft ne confiera pas ces formats à un organisme de standardisation (contrairement à OpenDocument, DocBook et xHTML) ;
  • Microsoft ne s'engage pas à diffuser les prochaines versions de ce format ;
  • Ces formats XML ne sont pas natifs Office : on peut importer/exporter des documents Office-XML, mais on ne conserve pas l'intégralité de la mise en forme ;
  • Les éléments liés (images, tableaux…) sont encapsulés sous forme binaire, ce qui rend ces formats difficilement interopérables (on ne peut pas appliquer directement de filtre XSL) ;
  • Cette solution est toutefois très largement préférable aux formats .doc et .xls.

Le XHTML est clairement le format le plus ouvert, le plus pérenne et le plus répandu qui soit actuellement (lisible sous toutes les plate-formes avec tous les navigateurs web, éditable avec tous les éditeurs web) ; c'est aussi le plus limité : il convient très bien au texte enrichi, mais n'offre pas les fonctionnalités d'un format bureautique tel qu'OpenDocument pour des documents de type tableur ou présentation.

OpenDocument est le seul format bureautique qui soit standard et éditable sur toutes les plate-formes (MS Office ne sera jamais disponible sur Unix ou Linux). Tous les utilisateurs de MS Office gagneraient à installer OOo, ne serait-ce que pour pouvoir archiver leurs documents dans un format pérenne, qui ne dépende pas du seul Microsoft.

Lu sur DLFP : la Communauté Européenne a publié un rapport qui tente de résumer les différents formats de documents texte existant (LaTeX, DocBook, PDF, MS Office, OpenDocument…) ; il en ressort que seuls les formats OpenDocument et Office-XML remplissent leurs critères d'intéropérabilité. Il est probable que ces deux formats vont co-exister à l'avenir, selon le schéma habituel : d'un coté le format propriétaire Microsoft, de l'autre le format du reste du monde.

Note :

Le XML n'est pas limité aux données texte ou bureautique : ce n'est qu'une syntaxe.

Un format XML sans DTD ni schéma n'est ni ouvert, ni interopérable.

La plupart des suites bureautique permettent au moins d'exporter les données dans un format XML (ce n'est pas le cas des versions antérieures à 2003 de MS Office).

Le format .doc n'est ni ouvert, ni standard.

Le format .doc ne devrait jamais être utilisé pour diffuser un document (e-mail, web…) ; toujours préférer une diffusion en PDF ou HTML.

Le format .doc est fréquemment modifié, et ne constitue donc pas une solution de sauvegarde fiable ; il est vivement recommandé d'archiver ses données Word en XML (OpenDocument, SpreadsheetML), ou d'en garder une copie en HTML.

OOo utilise OpenDocument en natif (versions 1.1.5 et ultérieures), et est capable d'importer/exporter la quasi-totalité des formats bureautique, dont les .doc, .xls et .ppt de MS Office.

Ressources :

Wikipédia : XML, XHTML, DTD, XML Schema, Relax NG, XSL, XSLT, XPath, OpenDocument, DocBook

Comment Ça Marche : XML, DTD, XSL

Portails : W3Schools, XMLfr.org

Tables de données

Les tables de données sont utilisées par les bases de données et les tableurs :

CSV : le format le plus ancien est aussi le plus efficace pour le stockage de tables de données

Les seules contraintes concernent l'encodage du texte (ASCII uniquement) et des valeurs numériques.

Il convient de définir ;

  • Le séparateur de colonnes (Tabulation, virgule ou point-virgule le plus souvent) ;
  • Le séparateur de lignes (CR, LF ou CRLF) ;
  • Le séparateur décimal (point ou virgule).
SQL : le standard des bases de données
  • SQL est un langage standard de requêtes de bases de données ;
  • Utilisé notamment comme format d'archivage (pour de petites bases de données), le fichier SQL contenant généralement les instructions nécessaires pour recréer complètement la base et les tables.
XML : ce format permet d'être beaucoup plus précis que le CSV
  • Encodage libre : ASCII, UTF-8, ISO-8859, etc. ;
  • Il peut contenir plusieurs tables liées, contrairement au CSV où chaque fichier ne peut contenir qu'une seule table ;
  • Il est plus lourd que le CSV, mais cette restriction n'est pénalisante que pour de grandes quantités d'informations ;
  • Facilement transformable en CSV, via XSLT.

Ces formats sont ouverts et pérennes ; le CSV est très adapté aux besoins scientifiques, et est directement utilisable dans les tableurs et suites bureautique.

Toutes les bases de données permettent de sauvegarder les tables en CSV, en XML ou en SQL. Certaines bases de données utilisent nativement le XML comme format de base, ce qui est particulièrement pertinent pour de « petites » bases.

Note :

Le format .xls ni ouvert, ni standard.

Le format .xls ne devrait jamais être utilisé pour diffuser un document (e-mail, web…) ; toujours préférer une diffusion en PDF ou CSV.

Le format .xls est fréquemment modifié, et ne constitue donc pas une solution de sauvegarde fiable ; il est vivement recommandé d'archiver ses données Excel en XML (OpenDocument, SpreadsheetML), ou d'en garder une copie en CSV.

OOo est capable d'importer/exporter la quasi-totalité des formats de tables de données.

Formules mathématiques

TeX : le format le plus ancien reste le standard de fait dans ce domaine (prononcer « Tek »)
  • Développé à l'origine pour des besoins de bureautique scientifique, il est très utilisé pour les formules ;
  • Syntaxe claire (rapidement assimilable) pour la description d'équations et de formules ;
  • Non conforme à XML ;
  • De nombreux filtres de transformation sont disponibles pour l'export en images bitmap ou vectorielles ;
  • De nombreux éditeurs LaTeX sont également disponibles.
MathML : c'est le format moderne de description d'équations et de formules mathématiques
  • Directement lisible dans le navigateur web : on peut notamment inclure une équation MathML dans un document HTML ;
  • La syntaxe est conforme XML, mais est très difficile à écrire sans un éditeur dédié ;
  • Il est possible de transformer une expression LaTeX en une représentation MathML, mais certaines possibilités de LaTeX n'ont pas d'équivalent en MathML ;

Note : les suites bureautiques modernes utilisent souvent leur propre éditeur de formules ; dans certains cas (OOo notamment), il est possible d'exporter le résultat en MathML.

Ressources :

Wikipédia : TeX, LaTeX, MathML

Formats d'Images et d'Impression

Images bitmap

De nombreux formats d'images bitmap (= non vectorielles : l'image est un tableau de pixels) sont disponibles ; parmi tous ces formats, certains sont à privilégier :

BMP (.bmp) : le plus ancien et le plus lourd
  • Aucune compression, l'image est un tableau de pixels ;
  • Jusqu'à 16,7 millions de couleurs ;
  • Ne présente aucun intérêt par rapport au PNG (voir ci-dessous).
GIF (.gif) : format propriétaire, développé par Compuserve, breveté par UNISYS
  • Compression sans perte de données ;
  • Limité à une palette de 256 couleurs ;
  • Supporte la transparence ;
  • Permet de réaliser de petites animations (succession d'images).
JPEG (.jpg, .jpeg) : ce format dédié à la photo s'est largement répandu
  • On entend par « format JPEG », l'algorithme de compression du groupe JPEG (en toute rigueur il s'agit du format JFIF) ;
  • La compression se fait au détriment de la qualité de l'image (plus le taux de compression est élevé, plus l'image est dégradée) ; l'algorithme est optimisé pour la photo, et donne des résultats très médiocres sur des copies d'écran ;
  • Jusqu'à 16,7 millions de couleurs ;
  • Format standardisé par l'ISO, mais sujet à des querelles de brevets : Forgent Networks (Austin, Texas, USA) réclame des royalaties à de nombreuses sociétés (dont Apple, Dell, Kodak, HP, IBM, Microsoft, Xerox) pour un brevet de compression de données qui serait utilisé dans ce format… ;
  • Utilisé en standard par les appareils photo numériques.
PNG (.png) : le successeur libre du GIF
  • Compression sans perte de données ;
  • Jusqu'à 16,7 millions de couleurs ;
  • Supporte 256 niveaux de transparence, de 100% opaque à 100% transparent ;
  • Supporte la correction gamma, qui permet de s'assurer qu'une image est affichée avec la même luminosité sur des moniteurs différents ;
  • Parfaitement adapté aux copies d'écran ;
  • Le format dérivé MNG permet de réaliser de petites animations (succession d'images), mais est encore peu répandu ; un plugin est disponible.

Le JPEG est la référence pour la photo, pour tout le reste PNG est préférable :

  • C'est le seul format compressé qui permette de conserver une image sans perte de qualité ;
  • Le JPEG compresse mieux les photos que le PNG, mais avec une (légère) perte de qualité ;
  • Le BMP et le GIF « fixe » n'ont que des inconvénients sur le PNG.

Note :

Le JPEG et le GIF animé ne disparaîtront probablement jamais ; par ailleurs, IE6 ne supporte ni la transparence ni la correction gamma du PNG.

Pour le web, les formats JPEG, GIF et PNG supportent l'entrelacement, qui permet à l'image de s'afficher de plus en plus nettement au fur et à mesure du chargement.

Pour sauvegarder une copie d'écran, utiliser systématiquement PNG (JPEG dégrade beaucoup trop les copies d'écran).

Ressources :

Wikipédia : BMP, JPEG, GIF, PNG, MNG

Comment Ça Marche : imagerie, BMP, GIF, PNG

Université d'Edimburgh : The Graphics File Formats Page

Images vectorielles

Une image vectorielle est un ensemble de lignes, directement utilisable par une table traçante par exemple, et peut donc être agrandie ou réduite sans perte de qualité.

EPS : format ouvert, propriétaire Adobe
  • L'EPS est le format vectoriel des images du langage PostScript, à l'origine du PDF ; bien que ce soit un format d'impression, il est beaucoup utilisé comme format vectoriel d'images ;
  • Lisible par les suites bureautiques, à condition d'inclure une prévisualisation bitmap de l'image dans le fichier EPS (il porte alors souvent l'extension .epsi) ;
  • La plupart des logiciels de dessin vectoriel peuvent importer/exporter des dessins EPS ;
  • Il existe de nombreuses solutions libres pour la visualisation ou la création de prévisualisations, telles que GSview et Xpdf.
SWF : le format « Flash » propriétaire de Macromédia
  • Format prévu pour définir des animations, pouvant être utilisé pour le stockage des images vectorielles ;
  • Possibilité de définir des interactions avec l'Utilisateur (via le langage ActionScript, dérivé d'ECMAScript) ou d'autres calculateurs (architecture Flex) ;
  • C'est le format vectoriel le plus utilisé sur le Web ;
  • Non directement éditable (on compile une source .fla pour produire un fichier .swf).
SVG : le dialecte XML des images vectorielles, ouvert et soutenu par Adobe
  • Le concurrent ouvert (spécification W3C) de Flash ;
  • Conforme XML, permet donc d'appliquer les technologies existantes telles que CSS, DOM, XPath, XSLT… ;
  • Possibilité d'animer les images vectorielles, à l'instar du SWF, et de définir des interactions avec l'Utilisateur via le langage ECMAScript (JavaScript/JScript) ;
  • Certains éditeurs vectoriels (tels qu'Adobe Illustrator ou Inkscape) utilisent nativement le SVG, en ajoutant leurs propres marques pour l'édition ;
  • La plupart des suites bureautiques permettent d'importer/exporter des images en SVG ;
  • à l'heure actuelle, il n'est pas encore supporté nativement dans tous les navigateurs ou les suites bureautiques ; la situation évolue rapidement (support natif annoncé pour Firefox 1.1) ;
  • Note : Adobe propose un plugin, qui est installable sous Mozilla/Firefox.

Le SVG, encore peu utilisé, va vraisemblablement s'imposer. Si le PS et le PDF restent les standards de fait de l'impression, la concurrence est en revanche directe entre SVG et SWF ; Adobe étant en train de racheter Macromedia, certains voient là une menace pour l'avenir du SWF, d'autres craignent qu'Adobe ne maintienne pas son niveau d'engagement pour le SVG.

Note :

Il est bien sûr possible de convertir une image vectorielle en PNG (ou autre format bitmap), mais il faut faire attention à la résolution de conversion :

  • 300 dpi suffisent pour l'affichage à l'écran (pour une prévisualisation EPS par exemple), mais donnerait un résultat grossier à l'impression ;
  • 1200 dpi suffisent souvent pour une impression correcte, mais l'image PNG produite serait très lourde, et la qualité sera toujours inférieure à celle obtenue en imprimant l'image vectorielle elle-même.

Certains utilitaires permettent de vectoriser une image bitmap, avec plus ou moins d'efficacité ; cela fonctionne assez bien sur des images simples… ou sur des dessins vectoriels enregistrés dans un format bitmap par un utilisateur « indélicat ».

Ressources :

Wikipédia : EPS, Flash, SVG

Comment Ça Marche : images bitmap et vectorielles

Portails SVG : SVG.org, SVGfr.org, Adobe SVG Zone

Impression

Un format d'impression contient à la fois le texte (en taille fixe) et les images (bitmap ou vectorielles) ; il n'est pas fait pour être éditable, mais pour garantir qu'un document s'imprime de la même façon sur n'importe quel PC. Les formats d'impression standards sont tous propriétaires Adobe :

PostScript : le standard professionnel
  • Langage directement interprété par les imprimantes compatibles ;
  • Le standard professionnel de l'impression ;
  • Très utilisé dans le monde Unix, notamment avec GSView.
PDF : le standard Windows / MacOS
  • Évolution (amélioration ?) du PostScript ;
  • Le lecteur Adobe Reader est disponible sur toutes les plate-formes, il existe aussi des lecteurs libres tels que Xpdf ;
  • Il est possible de générer un fichier avec des hyperliens (liens internes ou externes, table des matières), ce qui améliore largement la lecture à l'écran du document ; pour OOo, la macro Extended PDF automatise la génération d'un fichier PDF cliquable ;
  • Format très diffusé.

PostScript et PDF ne sont pas des formats de sauvegarde (bien qu'il existe des utilitaires pour transformer un document PDF en page HTML). En revanche, ces formats sont parfaitement adaptés à la diffusion de documents.

Ressources :

Wikipédia : PostScript, PDF.

Formats Multimédia

Audio

PCM / WAV : le BMP de l'audio
  • Format le plus ancien, non compressé, c'est celui des CD audio ;
  • Supporté par tous les logiciels de gravure ;
  • Chaque système d'exploitation utilise un conteneur spécifique : .wav pour Windows, .aiff pour Mac.
MP3 : compression audio, propriétaire Thomson/Fraunhofer
  • La compression se fait au détriment de la qualité (lossy) ;
  • Le format le plus utilisé dans les baladeurs… et les réseaux P2P ;
  • Note : même s'il existe de bons encodeurs MP3 libres (Lame par exemple), le format MP3 reste breveté.
Ogg-Vorbis : le pendant libre du MP3
  • La compression se fait au détriment de la qualité (lossy) ;
  • Offre une qualité d'encodage supérieure au MP3 ou à l'AAC, à taille égale ;
  • Standard dans le monde Linux, moins connu des utilisateurs de Windows ou Mac ;
  • Peu de baladeurs « MP3 » supportent l'Ogg-Vorbis.
FLAC : Free Lossless Audio Codec
  • Compression sans perte de qualité (lossless) ;
  • Peut être encapsulé dans un conteneur Ogg ;
  • Encore très peu supporté par les baladeurs et chaînes Hi-Fi.

L'Ogg-Vorbis se répand très vite, essentiellement grâce à la qualité d'écoute qu'il propose.

Le MP3 est très utilisé, bien qu'il n'apporte aucun avantage sur l'Ogg-Vorbis (qualité, pérennité). Il serait toutefois maladroit de convertir un fichier .mp3 en .ogg : chaque codec introduisant sa propre perte de qualité, le résultat final serait forcément pire que le .mp3 d'origine.

Le FLAC étant encore peu répandu, il est peut-être préférable de zipper un fichier PCM (.wav ou .aiff) pour archiver ses données audio de façon simple et pérenne.

Ressources :

Wikipédia : Vorbis, FLAC, MP3, AAC

Vidéo

Le cas du contenu multimédia est plus complexe, dans la mesure où il y a plusieurs éléments différents à considérer :

  • Le flux vidéo (et le codec qui le produit) ;
  • Le(s) flux audio ;
  • Le conteneur, qui englobe un flux vidéo, un ou plusieurs flux audio (un par langue par exemple), et divers éléments relatifs à la lecture d'un film (sous-titres, chapitres, etc.).

Pour une « vidéo » (= conteneur + flux vidéo et audio), on peut donc avoir différentes combinaisons de codecs audio (pcm/wav, mp2, mp3…) ou vidéo (mpeg, divx, xvid, raw…).

La référence reste la norme MPEG (standard ISO), même si elle est brevetée et qu'elle impose donc des royalties ; le marché est estimé à plusieurs dizaines de milliards d'euros.

MPEG (.mpg , .mpeg ) : format modérément compressé
  • MPEG-1 : utilisé dans les VCD et XVCD (qualité comparable au VHS), le flux audio étant généralement du MPEG-1 Audio ; souvent utilisé comme format de diffusion sur le web ;
  • MPEG-2 : utilisé dans les DVD (avec un flux audio AC3 ou DTS), SVCD (flux MPEG-2 Audio) et la TNT ;
  • AC3 : format propriétaire Dolby, également appelé Dolby Digital ou Dolby Surround, successeur du Dolby Pro Logic ; utilisé dans les DVD et au cinéma ;
  • DTS : format propriétaire Digital Theater Systems, généralement utilisé dans les DVD à des taux d'échantillonnage très élevés.
MP4 (.mp4 ) : format très compressé, initialement prévu pour du contenu MPEG-4/AAC
  • MPEG-4 : norme vidéo à l'origine des codecs DivX et XviD ;
  • DivX est le codec propriétaire le plus utilisé, mais il n'est pas complètement compatible MPEG-4 ; de plus, le codec DivX « officiel » installe un spyware sur le PC : à éviter !
  • XviD est le codec libre du MPEG-4 ; il est moins connu que le DivX, mais offre une meilleure qualité d'encodage et est complètement compatible MPEG-4 (contrairement au DivX). Les platines de salon récentes supportent le XviD ;
  • AAC : successeur du MP3, développé notamment par Fraunhofer, Dolby, Sony et AT&T, également appelé MPEG-4 Audio
  • le conteneur MP4 peut aussi être utilisé avec d'autres flux vidéo MPEG et contenir des flux audio MP1, MP2 ou MP3 (mais pas Ogg-Vorbis).
OGG Media (.ogm) : le premier conteneur libre
  • La seule alternative à MPEG qui soit 100% libre (conteneur + flux audio/vidéo libres) ;
  • Le flux audio est au format Ogg-Vorbis ;
  • Le flux vidéo est au format Ogg-Theora : open-source, basé sur VP3, que la société On2 a cédé à Xiph ; malheureusement, le codec est (à l'heure actuelle) trop buggé pour être utilisé en production ;
  • Il peut aussi contenir un flux vidéo MPEG.
Matroska (.mkv, .mka) : le premier conteneur libre basé sur XML
  • Conteneur libre, extensible et très complet ;
  • Plus récent et plus avancé que OGG ;
  • Supporte toutes les combinaisons de flux audio et vidéo ;
  • Souvent utilisé avec un flux vidéo XviD et un/plusieurs flux audio Ogg-Vorbis.

Les conteneurs propriétaires sont à éviter, car associés à un lecteur spécifique :

  • Microsoft AVI (.avi) : peut contenir un flux vidéo et deux flux audio (deux langues par exemple), mais ne permet ni le chapitrage, ni les sous-titres, ni l'utilisation de certains codecs modernes comme le Vorbis. Souvent utilisé pour le DivX/MP3… ;
  • Microsoft ASF (.wma, .wmv) : successeur maison de l'AVI, codec MS-MPEG-4 incompatible avec la norme MPEG-4, lisible uniquement avec MS Media Player, bref, à éviter comme la peste… ;
  • Real Media (.rm, .rmvb) : le format vidéo RV10 de Real est développé en collaboration avec la communauté du logiciel libre, mais reste propriétaire Real, et est principalement utilisé pour le streaming ;
  • Apple QuickTime (.mov) : désigne à la fois un codec audio, un codec vidéo (compatible MPEG-4) et un conteneur.

Mieux vaut donc archiver ses vidéos en MPEG (VCD ou DVD) ; le format est certes breveté, mais reste lisible avec tous les lecteurs, sur tous les OS. L'alternative 100% libre viendra avec Ogg-Theora.

Pour du contenu très compressé, privilégier une solution MP4/XviD/AAC ou Matroska/XviD/Ogg-Vorbis plutôt que AVI/DivX/Mp3, qui est principalement utilisé pour échanger illégalement des vidéos sur les réseaux P2P (les pirates se soucient rarement d'utiliser des formats ouverts).

Note : il est possible de lire la quasi-totalité des formats audio et vidéo (propriétaires ou non) avec VLC, qui est libre et multi-plateformes.

Ressources :

Wikipédia : Ogg, TheoraMatroska, MPEG, DivX, XviD

glossaire 3ivx (autre codec propriétaire compatible MPEG-4)

Formats d'archives

Compression de données

Les formats et algorithmes de compression de données sont légion ; on se contentera ici de recommander les plus utilisés :

ZIP : le standard Windows
  • Supporté par Windows (natif depuis Me/2000), Unix/Linux (zip/unzip) et toutes les autres plate-formes ;
  • Utilisé pour certains formats XML tels qu'OpenDocument, SVGZ, MAFF…
Tar : le standard Unix
  • Le nom signifie Tape Archive (archive sur bande), le fichier d'archivage créé est appelé tarball ;
  • Ce fichier est le plus souvent compressé avec GZip (.tar.gz ou .tgz), BZip2 (.tar.bz2 ou .tbz) ou Compress (.tar.Z) ;
  • Très utilisé pour la diffusion de code source.
LZMA : le plus performant
  • Version améliorée et optimisée de l'algorithme LZ77 ;
  • Utilisé par les formats 7z, ACE, RAR… ;
  • Utilisé par les installeurs tels qu'InnoSetup et NSIS.

Note :

7-zip est un logiciel libre (pour Windows, ou en ligne de commande pour Linux) permettant de zipper / dézipper la quasi-totalité des formats de compression [NdE : Il existe un grand nombre de logiciel permettant de compresser/décompresser dans le format 7z pour toutes les plateformes : 7-zip pour Windows ; The Unarchiver ou Keka pour Mac ; nativement sous certaines distributions Linux (environnement Gnome) ou Xarchiver] : utiliser une version non payée de WinRAR ou WinZip n'est pas seulement illégal, c'est idiot.

Zipper des fichiers en cascade (par exemple une archive ZIP de fichiers RAR contenant des fichiers ACE) n'a aucun intérêt : cela complique sérieusement la décompression des données, et donne presque toujours un fichier plus lourd que s'il avait été zippé en une seule passe.

Ressources :

Wikipédia : Zip, Tar, Gzip, BZip2, 7-zip.

Archives Web

Un document HTML contient le plus souvent plusieurs fichiers :

  • Le(s) fichier(s) HTML lui-même ;
  • La(les) feuille(s) de style CSS ;
  • Les images et autres objets liés.

Si cela n'est pas un problème pour l'édition, cela devient gênant pour la diffusion ; plusieurs solutions sont envisageables :

ZIP : il s'agit tout simplement de zipper l'ensemble des fichiers dans une même archive
  • C'est la solution la plus simple ;
  • Nécessite de dézipper l'archive avant de pouvoir la lire.
MAF : archive ZIP améliorée
  • Constitué d'une archive ZIP, à laquelle on ajoute un fichier RDF contenant les méta-données ;
  • Lisible sous tout type de navigateur en dézippant le fichier .maff ;
  • Directement lisible sous Mozilla ou Firefox si l'extension MAF est installée ;
  • Convertible en MHT avec l'extension MAF.
MHTML : le standard Windows (.mht)
  • Fichier texte où les objets liés sont encodés avec MIME (quoted-printable ou base64), comme pour un message e-mail ;
  • Simple, immédiatement utilisable sous IE, [Opera] et Outlook ;
  • Lisible sous Mozilla/Firefox via l'extension MAF ;
  • plus lourd qu'une archive ZIP, donc moins adapté aux documentations longues.
CHM : fichier d'aide compilé Windows
  • Également connu sous le nom de « HTML Help » ;
  • Efficace : inclusion d'une table des matières, d'un index, et d'une fonctionnalité de recherche ;
  • Nécessite des technologies Windows pour le produire (HTML Help Workshop) ;
  • Lisible sous Windows (natif) et sous Unix (Linux, BSD, Solaris…) avec xCHM ou GnoCHM ;
  • Sous Windows, peut être décompressée en HTML.

Note :

Une autre alternative est d'inclure l'ensemble des ressources textuelles dans le fichier HTML ou de générer un fichier PDF : bien réalisé, un document HTML peut être exporté en PDF en conservant les liens (notamment une table des matières) – le top pour l'impression –, c'est aussi le format le plus communément répandu.

Les formats MHT, CHM et PDF ne sont pas directement éditables : il faut fournir le code source du document pour permettre son édition ; à ce titre, le format MAF, même s'il n'est pas très répandu, a le double avantage d'être facile à lire et à éditer (avec ou sans l'extension idoine)…

Le format Mozilla Help est une alternative intéressante (libre et multi-plateformes) à CHM, mais encore réservée aux développeurs.

Ressources :

Wikipédia : MHTML, CHM

Archives e-Mail

Concernant le courrier électronique, si le format du message lui-même est standardisé (RFC 2822), ce n'est malheureusement pas le cas des « boites mail » ; le rôle de ces boites mail est de stocker les messages avec des informations comme l'expéditeur, le destinataire, la date…

Mbox : le format générique
  • Contient 0, 1 ou plusieurs messages ;
  • Supporté par tous les serveurs mail Unix (Qmail, sendmail, postfix…) ;
  • il y a quatre variantes principales de Mbox (mboxo, mboxrd, mboxcl,mboxcl2), qui sont incompatibles entre elles ;
  • Eudora utilise une variante de mboxo ;
  • Mozilla/Thunderbird utilise une variante de mboxrd.
MailDir : le format Unix « moderne »
  • Supporté par la plupart des serveurs mail Unix (Qmail, postfix…) ;
  • Largement préféré à Mbox, notamment parce qu'il ne nécessite pas (coté serveur) de verrouiller (lock) les dossiers mail pour en assurer l'intégrité ;
  • utilisé par Kmail.
EML : le format Microsoft
  • Chaque fichier .eml contient un seul message électronique ;
  • Utilisé par Outlook et OutlookExpress ;
  • Attention, l'extension .mbx des fichiers Outlook n'a aucun rapport avec le format mbox.

Il existe de nombreux logiciels spécialisés dans l'archivage et la conversion de formats e-mail. Par ailleurs les clients mail modernes disposent de fonctionnalités pour faciliter l'import d'une boite mail existante.

Puisqu'aucun de ces formats n'est réellement standard, il peut être judicieux d'archiver les e-mails importants sous forme HTML (cf. Archives Web) ; de même, il est prudent de stocker les pièces jointes hors de la boite mail.

Ressources :

Wikipédia : E-mail Client, Mbox, Maildir

Conversion de formats : interguru, emailman, eml2mbox

Gravure de CD/DVD

Chaque logiciel de gravure (ou presque) utilise son propre format de fichier ; il existe pourtant des standards dans ce domaine :

ISO 9660 : le standard officiel
  • Spécification également connue sous le nom ECMA-119 ou High Sierra ;
  • Niveau 1 : noms de fichiers restreints à 8+3 caractères ASCII (comme pour DOS), profondeur maximale de 8 sous-répertoires ;
  • Niveau 2 : noms de fichiers restreints à 31 caractères ASCII ;
  • Joliet : extension (développée par Microsoft) permettant de nommer les fichiers en Unicode (donc avec des accents) sur plus de 31 caractères ;
  • RockRidge : extension implémentant les caractéristiques spécifiques à Unix (permissions d'accès, liens symboliques…) ;
  • HFS : extension (développée par Apple) implémentant les caractéristiques spécifiques à MacOS ;
  • El Torito : extension (proposée par IBM et Phoenix Technologies) permettant de définir un CD auto-bootable.
BIN/CUE : données brutes
  • Le fichier BIN contient les données brutes (format binaire) du fichier de gravure ;
  • Le fichier CUE contient des informations sur le contenu du fichier BIN ;
  • Ce format peut être intéressant pour archiver certains CD ou DVD contenant des informations de gravure spécifiques (pour les CD audio ou DVD vidéo notamment).

Ces formats ne sont pas compressés ; leur intérêt est d'archiver un CD ou DVD sous une forme « prête à graver ». Il est possible de monter une image ISO comme un disque, et donc d'accéder aux données contenues sans avoir à graver l'image (Daemon Tools pour Windows, mount sous Linux/Unix).

Une image hybride est une image ISO 9660 contenant des extensions Joliet, RockRidge et HFS : une telle image est donc lisible par tous les OS actuels.

Ressources :

Wikipédia : ISO-9660, Joliet, RockRidge, HFS, El Torito