DOCX - hackathonBnF/FichesFormat GitHub Wiki
Le format de traitement de texte Office Open XML (OOXML), également nommé « DOCX » selon son extension la plus courante, est une des déclinaisons des formats OOXML pour les documents de traitement de texte. Les formats OOXML ont été créés en 2007 par Microsoft en remplacement de leur équivalent binaire comme formats de production de leur suite bureautique Microsoft Office. Outre son contenu textuel formaté, le format peut contenir une grande diversité de contenus (images, tableaux, graphiques, hyperliens, etc.).
Le format est documenté par la norme ISO/IEC DIS 29500 depuis 2008. Ce processus de normalisation est une réponse de Microsoft à l’adoption par l’ISO en 2006 du format de fichier bureautique ouvert OpenDocument Format. La reconnaissance officielle d’OOXML a fait l’objet de vifs débats portant sur la difficulté de la transposer à d’autres suites bureautiques et, donc, sur les limites de son ouverture.
Du fait de sa structure XML, le format DOCX permet une plus grande facilité de récupération des données par rapport à son prédécesseur DOC : ainsi, même si un document est partiellement corrompu, le contenu non corrompu est potentiellement récupérable. Sa compression facilite par ailleurs le stockage et le partage. Par ailleurs, reposant sur un standard réputé relativement ouvert, il est censé être accessible et modifiable par la plupart des logiciels en dehors de son producteur Microsoft.
Microsoft Office est actuellement la suite bureautique la plus connue et la plus utilisée dans le monde. Outre le logiciel Microsoft Word, d’autres applications déclarent le gérer, au moins partiellement : Google Docs, OpenOffice, LibreOffice, etc., même si cette compatibilité fait débat.
En 2016, la version 2.0 du Référentiel général d'interopérabilité (RGI), décrivant les normes et bonnes pratiques communes aux administrations publiques françaises dans le domaine informatique, assigne au format OOXML le statut « en observation ». Cela signifie que « son application est à prendre avec précaution ».
Le format est une spécialisation du format ZIP. Tous les outils permettant d'exploiter des fichiers ZIP fonctionnent donc sur DOCX - il est possible de vérifier l'intégrité des composants du DOCX avec la commande zip -T
, d'afficher la structure interne du fichier avec la commande unzip -l
, etc.
Le format remplace, à partir de la version du pack Office 2007, le format binaire non documenté DOC, le plus utilisé en bureautique dans les années 1990, mais non normalisé et jugé trop lourd en termes de stockage d’information.
Les fichiers XML contenus dans un fichier DOCX sont fondés sur la syntaxe WordprocessingML. Le logiciel Word peut, depuis sa version 2003, enregistrer des documents dans ce format XML seul, mais ce dernier est limité dans l'expressivité et les contenus qu'il peut embarquer. On se reportera à cette section de la fiche Wikipedia anglophone traitant de « Microsoft Office XML Formats » afin d'avoir une vue des différences avec le format conteneur DOCX.
Il existe deux variantes de DOCX :
- La première dite « transitoire », intégrée à partir de Office 2007, n’est pas compatible avec la norme ISO/IEC DIS 29500 car cette dernière, adoptée seulement en 2008, fit l’objet de plusieurs corrections à la demande de l’ISO. La variante transitoire permet une rétrocompatibilité avec le format DOC, et l'importance accordée à cette dernière caractéristique a amené certains éditeurs de solutions logicielles à la préférer. Elle est de ce fait la variante la plus répandue.
- La variante suivante, dite « stricte », a été intégrée progressivement à partir d'Office 2010. Elle suit intégralement la norme ISO. Elle n’est pas rétrocompatible avec les versions de Word antérieures à 2010, sinon à installer un convertisseur proposé par Microsoft. Elle est lisible mais non productible par Microsoft Office 2010. Les versions de Microsoft Word depuis Office 2013 sont capables de la produire, bien que la version transitoire demeure le format par défaut de Word, si ce comportement n'est pas reparamétré par l’utilisateur (Fichiers > Options > Enregistrement > Document Open XML Strict).
La cohabitation des différentes variantes de DOCX à travers différentes versions de la suite Microsoft Office (au sein desquelles le degré d’implémentation de la norme varie) a pu contraindre à des conversions de format provoquant une perte de métadonnées. A pu également être constatée une corruption des fichiers lors de leurs échanges entre certaines versions de Microsoft Office et des logiciels libres suivant la norme stricte (par exemple entre Office 2010 et LibreOffice).
Le format est composé de plusieurs fichiers structurés selon la syntaxe XML et compressés avec l'algorithme Deflate sous forme d’un unique conteneur ZIP. Les fichiers représentent le contenu, le style, les paramètres du texte, etc. Le contenu textuel principal du DOCX se trouve dans le fichier word/document.xml
. L'anatomie d'un fichier DOCX est décrite à cette page. On trouvera également une information sur la structure de base des fichiers WordprocessingML à cette adresse.
Il est possible d'inclure dans un fichier DOCX des contenus de nature diverse : images (JPEG, TIFF, PNG, SVG, etc.), documents PDF, fichiers bureautiques du pack Microsoft Office éditables directement depuis le fichier DOCX (PPTX, XLSX, etc.), vidéos, et de manière générale tout fichier quel que soit son format. Ces fichiers sont accessibles en ouvrant le fichier DOCX avec un gestionnaire de fichiers conteneurs, dans un répertoire word/media
ou word/embeddings
. Néanmoins, leur nom de fichier originel n'est pas préservé. Certains de ces fichiers étant conservés sous une forme binaire d'objet OLE, il est nécessaire d'utiliser un outil comme Apache Tika pour en extraire une version utilisable.
Le format peut embarquer ou non les polices utilisées si on le paramètre dans ce but (Fichier > Options > Enregistrement > Préserver la fidélité lors du partage du document). En l'absence des polices utilisées sur l'équipement de lecture, la mise en page voire la lisibilité peuvent être fortement altérées.
En 2006, les formats OOXML ont été normaisés par la European association for standardizing information and communication systems (ECMA) sous l'identifiant ECMA-376. Cette organisation diffuse les spécifications gratuitement sur cette page.
Les formats Office Open XML sont également normalisés à l'ISO sous l'identifiant ISO/IEC 29500. Cette norme est développée par un unique éditeur de logiciels propriétaires : Microsoft. Le statut de norme internationale adoptée par l’ISO garantit cependant qu’il s’agit d’une norme dûment documentée et librement utilisable en dehors des logiciels de Microsoft.
Certains experts ont cependant fait remarquer que les spécifications de la norme OOXML sont anormalement complexes par rapport aux autres normes (le document de la version ISO/IEC 29500-1:2016 fait plus de cinq mille pages !), car OOXML obéit à la logique et à l’histoire propre de son développeur. Du fait de cette complexité, il n’est pas complètement garanti que OOXML puisse être parfaitement et intégralement implémentée en dehors de Microsoft sans implémenter également des parties de la suite Microsoft Office elle-même. D’autant moins que la norme contient des références à des technologies propriétaires ainsi que des marques commerciales.
Extensions : .docx
, .docm
(permettant d'embarquer des macros), .dotx
/.dotm
(modèle destiné à embarquer des styles).
Type | Extension | Type MIME |
---|---|---|
Document Word | .docx |
application/vnd.openxmlformats-officedocument.wordprocessingml.document |
Modèle Word | .dotx |
application/vnd.openxmlformats-officedocument.wordprocessingml.template |
Document Word prenant en charge les macros | .docm |
application/vnd.ms-word.document.macroenabled.12 |
Modèle Word prenant en charge les macros | .dotm |
application/vnd.ms-word.template.macroenabled.12 |
Registre | Identifiant |
---|---|
Wikidata |
Q3033641 (entrée générale) Q26207818 (strict) |
Bibliothèque du Congrès |
fdd000400 (strict) fdd000397 (transitoire) |
PRONOM |
fmt/412 (entrée globale, PUID renvoyé de fait pour les DOCX transitional) fmt/1827 (strict) fmt/523 (DOCM avec macros) |
Just Solve the File Format Problem | DOCX |
La taille d’un fichier .docx peut techniquement aller jusqu'à 512 Mo, mais elle est souvent limitée d’abord par les ressources du système d’exploitation.
Les fichiers ouverts dans le logiciel Word, dont les fichiers DOCX, sont souvent modifiés, même sans action consciente de l'utilisateur·ice. Ce comportement pose des problèmes car la date de dernière modification associée au fichier, l'empreinte numérique voire les personnes associées (« auteur », « dernière modification par ») peuvent alors être altérées. Pour éviter ces comportements lors de l'ouverture d'un fichier Word en vue d'une simple visualisation, il est recommandé d'appliquer une des solutions suivantes :
- Mettre le fichier / le dossier en lecture seule (clic droit > Propriétés > Lecture seule)
- Obliger Word à n'ouvrir les fichiers qu'en mode lecture seule via Fichiers > Options > Centre de gestion de la confidentialité > Paramètres du centre de gestion de la confidentialité > Paramètres de blocage des fichiers.
Les documents OOXML peuvent embarquer des macros, petits programmes définissant un ensemble d'actions automatisables. Les macros peuvent être définies par une interaction de l'utilisateur·ice avec l'interface par le biais du clavier et de la souris, ou être créées/modifiées directement dans l'interface Développeur à l'aide du langage de programmation Visual Basic. Les fichiers textuels OOXML dont les macros sont autorisées portent l'extension .dotm
. En cas d'enregistrement dans un format autre que .dotm
, les macros sont généralement perdues. Cette fonctionnalité a été largement utilisée pour créer des virus, aussi les outils de cybersécurité tels que oletools peuvent-ils servir à identifier des risques de préservation liés aux macros ou à l'appel de contenus externes.
Un fichier DOCX peut être utilisé pour embarquer une feuille de styles. La structure d'un tel fichier ne diffère pas de celui d'un fichier DOCX habituel mais l'usage attendu du fichier est marqué par l'extension .dotx
ou .dotm
(« t » pour template).
Les fichiers DOCX conservent, comme leur ancêtre DOC, des métadonnées telles que le temps d'édition et le nombre d'enregistrements successifs. Ces métadonnées peuvent être consultées par un simple clic droit sur le fichier (Propriétés > Détails) ou être extraites par un outil tel qu'Exiftool.
Les métadonnées techniques indiquent seulement la version du pack Office utilisé sans spécification sur le format précis d’enregistrement du fichier (norme OOXML transitoire ou « stricte »).
- Exploration : les gestionnaires de fichiers conteneurs tels que 7-Zip peuvent ouvrir les fichiers DOCX comme des fichiers ZIP et accéder à leur contenu ;
-
Caractérisation : Exiftool est capable d'analyser les propriétés des fichiers DOCX, tout comme Apache Tika avec l'option
-m
; -
Extraction : Apache Tika est capable d'extraire le texte avec l'option
-t
et les fichiers inclus (images, mais aussi tout fichier encapsulé) avec l'option-z
(Tika fournit à cette occasion le type MIME des éléments extraits).
Des fichiers DOCX sont versés au titre des dons et acquisitions nativement numériques, en particulier dans le cas de fonds d'archives numériques. Par ailleurs, on en trouve également dans les archives du web.