Comment créer un fichier au format OpenDocument (ODF) proprement
Le format OpenDocument
Généralités
La FAQ LibO et le XML explique le choix du format XML pour construire les fichiers au format OpenDocument. Si vous voulez simplement consulter le contenu d'un fichier, vous pouvez vous référer à la FAQ Quel est le format de fichier utilisé par LibreOffice ?
Un fichier au format OpenDocument est une archive zippée avec une arborescence de fichiers contenant la structure en XML. Plusieurs extensions de fichier correspondent à ce format :
- ODT OpenDocument Text : document texte créé par Writer
- ODS OpenDocument Spreadsheet : classeur de feuilles de calcul créé avec le tableur Calc
- ODP OpenDocument Presentation : présentation créée avec Impress
- ODG OpenDocument Graphic : document rassemblant des dessins, créé avec Draw
- ODB OpenDocument Base : base de données créée avec Base
- ODF OpenDocument Formula : équation mathématique créée avec Math
L'article wikipedia contient davantage de détails sur le format lui-même.
Structure du format ODF
Même si LibreOffice est capable d'ouvrir un fichier ODF constitué d'une simple archive zippée dont les fichiers ne respectent aucun ordre particulier, un fichier strictement au format ODF doit suivre une structure particulière.[1]
Dans l'archive, le premier fichier qui doit être présent est le fichier mimetype
(sans extension) qui ne doit pas être compressé. Le reste de l'archive est compressé normalement.
Dans ce fichier mimetype
, il y a juste une chaine de caractères indiquant le type du fichier. Le tableau suivant donne les correspondances.
Extension | Contenu | Chaine mimetype |
---|---|---|
ODT | Document texte | application/vnd.oasis.opendocument.text
|
OTT | Modèle de texte | application/vnd.oasis.opendocument.text-template
|
ODS | Classeur | application/vnd.oasis.opendocument.spreadsheet
|
OTS | Modèle de classeur | application/vnd.oasis.opendocument.spreadsheet-template
|
ODP | Présentation | application/vnd.oasis.opendocument.presentation
|
OTP | Modèle de présentation | application/vnd.oasis.opendocument.presentation-template
|
ODG | Dessin | application/vnd.oasis.opendocument.graphic
|
OTG | Modèle de dessin | application/vnd.oasis.opendocument.graphic-template
|
ODB | Base de données | application/vnd.oasis.opendocument.base
|
ODF | Équation mathématique | application/vnd.oasis.opendocument.formula
|
OXT | Extension | application/vnd.oasis.opendocument.extension
|
Le format Flat OpenDocument
Les formats ODT, ODS, ODP et ODG disposent d'un format complémentaire appelé Flat OpenDocument. Les extensions correspondantes sont simplement FODT, FODS, FODP et FODG. Dans ce format, l'ensemble de la structure est rassemblé dans un seul fichier non compressé. Il n'y a alors plus à se préoccuper du fichier mimetype
dont le positionnement au sein du fichier zippé est toujours délicat (cf. ci-dessus).
Avec ce format, vous accédez directement au code XML en ouvrant le fichier avec votre éditeur XML. Il suffit de préciser à l'éditeur que les fichiers FODx sont des fichiers XML. Avec Notepad++ :
- soit en sélectionnant le menu ▸ (vous devrez le refaire à chaque ouverture du fichier),
- soit en modifiant les paramètres de Notepad++ :
- sélectionnez le menu ▸ ,
- sélectionnez le langage XML,
- ajoutez dans le champ Ext. utilisateur : les extensions fodg, fodt, fods et fodp (Notepad++ reconnaitra désormais automatiquement le format de ces fichiers).
Les étapes de compression/décompression décrites ci-dessous sont inutiles avec ce format de fichier.
Nota : dans le cas d'une installation personnalisée il faut installer le composant optionnel Filtres pour exemple XSLT pour que ce format soit disponible.
Modification d'un fichier
Comme un fichier au format OpenDocument est une archive zippée, vous pouvez l'ouvrir avec l'archiveur de votre choix.
Sous Windows
7-zip
Le logiciel libre 7-zip, par exemple, permet d'ouvrir directement le fichier par un clic droit ▸ ▸ . Cependant, lors de l'enregistrement, l'ordre des fichiers sera modifié et mimetype
ne sera plus en premier. LibreOffice sera néanmoins capable d'ouvrir ce fichier et de rétablir l'ordre des fichiers lors d'un enregistrement. Cependant, pour créer un fichier OpenDocument valide, il convient d'utiliser la commande par clic droit ▸ ▸ où le nom du fichier apparait à la place de "...". Un répertoire éponyme est alors créé, contenant toute la structure.
La procédure pour réorganiser proprement le fichier est la suivante :
- Extraire le document à modifier : ▸ ▸
- Apporter la modification dans les fichiers extraits (par exemple au content.xml)
- Copier-coller ou glisser-déposer le composant modifié (par exemple le content.xml) dans le document original ouvert dans l'explorateur de fichiers de windows (voir ci-dessous)
- Renommer avec l'extension correspondant au contenu
Présentation vidéo de cette procédure :
Please accept this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
Explorateur de fichiers
L'explorateur de fichiers de Windows est capable d'ouvrir les archives zippées. Cependant, les fichiers OpenDocument ne sont pas reconnus comme des archives. Il faut donc dans un premier temps changer l'extension du fichier en .ZIP. Il sera peut-être nécessaire de désactiver préalablement l'option de masquage des extensions dans l'explorateur de fichiers
▸ ▸ ▸ .La modification du contenu ne perturbera pas l'ordre des fichiers. Il suffira de rétablir l'extension du fichier pour retrouver un fichier prêt à être utilisé. L'inconvénient de cette méthode est qu'il n'est pas aisé d'utiliser l'éditeur XML de son choix.
Sous Linux
Pour créer un fichier à partir des fichiers dézippés, en adaptant le nom et l'extension de document2.odt :
zip -0 -X ../document2.odt mimetype zip -r ../document2.odt * -x mimetype
Conseils
Pour que les fichiers XML soient lisibles par un être humain, il est recommandé de désactiver l'option d'optimisation de la taille des fichiers dans LibreOffice :
- Pour les versions antérieures à 4.2
- ▸ ▸ ▸ ▸
- Pour les version à partir de 4.2 : l'option a été retirée de l'interface utilisateur ; il faut utiliser l'éditeur d'options avancé :
- ▸ ▸ ▸ ▸ puis trouver la préférence :
/org.openoffice.Office.Common/Save/Document/PrettyPrinting
- Basculez cette préférence sur
True
en double cliquant dessus.
Par ailleurs, il convient d'utiliser un éditeur de texte spécialisé qui disposera d'une colorisation syntaxique et de l'ouverture/fermeture des balises avec des poignées. Sous Windows, on peut citer le logiciel libre Notepad++.
Création d'un nouveau fichier
Pour créer un fichier, il est en général plus facile de démarrer avec un fichier créé avec LibreOffice ou présentant des caractéristiques proches de celles du fichier attendu.
Vidéo
L'explication en vidéo :
Please accept this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
Notes :
- ↑ Cf. Open Document Format for Office Applications (OpenDocument) Version 1.2 OpenDocument-v1.2-part3
TO DO
- Linux : à mieux rédiger
- Mac
Traduction en cours du tutoriel de Regina Henschel.