Le 14 janvier dernier, l’éditeur du projet de norme ISO/IEC DIS 29500, avec l’aide du comité technique TC45 de l’Ecma a publié l’ensemble des réponses aux 3 522 commentaires émis par les différents comités de normalisation nationaux dont, pour ce qui concerne la France, l’AFNOR. Ces réponses vont permettre à l’ensemble des comités nationaux de prendre une décision argumentée quant à l’éventuel changement de leur position pendant la phase de normalisation en cours, dite de BRM (Ballot Resolution Meeting). Ainsi, en fonction du fait que ces réponses seront considérées par chacun des comités nationaux comme répondant ou non à leurs commentaires, chacun de ces comités pourra prendre, en conscience, la décision de changer son vote.
L’ensemble du rapport est accessible, conformément aux instructions explicites de l’ISO/IEC, via l’utilisation d’un mot de passe qui a été transmis à chacun des comités de normalisation nationaux, sur le site du projet.
C’est manifestement dans un réel esprit d’écoute de chacun des avis exprimés et avec la volonté d’utiliser chacun des commentaires pour faire progresser le projet de norme, que chacun d’entre eux a reçu une réponse argumentée.
Nous allons présenter ci-après un résumé des principales évolutions du projet de norme ISO/IEC DIS 29500.
Balises utilisées pour représenter la langue au sein d’un document
Le standard ECMA-376, qui est le standard Open XML originel adopté par l’Ecma, utilisait un ensemble de valeurs entières pour permettre l’identification du langage s’appliquant aux différentes parties d’un document. Pour répondre aux souhaits exprimés dans les commentaires formulés par de nombreux comités nationaux, l’Ecma propose que les balises langagières utilisées au sein du projet de norme ISO/IEC DIS 29500 utilise, en lieu et place de ces valeurs entières, une bonne pratique reconnue internationalement (BCP 47 – Best Current Practice 47). Cette bonne pratique recommande d’utiliser la norme ISO 639 pour les langages et la norme ISO 15924 pour les scripts.
Traitement des dates et calculs associés
Possibilité d’utiliser des dates au format ISO 8601
Le standard ECMA-376 affectait une valeur numérique unique à chacune des dates stockées au sein d’une feuille de calcul afin d’améliorer la vitesse des calculs sur ces dates. Suite aux commentaires émis par un certain nombre de comités de normalisation nationaux, le projet de norme ISO/IEC DIS 29500 sera amendé afin de permettre aux valeurs de dates d’être stockées en utilisant le format défini par la norme ISO 8601.
Stocker des dates avant l’année 1900
Le standard ECMA-376 ne spécifiait pas de règles particulières pour calculer des valeurs en utilisant des dates avant l’année 1900. Pour répondre aux commentaires émis par 19 comités de normalisation, l’Ecma a amendé le projet de norme ISO/IEC DIS 29500 afin de permettre l’utilisation de dates avant 1900 en utilisant le format de dates spécifiées au sein de la norme ISO 8601.
Traitement des années bissextiles
Afin de préserver la compatibilité avec un ancien traitement de texte (Lotus 1-2-3), le standard ECMA-376 traitait, de manière optionnelle, l’année 1900 comme une année bissextile (depuis l’instauration du calendrier grégorien, sont bissextiles, les années divisibles par 4 mais non divisibles par 100 ou bien divisibles par 400 ; l’année 1900 n’est donc pas une année bissextile). Préserver un tel traitement est important à des fins de compatibilité ; cependant, afin de tenir compte des avis exprimés par les comités nationaux, l’Ecma reconnait qu’il est important de préserver dans tous les cas l’exactitude des calculs sur les dates. Ainsi donc, le système de dates utilisera au sein du projet de norme ISO/IEC DIS 29500 respectera strictement la norme ISO 8601, la préservation de la compatibilité avec le bogue de l’année 1900 devenant une fonctionnalité dépréciée ainsi que décrit dans la partie suivante de cet article.
Extraction d’un certain nombre de fonctionnalités du document de normalisation principal
De nombreux comités de normalisation, dont l’AFNOR, ont identifié un certain nombre de fonctionnalités reflétant des anomalies produit ou des comportements d’anciennes applications. Ces comportements sont importants puisqu’ils reflètent le contenu de documents existants ; pour autant, ceux-ci ne doivent pas être perpétués lors de la création de nouveaux documents.
Suivant ainsi l’exemple d’autres normes ISO (telles que la norme SQL ISO 9075:2003 Partie 1 et C++ ISO/IEC 14882:1998), l’Ecma propose une nouvelle architecture pour le projet de norme ISO/IEC DIS 29500 afin de distinguer plus clairement les anomalies ou les fonctions dépréciées des fonctions qui seront normalement utilisées pour créer de nouveaux documents.
Ainsi, les éléments relatifs au « bogue de l’année bissextile » évoqué plus haut, à l’utilisation d’un langage déprécié comme VML (Vector Markup Language est un langage XML qui a été utilisé pour produire des graphiques vectoriels avec d’anciennes versions de Microsoft Office), ou à l’utilisation de paramètres de compatibilité tels que « AutoSpaceLikeWord95 » seront extraits du document de normalisation principal et transférés dans une annexe du projet de norme ISO/IEC DIS 29500 qui sera consacrée exclusivement aux fonctionnalités dépréciées. L’objectif de cette annexe est de permettre la mise en place d’une période de transition pendant laquelle les anciens documents binaires de la suite Microsoft Office pourront être migrés vers le format Open XML correspondant au projet de norme ISO/IEC DIS 29500, tout en précisant bien que les nouveaux documents ne devront pas les utiliser. De plus, la clause de conformité présente au sein du projet de norme ISO/IEC DIS 29500 sera modifiée afin de déclarer que les documents nouvellement créés ne doivent pas utiliser les fonctionnalités de cette annexe. Ceci permettra d’assurer que les anciens documents pourront être migrés sans problème vers les nouveaux formats de fichiers mais également d’assurer que les bogues ou les anciennes sémantiques ne seront pas perpétués par le projet de norme Open XML.
VML
De nombreux comités nationaux, dont l’AFNOR, ont fait des commentaires à propos du rôle de VML au sein du projet de norme. Ainsi, certains ont demandé que ce langage soit complètement supprimé alors que d’autres ont demandé que VML soit remisé en annexe. L’Ecma est d’accord avec cette demande et supprime donc VML de la spécification principale du projet de norme. Ainsi que suggéré par de nombreux comités nationaux, l’Ecma a mis en place les modifications nécessaires au sein du projet de norme pour permettre la systématisation de l’usage de DrawingML (une nouvelle grammaire XML pour les graphiques) en lieu et place de VML.
VML sera donc transféré dans la nouvelle annexe contenant les fonctionnalités dépréciées. Ceci permettra que les nouveaux documents utilisent pleinement DrawingML ainsi que spécifié dans la nouvelle clause de conformité. Ceci autorisera également la mise en place d’une période de transition pendant laquelle les documents binaires existants qui seront migrés vers le projet de norme ISO/IEC DIS 29500 pourront utiliser VML.
Ceci représente une modification tout à fait substantielle du projet de norme ISO/IEC DIS 29500.
Paramètres de compatibilité
De nombreux comités nationaux ont demandé la fourniture d’une documentation plus complète au sein du projet de norme pour les paramètres permettant d’assurer la compatibilité avec les anciennes applications tels que « AutoSpaceLikeWord95 », « truncateFontHeightsLikeWP6 », etc.
L’Ecma a pris en compte ce commentaire et fournira l’information complète nécessaire pour implémenter tous les paramètres de compatibilité au sein du projet de norme ISO/IEC DIS 29500. Ceci permettra aux différentes implémentations éventuelles concernées d’obtenir une meilleure fidélité avec les anciens documents et également d’assurer que le projet de norme puisse être pleinement implémenté sans dépendre en aucune façon de produits anciens. De plus, le projet de norme supprime tous les paramètres de compatibilité concernés du document de norme principal pour les transférer au sein de l’annexe des fonctionnalités dépréciées. Par ailleurs, la nouvelle clause de conformité permet aux nouveaux documents d’être créés sans utiliser les paramètres de compatibilité.
Ceci constitue également une modification tout à fait substantielle du projet de norme ISO/IEC DIS 29500.
Conformité et organisation de la norme
Des comités de normalisation nationaux, dont l’AFNOR, ont exprimé le besoin de pouvoir plus clairement identifier comment des développeurs pouvaient implémenter uniquement les éléments de la spécification importants pour eux ; ainsi, par exemple, de nombreux développeurs veulent seulement implémenter un traitement de texte mais pas nécessairement un tableur ou un logiciel de présentation. L’Ecma a donc proposé deux changements importants pour aider les développeurs à implémenter uniquement les éléments appropriés pour eux :
Conformité
De nombreux comités de normalisation ont émis des commentaires à propos de la clause de conformité au sein du projet de norme ISO/IEC DIS 29500, indiquant que cette norme était trop large pour être implémentée dans sa totalité et affirmant que celle-ci devait adresser les questions de sémantique aussi bien que de syntaxe. L’Ecma, en accord avec ces commentaires, va modifier le projet de norme ISO/IEC DIS 29500 pour disposer de clauses de conformité plus spécifiques. Ainsi, WordprocessingML, SpreadsheetML, PresentationML, OPC (Open Packaging Convention) et Extensibility auront des clauses de conformité séparées. De même, s’il est nécessaire de mettre en place des classes de conformité supplémentaires pour d’autres parties de la norme, celles-ci pourront être ajoutées si l’on a besoin de disposer d’un niveau de conformité plus granulaire. La clause de conformité a été également modifiée afin d’inclure une notion de conformité sémantique et de permettre à de nouveaux documents d’être créés sans avoir recours aux fonctionnalités dépréciées décrites dans la nouvelle annexe.
Norme en plusieurs parties
De nombreux comités nationaux, dont l’AFNOR, ont émis des commentaires indiquant que la nature modulaire du projet de norme ISO/IEC DIS 29500 militait en faveur de la création de ce que l’ISO appelle un « multi-part standard », à savoir une norme en plusieurs parties. L’Ecma, en accord avec ces commentaires, propose que le projet de norme ISO/IEC DIS 29500 soit traité comme une norme disposant de plusieurs parties, afin d’isoler des technologies spécifiques dans des spécifications séparées. Le projet de norme ISO/IEC DIS 29500 sera donc réorganisé en trois parties distinctes :
· DIS 29500-1 qui sera constitué de WordprocessingML, SpreadsheetML, PresentationML et des spécifications de support SharedML ;
· DIS 29500-2 qui sera constitué des spécifications OPC (Open Packaging Convention) ;
· DIS 29500-3 qui contiendra les spécifications d’extensibilité.
Cette réorganisation permettra une réelle simplification pour les développeurs.
Bordures de page
ECMA-376 permettait le support d’un grand nombre d’éléments graphiques pouvant être utilisés comme bordures de page. De nombreux comités nationaux, dont l’AFNOR, ont indiqué que la liste fermée en question n’était pas suffisamment variée et internationalisée dans son contenu. En fonction de ces remarques, l’Ecma propose un changement du projet de norme ISO/IEC DIS 29500 afin de permettre le support de bordures de page sur mesure. Ceci permettra aux implémentations de déterminer quelle est la meilleure façon d’inclure des bordures pertinentes pour leurs besoins.
Utilisation des normes ISO pour les grammaires
ECMA-376 utilisait sa propre notation pour définir la grammaire (la syntaxe des expressions arithmétiques est définie par un ensemble de formules constituant ce que l’on appelle une grammaire) de quelques-unes des fonctionnalités les plus avancées, telles que les formules des feuilles de calcul ou les champs utilisés au sein du traitement de texte. Plusieurs comités de normalisation, dont l’AFNOR, ont constaté que les grammaires existantes au sein du projet de norme ISO/IEC DIS 29500 n’étaient pas standard et n’étaient pas entièrement décrites au sein de ce projet. En réponse à cette problématique, l’Ecma propose de réviser la notation des formules des feuilles de calcul et des champs afin d’utiliser une norme ISO existante. Ainsi, ces notations utiliseront dorénavant la norme ISO/IEC 14977:1996 (Syntactic metalanguage – Extended BNF – Backus-Naur form). Cette proposition améliore la possibilité pour des développeurs de tester et de valider la conformité de leur implémentation par rapport à la spécification.
Technologies de liaison d’objets
ECMA-376 est déjà compatible avec les technologies de liaison d’objets présentes sur de nombreuses plateformes dont, notamment, Linux d’une manière très voisine à celle que l’on trouve au sein d’ODF. En fonction des commentaires émis par quelques comités nationaux, l’Ecma a ajouté des exemples supplémentaires pour décrire la façon dont un document Open XML peut inclure des objets tels que KParts ou Bonobo ainsi que définis, respectivement, par les interfaces homme - machine KDE et GNOME.
Couleurs
ECMA-376 permettait la définition des couleurs utilisées dans les documents. En fonction des commentaires de certains comités nationaux, l’Ecma propose un changement du projet de norme Open XML afin d’utiliser les définitions des couleurs adoptées par le standard SVG du W3C.
Hachage de mot de passe
Le projet de norme ISO/IEC DIS 29500 utilisait un algorithme spécifique pour encoder les mots de passe. Pour répondre aux demandes de certains comités nationaux, l’Ecma propose d’adopter pleinement la norme ISO/IEC 10118-3 pour le hachage des mots de passe, afin de permettre la mise en place d’un moyen mieux sécurisé d’encodage des mots de passe associés aux documents.
Internationalisation
La standard ECMA-376 a été conçu pour travailler avec des documents multilingues. Il est ainsi capable de représenter entièrement les informations nécessaires pour différents langages et scripts, y compris les langages bidirectionnels tels que l’Arabe et l’Hébreux. En fonction des commentaires émis par certains comités nationaux, l’Ecma propose d’ajouter une plus grande flexibilité dans la façon de définir les jours travaillés et les jours de week-end au sein d’une semaine afin de s’adapter aux besoins internationaux et d’ajouter une fonctionnalité supplémentaire pour permettre une meilleure représentation des informations nécessaires pour les scripts de droite à gauche et de gauche à droite. Pour cela, une nouvelle annexe d’information sera créée afin de décrire l’ensemble du support multilingue et bidirectionnel au sein du projet de norme ISO/IEC DIS 29500 et de fournir ainsi aux développeurs un aperçu très complet des capacités multilingues d’Open XML.
Accessibilité
Le standard ECMA-376 fournit une riche infrastructure permettant de créer un contenu répondant aux besoins des personnes handicapées. En fonction des remarques émises par les comités de normalisation nationaux, l’Ecma a proposé des compléments aux fonctionnalités d’accessibilité du projet de norme ISO/IEC DIS 29500 concernant l’association des contrôles de contenu et des contrôles de forme à des labels spécifiques, la navigation au sein des éléments présents au sein d’une page de présentation, l’association des cellules de données avec les cellules d’en-tête au sein d’une table et l’association des informations d’accessibilité avec les trames et les ensemble de trames. De plus, des experts en accessibilité, notamment George Kerscher (le secrétaire général du consortium DAISY), Rob Sinclair (le responsable de l’accessibilité au sein de Microsoft) et Robert B. Yonaitis (Directeur Technique et fondateur de HiSoftware) ont revu le projet de norme et créé le guide d’accessibilité pour l’ISO/IEC DIS 29500.
Formats binaires
De nombreuses entreprises et de nombreuses entités de la sphère publique ont demandé et reçu la documentation des formats binaires d’Office (ces formats étaient disponibles sur simple demande en envoyant un mail à Microsoft ainsi que documenté en http://support.microsoft.com/kb/840817/en-us), travaillent déjà avec ces formats et peuvent ainsi créer des correspondances entre ces formats binaires et les formats Open XML. C’est, par exemple, le cas de produits tels qu’OpenOffice.org qui supporte les formats binaires de Microsoft Office ou de traducteurs depuis les formats binaires vers des formats XML tels que le Sun ODF Plug-in for Microsoft Office.
En réponse à certaines demandes exprimées par des comités nationaux, notamment l’AFNOR, Microsoft vient d’annoncer une mise à disposition encore plus simple des spécifications de ces formats en :
· Supprimant toutes les étapes intermédiaires nécessaires pour obtenir la documentation et en la rendant disponible en téléchargement depuis le site Web de Microsoft.
· Soumettant ces formats binaires à son engagement irrévocable, dit « OSP (Open Specification Promise) », de ne prétendre à aucune revendication à l’encontre de quiconque effectuera, utilisera, vendra, offrira à la vente, importera ou distribuera une implémentation conforme à cette spécification.
· Sponsorisant un projet de développement Open Source hébergé sur SourceForge pour créer des outils logiciels et des guides et démontrer comment il est possible de traduire un document créé en utilisant les formats binaires en un format ISO/IEC DIS 29500 (ECMA-376 - Office Open XML). Le traducteur résultant de ce projet sera disponible en Open Source aux termes de la licence Berkeley Software Distribution (BSD). Ce projet démarrera le 15 février 2008.
Début de la prochaine phase
Une large majorité des réponses aux commentaires des différents comités de normalisation nationaux ont été mis à leur disposition pendant les mois de novembre et décembre derniers. Ceci a déjà permis de prendre en compte certains commentaires précoces des comités nationaux.
La mise à disposition du document de réponse à l’ensemble des commentaires des comités nationaux depuis le 14 janvier permet de se conformer aux règles de l’ISO/IEC qui demande la fourniture de telles réponses aux commentaires six semaines pleines avant le Ballot Resolution Meeting (du 25 au 29 février). Ceci permettra à l’ensemble des membres nationaux de l’ISO/IEC de revoir ces réponses et d’identifier les éventuels sujets méritant une discussion et un approfondissement.
Une coopération utile et fructueuse
Une coopération utile et fructueuse a pu s’établir entre l’Ecma et les différents organismes de normalisation nationaux. En particulier, de nombreux commentaires émis par l’AFNOR ont été pris en compte lors des réponses de l’Ecma et notamment ceux relatifs à :
· La nécessité d’isoler tous les éléments liés à des anomalies ou à des fonctions dépréciées.
· VML.
· L’utilisation de normes ISO pour la représentation des dates.
· La meilleure documentation des fonctions.
· La correction des fonctions de traitement des jours de la semaine.