DOCX2HTML : conversion d'un fichier Word 2007 en HTML
Comme vous l’a annoncé Neodante, mercredi dernier s’est déroulé un mercredi du développement sur OpenXML, j'ai eu le privilége de présenter un de mes projets : DOCX2HTML.

Ce projet est né d’une idée de Nix lorsqu’il a découvert le nouveau format de Word 2007 : un zip qui contient pleins d'infos.
Depuis toujours la publication d’article sur internet est une tâche compliqué et fastidieuse. Lorsque nous avons conçue TechnoS-SourceS : un site orienté professionnels de l’informatique où vous pouvez retrouver des articles techniques pointus écrit par tous les membres de la communauté, nous avions besoin de mettre en place un système de publication de contenu.
Jusqu'à récemment nous utilisons un système « classique » : la FreeTextBox avec une galerie d’image mais cela pose plusieurs problèmes :
- Envoie des images une à une
- Rédaction dans un navigateur
- Fenêtre de petite taille
- Pas de sauvegarde
- Pas « d’aperçu avant impression »
- Pas de mis en forme commune
- etc... (ceux qui ont déjà écrit des articles via la FTB savent de quoi je parle ;-))
OpenXML résoud ces problèmes en effet un document enregistré sous le format « Word 2007 » n’est qu’un zip qui contient le contenu et les styles dans un format XML et les images. En plus on peut enregistrer un document docx avec Word 2007 mais aussi avec Word 2003 grâce à un add-in ou encore avec OpenOffice.
Parmi les avantages de ce format on retrouve :
- La facilité de publier un article (on envoie seulement le zip)
- Plus besoin d'envoyer les images une à une
- Correcteur orthographique
- Utilisations d'un vrai éditeur de texte
- Une mis-en-forme commune : Le format OpenXML sépare le contenu de la présentation, il nous suffit alors de conserver seulement les titres etc... Cela nécessite évidement que l'utilisateur utilises les styles "standard" de Word 2007.
Je me suis donc lancé sur la création d'un convertisseur docx vers HTML, après quelques cours sur le fonctionnement du format OpenXML (merci Neodante) j'ai commencé un proto et j'ai eu quelques choses de fonctionnels très rapidement (un week end (de geeks...)) puis une semaine (les soirs) pour avoir quelques choses de correct, travailler avec OpenXML avec .net 3 est vraiment très simple et rapide.
Depuis une semaine ce nouveau système est en production sur TechnoS-SourceS en plus de la classique FreeTextBox. Attention il s'agit d'un service beta (Web 2.0 ? ;-)) donc il est possible qu'il y ait quelques problèmes ...
Voici une démo du projet :

Vous trouverez en pièce jointe de ce post les slides de ma présentation et bientôt en WebCast.
Petit update : je viens de voir le post de Doug Mahugh le product manager d'OpenXML qui était présent avec nous lors de cette démo : Vive la Révolution Open XML