Dot.Blog

Consulting DotNet C#, XAML, WinUI, WPF, MAUI, IA

Les temps changent …

Pour une fois que Microsoft nous fabrique des petites vidéos humoristiques en Français il ne faut pas s’en priver. C’est drôle, caricatural, et c’est court (7 Mo la vidéo) donc rapide à charger. Pour l’instant il y a 2 épisodes. J’aime bien. Pour voir les deux épisodes c’est ici : http://cid-19c8825385018760.skydrive.live.com/browse.aspx/Les%20Temps%20Changent

Devoir de vacances

J'ai pris quelques jours de vacances bien mérités. Mais comme un geek ne part jamais sans son portable, forcément ça a été studieux ! Vous avez pu lire mes deux derniers billets, "Xaml l'ami des artistes" qui présente Enaxos Art, une petite vitrine Silverlight de travaux graphiques, ou bien hier l'annonce de la sortie de Silverlight 3 final et de Blend 3 RC avec Sketchflow. Hélas les vacances se terminent. Mais comme je suis un filou et que mardi est férié, le retour ne se fera que Mercredi. Encore 48h de bonheur et de farniente à goûter aux joies des effets de perspectives 3D de Silverlight 3 et des nouveautés de Swift 3D de Electric Rain dont la V6 vient de sortir et avec laquelle je m'amuse bien ! Très vite la rentrée va approcher et avec elle les bonnes résolutions qu'on ne tient jamais. C'est tous les ans la même chose, alors en m'y prenant presque deux mois avant j'espère bien trouver cette année des résolutions tellement vagues qu'il ne sera pas vraiment possible de dire que je ne les ai pas tenues ! "Puisque ces mystères nous dépassent, feignons d'en être les instigateurs" disait sagement Cocteau ! Pour rester dans la sagesse populaire je vous prépare quelques tutors sur toutes ces nouveautés car comme le dit cette fois-ci le vieux romain qui sommeille en chaque auteur : Qui scribit bis legit ! (celui qui écrit lit deux fois !). Ave ! Et bronzez bien à l'ombre de vos portables (le soleil c'est dangereux pour la peau, l'eau des plages est pleine de colibacilles fécaux et les rues sont bondées de touristes, mieux vaut donc rester au frais à développer et à se former !). Stay tuned !

Open XML SDK et PowerTools pour OOXML - Manipuler les documents OOXML

Le format Open XML utilisé par Microsoft pour sa suite Office est une grande avancée en ce sens que le stockage n'est plus propriétaire et que cela permet d'envisager de nombreux traitements automatiques des documents qu'il s'agisse de recherche documentaire, de modification ou même de création de nouveaux documents. Le format en lui même est aujourd'hui normalisé ISO/IEC et même si on peut regretter la guerre des formats entre Open XML de Microsoft et OpenDocument, il va falloir apprendre à jongler avec ces deux normes ouvertes, aucune n'étant plus "sympathique" ou "meilleure", et chacune affichant ses petites différences. Quoi qu'il en soit, dans les faits la masse de documents produite par la suite Office dans le monde est tellement gigantesque qu'au final le développpeur aura forcément plus souvent affaire à de l'Open XML qu'à du OpenDocument. Il faut donc saluer Microsoft d'avoir opté pour un nouveau format lisible, public et normalisé. Pour nous, informaticiens, c'est la seule chose qui compte. Laissons les querelles de format à ceux qui ont du temps à perdre... Open XML SDK  Même si OOXML est une norme claire, les documents la décrivant sont, comme toute norme, un peu imbuvables, avouons-le... Mais bien heureusement il existe un SDK gratuit "Open XML SDK" qui se compose d'aide et d'une librairie de classes .NET facilitant la manipulation des fichiers de type Word, Excel, PowerPoint... Vous pouvez télécharger le OOXML SDK en cliquant sur le lien. Une fois cet assemblage référencé, vos applications peuvent facilement traiter tout document Office. A titre d'exemple vous trouverez un petit projet console qui permet de lister le contenu d'un fichier OOXML (Word, Excel, PowerPoint). J'ai supprimé du projet les fichiers de test, il vous suffira de modifier le code de la méthode Main pour y placer le chemin d'un fichier OOXML se trouvant sur votre machine (ou une copie si vous être méfiant ! ). Voici un exemple de sortie sur un fichier Excel très simple : URI                        Content Type ===                        ============ /xl/workbook.xml           application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml /xl/worksheets/sheet.xml   application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml  Ce n'est qu'une sorte de "hello world", le SDK permettant de vraiment traiter les documents et de faire des choses bien plus sophistiquées, bien entendu ! PowerTools pour OOXML Les PowerTools pour OOXML sont eux une autre couche s'utilisant d'ailleurs avec PowerShell dont je vous parlais dernièrement. C'est un projet open source sur CodePlex dont le but est d'autoriser le traitement de fichiers OOXML côté serveur. Par exemple produire directement un document Word ou Excel sur un serveur Web pour l'envoyer à l'utilisateur, faire des recherches dans une base documentaire, etc... Lien : PowerTools OOXML sur CodePlex On notera ce billet Julien Chable sur l'installation des PowerTools (en français, pour une fois...), ainsi qu'une vidéo de présentation (US) sur MSN Video L'avantage de la combinaison des PowerTools OOXML au PowerShell et ses scripts est de former un ensemble permettant de traiter automatiquement des documents Offices en dehors de toute application. C'est donc une autre façon de traiter les documents Office que celle proposée par le SDK présenté plus haut. Un exemple concret d'utilisation parmi des milliers d'autres : ajouter un filigrane avec le nom de la société ou une mention "ne pas diffuser" (ou autre) automatiquement à tous les documents d'un répertoire.  On peut même concevoir un service Windows surveillant un ou plusieurs répertoires et ajoutant systématiquement une mention, un logo, un filigrane, etc, à tout nouveau document qui est déposé. On peut envisager par le même biais d'extraire les propriétés de tout document déposé dans un répertoire et de l'envoyer par mail à un administrateur. Les idées ne manquent pas, à vous de jouer ! Conclusion Disposer de tels outils ouvre la voie à l'intégration de fonction de GED de haut niveau dans toutes les applications, Web ou Desktop. C'est aussi un moyen simple de produire des documents OOXML loin des bricolages DDE, COM/DCOM, ActiveX ou autres pour faire de l'Automation. De plus les fichiers peuvent être manipulés sans que les applications équivalentes du pak Office ne soient installées, c'est un énorme avantage. le projet (il faut installer le SDK OOXML of course) : PowerOPX.zip (2,91 kb)