Upload
amine5730
View
55
Download
0
Embed Size (px)
Citation preview
Une plate
Daniel COHEN-ZARDI
Carl ANDERSON
30 Septembre
Livre blanc
Office 2007
Une plate-forme pour les applications «
30 Septembre 2007
Livre blanc
Office 2007
forme pour les applications « métier »
Table des Matières
I. Pourquoi ce livre blanc ? ................................
II. Contenu du livre blanc ................................
III. Les enjeux des clients ................................
A. La problématique et son historique
B. Les nouveaux scénarios attendus
C. Le rôle des éditeurs de logiciels
IV. La valeur ajoutée d’Office 2007
A. La nouvelle interface utilisateur
B. L’ouverture des formats ................................
C. L’extensibilité programmatique et «
D. Les fonctions novatrices ................................
E. Compatibilité « applicative » avec les versions précédentes
V. Les applications réelles des éditeurs de logiciels utilisant Office 2007
A. Calypteo ................................
B. Esker ................................................................
C. ILOG ................................................................
D. MGDIS ................................................................
E. Symtrax ................................
F. Medasys ................................
G. SoftFluent ................................
H. Autres éditeurs ................................
VI. Les prototypes développés par SoftFluent
A. La personnalisation d’Office 2007
B. L’accès aux données métier par Web Service
C. La séparation données/présentation dans un document Word 2007
D. La création dynamique de présentations Powerpoint
E. L’utilisation du protocole Webdav
VII. Conclusion ................................
VIII. Quelques liens utiles ................................
30 Septembre
................................................................................................
................................................................................................
................................................................................................
La problématique et son historique ............................................................................................
Les nouveaux scénarios attendus ................................................................................................
Le rôle des éditeurs de logiciels ................................................................................................
La valeur ajoutée d’Office 2007 ................................................................................................
La nouvelle interface utilisateur ................................................................................................
................................................................................................
L’extensibilité programmatique et « Office Business Applications » ................................
................................................................................................
» avec les versions précédentes ....................................................
Les applications réelles des éditeurs de logiciels utilisant Office 2007 ................................
................................................................................................................................
................................................................................................
................................................................................................
................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
..........................................................................................................................
Les prototypes développés par SoftFluent................................................................
La personnalisation d’Office 2007 .............................................................................................
L’accès aux données métier par Web Service ................................................................
La séparation données/présentation dans un document Word 2007 ................................
La création dynamique de présentations Powerpoint ..............................................................
L’utilisation du protocole Webdav ............................................................................................
................................................................................................................................
................................................................................................
30 Septembre 2007
................................................. 4
.................................................... 6
.................................................. 7
............................ 7
................................ 8
................................ 10
................................ 12
................................ 12
............................................ 12
........................................ 13
............................................ 14
.................... 15
......................................... 16
..................................... 16
.......................................... 20
........................................... 23
........................................ 26
...................................... 30
..................................... 31
.................................. 32
.......................... 34
................................................ 35
............................. 35
........................................... 42
...................................... 48
.............................. 53
............................ 59
................................. 60
................................................. 61
Remerciements
Remercions tout d’abord :
• Les différents contributeurs de ce document, et en tout premier lieu
de logiciels cités dans ce livre blanc.
• La société « RL Consulting
l’intégration de SharePoint
• Les différentes équipes de Microsoft qui ont su faire preuve de réactivité pour répondre à
nos questions lorsque nécessaires.
Avertissement
Ce document est fourni à titre d’information.
OU EXPLICITE, CONCERNANT LES INFORMATIONS FOURNIES DANS CE DOCUMENT.
SoftFluent et les sociétés citées dans ce livre blanc
de copie ou de propriété intellectuelle sur des sujets couverts dans
expresse faisant partie d’un contrat de licence signé avec
ne vous donne aucune licence particulière et aucun droit d’utilisation sur ces brevets, marques,
droits de copie ou propriété intellectuelle.
Les noms des sociétés et produits mentionnés dans ce document sont des marques déposé
leurs propriétaires respectifs.
© 2007 SOFTFLUENT. Tous droits réservés.
30 Septembre
différents contributeurs de ce document, et en tout premier lieu les différents éditeurs
de logiciels cités dans ce livre blanc.
RL Consulting » qui collabore régulièrement avec SoftFluent
2007 pour le compte d’ILOG.
différentes équipes de Microsoft qui ont su faire preuve de réactivité pour répondre à
nos questions lorsque nécessaires.
Ce document est fourni à titre d’information. SOFTFLUENT NE DONNE PAS DE GARANTIE, IMPLICITE
OU EXPLICITE, CONCERNANT LES INFORMATIONS FOURNIES DANS CE DOCUMENT.
et les sociétés citées dans ce livre blanc peuvent disposer de brevets, marques, des droits
de copie ou de propriété intellectuelle sur des sujets couverts dans ce document. Sauf mention
expresse faisant partie d’un contrat de licence signé avec ces sociétés, la fourniture de ce document
ne vous donne aucune licence particulière et aucun droit d’utilisation sur ces brevets, marques,
ntellectuelle.
Les noms des sociétés et produits mentionnés dans ce document sont des marques déposé
. Tous droits réservés.
30 Septembre 2007
différents éditeurs
SoftFluent et a réalisé
différentes équipes de Microsoft qui ont su faire preuve de réactivité pour répondre à
NTIE, IMPLICITE
t disposer de brevets, marques, des droits
ce document. Sauf mention
, la fourniture de ce document
ne vous donne aucune licence particulière et aucun droit d’utilisation sur ces brevets, marques,
Les noms des sociétés et produits mentionnés dans ce document sont des marques déposées de
I. Pourquoi ce livre blanc ?
Ce livre blanc s’adresse aux professionnels du déve
largement aux personnes qui s’intéresse
2007 étant l’application « utilisateur
marquée vers la constitution d’une plate
technologique évalue l’impact de cette transformation
Ce livre blanc montre très concrètement comment les applications peuvent combiner des
informations dites « structurées » (celles qui sont
et les informations traditionnellement qualifiées de «
documents bureautiques.
Plutôt qu’opposer ces approches de la gestion de l’information, l
privilégiera la connexion entre les deux, les documents non structurés
informations vitales au fonctionnement de l’entreprise et à la prise de décision des utilisateurs.
Pouvoir connecter ces documents
duplication et de l’incohérence, qui aboutit bien souvent à des pertes de productivité o
d’information.
Réduire les coûts
Se différentier
S’appuyer sur un marché
Garantir l’évolution
Les bénéfices stratégiques qui constitue
30 Septembre
?
professionnels du développement du marché francophone
largement aux personnes qui s’intéressent à l’évolution des plates-formes de développement.
utilisateur » la plus déployée au monde, son évolution de plus en plus
stitution d’une plate-forme de développement mérite que tout décideur
de cette transformation.
Ce livre blanc montre très concrètement comment les applications peuvent combiner des
celles qui sont prévues dans les schémas des applications métiers)
traditionnellement qualifiées de « non structurées » et qui résident au sein de
Plutôt qu’opposer ces approches de la gestion de l’information, l’informaticien pragmatique
entre les deux, les documents non structurés contenant bien
informations vitales au fonctionnement de l’entreprise et à la prise de décision des utilisateurs.
Pouvoir connecter ces documents aux référentiels structurés lui permettra d’éviter le piège de la
duplication et de l’incohérence, qui aboutit bien souvent à des pertes de productivité o
Réduire les coûts
Innover
Se différentier
S’appuyer sur un marché
Garantir l’évolution Op
po
rtu
nit
é O
ffic
e 2
00
7
Les bénéfices stratégiques qui constituent l’opportunité Office 2007
30 Septembre 2007
loppement du marché francophone et plus
formes de développement. Office
» la plus déployée au monde, son évolution de plus en plus
forme de développement mérite que tout décideur
Ce livre blanc montre très concrètement comment les applications peuvent combiner des
prévues dans les schémas des applications métiers)
» et qui résident au sein de
’informaticien pragmatique
bien souvent des
informations vitales au fonctionnement de l’entreprise et à la prise de décision des utilisateurs.
aux référentiels structurés lui permettra d’éviter le piège de la
duplication et de l’incohérence, qui aboutit bien souvent à des pertes de productivité ou à de la perte
nt l’opportunité Office 2007
D’un point de vue stratégique, construire son d
1. Réduire les coûts car on bénéficie
développement réduit, y compris l’effo
version 2007,
2. Se positionner sur le terrain de l’
utilisateurs de vos applications,
3. Se différentier par rapport à la concurrence et pouvoir effectuer un mark
jouant la carte de la simplicité, de
4. S’appuyer sur la part de marché d’Office, une application qui dispose de centaines de
millions d’utilisateurs dans le monde,
5. Bénéficier de la pérennité
standardisé Open XML proposé par Office 2007.
Sur ce dernier point, on notera le rôle prépondéra
l’objectif de connexion des différents types de données de l’entreprise. Ce format permet une réelle
séparation entre les données structurées selon un schéma métier et les autres données, comme le
démontrent les prototypes exposés en dernière partie de ce livre blanc. On ne saurait en out
minimiser l’importance du processus
soutenue bien sûr par Microsoft mais également par
30 Septembre
D’un point de vue stratégique, construire son développement sur Office 2007 est un moyen de
car on bénéficie ainsi des fonctionnalités d’Office moyennant un effort de
développement réduit, y compris l’effort ergonomique, particulièrement affirmé dans la
Se positionner sur le terrain de l’innovation et être perçu comme à la pointe par les
utilisateurs de vos applications,
par rapport à la concurrence et pouvoir effectuer un marketing différent en
la simplicité, de l’expérience intégrée et du service rendu aux utilisateurs,
S’appuyer sur la part de marché d’Office, une application qui dispose de centaines de
dans le monde,
pérennité des informations non structurées grâce au nouveau format
proposé par Office 2007.
le rôle prépondérant que joue Open XML dans la poursuite de
rents types de données de l’entreprise. Ce format permet une réelle
séparation entre les données structurées selon un schéma métier et les autres données, comme le
démontrent les prototypes exposés en dernière partie de ce livre blanc. On ne saurait en out
minimiser l’importance du processus de standardisation en cours autour de ce format, approche
mais également par un nombre croissant d’acteurs du marché.
30 Septembre 2007
est un moyen de :
des fonctionnalités d’Office moyennant un effort de
rt ergonomique, particulièrement affirmé dans la
et être perçu comme à la pointe par les
eting différent en
aux utilisateurs,
S’appuyer sur la part de marché d’Office, une application qui dispose de centaines de
des informations non structurées grâce au nouveau format
la poursuite de
rents types de données de l’entreprise. Ce format permet une réelle
séparation entre les données structurées selon un schéma métier et les autres données, comme le
démontrent les prototypes exposés en dernière partie de ce livre blanc. On ne saurait en outre
en cours autour de ce format, approche
croissant d’acteurs du marché.
II. Contenu du livre blanc
Ce document cible donc tout professionnel
d’évolution de systèmes mettant en jeu des applications métiers. Ces professionnels peuvent être
des décideurs au sein des fournisseurs technologiques, éditeurs de logiciels ou sociétés de services,
tout autant que des décideurs positionnés du côté des clients et qui doivent évaluer des scénarios
d’évolution de leurs systèmes, tout en suivant de près la capacité de leurs fournisseurs à
accompagner l’évolution technologique.
Au-delà de l’introduction et de la c
parties principales :
• « Les enjeux des clients » est une partie qui
attendus par les utilisateurs et
• « La valeur ajoutée d’Office 2007
d’Office 2007 à étudier de près car elles sont
porteuses d’opportunités potentielles dans votre métier,
• « Les applications réelles des éditeurs de logiciels
pédagogique qui donne des exemples concrets de ce qu’ont déjà réalisé les éditeurs de
logiciels du marché français,
• « Les prototypes développés
les détails de mise en œuvre
précédentes.
Les premières parties sont donc rédigées
« Pourquoi ? », et en évitant de rentrer trop dans le
La partie « Prototypes » est destinée plus spécifiquement aux
plus réceptifs aux exemples qu’ils peuvent reproduire.
développés par SoftFluent dans le cadre d’une mission d’assistance aux éditeurs de logiciels
pour le compte de Microsoft France
techniques à des besoins réels exprimés par les éditeurs de
Enfin, nous avons compilé en fin de
le sujet au-delà de ce livre blanc.
30 Septembre
donc tout professionnel de l’informatique amené à prendre des décisions
d’évolution de systèmes mettant en jeu des applications métiers. Ces professionnels peuvent être
des décideurs au sein des fournisseurs technologiques, éditeurs de logiciels ou sociétés de services,
des décideurs positionnés du côté des clients et qui doivent évaluer des scénarios
d’évolution de leurs systèmes, tout en suivant de près la capacité de leurs fournisseurs à
gner l’évolution technologique.
delà de l’introduction et de la conclusion, nous avons donc structuré ce document en plusieurs
» est une partie qui repositionne le besoin et décrit
attendus par les utilisateurs et donc l’opportunité de marché que constituent c
La valeur ajoutée d’Office 2007 » est une partie qui met en exergue les fonctionnalités
de près car elles sont particulièrement créatrices de valeur et donc
porteuses d’opportunités potentielles dans votre métier,
es applications réelles des éditeurs de logiciels utilisant Office 2007 » est u
des exemples concrets de ce qu’ont déjà réalisé les éditeurs de
logiciels du marché français,
développés par SoftFluent » est une partie à vocation technique qui
es détails de mise en œuvre de fonctionnalités notables et étaye donc
rédigées pour tout public informaticien, en se concentrant sur le
évitant de rentrer trop dans les considérations techniques du « Comment
est destinée plus spécifiquement aux développeurs, qui sont d’expérience
plus réceptifs aux exemples qu’ils peuvent reproduire. Notons que ces prototypes
développés par SoftFluent dans le cadre d’une mission d’assistance aux éditeurs de logiciels
France. Ils correspondent donc à une compilation de réponses
techniques à des besoins réels exprimés par les éditeurs de logiciels du marché.
Enfin, nous avons compilé en fin de document une sélection de liens utiles pour qui souhaite creuser
30 Septembre 2007
à prendre des décisions
d’évolution de systèmes mettant en jeu des applications métiers. Ces professionnels peuvent être
des décideurs au sein des fournisseurs technologiques, éditeurs de logiciels ou sociétés de services,
des décideurs positionnés du côté des clients et qui doivent évaluer des scénarios
d’évolution de leurs systèmes, tout en suivant de près la capacité de leurs fournisseurs à
avons donc structuré ce document en plusieurs
repositionne le besoin et décrit les scénarios
l’opportunité de marché que constituent ces attentes,
» est une partie qui met en exergue les fonctionnalités
créatrices de valeur et donc
est une partie
des exemples concrets de ce qu’ont déjà réalisé les éditeurs de
e partie à vocation technique qui expose
donc les parties
, en se concentrant sur le
omment ? ».
développeurs, qui sont d’expérience
prototypes ont été
développés par SoftFluent dans le cadre d’une mission d’assistance aux éditeurs de logiciels menée
Ils correspondent donc à une compilation de réponses
pour qui souhaite creuser
III. Les enjeux des clients
A. La problématique et son historique
Les entreprises sont confrontées à des
premières applications informatiques visaient à automatiser les processus de gestion d’une fonction
particulière de l’entreprise et le stockage des données associées. Les applications métiers «
sens classique » où l’entendent les directions informatiques, et dans l’esprit des professionnels du
secteur, se préoccupent en général de la gestion de données structurées. L’information est rangée
dans des cases préformattées avec des structures modélisées
Ces applications se distinguent des applications issues de la bureautique ou
gestion documentaire, qui reposent sur un paradigme différent.
applications de travail collaboratif sont centrées sur les fichiers et l’information est bien souvent
disséminée dans de multiples fichiers, avec une gestion qui repose en priorité sur l’utilisateur. De fait,
la cohérence est difficile à garantir dans un modèle de ce type, d’où le dénigr
bureautique par les services informatiques. Pourtant, les informations contenues dans ces
documents sont souvent précieuses, quand elles ne sont pas les données les plus critiques de
l’entreprise !
Univers bureautique
Applications
d’entreprises
Information structurée
Information non structurée
Liens limités
(frontière implicite)
Historique
On pourrait disserter longtemps sur les responsabilités respectives des informaticiens et des
utilisateurs, mais le fait est que la bureautique apporte la flexibilité qu’il est difficile de prévoir
totalement dans les applications manipulant de l’information s
30 Septembre
La problématique et son historique
Les entreprises sont confrontées à des enjeux récurrents dans la gestion de l’information. Les
premières applications informatiques visaient à automatiser les processus de gestion d’une fonction
particulière de l’entreprise et le stockage des données associées. Les applications métiers «
» où l’entendent les directions informatiques, et dans l’esprit des professionnels du
secteur, se préoccupent en général de la gestion de données structurées. L’information est rangée
dans des cases préformattées avec des structures modélisées selon des schémas métiers.
Ces applications se distinguent des applications issues de la bureautique ou des applications de
gestion documentaire, qui reposent sur un paradigme différent. En effet, les suites bureautiques et
atif sont centrées sur les fichiers et l’information est bien souvent
disséminée dans de multiples fichiers, avec une gestion qui repose en priorité sur l’utilisateur. De fait,
la cohérence est difficile à garantir dans un modèle de ce type, d’où le dénigrement historique de la
bureautique par les services informatiques. Pourtant, les informations contenues dans ces
documents sont souvent précieuses, quand elles ne sont pas les données les plus critiques de
Utilisateurs
Informaticiens
Information non structurée
(frontière implicite)
Tendance
Informaticiens
Utilisateurs
Les versions récentes d’Office et en particulier l’édition 2007 rapproche la
bureautique du monde de l’information structurée, et comble une partie du fossé entre les utilisateurs et les informaticiens
ourrait disserter longtemps sur les responsabilités respectives des informaticiens et des
utilisateurs, mais le fait est que la bureautique apporte la flexibilité qu’il est difficile de prévoir
totalement dans les applications manipulant de l’information structurée.
30 Septembre 2007
enjeux récurrents dans la gestion de l’information. Les
premières applications informatiques visaient à automatiser les processus de gestion d’une fonction
particulière de l’entreprise et le stockage des données associées. Les applications métiers « au
» où l’entendent les directions informatiques, et dans l’esprit des professionnels du
secteur, se préoccupent en général de la gestion de données structurées. L’information est rangée
selon des schémas métiers.
des applications de
En effet, les suites bureautiques et
atif sont centrées sur les fichiers et l’information est bien souvent
disséminée dans de multiples fichiers, avec une gestion qui repose en priorité sur l’utilisateur. De fait,
ement historique de la
bureautique par les services informatiques. Pourtant, les informations contenues dans ces
documents sont souvent précieuses, quand elles ne sont pas les données les plus critiques de
Les versions récentes d’Office et en particulier l’édition 2007 rapproche la
bureautique du monde de l’information structurée, et comble une partie du fossé entre les utilisateurs et les informaticiens
ourrait disserter longtemps sur les responsabilités respectives des informaticiens et des
utilisateurs, mais le fait est que la bureautique apporte la flexibilité qu’il est difficile de prévoir
Dès lors, le rôle de l’informaticien est aussi de fournir à ses clients, qui sont les
l’entreprise, les moyens de mettre en œuvre cette flexibilité, tout en proposant des applic
métiers suffisamment adaptées et souples
structures de stockage prévues par
Cela suppose de faire converger des mondes historiquement très différents, les applications métiers
provenant de l’historique des « mainframes
l’ordinateur personnel. Bien sûr, la convergence entre ce
longtemps.
Mais certaines limites des versions précédentes des applications bureautiques font que l’état de l’art
en matière d’intégration bureautique avec les applications
• Des exports de données notamment vers les tableurs,
• Des publipostages pilotés sur le poste client par automatisation directe,
• Parfois des publipostages réalisés sur le serveur avec des d
en place spécifique d’une logique de gestion de file d’attente,
• De l’envoi de messages électroniques pour sous
B. Les nouveaux scénarios attendus
La dimension limitée de cette intégration
l’utilisateur d’un métier donné.
Les scénarios attendus par les utilisateurs incluent en général des besoins qui vont au
évoqués au paragraphe précédent. Parmi les demandes récurrentes que
entreprises :
1. Générer des documents côté serveur, sans avoir besoin d’installer d’outil bureautique sur le
serveur, et avec une exploitabilité fiable
soit la technologie utilisée sur le serveur d’ailleurs.
2. Supporter un « workflow » de travail au travers d’un document qui est complété par différents
acteurs selon des étapes successives,
3. Mixer de l’information structurée et de l’information à saisie libre. C’est le cas classique d’un
document à structure et contenu souple, mais qui comprend des éléments précis d’information à
des endroits et qui doivent être traités comme tels. Souvent, ce besoin s’accompagne de la
nécessité de protéger des parties du document qui deviennent non modifia
4. Cadrer la saisie de l’information des documents bureautiques, afin de pouvoir extraire les
données structurées et les intégrer dans des applications métiers.
5. Manipuler des informations issues des applications métiers de l’entreprise, directement au s
de l’univers bureautique : remplissage d’un document Word de manière interactive, constitution
d’un état de synthèse dans Office Excel
de synthèse des résultats commerciaux par zone…
30 Septembre
Dès lors, le rôle de l’informaticien est aussi de fournir à ses clients, qui sont les autres
les moyens de mettre en œuvre cette flexibilité, tout en proposant des applic
et souples pour que l’information critique termine dans
structures de stockage prévues par ces applications.
Cela suppose de faire converger des mondes historiquement très différents, les applications métiers
mainframes » et la bureautique étant issu de l’avènement de
la convergence entre ces deux mondes a déjà commencé il y a bien
Mais certaines limites des versions précédentes des applications bureautiques font que l’état de l’art
intégration bureautique avec les applications se résume à :
Des exports de données notamment vers les tableurs,
Des publipostages pilotés sur le poste client par automatisation directe,
Parfois des publipostages réalisés sur le serveur avec des difficultés d’exploitation ou la mise
en place spécifique d’une logique de gestion de file d’attente,
De l’envoi de messages électroniques pour sous-tendre un processus de workflow.
ouveaux scénarios attendus
La dimension limitée de cette intégration se traduit en général par une perte d’efficacité pour
Les scénarios attendus par les utilisateurs incluent en général des besoins qui vont au
évoqués au paragraphe précédent. Parmi les demandes récurrentes que souhaitent faire les
Générer des documents côté serveur, sans avoir besoin d’installer d’outil bureautique sur le
serveur, et avec une exploitabilité fiable : le format Open XML permet de faire cela, quelle que
r le serveur d’ailleurs.
» de travail au travers d’un document qui est complété par différents
acteurs selon des étapes successives,
Mixer de l’information structurée et de l’information à saisie libre. C’est le cas classique d’un
ocument à structure et contenu souple, mais qui comprend des éléments précis d’information à
des endroits et qui doivent être traités comme tels. Souvent, ce besoin s’accompagne de la
nécessité de protéger des parties du document qui deviennent non modifiables.
Cadrer la saisie de l’information des documents bureautiques, afin de pouvoir extraire les
données structurées et les intégrer dans des applications métiers.
Manipuler des informations issues des applications métiers de l’entreprise, directement au s
: remplissage d’un document Word de manière interactive, constitution
Office Excel, génération automatique d’une présentation Powerpoint
de synthèse des résultats commerciaux par zone…
30 Septembre 2007
autres services de
les moyens de mettre en œuvre cette flexibilité, tout en proposant des applications
our que l’information critique termine dans les
Cela suppose de faire converger des mondes historiquement très différents, les applications métiers
autique étant issu de l’avènement de
a déjà commencé il y a bien
Mais certaines limites des versions précédentes des applications bureautiques font que l’état de l’art
ifficultés d’exploitation ou la mise
tendre un processus de workflow.
perte d’efficacité pour
Les scénarios attendus par les utilisateurs incluent en général des besoins qui vont au-delà de ceux
souhaitent faire les
Générer des documents côté serveur, sans avoir besoin d’installer d’outil bureautique sur le
permet de faire cela, quelle que
» de travail au travers d’un document qui est complété par différents
Mixer de l’information structurée et de l’information à saisie libre. C’est le cas classique d’un
ocument à structure et contenu souple, mais qui comprend des éléments précis d’information à
des endroits et qui doivent être traités comme tels. Souvent, ce besoin s’accompagne de la
Cadrer la saisie de l’information des documents bureautiques, afin de pouvoir extraire les
Manipuler des informations issues des applications métiers de l’entreprise, directement au sein
: remplissage d’un document Word de manière interactive, constitution
, génération automatique d’une présentation Powerpoint
Illustrons ces quelques scénarios théoriques non exhaustifs par des
Scénario 1 : Sur le site de sa banque, un client peut consulter son compte et, d’un simple clic, générer
sur son PC une feuille de calcul contenant toutes les données historiques de
portefeuilles, ou un tableau d’amortissement de prêt
exemple faire varier la durée d’amortissement de son prêt) avec les outils bureautiques sur son PC
personnel. La génération de feuille de c
métier de type ‘Tenue de Compte’, fonctionnant dans tout type d’environnement (Windows/SQL,
Unix/Linux-Oracle, …). Open XML permet notamment la spécification précise des formules de calcul
qui doivent être utilisées.
La structure XML permet également de réduire les risques de corruption de fichiers, et de renforcer
la sécurité de ces échanges via Internet.
Scénario 2 : Un constructeur d’avions
sophistiqué, permettant aux opérateurs d’accéder très facilement à la documentation pertinente
pour des milliers de pièces détachées. La recherche d’information et la mise jour sécurisée sont
facilitées par l’utilisation du format
bureautique ; par exemple, les documents peuvent être automatiquement mis à jour lorsqu’une
modification est faite dans le système de conception des pièces. Le caractère normalisé d’
est également un facteur important pour la pérennité de cette documentation critique. Enfin, les
spécifications Open XML précisent comment mettre en œuvre des fonctionnalités de recherche
avancée, et permettent la gestion de v
Le workflow de travail sur ces documents et les différentes versions est sous
SharePoint d’Office 2007.
Scénario 3 : Un directeur d’agence ‘Banque Privée’ souhaite adresser à ses clients un document de
synthèse présentant de façon attractive l’évolution de leur patrimoine.
à partir des applicatifs métiers un document de qualité professionnelle
et de mettre celui-ci à la disposition du Conseiller Financer pour que celui
commentaires personnalisés de façon structurée, tout en protégeant les zones non modifiables
notamment les prototypes plus loin
documents recourent fréquemment aux notes de bas de page / référence,
On peut imaginer un workflow permettant à plusieurs acteurs de collaborer pour mettre à jour ce
document. Plus simplement, Open XML
industrielles qu’auparavant.
Scénario 4 : Un grand groupe français, leader mondial de la pharmacie, échange régulièrement des
informations avec les autorités de contrôle
de nouveaux produits, mais aussi sur le contrôle qualité de ses fabrications. En interne, ce groupe a
choisi de convertir l’ensemble de son patrimoine bureautique au format
d’utilitaires automatisant la migration
pérennité à long terme de ces documents importants.
œuvre des métadonnées de protection de la propriété intellectuelle (c
essentielles pour protéger le travail des chercheurs.
30 Septembre
s quelques scénarios théoriques non exhaustifs par des exemples concrets.
Sur le site de sa banque, un client peut consulter son compte et, d’un simple clic, générer
sur son PC une feuille de calcul contenant toutes les données historiques de ses comptes &
portefeuilles, ou un tableau d’amortissement de prêt ; il peut ensuite travailler sur ces données (par
exemple faire varier la durée d’amortissement de son prêt) avec les outils bureautiques sur son PC
. La génération de feuille de calcul au format Open XML est possible à partir d’un applicatif
métier de type ‘Tenue de Compte’, fonctionnant dans tout type d’environnement (Windows/SQL,
permet notamment la spécification précise des formules de calcul
La structure XML permet également de réduire les risques de corruption de fichiers, et de renforcer
la sécurité de ces échanges via Internet.
Un constructeur d’avions veut mettre en place un système de gestion de la maintenance
sophistiqué, permettant aux opérateurs d’accéder très facilement à la documentation pertinente
pour des milliers de pièces détachées. La recherche d’information et la mise jour sécurisée sont
l’utilisation du format Open XML pour l’ensemble de cette documentation
; par exemple, les documents peuvent être automatiquement mis à jour lorsqu’une
modification est faite dans le système de conception des pièces. Le caractère normalisé d’
est également un facteur important pour la pérennité de cette documentation critique. Enfin, les
précisent comment mettre en œuvre des fonctionnalités de recherche
avancée, et permettent la gestion de versions multiples d’un document.
Le workflow de travail sur ces documents et les différentes versions est sous-tendu par la brique
Un directeur d’agence ‘Banque Privée’ souhaite adresser à ses clients un document de
synthèse présentant de façon attractive l’évolution de leur patrimoine. Open XML permet de générer
à partir des applicatifs métiers un document de qualité professionnelle de type Powerpoint ou Word,
ci à la disposition du Conseiller Financer pour que celui-ci y ajoute ses
commentaires personnalisés de façon structurée, tout en protégeant les zones non modifiables
notamment les prototypes plus loin pour des exemples de mise en œuvre). Les auteurs de ces
documents recourent fréquemment aux notes de bas de page / référence, pour en faciliter la lecture
permettant à plusieurs acteurs de collaborer pour mettre à jour ce
Open XML permet de réaliser des opérations de publipostage plus
Un grand groupe français, leader mondial de la pharmacie, échange régulièrement des
informations avec les autorités de contrôle des différents pays, sur l’avancement des tests cliniques
de nouveaux produits, mais aussi sur le contrôle qualité de ses fabrications. En interne, ce groupe a
choisi de convertir l’ensemble de son patrimoine bureautique au format Open XML
ilitaires automatisant la migration qui sont fournis en standard avec Office), pour garantir la
terme de ces documents importants. Open XML permet également de mettre en
de protection de la propriété intellectuelle (citations, références)
essentielles pour protéger le travail des chercheurs.
30 Septembre 2007
exemples concrets.
Sur le site de sa banque, un client peut consulter son compte et, d’un simple clic, générer
ses comptes &
; il peut ensuite travailler sur ces données (par
exemple faire varier la durée d’amortissement de son prêt) avec les outils bureautiques sur son PC
est possible à partir d’un applicatif
métier de type ‘Tenue de Compte’, fonctionnant dans tout type d’environnement (Windows/SQL,
permet notamment la spécification précise des formules de calcul
La structure XML permet également de réduire les risques de corruption de fichiers, et de renforcer
en place un système de gestion de la maintenance
sophistiqué, permettant aux opérateurs d’accéder très facilement à la documentation pertinente
pour des milliers de pièces détachées. La recherche d’information et la mise jour sécurisée sont
pour l’ensemble de cette documentation
; par exemple, les documents peuvent être automatiquement mis à jour lorsqu’une
modification est faite dans le système de conception des pièces. Le caractère normalisé d’Open XML
est également un facteur important pour la pérennité de cette documentation critique. Enfin, les
précisent comment mettre en œuvre des fonctionnalités de recherche
tendu par la brique
Un directeur d’agence ‘Banque Privée’ souhaite adresser à ses clients un document de
permet de générer
de type Powerpoint ou Word,
ci y ajoute ses
commentaires personnalisés de façon structurée, tout en protégeant les zones non modifiables (voir
. Les auteurs de ces
pour en faciliter la lecture.
permettant à plusieurs acteurs de collaborer pour mettre à jour ce
permet de réaliser des opérations de publipostage plus
Un grand groupe français, leader mondial de la pharmacie, échange régulièrement des
des différents pays, sur l’avancement des tests cliniques
de nouveaux produits, mais aussi sur le contrôle qualité de ses fabrications. En interne, ce groupe a
Open XML (à l’aide
), pour garantir la
permet également de mettre en
itations, références)
De nombreux rapports sont de type semi
et des données chiffrées issues des tests. Un applicatif métier extrait les données
utilisant un schéma XML métier spécifique à la pharmacie
fichier Open XML aux autorités sanitaires, qui peuvent les reconnaître automatiquement dans leurs
systèmes.
Scénario 5 : Un groupe de gestion immobilière souhaite permettre à ces gestionnaires d’éditer des
documents concernant les biens qu’il administre. Dans
éditer une fiche de bien en appelant un service web métier de l’application
automatique des parties du document, après saisie dans le volet Office de l’identifiant du bien. Par
ailleurs, le gestionnaire utilise des tableaux croisés dynamiques Excel pour suivre l’activité, et
effectue des requêtes directement sur le
et disponible directement dans un ruban Office 2007.
Enfin, le directeur commercial et les chefs de groupe, éditent automatiquement des présentations
Powerpoint générées à partir des tableaux de bords
C. Le rôle des éditeurs de logiciels
L’objectif de ce livre blanc étant d’expliquer en quoi Office 2007 devient une plate
d’applications, il nous semble crucial d’insister sur le rôle des éditeurs de logiciels.
Editeurs de plates-
formes et outils
Editeurs de logiciels
applicatifs
Applications
d’entreprises
Utilisateurs
Les éditeurs de logiciels jouent en effet un rôle déterminant dans l’avènement
par leur position de démultiplication du déploiement vers les utilisateurs
1 Par exemple CDISC, schéma XML créé pour gérer les Données Cliniques (www.cdisc.org)
30 Septembre
De nombreux rapports sont de type semi-structuré, avec des commentaires des médecins traitants,
et des données chiffrées issues des tests. Un applicatif métier extrait les données pertinentes, en
utilisant un schéma XML métier spécifique à la pharmacie1, pour les communiquer sous forme de
aux autorités sanitaires, qui peuvent les reconnaître automatiquement dans leurs
groupe de gestion immobilière souhaite permettre à ces gestionnaires d’éditer des
documents concernant les biens qu’il administre. Dans Office Word, le gestionnaire peut rapidement
éditer une fiche de bien en appelant un service web métier de l’application
automatique des parties du document, après saisie dans le volet Office de l’identifiant du bien. Par
ailleurs, le gestionnaire utilise des tableaux croisés dynamiques Excel pour suivre l’activité, et
effectue des requêtes directement sur le système métier, grâce à un complément développé en .NET
et disponible directement dans un ruban Office 2007.
Enfin, le directeur commercial et les chefs de groupe, éditent automatiquement des présentations
Powerpoint générées à partir des tableaux de bords consolidés.
e rôle des éditeurs de logiciels
L’objectif de ce livre blanc étant d’expliquer en quoi Office 2007 devient une plate
d’applications, il nous semble crucial d’insister sur le rôle des éditeurs de logiciels.
Editeurs de logiciels
Les éditeurs de logiciels jouent en effet un rôle déterminant dans l’avènement des plates
par leur position de démultiplication du déploiement vers les utilisateurs.
Par exemple CDISC, schéma XML créé pour gérer les Données Cliniques (www.cdisc.org)
30 Septembre 2007
structuré, avec des commentaires des médecins traitants,
pertinentes, en
, pour les communiquer sous forme de
aux autorités sanitaires, qui peuvent les reconnaître automatiquement dans leurs
groupe de gestion immobilière souhaite permettre à ces gestionnaires d’éditer des
, le gestionnaire peut rapidement
qui renseigne
automatique des parties du document, après saisie dans le volet Office de l’identifiant du bien. Par
ailleurs, le gestionnaire utilise des tableaux croisés dynamiques Excel pour suivre l’activité, et
système métier, grâce à un complément développé en .NET
Enfin, le directeur commercial et les chefs de groupe, éditent automatiquement des présentations
L’objectif de ce livre blanc étant d’expliquer en quoi Office 2007 devient une plate-forme
des plates-formes de
Il y a 15 ans, Windows a pris le pas sur OS/2
d’applications plus grand que son concurrent. Ces applications
besoins fonctionnels précis, pour les particuliers ou les entreprises.
démultiplication entre les plates-formes et outil
En ce sens, il est difficile de revendiquer une évolution d’Office 2007 vers un positionnement de
plate-forme sans s’intéresser à l’écho qu’il recueille auprès des éditeurs de logiciels, ces sociétés qui
investissent en amont dans la technologie pour satisfaire un nouveau besoin à l’échelle d’un marché.
De plus, l’évolution de l’informatique amène mécaniquement à une standardisation des couches
dites « basses » puis « horizontales
amenés à verticaliser leur offre pour répondre à des besoins de plus en plus spécialisés.
Dès lors, leur différenciation passe par la capacité à couvrir ces besoins de plus en plus pointus, tout
en tirant parti au mieux de l’état de l’art technologique, mais sans forcément devoir créer cet état de
l’art que quelques grands acteurs amène
Pour parler de plate-forme, il est donc intéressant de constater que des entreprises développent
effectivement des applications s’appuyant sur Office 2007, mais il est encore plus notable d’observer
les investissements réalisés par les éditeurs de logiciels pour développer des applications
proposeront au marché.
C’est la raison pour laquelle l’accent
par des éditeurs de logiciels représentatifs de différents domaines
horizontaux. On notera tout de même que l’orientation entreprise, voulue par Micros
à la typologie d’éditeurs que nous observons.
30 Septembre
Il y a 15 ans, Windows a pris le pas sur OS/2 principalement grâce à la création d’un écosystème
d’applications plus grand que son concurrent. Ces applications apparaissent pour satisfaire des
besoins fonctionnels précis, pour les particuliers ou les entreprises. Ils jouent un rôle de
formes et outils et les applications disponibles aux utilisateurs.
En ce sens, il est difficile de revendiquer une évolution d’Office 2007 vers un positionnement de
forme sans s’intéresser à l’écho qu’il recueille auprès des éditeurs de logiciels, ces sociétés qui
investissent en amont dans la technologie pour satisfaire un nouveau besoin à l’échelle d’un marché.
De plus, l’évolution de l’informatique amène mécaniquement à une standardisation des couches
horizontales », et les éditeurs de logiciels, notamment d’entreprise, sont
amenés à verticaliser leur offre pour répondre à des besoins de plus en plus spécialisés.
Dès lors, leur différenciation passe par la capacité à couvrir ces besoins de plus en plus pointus, tout
de l’état de l’art technologique, mais sans forcément devoir créer cet état de
l’art que quelques grands acteurs amènent sur un nombre limité de standards.
forme, il est donc intéressant de constater que des entreprises développent
fectivement des applications s’appuyant sur Office 2007, mais il est encore plus notable d’observer
les investissements réalisés par les éditeurs de logiciels pour développer des applications
cent est mis dans ce livre blanc sur l’usage et l’accueil d’Office 2007
représentatifs de différents domaines, que ceux-ci soient verticaux ou
horizontaux. On notera tout de même que l’orientation entreprise, voulue par Microsoft, correspond
à la typologie d’éditeurs que nous observons.
30 Septembre 2007
un écosystème
pour satisfaire des
Ils jouent un rôle de
s et les applications disponibles aux utilisateurs.
En ce sens, il est difficile de revendiquer une évolution d’Office 2007 vers un positionnement de
forme sans s’intéresser à l’écho qu’il recueille auprès des éditeurs de logiciels, ces sociétés qui
investissent en amont dans la technologie pour satisfaire un nouveau besoin à l’échelle d’un marché.
De plus, l’évolution de l’informatique amène mécaniquement à une standardisation des couches
iciels, notamment d’entreprise, sont
amenés à verticaliser leur offre pour répondre à des besoins de plus en plus spécialisés.
Dès lors, leur différenciation passe par la capacité à couvrir ces besoins de plus en plus pointus, tout
de l’état de l’art technologique, mais sans forcément devoir créer cet état de
forme, il est donc intéressant de constater que des entreprises développent
fectivement des applications s’appuyant sur Office 2007, mais il est encore plus notable d’observer
les investissements réalisés par les éditeurs de logiciels pour développer des applications qu’ils
mis dans ce livre blanc sur l’usage et l’accueil d’Office 2007
ci soient verticaux ou
oft, correspond
IV. La valeur ajoutée d’Office 2007
A. La nouvelle interface utilisateur
L’un des changements majeurs introduits
graphique : l’intégralité des menus traditionnels et barres d’
menu Office ainsi qu’une barre d’accès rapide
fonctionnalités Office en les rendant disponible pour l’utilisateur à tout moment
quelques clics.
En effet, l’apparition des rubans
l’utilisateur et de la position de son curseur. La contrepartie est un temps d’adaptation pour les
utilisateurs, mais cette ergonomie a été éprouvée par de nombreux tests et s’avère assez commode à
l’usage, en plus d’être très esthétique. Cela permet également facilement aux éditeurs de logiciels de
développer leur propre ruban, un indicateur clair de l’orientation plate
De plus, Microsoft autorise l’utilisation de
respecter les règles et la philosophie. Ceci veut dire qu’une application qui ne nécessite pas du tout
Office peut s’inspirer de cette ergonomie à base de rubans, sans pour autant devoir payer un
quelconque droit de propriété intellectuelle, car
licence sur http://msdn2.microsoft.com/en
B. L’ouverture des formats
L’ouverture des formats d’Office dans la vers
très importante. Souvent minimisé car l’impact à court terme n’est pas
fait déterminant pour l’évolution de l’industrie du logiciel
Le format de fichier Open XML est un s
accrédité par l’ISO et faisant partie des rares organismes à pouvoir bénéficier du dispositif de
soumission rapide à l’ISO dit « fast track
normalisation à l’ISO sous le n° 29500
(Ecma TC45), qui comprend des représentants
Essilor, Intel, Microsoft, NextPage, Novell, Statoil, Toshiba, et la United S
Ainsi que mentionné dans le communiqué de presse de l’ECMA disponible en
international.org/news/PressReleases/PR_TC45_Dec2006.
maintenance et l’évolution de ce standard
responsible for the ongoing maintenance of the standard, and for enhancing the standard with new
and innovative features while simultaneously preserving backwards compatibility
C’est un standard ouvert qui répond en tous points à la loi pour la Confiance de l'Economie
Numérique du 21 juin 2004 (n° 2004
ouvert tout protocole de communication, d'interconnexion ou d'échange et tout format de données
interopérable et dont les spécifications techniques sont publiques et sans restriction d'accès ni de
mise en œuvre. »
30 Septembre
La valeur ajoutée d’Office 2007
La nouvelle interface utilisateur
n des changements majeurs introduits par Office 2007 est la refonte complète de l’interface
us traditionnels et barres d’outils ont été remplacés par un
menu Office ainsi qu’une barre d’accès rapide. Ce « lifting » a pour but de faciliter l’utilisation des
fonctionnalités Office en les rendant disponible pour l’utilisateur à tout moment
rubans est contextuelle en fonction des éléments sélectionnés par
l’utilisateur et de la position de son curseur. La contrepartie est un temps d’adaptation pour les
utilisateurs, mais cette ergonomie a été éprouvée par de nombreux tests et s’avère assez commode à
s d’être très esthétique. Cela permet également facilement aux éditeurs de logiciels de
développer leur propre ruban, un indicateur clair de l’orientation plate-forme.
De plus, Microsoft autorise l’utilisation de cette ergonomie en dehors d’Office, à condi
respecter les règles et la philosophie. Ceci veut dire qu’une application qui ne nécessite pas du tout
Office peut s’inspirer de cette ergonomie à base de rubans, sans pour autant devoir payer un
oit de propriété intellectuelle, car la licence associée est gratuite (cf programme de
http://msdn2.microsoft.com/en-us/office/aa973809.aspx ).
L’ouverture des formats d’Office dans la version 2007 au travers d’Open XML est aussi une évolution
ouvent minimisé car l’impact à court terme n’est pas très visible, ce point est
pour l’évolution de l’industrie du logiciel.
est un standard ECMA (organisme de standardisation
accrédité par l’ISO et faisant partie des rares organismes à pouvoir bénéficier du dispositif de
fast track ») sous la référence Ecma 376 et est
’ISO sous le n° 29500. Ce standard a été élaboré au sein du Technical Committee 45
qui comprend des représentants d’Apple, Barclays Capital, BP, The British Library,
Essilor, Intel, Microsoft, NextPage, Novell, Statoil, Toshiba, et la United States Library of Congress.
Ainsi que mentionné dans le communiqué de presse de l’ECMA disponible en http://www.ecma
international.org/news/PressReleases/PR_TC45_Dec2006.htm, c’est l’Ecma qui assurera la
maintenance et l’évolution de ce standard dans le futur : «The Ecma TC45 will continue to be
responsible for the ongoing maintenance of the standard, and for enhancing the standard with new
multaneously preserving backwards compatibility ».
C’est un standard ouvert qui répond en tous points à la loi pour la Confiance de l'Economie
Numérique du 21 juin 2004 (n° 2004-575), qui stipule dans son article 4 : « On entend par standard
rotocole de communication, d'interconnexion ou d'échange et tout format de données
interopérable et dont les spécifications techniques sont publiques et sans restriction d'accès ni de
30 Septembre 2007
la refonte complète de l’interface
outils ont été remplacés par un ruban, un
» a pour but de faciliter l’utilisation des
fonctionnalités Office en les rendant disponible pour l’utilisateur à tout moment et surtout à
en fonction des éléments sélectionnés par
l’utilisateur et de la position de son curseur. La contrepartie est un temps d’adaptation pour les
utilisateurs, mais cette ergonomie a été éprouvée par de nombreux tests et s’avère assez commode à
s d’être très esthétique. Cela permet également facilement aux éditeurs de logiciels de
, à condition d’en
respecter les règles et la philosophie. Ceci veut dire qu’une application qui ne nécessite pas du tout
Office peut s’inspirer de cette ergonomie à base de rubans, sans pour autant devoir payer un
(cf programme de
est aussi une évolution
ce point est en
tandard ECMA (organisme de standardisation dûment
accrédité par l’ISO et faisant partie des rares organismes à pouvoir bénéficier du dispositif de
et est en cours de
. Ce standard a été élaboré au sein du Technical Committee 45
d’Apple, Barclays Capital, BP, The British Library,
tates Library of Congress.
http://www.ecma-
, c’est l’Ecma qui assurera la
: «The Ecma TC45 will continue to be
responsible for the ongoing maintenance of the standard, and for enhancing the standard with new
C’est un standard ouvert qui répond en tous points à la loi pour la Confiance de l'Economie
On entend par standard
rotocole de communication, d'interconnexion ou d'échange et tout format de données
interopérable et dont les spécifications techniques sont publiques et sans restriction d'accès ni de
Mis au point à l’initiative de Microsoft, afin de répondre
différents pays et au niveau européen
immatériel des entreprises et des états au cours du temps
utilisateurs une compatibilité optimale avec le patrimoine existant de documents bureautiques et
éviter les pertes de données/présentation lors des migrations. Il est reconnu par de nombreux outils
bureautiques du marché, dont notamment les suites Microsoft Office 2007, 2003, XP et 2000
add-on en téléchargement gratuit permet en effet à ces anciennes version d’Office de pouvoir lire et
écrire des documents au format Open XML)
ou WordPerfect.
Avec les formats Open XML, les documents Office s’intègrent aisément à des solutions métier, et les
données de gestion trouvent naturellement place dans les fichiers proprement dits. Les schémas
personnalisés2 permettent d’inclure de
type Word ou Excel facilitant ainsi
travail quotidien des utilisateurs.
Les spécifications ouvertes d’Open XML
depuis un serveur (quel qu’en soit le système d’exploitation), des documents bureautiques destinés à
être consommés par des utilisateurs.
C. L’extensibilité programmatique
Bien que l’extensibilité d’Office ne soit pas fondamentalement
que les macros permettent le développement de solutions depuis de très nombreuses versions, la
version 2007 brille par des capacités d’extensibilité accrues.
De nombreuses améliorations de programmabilité ont été faites dans Office 2007. Par exemple, le
chargement des compléments est désormais maîtrisé par l’utilisateur et la suite Office a été revue de
façon à se comporter comme une plate
Bien évidemment, l’intégration avec .NET
Tools for Office donne toute la puissance de la plate
Services Web.
En outre, l’ouverture des formats en combin
majeur qui permet de nouveaux scénarios
métier.
Mais au-delà de cette extensibilité traditionnelle, Office 2007 prend une place particulière dans le
cadre du nouveau paradigme des applications composites
A l’inverse des applications traditionnelles, souvent monolithiques et cloisonnées par fonction, le
applications composites sont des applications conçues pour consommer des services de manière
transversale à l’entreprise, ces services pouvant être réutilisés dans des contextes divers par
différents processus de gestion.
2 Un schéma XML métier permet d’indiquer dans un document des ‘zones’ comme ‘Nom de client’ ou ‘montant
d’achat’, et d’échanger entre ces zones du document et le reste du système d’information des données en
conservant leur ‘signification’, et permettant de les présenter dans des documents classiques.
30 Septembre
Mis au point à l’initiative de Microsoft, afin de répondre notamment à des lois de ce type dans
différents pays et au niveau européen mais aussi pour assurer la préservation du patrimoine
immatériel des entreprises et des états au cours du temps, Open XML a été conçu pour assurer aux
utilisateurs une compatibilité optimale avec le patrimoine existant de documents bureautiques et
éviter les pertes de données/présentation lors des migrations. Il est reconnu par de nombreux outils
notamment les suites Microsoft Office 2007, 2003, XP et 2000
on en téléchargement gratuit permet en effet à ces anciennes version d’Office de pouvoir lire et
écrire des documents au format Open XML), mais aussi OpenOffice, NeoOffice (OO pour Macin
Avec les formats Open XML, les documents Office s’intègrent aisément à des solutions métier, et les
données de gestion trouvent naturellement place dans les fichiers proprement dits. Les schémas
permettent d’inclure des vocabulaires XML spécifiques dans des documents Office
l’intégration des données d’entreprise dans l’environnement
Open XML permettent également à des applications métier de générer,
depuis un serveur (quel qu’en soit le système d’exploitation), des documents bureautiques destinés à
être consommés par des utilisateurs.
L’extensibilité programmatique et « Office Business Applications
ne soit pas fondamentalement nouveau en soi, ne serait
que les macros permettent le développement de solutions depuis de très nombreuses versions, la
2007 brille par des capacités d’extensibilité accrues.
uses améliorations de programmabilité ont été faites dans Office 2007. Par exemple, le
chargement des compléments est désormais maîtrisé par l’utilisateur et la suite Office a été revue de
façon à se comporter comme une plate-forme à bien des titres.
ntégration avec .NET est plus poussée que jamais et l’utilisation de Visual Studio
Tools for Office donne toute la puissance de la plate-forme .NET en permettant facilement l’appel de
’ouverture des formats en combinaison avec cette extensibilité constitue un élément
permet de nouveaux scénarios d’utilisation d’Office en tant que frontal d’application
delà de cette extensibilité traditionnelle, Office 2007 prend une place particulière dans le
nouveau paradigme des applications composites.
A l’inverse des applications traditionnelles, souvent monolithiques et cloisonnées par fonction, le
applications composites sont des applications conçues pour consommer des services de manière
transversale à l’entreprise, ces services pouvant être réutilisés dans des contextes divers par
Un schéma XML métier permet d’indiquer dans un document des ‘zones’ comme ‘Nom de client’ ou ‘montant
es zones du document et le reste du système d’information des données en
conservant leur ‘signification’, et permettant de les présenter dans des documents classiques.
30 Septembre 2007
à des lois de ce type dans
mais aussi pour assurer la préservation du patrimoine
a été conçu pour assurer aux
utilisateurs une compatibilité optimale avec le patrimoine existant de documents bureautiques et
éviter les pertes de données/présentation lors des migrations. Il est reconnu par de nombreux outils
notamment les suites Microsoft Office 2007, 2003, XP et 2000 (un
on en téléchargement gratuit permet en effet à ces anciennes version d’Office de pouvoir lire et
, mais aussi OpenOffice, NeoOffice (OO pour Macintosh),
Avec les formats Open XML, les documents Office s’intègrent aisément à des solutions métier, et les
données de gestion trouvent naturellement place dans les fichiers proprement dits. Les schémas
s vocabulaires XML spécifiques dans des documents Office de
l’intégration des données d’entreprise dans l’environnement de
à des applications métier de générer,
depuis un serveur (quel qu’en soit le système d’exploitation), des documents bureautiques destinés à
»
, ne serait-ce que parce
que les macros permettent le développement de solutions depuis de très nombreuses versions, la
uses améliorations de programmabilité ont été faites dans Office 2007. Par exemple, le
chargement des compléments est désormais maîtrisé par l’utilisateur et la suite Office a été revue de
que jamais et l’utilisation de Visual Studio
forme .NET en permettant facilement l’appel de
constitue un élément
d’utilisation d’Office en tant que frontal d’application
delà de cette extensibilité traditionnelle, Office 2007 prend une place particulière dans le
A l’inverse des applications traditionnelles, souvent monolithiques et cloisonnées par fonction, les
applications composites sont des applications conçues pour consommer des services de manière
transversale à l’entreprise, ces services pouvant être réutilisés dans des contextes divers par
Un schéma XML métier permet d’indiquer dans un document des ‘zones’ comme ‘Nom de client’ ou ‘montant
es zones du document et le reste du système d’information des données en
Le schéma ci-dessous illustre cette nouvelle approche centrée sur l’utilisateur. Celui
des services fournis par différentes applications.
Les utilisateurs combinent les services pour
construire des applications composites
Les applications fournissent un référentiel de
services
La plate-forme fournit des types de
composants et conteneurs
Ce phénomène se retrouve dans le grand public (avec les «
développe également très fortement dans l’entreprise pour faciliter les processus de gestion.
Dès lors, au lieu d’investir dans des interfaces utilisateurs spécifiques, il devient intéressant d’inscrire
les interfaces métier au sein de celle d’Office. Ceci est rendu pos
l’interface dont nous avons parlé précédemment et la possibilité de créer des rubans spécialisés.
En allant au bout du raisonnement, Office 2007 devient alors un client universel d’applications
métiers et le point central de travail de l’utilisateur (voir le livre blanc
Building Composite Applications using the Microsoft platform
de document).
D. Les fonctions novatrices
Combinées avec la possibilité d’aliment
nouvelles fonctions ont un intérêt particulièrement marqué
• Les contrôles de contenu dans
présentation,
• Le formattage conditionnel d’
un tableau de bord (représentation visuelle, coloration, icône…)
30 Septembre
tte nouvelle approche centrée sur l’utilisateur. Celui-ci agrège en fait
des services fournis par différentes applications.
Les utilisateurs combinent les services pour
construire des applications composites
Les applications fournissent un référentiel de
services
forme fournit des types de
composants et conteneurs
Outils
pour
construire
et
exploiter
les
services
qui
tirent parti
de la
plate-
forme
Ce phénomène se retrouve dans le grand public (avec les « mashups » du web 2.0) mais se
ement très fortement dans l’entreprise pour faciliter les processus de gestion.
Dès lors, au lieu d’investir dans des interfaces utilisateurs spécifiques, il devient intéressant d’inscrire
les interfaces métier au sein de celle d’Office. Ceci est rendu possible grâce à l’évolution de
l’interface dont nous avons parlé précédemment et la possibilité de créer des rubans spécialisés.
En allant au bout du raisonnement, Office 2007 devient alors un client universel d’applications
avail de l’utilisateur (voir le livre blanc « Office Business Applications,
Building Composite Applications using the Microsoft platform » mentionné dans les liens utiles en fin
Combinées avec la possibilité d’alimenter les documents avec des données métiers, certaines
particulièrement marqué :
ôles de contenu dans Office Word qui permet de séparer les données de la
ormattage conditionnel d’Office Excel qui permet de mettre en exergue des valeurs dans
un tableau de bord (représentation visuelle, coloration, icône…),
30 Septembre 2007
ci agrège en fait
construire
exploiter
services
tirent parti
» du web 2.0) mais se
ement très fortement dans l’entreprise pour faciliter les processus de gestion.
Dès lors, au lieu d’investir dans des interfaces utilisateurs spécifiques, il devient intéressant d’inscrire
sible grâce à l’évolution de
l’interface dont nous avons parlé précédemment et la possibilité de créer des rubans spécialisés.
En allant au bout du raisonnement, Office 2007 devient alors un client universel d’applications
Business Applications,
» mentionné dans les liens utiles en fin
er les documents avec des données métiers, certaines
qui permet de séparer les données de la
permet de mettre en exergue des valeurs dans
• L’intelligence mise dans l’interprétation de l’information (par exemple les tableaux
structure est automatiquement déduite
manière globale, par exemple sur des plages de cellule
Powerpoint,
• SharePoint 2007 qui s’étoffe encore de nouvelles fonctions et dont la convergence avec
ASP.NET 2.0 en matière de Webparts permet une réelle intégration de type portail
d’applications métiers,
• Infopath 2007 qui devient dans sa deuxième version un outil puissant de formula
également une dimension serveur pour gérer les flux,
• Les bibliothèques de visuels qui sont très riches dès la version livrée de base,
• Des fonctions moins visibles par l’utilisateur mais importantes telles que l’amélioration de la
sécurité à différents niveaux
risque de Fuzzing).
E. Compatibilité « applicative
Malgré ces éléments novateurs et pour certains assez disruptifs, notamment la révision profonde de
l’interface utilisateur, Office 2007 permet la compatibilité avec les versions précédentes. Au niveau
des formats, l’utilisateur dispose de l’option de
Mais plus intéressant encore, Microsoft propose un convertisseur qui permet aux utilisateurs ayant
encore les anciennes versions de travailler en
milite pour un passage rapide à Open XML
Mais ce qui nous intéresse dans ce livre blanc c’est surtout la c
développées avec les versions antérieures d’Office
avec des comportements qui peuvent légèrement différer, d’où un besoin de test, en particulier sur
les très vieilles fonctions (macros Excel 4 par exemple), mais la compatibilité est globalement
assurée.
Une stratégie mise en œuvre avec succès pa
les fonctions et l’interface utilisateur (ruban)
versions 2000-2003 et 2007, sur la majeure partie de l’application, ta
« point d’entrée » est spécifique à la version
Ceci permet de cibler un parc hétérogène
de la migration de la base installée, ces éditeurs investissent de plus e
tirent parti du potentiel d’Office 2007
innovation.
Office 2007 devient alors un levier de création de valeur intéressant pour ces éditeurs de logiciels,
car l’investissement effectué est modeste en regard de la valeur perçue, dans la mesure où l’éditeur
peut construire sur certains atouts d’Office. L’exemple typique est la création de tableaux de bords
Excel synthétisant des données de l’application de l’éditeur et qui
conditionnelle.
30 Septembre
L’intelligence mise dans l’interprétation de l’information (par exemple les tableaux
structure est automatiquement déduite) qui permet d’appliquer des modèles visuels
manière globale, par exemple sur des plages de cellules Excel ou des présentations
qui s’étoffe encore de nouvelles fonctions et dont la convergence avec
ASP.NET 2.0 en matière de Webparts permet une réelle intégration de type portail
qui devient dans sa deuxième version un outil puissant de formula
également une dimension serveur pour gérer les flux,
Les bibliothèques de visuels qui sont très riches dès la version livrée de base,
Des fonctions moins visibles par l’utilisateur mais importantes telles que l’amélioration de la
ents niveaux (citons par exemple l’utilisation du format Open XML
applicative » avec les versions précédentes
Malgré ces éléments novateurs et pour certains assez disruptifs, notamment la révision profonde de
l’interface utilisateur, Office 2007 permet la compatibilité avec les versions précédentes. Au niveau
l’utilisateur dispose de l’option de sauvegarder selon le format 97-2003 ou
Microsoft propose un convertisseur qui permet aux utilisateurs ayant
encore les anciennes versions de travailler en Open XML. Nul doute que cela facilite la transition et
Open XML, format à privilégier par rapport à un format binaire.
Mais ce qui nous intéresse dans ce livre blanc c’est surtout la compatibilité avec les applications
développées avec les versions antérieures d’Office. Comme toujours, il y a quelques cas aux limites
avec des comportements qui peuvent légèrement différer, d’où un besoin de test, en particulier sur
les très vieilles fonctions (macros Excel 4 par exemple), mais la compatibilité est globalement
en œuvre avec succès par plusieurs éditeurs de logiciels consiste à bien séparer
fonctions et l’interface utilisateur (ruban). De cette façon, le code n’est pas différent entre les
2003 et 2007, sur la majeure partie de l’application, tandis que seulement la partie
» est spécifique à la version d’Office.
Ceci permet de cibler un parc hétérogène sans multiplier les coûts de développement. Et à mesure
de la migration de la base installée, ces éditeurs investissent de plus en plus sur des évolutions qui
nt parti du potentiel d’Office 2007 et incite les clients à s’équiper pour bénéficier de cette
Office 2007 devient alors un levier de création de valeur intéressant pour ces éditeurs de logiciels,
ssement effectué est modeste en regard de la valeur perçue, dans la mesure où l’éditeur
peut construire sur certains atouts d’Office. L’exemple typique est la création de tableaux de bords
Excel synthétisant des données de l’application de l’éditeur et qui tire parti de la mise en forme
30 Septembre 2007
L’intelligence mise dans l’interprétation de l’information (par exemple les tableaux dont la
es modèles visuels de
Excel ou des présentations
qui s’étoffe encore de nouvelles fonctions et dont la convergence avec
ASP.NET 2.0 en matière de Webparts permet une réelle intégration de type portail
qui devient dans sa deuxième version un outil puissant de formulaire avec
Des fonctions moins visibles par l’utilisateur mais importantes telles que l’amélioration de la
Open XML qui évite le
Malgré ces éléments novateurs et pour certains assez disruptifs, notamment la révision profonde de
l’interface utilisateur, Office 2007 permet la compatibilité avec les versions précédentes. Au niveau
ou Open XML.
Microsoft propose un convertisseur qui permet aux utilisateurs ayant
e cela facilite la transition et
, format à privilégier par rapport à un format binaire.
ilité avec les applications
y a quelques cas aux limites
avec des comportements qui peuvent légèrement différer, d’où un besoin de test, en particulier sur
les très vieilles fonctions (macros Excel 4 par exemple), mais la compatibilité est globalement bien
s consiste à bien séparer
. De cette façon, le code n’est pas différent entre les
ndis que seulement la partie
sans multiplier les coûts de développement. Et à mesure
des évolutions qui
à s’équiper pour bénéficier de cette
Office 2007 devient alors un levier de création de valeur intéressant pour ces éditeurs de logiciels,
ssement effectué est modeste en regard de la valeur perçue, dans la mesure où l’éditeur
peut construire sur certains atouts d’Office. L’exemple typique est la création de tableaux de bords
tire parti de la mise en forme
V. Les applications réelles d
A. Calypteo
Calypteo est une application métier
plate-forme Office 2007.
A l’origine, se trouve la société
consommations et dépenses énergétiques
collectivités locales un outil logiciel permettant d’assurer la gestion et le pilotage de leurs
consommations de gaz et d’électricité et de répondre à de nombreuses préoccupations pratiques,
notamment de préparer et gérer les appels d’offres
de la libéralisation de ces marchés
références dans le domaine des collectivités locales sur ce marché,
de Poitiers.
Ce produit, initialement développé
données dans des classeurs a permis d’incorporer les attentes des clients, en liaison étroite avec eux,
au fur et à mesure de l’utilisation du logiciel . Cette phase de «
une performance élevée en termes de fonctionnalités et de règles métier incorporées.
Afin de proposer une application apte à faire face aux exigences de travail collaboratif, de
transversalité et de productivité, Cofastel
Calypteo, déployée selon quatre axes principaux
• Fonctionnement en réseau avec utilisation d’une base de données
• Centralisation possible des données sur des environne
locales, incluant le mode hébergé
• Intégration étendue à la bureautique
• Facilité d’évolution pour disposer en permanence d’une application en phase avec l’évolution
de la donne énergétique
Cette application Calypteo repose sur une architecture robuste et évolutive basée sur Microsoft SQL
Server 2005, le .NET Framework 2.0 (avec les composants métiers fabriqués par le produit
CodeFluent), Windows Server 2003/IIS 6.0 pour le s
comme frontal évolué, alternative à la version basique fonctionnant sur un navigateur
30 Septembre
des éditeurs de logiciels utilisant Office 2007
pplication métier tirant très largement parti de l’ensemble des possibilités de la
A l’origine, se trouve la société Cofastel, spécialisée dans le domaine de la maîtrise des
consommations et dépenses énergétiques. En particulier, dès début 2005, Cofastel a proposé
l logiciel permettant d’assurer la gestion et le pilotage de leurs
consommations de gaz et d’électricité et de répondre à de nombreuses préoccupations pratiques,
les appels d’offres de fourniture de gaz et d’électricité
de la libéralisation de ces marchés et sélectionner leurs fournisseurs. L’entreprise dispose de solides
références dans le domaine des collectivités locales sur ce marché, comme les villes de Marseille et
loppé en interne par Cofastel en technologie Excel, avec stockage des
données dans des classeurs a permis d’incorporer les attentes des clients, en liaison étroite avec eux,
au fur et à mesure de l’utilisation du logiciel . Cette phase de « développement agile
une performance élevée en termes de fonctionnalités et de règles métier incorporées.
Afin de proposer une application apte à faire face aux exigences de travail collaboratif, de
Cofastel a lancé une toute nouvelle offre étendue
Calypteo, déployée selon quatre axes principaux :
Fonctionnement en réseau avec utilisation d’une base de données structurée ;
des données sur des environnements extérieurs aux collectivités
hébergé, par exemple pour les communautés de commune
la bureautique ;
Facilité d’évolution pour disposer en permanence d’une application en phase avec l’évolution
Cette application Calypteo repose sur une architecture robuste et évolutive basée sur Microsoft SQL
Server 2005, le .NET Framework 2.0 (avec les composants métiers fabriqués par le produit
CodeFluent), Windows Server 2003/IIS 6.0 pour le site et les services Web, et enfin Office 2007
comme frontal évolué, alternative à la version basique fonctionnant sur un navigateur :
30 Septembre 2007
utilisant Office 2007
tirant très largement parti de l’ensemble des possibilités de la
la maîtrise des
En particulier, dès début 2005, Cofastel a proposé aux
l logiciel permettant d’assurer la gestion et le pilotage de leurs
consommations de gaz et d’électricité et de répondre à de nombreuses préoccupations pratiques,
de fourniture de gaz et d’électricité dans le cadre
sélectionner leurs fournisseurs. L’entreprise dispose de solides
de Marseille et
, avec stockage des
données dans des classeurs a permis d’incorporer les attentes des clients, en liaison étroite avec eux,
gile » a conduit à
Afin de proposer une application apte à faire face aux exigences de travail collaboratif, de
a lancé une toute nouvelle offre étendue, dénommée
ments extérieurs aux collectivités
, par exemple pour les communautés de communes ;
Facilité d’évolution pour disposer en permanence d’une application en phase avec l’évolution
Cette application Calypteo repose sur une architecture robuste et évolutive basée sur Microsoft SQL
Server 2005, le .NET Framework 2.0 (avec les composants métiers fabriqués par le produit
ite et les services Web, et enfin Office 2007
:
Concernant la partie Office 2007, Calypteo intègre de nombreuses fonctionnalités à commencer par
une interface graphique totalement basée sur un ruban spécifique au métier
Des rapports Excel 2007 sont générés en Open XML pour les états de synthèse
30 Septembre
Concernant la partie Office 2007, Calypteo intègre de nombreuses fonctionnalités à commencer par
totalement basée sur un ruban spécifique au métier :
Des rapports Excel 2007 sont générés en Open XML pour les états de synthèse :
30 Septembre 2007
Concernant la partie Office 2007, Calypteo intègre de nombreuses fonctionnalités à commencer par
Des rapports Word 2007 sont générés selon le même principe pour certains documents de type
« fiche » :
En outre, de nombreuses données sont mises à jour sous forme tabulaire grâce aux listes
synchronisées d’Excel, qui sont mises en œuvre automatiquement par le producteur de CodeFluent
en prenant en compte les règles métiers. Notons ici la combinaison possib
avec la mise en forme conditionnelle qui permet de disposer d’indicateurs visuels fort utiles
30 Septembre
Des rapports Word 2007 sont générés selon le même principe pour certains documents de type
En outre, de nombreuses données sont mises à jour sous forme tabulaire grâce aux listes
synchronisées d’Excel, qui sont mises en œuvre automatiquement par le producteur de CodeFluent
en prenant en compte les règles métiers. Notons ici la combinaison possible de ces fonctionnalités
avec la mise en forme conditionnelle qui permet de disposer d’indicateurs visuels fort utiles
30 Septembre 2007
Des rapports Word 2007 sont générés selon le même principe pour certains documents de type
En outre, de nombreuses données sont mises à jour sous forme tabulaire grâce aux listes
synchronisées d’Excel, qui sont mises en œuvre automatiquement par le producteur de CodeFluent
le de ces fonctionnalités
avec la mise en forme conditionnelle qui permet de disposer d’indicateurs visuels fort utiles :
Enfin, l’environnement programmatique d’Excel permet de mettre en œuvre de nombreux menus et
outils offrant des fonctionnalités pr
montre un exemple ci-dessous :
Calypteo est le parfait exemple d’application métier conçue de façon à répondre à toutes les
exigences actuelles des clients tout en épousant la philosophie d’Off
le frontal utilisateur de services applicatifs.
Pour plus d’informations sur la solution Calypteo voici une présentation vidéo
http://www.microsoft.com/France/Temoignages/Fiche
webcast.aspx?EID=bb003a96-cf46-46a6
30 Septembre
Enfin, l’environnement programmatique d’Excel permet de mettre en œuvre de nombreux menus et
outils offrant des fonctionnalités propres au produit au sein même d’Office Excel 2007, comme le
Calypteo est le parfait exemple d’application métier conçue de façon à répondre à toutes les
exigences actuelles des clients tout en épousant la philosophie d’Office 2007 qui devient réellement
le frontal utilisateur de services applicatifs.
Pour plus d’informations sur la solution Calypteo voici une présentation vidéo :
http://www.microsoft.com/France/Temoignages/Fiche-Temoignage-avec-
46a6-8749-a8397d34ecec
30 Septembre 2007
Enfin, l’environnement programmatique d’Excel permet de mettre en œuvre de nombreux menus et
opres au produit au sein même d’Office Excel 2007, comme le
Calypteo est le parfait exemple d’application métier conçue de façon à répondre à toutes les
ice 2007 qui devient réellement
B. Esker
Esker est un éditeur reconnu internationalement dans le domaine des logiciels de communication.
Son produit FlyDoc est le premier bureau de poste électronique qui permet d’envoyer courriers
postaux, lettres recommandées et fax, à l’unité ou en nombre direc
Il suffit simplement de créer son document,
l’impression, la mise sous pli, l’affranchissement et la remise en poste.
L’intégration de FlyDoc à Office Word
encore la productivité des utilisateurs dans leur
Flydoc se présente comme une cible possible dans le menu «
Une fois le menu sélectionné, on dispose d’un ruban spécifique à l’application
30 Septembre
Esker est un éditeur reconnu internationalement dans le domaine des logiciels de communication.
FlyDoc est le premier bureau de poste électronique qui permet d’envoyer courriers
postaux, lettres recommandées et fax, à l’unité ou en nombre directement depuis un ordinateur.
document, de choir les options d’envois et FlyDoc s’occupe de tout:
l’impression, la mise sous pli, l’affranchissement et la remise en poste.
à Office Word 2007 est particulièrement saisissante et permet d’augmenter
encore la productivité des utilisateurs dans leur envoi de courriers postaux et de fax.
Flydoc se présente comme une cible possible dans le menu « Envoyer » de Office Word 2007
ectionné, on dispose d’un ruban spécifique à l’application :
30 Septembre 2007
Esker est un éditeur reconnu internationalement dans le domaine des logiciels de communication.
FlyDoc est le premier bureau de poste électronique qui permet d’envoyer courriers
ordinateur.
options d’envois et FlyDoc s’occupe de tout:
est particulièrement saisissante et permet d’augmenter
» de Office Word 2007 :
L’utilisateur dispose de l’assistant de publipostage classique et sélectionne son fichier cible de la
manière habituelle :
L’option de faire un envoi de son publipostage par le service Fly
volet Office au sein de l’assistant qui active le service en ligne de Flydoc sur Internet
30 Septembre
L’utilisateur dispose de l’assistant de publipostage classique et sélectionne son fichier cible de la
L’option de faire un envoi de son publipostage par le service Flydoc apparaît directement dans le
volet Office au sein de l’assistant qui active le service en ligne de Flydoc sur Internet :
30 Septembre 2007
L’utilisateur dispose de l’assistant de publipostage classique et sélectionne son fichier cible de la
doc apparaît directement dans le
Le service « on demand » d’Esker propose alors différentes options de transport
La démonstration est simplifiée dans ce livre
options pour l’envoi qui peuvent être choisies directement sur le site du service sur lequell on
déroule les étapes sans même quitter Office Word 2007.
Flydoc est le parfait exemple d’une application c
une solution simple, productive et intégrée à leur environnement quotidien.
30 Septembre
» d’Esker propose alors différentes options de transport :
La démonstration est simplifiée dans ce livre blanc, mais le service est riche de très nombreuses
options pour l’envoi qui peuvent être choisies directement sur le site du service sur lequell on
déroule les étapes sans même quitter Office Word 2007.
Flydoc est le parfait exemple d’une application ciblée sur un besoin utilisateur précis et proposant
une solution simple, productive et intégrée à leur environnement quotidien.
30 Septembre 2007
blanc, mais le service est riche de très nombreuses
options pour l’envoi qui peuvent être choisies directement sur le site du service sur lequell on
iblée sur un besoin utilisateur précis et proposant
C. ILOG
ILOG est l’un des plus grands éditeurs de logiciels du marché français et le leader mondial de la
gestion des règles métiers. Son offre permet en particulier de gérer des règles métier en les séparant
des applications de façon à permettre de gérer un cycle de vie et d’évolution plus rapide pour les
règles au travers d’une mise à jour par les utilisateurs.
ILOG a fortement investi autour d’Office 2007 sur plusieurs axes. Les documents décrivant les règles
métiers dans « Rules for .NET 3.0
décrire les méta-données sur les règles, en complément des informations textu
règle.
Par ailleurs, ILOG utilise Office SharePoint
règles. En effet, dans la mise en œuvre des règles métiers, ce sont les gestionnaires (
qui approuvent les règles proposées par les développeurs.
Décrivons ci-dessous un scénario d’exemple
Le développeur ajoute le document au portail sur lequel le workflow d’approbation a été défini.
L’approbateur reçoit un email l’invitant à revoir le document.
30 Septembre
LOG est l’un des plus grands éditeurs de logiciels du marché français et le leader mondial de la
s. Son offre permet en particulier de gérer des règles métier en les séparant
des applications de façon à permettre de gérer un cycle de vie et d’évolution plus rapide pour les
règles au travers d’une mise à jour par les utilisateurs.
sti autour d’Office 2007 sur plusieurs axes. Les documents décrivant les règles
» utilisent le format Open XML et les contrôles de contenu pour
données sur les règles, en complément des informations textuelles qui détaillent la
SharePoint 2007 pour sous-tendre le workflow d’approbation des
règles. En effet, dans la mise en œuvre des règles métiers, ce sont les gestionnaires (policy managers
s proposées par les développeurs.
dessous un scénario d’exemple :
Le développeur ajoute le document au portail sur lequel le workflow d’approbation a été défini.
L’approbateur reçoit un email l’invitant à revoir le document.
30 Septembre 2007
LOG est l’un des plus grands éditeurs de logiciels du marché français et le leader mondial de la
s. Son offre permet en particulier de gérer des règles métier en les séparant
des applications de façon à permettre de gérer un cycle de vie et d’évolution plus rapide pour les
sti autour d’Office 2007 sur plusieurs axes. Les documents décrivant les règles
» utilisent le format Open XML et les contrôles de contenu pour
elles qui détaillent la
tendre le workflow d’approbation des
policy managers)
Le développeur ajoute le document au portail sur lequel le workflow d’approbation a été défini.
Sur le portail, en fonction de son profil, l’utilisateur voit les tâches qui lui incombent.
Lorsqu’il ouvre le document, les méta
document est un document structuré de règle, contenant des contrôles de
saisit les informations à des endroits précis avec des contrôles.
30 Septembre
portail, en fonction de son profil, l’utilisateur voit les tâches qui lui incombent.
Lorsqu’il ouvre le document, les méta-données des règles sont visibles dans le volet Office et le
document est un document structuré de règle, contenant des contrôles de contenu. Le gestionnaire
saisit les informations à des endroits précis avec des contrôles.
30 Septembre 2007
données des règles sont visibles dans le volet Office et le
contenu. Le gestionnaire
Dans l’exemple complet du scénario, qui sera disponible en vidéo sur le site d’ILOG, on décrit
plusieurs étapes avec des refus et validation. On comprend aisément l
nécessaire de tout détailler dans ce livre blanc. Contentons
la validation finale par le gestionnaire.
Le processus est toujours sous-tendu par
par un « peer policy manager », car cette étape a été prévue au niveau du workflow décrit dans
SharePoint 2007.
Dans SharePoint, on peut voir le suivi de l’ensemble du processus et des étapes suivies.
L’intégration de Rules for .NET avec
éléments de la suite Office : Word 2007 et Open XML ainsi que
30 Septembre
Dans l’exemple complet du scénario, qui sera disponible en vidéo sur le site d’ILOG, on décrit
plusieurs étapes avec des refus et validation. On comprend aisément le principe et il n’est pas
nécessaire de tout détailler dans ce livre blanc. Contentons-nous de montrer ce qui se passe lors de
la validation finale par le gestionnaire.
tendu par SharePoint. L’écran ci-dessus montre par exemple la revue
», car cette étape a été prévue au niveau du workflow décrit dans
, on peut voir le suivi de l’ensemble du processus et des étapes suivies.
L’intégration de Rules for .NET avec Office 2007 est un bon exemple d’intégration de plusieurs
Office : Word 2007 et Open XML ainsi que SharePoint 2007 côté serveur.
30 Septembre 2007
Dans l’exemple complet du scénario, qui sera disponible en vidéo sur le site d’ILOG, on décrit
e principe et il n’est pas
nous de montrer ce qui se passe lors de
xemple la revue
», car cette étape a été prévue au niveau du workflow décrit dans
, on peut voir le suivi de l’ensemble du processus et des étapes suivies.
Office 2007 est un bon exemple d’intégration de plusieurs
2007 côté serveur.
D. MGDIS
1. La société
Editeur de solutions informatiques, MGDIS dédie son activité aux besoins des collectivité
petites et grandes, aux établissements hospitaliers, aux organismes publics, aux ports de plaisance.
Afin de se concentrer sur ces domaines de spécialité, MGDIS est spécialisé dans les solutions de
gestion administrative et de pilotage. Ces doma
connaître et simuler pour décider.
La démarche de la société est de fournir des solutions ouvertes et évolutives, pérennes par leur
qualité et garantissant la liberté des choix des clients. Les solutions so
pour bien répondre aux attentes métier des utilisateurs, d’autre part elles permettent l’adaptation et
le paramétrage quand il faut prendre en compte les spécificités. Les choix, construits avec des
composants propriétaires savent intégrer la voie du logiciel libre là où cela apparaît pertinent.
Cette grande adaptabilité impose aux différentes solutions MGDIS générant des documents de ne
pas dépendre de technologies utilisées sur les serveurs. La possibilité de générer un documen
partir de fichiers XML zippés permet d’une part de s’adapter à n’importe quelle technologie présente
sur le serveur, et d’autre part de fournir des documents dont la compatibilité avec les applications
futures est assurée par la normalisation du format
C’est donc naturellement que MGDIS a investi dans le support du nouveau format Open XML d’Office
2007 pour la génération de documents Word et Excel côté serveur.
2. Le progiciel Progos
PROGOS est un progiciel offrant des solutions de gestion et de pilotage
gérer et de maîtriser les aides, les subventions à percevoir et les opérations. Les données qu’il
manipule sont exportées dans divers formats. L’ouverture du nouveau format de fichier d’Office
2007 fournit à PROGOS un outil pour
plusieurs sources de données à l’aide d’un simple
PROGOS génère un nouveau document à l’aide d’un modèle spécialement balisé d’une part et d’un
Dataset contenant l’ensemble des données d’autre part. Les balises du document Office 2007
contiennent non seulement le champ à utiliser pour la fusion mais aussi la table de laquelle il doit
être extrait. Les sources de données peuvent ainsi être multiples et de
autant gêner la génération du document, seul un
fusion classique, la génération d’un document par PROGOS ne produit qu’un seul document. Au lieu
de générer un nouveau document
ligne sont dupliqués et leur copie est remplacée par la valeur du champ dans la ligne du
3. La solution Office 2007
Sous Word 2007, les possibilités de formatage des données sont bien plus
simple fusion. Des balises permettent de délimiter des zones de fusion à l’intérieur d’un document.
30 Septembre
Editeur de solutions informatiques, MGDIS dédie son activité aux besoins des collectivité
petites et grandes, aux établissements hospitaliers, aux organismes publics, aux ports de plaisance.
Afin de se concentrer sur ces domaines de spécialité, MGDIS est spécialisé dans les solutions de
gestion administrative et de pilotage. Ces domaines sont inséparables : piloter pour bien gérer,
La démarche de la société est de fournir des solutions ouvertes et évolutives, pérennes par leur
qualité et garantissant la liberté des choix des clients. Les solutions sont d’une part standardisées
pour bien répondre aux attentes métier des utilisateurs, d’autre part elles permettent l’adaptation et
le paramétrage quand il faut prendre en compte les spécificités. Les choix, construits avec des
nt intégrer la voie du logiciel libre là où cela apparaît pertinent.
Cette grande adaptabilité impose aux différentes solutions MGDIS générant des documents de ne
pas dépendre de technologies utilisées sur les serveurs. La possibilité de générer un documen
partir de fichiers XML zippés permet d’une part de s’adapter à n’importe quelle technologie présente
sur le serveur, et d’autre part de fournir des documents dont la compatibilité avec les applications
futures est assurée par la normalisation du format.
C’est donc naturellement que MGDIS a investi dans le support du nouveau format Open XML d’Office
2007 pour la génération de documents Word et Excel côté serveur.
PROGOS est un progiciel offrant des solutions de gestion et de pilotage permettant d’instruire, de
gérer et de maîtriser les aides, les subventions à percevoir et les opérations. Les données qu’il
manipule sont exportées dans divers formats. L’ouverture du nouveau format de fichier d’Office
2007 fournit à PROGOS un outil pour lui permettre de générer des documents complexes à partir de
plusieurs sources de données à l’aide d’un simple Dataset sans aucune technologie extérieure.
PROGOS génère un nouveau document à l’aide d’un modèle spécialement balisé d’une part et d’un
contenant l’ensemble des données d’autre part. Les balises du document Office 2007
contiennent non seulement le champ à utiliser pour la fusion mais aussi la table de laquelle il doit
être extrait. Les sources de données peuvent ainsi être multiples et de nature différente sans pour
autant gêner la génération du document, seul un Dataset bien formé est requis. Contrairement à une
fusion classique, la génération d’un document par PROGOS ne produit qu’un seul document. Au lieu
de générer un nouveau document par ligne du Dataset, les champs désignant un champ de cette
ligne sont dupliqués et leur copie est remplacée par la valeur du champ dans la ligne du
Sous Word 2007, les possibilités de formatage des données sont bien plus poussées que pour une
simple fusion. Des balises permettent de délimiter des zones de fusion à l’intérieur d’un document.
30 Septembre 2007
Editeur de solutions informatiques, MGDIS dédie son activité aux besoins des collectivités locales,
petites et grandes, aux établissements hospitaliers, aux organismes publics, aux ports de plaisance.
Afin de se concentrer sur ces domaines de spécialité, MGDIS est spécialisé dans les solutions de
: piloter pour bien gérer,
La démarche de la société est de fournir des solutions ouvertes et évolutives, pérennes par leur
nt d’une part standardisées
pour bien répondre aux attentes métier des utilisateurs, d’autre part elles permettent l’adaptation et
le paramétrage quand il faut prendre en compte les spécificités. Les choix, construits avec des
nt intégrer la voie du logiciel libre là où cela apparaît pertinent.
Cette grande adaptabilité impose aux différentes solutions MGDIS générant des documents de ne
pas dépendre de technologies utilisées sur les serveurs. La possibilité de générer un document à
partir de fichiers XML zippés permet d’une part de s’adapter à n’importe quelle technologie présente
sur le serveur, et d’autre part de fournir des documents dont la compatibilité avec les applications
C’est donc naturellement que MGDIS a investi dans le support du nouveau format Open XML d’Office
permettant d’instruire, de
gérer et de maîtriser les aides, les subventions à percevoir et les opérations. Les données qu’il
manipule sont exportées dans divers formats. L’ouverture du nouveau format de fichier d’Office
lui permettre de générer des documents complexes à partir de
sans aucune technologie extérieure.
PROGOS génère un nouveau document à l’aide d’un modèle spécialement balisé d’une part et d’un
contenant l’ensemble des données d’autre part. Les balises du document Office 2007
contiennent non seulement le champ à utiliser pour la fusion mais aussi la table de laquelle il doit
nature différente sans pour
bien formé est requis. Contrairement à une
fusion classique, la génération d’un document par PROGOS ne produit qu’un seul document. Au lieu
, les champs désignant un champ de cette
ligne sont dupliqués et leur copie est remplacée par la valeur du champ dans la ligne du Dataset.
poussées que pour une
simple fusion. Des balises permettent de délimiter des zones de fusion à l’intérieur d’un document.
Une zone déclare une table sur toute sa surface et contient un ou plusieurs champs de fusion
désignant des champs de cette dernière. I
formaté, des lignes d’un tableau ou simplement afficher du texte brut. Lors de la génération du
document, une zone est traitée comme un seul champ de fusion. Elle est copiée entièrement pour
chacune des lignes de la table correspondante dans le
contient.
Sous Excel 2007, un système de marqueurs analogue à placer dans des cellules permet d’effectuer
des fusions multi sources. Une unique génération de document perme
provenant de différentes sources, regroupées dans un
permettent d’agencer les données de manière à leur donner un sens, telles que l’orientation du texte
ou le type de données utilisé.
Les marqueurs utilisés sont des simples commandes de texte placées dans des champs de fusion sous
Word et dans des cellules sous Excel.
Exemple :
2007-DEBUT{table}
Les champs de fusion déclarés ici seront rattachés à la table définie.
Cette zone de texte sera dupliquée pour chaque ligne du dataset.
2007-FIN{table}
Exemple de fusion d’un champ numérique sous Excel
2007-TABLE{table}-CHAMP{champ
Exemple de génération d’une fiche synthèse pour un tiers
On place des balises dans le document Word pour définir les zones et leurs champs.
Marqueurs de zone
30 Septembre
Une zone déclare une table sur toute sa surface et contient un ou plusieurs champs de fusion
désignant des champs de cette dernière. Ils peuvent être inclus dans des paragraphes de texte
formaté, des lignes d’un tableau ou simplement afficher du texte brut. Lors de la génération du
document, une zone est traitée comme un seul champ de fusion. Elle est copiée entièrement pour
lignes de la table correspondante dans le Dataset, en remplaçant les champs qu’elle
Sous Excel 2007, un système de marqueurs analogue à placer dans des cellules permet d’effectuer
des fusions multi sources. Une unique génération de document permet ainsi d’utiliser des données
provenant de différentes sources, regroupées dans un Dataset. De simples options de formatage
permettent d’agencer les données de manière à leur donner un sens, telles que l’orientation du texte
Les marqueurs utilisés sont des simples commandes de texte placées dans des champs de fusion sous
Word et dans des cellules sous Excel.
Les champs de fusion déclarés ici seront rattachés à la table définie.
sera dupliquée pour chaque ligne du dataset.
Exemple de fusion d’un champ numérique sous Excel :
champ}-OPTIONS{nombre}
ne fiche synthèse pour un tiers :
On place des balises dans le document Word pour définir les zones et leurs champs.
Marqueurs
30 Septembre 2007
Une zone déclare une table sur toute sa surface et contient un ou plusieurs champs de fusion
ls peuvent être inclus dans des paragraphes de texte
formaté, des lignes d’un tableau ou simplement afficher du texte brut. Lors de la génération du
document, une zone est traitée comme un seul champ de fusion. Elle est copiée entièrement pour
, en remplaçant les champs qu’elle
Sous Excel 2007, un système de marqueurs analogue à placer dans des cellules permet d’effectuer
t ainsi d’utiliser des données
. De simples options de formatage
permettent d’agencer les données de manière à leur donner un sens, telles que l’orientation du texte
Les marqueurs utilisés sont des simples commandes de texte placées dans des champs de fusion sous
Les champs de fusion déclarés ici seront rattachés à la table définie.
Marqueurs de champ
Un lien sous Progos permet de générer le document pour le tiers affiché.
Le document fusionné contient les informations du tiers, certaines zones étant dupliquées
lorsqu’une information était représentée plus d’une fois.
Les possibilités offertes par le format Open XML vont au
avec une ligne de Dataset. MGDIS prévoit de continuer à développer son support d’Office 2007 en
ajoutant de nouvelles fonctions à son générateur de documents telles que la
champs pour permettre de contrôler les données utilisées.
Commande de génération
30 Septembre
Un lien sous Progos permet de générer le document pour le tiers affiché.
Le document fusionné contient les informations du tiers, certaines zones étant dupliquées
lorsqu’une information était représentée plus d’une fois.
offertes par le format Open XML vont au-delà de l’association d’un cha
. MGDIS prévoit de continuer à développer son support d’Office 2007 en
ajoutant de nouvelles fonctions à son générateur de documents telles que la fusion conditionnelle de
champs pour permettre de contrôler les données utilisées.
Informations exportées
Données provenant de
différentes tables
Duplication de
paragraphes
Duplication de lignes
tableau
30 Septembre 2007
Le document fusionné contient les informations du tiers, certaines zones étant dupliquées
delà de l’association d’un champ de fusion
. MGDIS prévoit de continuer à développer son support d’Office 2007 en
fusion conditionnelle de
Informations exportées
Données provenant de
différentes tables
Duplication de
paragraphes
Duplication de lignes d’un
4. Commentaires sur la mise en œuvre technique
Pour pouvoir s’adapter aux solutions déjà installées chez
de génération de documents entièrement en C# sur le Framework 2.0. Cette brique est intégrée à la
solution Progos WEB et ne nécessite l’ajout d’aucune bibliothèque supplémentaire. Il
pas été possible d’utiliser le SDK fourni par Microsoft
masse sur les postes des clients de MGDIS contrairement au Framework 2.0)
facilement pu être contourné grâce à la documentation de l’Open XML.
La génération d’un document se déroule en trois phases
• Le modèle à utiliser est tout d’abord extrait dans un répertoire temporaire. Il suffit pour cela
d’utiliser n’importe quelle bibliothèque gérant le format ZIP, comme
utilisée par Progos WEB. La spécification de l’Open XML définit ensuite ce que contien
les fichiers du ZIP, et modifier le contenu revient donc à charger un simple fichier XML. Point
important et capital dans le produit, l’utilisateur final doit rester maître de ses modèles, sans
avoir recours à un profil de type informaticien pour la m
• La fusion d’un document avec son
spécification indique encore une fois où chercher ce qui nous intéresse, en l’occurrence les
champs de fusion placés par l’utilisateur dans l
paragraphes et tableaux à dupliquer et fusionner.
• Une fois les champs remplacés par leur contenu, le fichier XML modifié est écrit à la place de
celui du modèle, et le répertoire est zippé pour obtenir le véritable
Une batterie de tests Nunit est utilisée
XML produit en sortie. Ceci permet de générer des documents de plus en plus complexes et donc
mieux adaptables aux besoins des clients. Il ne reste qu’à apprécier le rendu à l’œil nu pour ajuster
éventuellement les balises du modèle mais ce n’est à ce point qu’un souci cosmétique.
La principale difficulté est forcément la manipulation du DOM. Malgré le fait qu’il soit spécif
modèle reste complexe et pas toujours adapté aux modifications que l’on souhaite apporter. Les
champs de fusion par exemple qui malgré leur apparence sont des objets complexes à la syntaxe
hétérogène prévus à l’origine pour afficher un champ et non
remplacement de ces balises nécessite donc une analyse attentive du DOM afin premièrement de
trouver ce que l’on recherche et deuxièmement de le remplacer correctement. Une fois cette
compétence acquise, la manipulation du
Mis à part cette contrainte, la génération d’un document Open XML à partir d’un modèle ne pose
aucun souci technique et ne nécessite pas le SDK (générer un document à partir de rien serait plus
complexe, mais ne n’est pas notre
développées plutôt que comment elles le sont, et MGDIS compte bien profiter de cette opportunité
et continuer dans cette direction.
30 Septembre
Commentaires sur la mise en œuvre technique
adapter aux solutions déjà installées chez ses clients, MGDIS a développé
ntièrement en C# sur le Framework 2.0. Cette brique est intégrée à la
solution Progos WEB et ne nécessite l’ajout d’aucune bibliothèque supplémentaire. Il
pas été possible d’utiliser le SDK fourni par Microsoft (le Framework 3.0 n’est pas enc
masse sur les postes des clients de MGDIS contrairement au Framework 2.0) mais
grâce à la documentation de l’Open XML.
ment se déroule en trois phases :
st tout d’abord extrait dans un répertoire temporaire. Il suffit pour cela
d’utiliser n’importe quelle bibliothèque gérant le format ZIP, comme SharpZipLib
utilisée par Progos WEB. La spécification de l’Open XML définit ensuite ce que contien
les fichiers du ZIP, et modifier le contenu revient donc à charger un simple fichier XML. Point
important et capital dans le produit, l’utilisateur final doit rester maître de ses modèles, sans
avoir recours à un profil de type informaticien pour la mise en forme de celui-ci.
fusion d’un document avec son Dataset revient ensuite à de la manipulation de DOM. La
spécification indique encore une fois où chercher ce qui nous intéresse, en l’occurrence les
champs de fusion placés par l’utilisateur dans le modèle. Ils servent de repères pour les
leaux à dupliquer et fusionner.
Une fois les champs remplacés par leur contenu, le fichier XML modifié est écrit à la place de
celui du modèle, et le répertoire est zippé pour obtenir le véritable fichier Open XML généré.
est utilisée pour éprouver la fiabilité de la solution, et ainsi valider le code
XML produit en sortie. Ceci permet de générer des documents de plus en plus complexes et donc
s des clients. Il ne reste qu’à apprécier le rendu à l’œil nu pour ajuster
éventuellement les balises du modèle mais ce n’est à ce point qu’un souci cosmétique.
ment la manipulation du DOM. Malgré le fait qu’il soit spécif
modèle reste complexe et pas toujours adapté aux modifications que l’on souhaite apporter. Les
champs de fusion par exemple qui malgré leur apparence sont des objets complexes à la syntaxe
hétérogène prévus à l’origine pour afficher un champ et non servir le balises de marquage. Le
remplacement de ces balises nécessite donc une analyse attentive du DOM afin premièrement de
trouver ce que l’on recherche et deuxièmement de le remplacer correctement. Une fois cette
compétence acquise, la manipulation du DOM reste cependant simple.
Mis à part cette contrainte, la génération d’un document Open XML à partir d’un modèle ne pose
aucun souci technique et ne nécessite pas le SDK (générer un document à partir de rien serait plus
objectif ici). L’effort peut donc être porté sur les fonctionnalités
développées plutôt que comment elles le sont, et MGDIS compte bien profiter de cette opportunité
30 Septembre 2007
développé sa solution
ntièrement en C# sur le Framework 2.0. Cette brique est intégrée à la
solution Progos WEB et ne nécessite l’ajout d’aucune bibliothèque supplémentaire. Il n’a cependant
(le Framework 3.0 n’est pas encore diffusé en
mais ce problème a
st tout d’abord extrait dans un répertoire temporaire. Il suffit pour cela
SharpZipLib qui est celle
utilisée par Progos WEB. La spécification de l’Open XML définit ensuite ce que contiennent
les fichiers du ZIP, et modifier le contenu revient donc à charger un simple fichier XML. Point
important et capital dans le produit, l’utilisateur final doit rester maître de ses modèles, sans
ci.
revient ensuite à de la manipulation de DOM. La
spécification indique encore une fois où chercher ce qui nous intéresse, en l’occurrence les
e modèle. Ils servent de repères pour les
Une fois les champs remplacés par leur contenu, le fichier XML modifié est écrit à la place de
fichier Open XML généré.
solution, et ainsi valider le code
XML produit en sortie. Ceci permet de générer des documents de plus en plus complexes et donc
s des clients. Il ne reste qu’à apprécier le rendu à l’œil nu pour ajuster
éventuellement les balises du modèle mais ce n’est à ce point qu’un souci cosmétique.
ment la manipulation du DOM. Malgré le fait qu’il soit spécifié, le
modèle reste complexe et pas toujours adapté aux modifications que l’on souhaite apporter. Les
champs de fusion par exemple qui malgré leur apparence sont des objets complexes à la syntaxe
servir le balises de marquage. Le
remplacement de ces balises nécessite donc une analyse attentive du DOM afin premièrement de
trouver ce que l’on recherche et deuxièmement de le remplacer correctement. Une fois cette
Mis à part cette contrainte, la génération d’un document Open XML à partir d’un modèle ne pose
aucun souci technique et ne nécessite pas le SDK (générer un document à partir de rien serait plus
objectif ici). L’effort peut donc être porté sur les fonctionnalités
développées plutôt que comment elles le sont, et MGDIS compte bien profiter de cette opportunité
E. Symtrax
Symtrax est une société qui produit et
d'ouput management. Grâce à l'interactivité avec les utilisateurs, les logiciels Symtrax permettent la
création professionnelle de rapports pour une meilleure analyse et une prise de décision efficac
Symtrax offre une famille de produits comprenant des solutions logicielles complémentaires. Le
grand avantage de ces solutions est qu'elles sont facilement intégrées dans votre système
d'information existant et n'exigent pas d'investissements supplément
Pour en savoir plus sur Symtrax veuillez vous rendre ici
Le produit StarQuery est une solution de Business Intelligence
permet d'exploiter les données à partir d’un système métier ou d’une base de données
relationnelles. La version Office Excel 2007 présente une interface totalement revue avec un ruban
respectant la nouvelle interface utilisateur d’Office 2007
L'extraction, la distribution et la mise en forme des données se font dans l'environnement familier de
Microsoft Office Excel et peuvent être aisément automatisé
également d'extraire et de présenter les données via Intern
produit, qui est un très bon exemple de solution horizontale venant enrichir la valeur d’Excel
http://www.symtrax.fr/index.asp?file=fr/Solutions/Product/../project/business/StarQuery.htm&mer
e=1
30 Septembre
Symtrax est une société qui produit et distribue des logiciels de reporting multiplateformes et
d'ouput management. Grâce à l'interactivité avec les utilisateurs, les logiciels Symtrax permettent la
création professionnelle de rapports pour une meilleure analyse et une prise de décision efficac
Symtrax offre une famille de produits comprenant des solutions logicielles complémentaires. Le
grand avantage de ces solutions est qu'elles sont facilement intégrées dans votre système
et n'exigent pas d'investissements supplémentaires en matériels et logiciels.
Pour en savoir plus sur Symtrax veuillez vous rendre ici : www.symtrax.com
olution de Business Intelligence totalement intégrée à Office Excel
es données à partir d’un système métier ou d’une base de données
relationnelles. La version Office Excel 2007 présente une interface totalement revue avec un ruban
respectant la nouvelle interface utilisateur d’Office 2007 :
traction, la distribution et la mise en forme des données se font dans l'environnement familier de
Excel et peuvent être aisément automatisées. L'interface Web de StarQuery permet
également d'extraire et de présenter les données via Internet. Voici le lien vers la présentation du
produit, qui est un très bon exemple de solution horizontale venant enrichir la valeur d’Excel
p://www.symtrax.fr/index.asp?file=fr/Solutions/Product/../project/business/StarQuery.htm&mer
30 Septembre 2007
distribue des logiciels de reporting multiplateformes et
d'ouput management. Grâce à l'interactivité avec les utilisateurs, les logiciels Symtrax permettent la
création professionnelle de rapports pour une meilleure analyse et une prise de décision efficace.
Symtrax offre une famille de produits comprenant des solutions logicielles complémentaires. Le
grand avantage de ces solutions est qu'elles sont facilement intégrées dans votre système
aires en matériels et logiciels.
à Office Excel qui
es données à partir d’un système métier ou d’une base de données
relationnelles. La version Office Excel 2007 présente une interface totalement revue avec un ruban
traction, la distribution et la mise en forme des données se font dans l'environnement familier de
s. L'interface Web de StarQuery permet
. Voici le lien vers la présentation du
produit, qui est un très bon exemple de solution horizontale venant enrichir la valeur d’Excel :
p://www.symtrax.fr/index.asp?file=fr/Solutions/Product/../project/business/StarQuery.htm&mer
F. Medasys
Medasys est un éditeur de logiciels
ses produits phare est le produit DxCare de gestion
hôpitaux en France et gère depuis longtemps des publipostages de compte
de Office Word.
Pour tirer parti de la nouvelle interface utilisateur d’Office 2007, Medasys a développé deux
nouveaux rubans qui facilitent la manipulation des données du progiciel directement depuis
l’interface de Office Word.
Le ruban utilisateur permet de sélectionner le patient traiter depuis le dossier patient dans le
système progiciel, de sélection la lettre
document traité.
De plus, un autre ruban a été créé pour assurer le paramétrage des courriers par les administrateurs
de l’application.
Medasys est un bon exemple d’éditeur qui applique la strat
ce livre blanc, en investissant en premier lieu dans une nouvelle interface utilisateur spécifique à
Office 2007. Cette stratégie permet la compatibilité immédiate avec les différentes extensions déjà
écrites pour Office Word au fil des années, malgré un investissement important.
Pour autant, Medasys a identifié de nombreuses fonctions intéressantes dans Office Word 2007 qui
vont leur permettre d’aller plus loin dans les versions actuellement en cours de développement
L’utilisation d’Open XML et des contrôles de contenu, comme illustré dans l’un des prototypes, est
l’une de ces directions, sur laquelle Medasys est également en train de travailler pour ses logiciels de
radiologie.
30 Septembre
Medasys est un éditeur de logiciels leader dans le secteur des progiciels pour les hôpitaux. L’un de
ses produits phare est le produit DxCare de gestion des dossiers patients, équipe de nombreux
hôpitaux en France et gère depuis longtemps des publipostages de compte-rendus médicaux à l’aide
Pour tirer parti de la nouvelle interface utilisateur d’Office 2007, Medasys a développé deux
ux rubans qui facilitent la manipulation des données du progiciel directement depuis
Le ruban utilisateur permet de sélectionner le patient traiter depuis le dossier patient dans le
système progiciel, de sélection la lettre-type et d’utiliser les différentes données du dossier dans le
De plus, un autre ruban a été créé pour assurer le paramétrage des courriers par les administrateurs
Medasys est un bon exemple d’éditeur qui applique la stratégie de compatibilité évoquée plus haut
ce livre blanc, en investissant en premier lieu dans une nouvelle interface utilisateur spécifique à
Office 2007. Cette stratégie permet la compatibilité immédiate avec les différentes extensions déjà
fice Word au fil des années, malgré un investissement important.
Pour autant, Medasys a identifié de nombreuses fonctions intéressantes dans Office Word 2007 qui
vont leur permettre d’aller plus loin dans les versions actuellement en cours de développement
L’utilisation d’Open XML et des contrôles de contenu, comme illustré dans l’un des prototypes, est
l’une de ces directions, sur laquelle Medasys est également en train de travailler pour ses logiciels de
30 Septembre 2007
ôpitaux. L’un de
des dossiers patients, équipe de nombreux
rendus médicaux à l’aide
Pour tirer parti de la nouvelle interface utilisateur d’Office 2007, Medasys a développé deux
ux rubans qui facilitent la manipulation des données du progiciel directement depuis
Le ruban utilisateur permet de sélectionner le patient traiter depuis le dossier patient dans le
pe et d’utiliser les différentes données du dossier dans le
De plus, un autre ruban a été créé pour assurer le paramétrage des courriers par les administrateurs
égie de compatibilité évoquée plus haut
ce livre blanc, en investissant en premier lieu dans une nouvelle interface utilisateur spécifique à
Office 2007. Cette stratégie permet la compatibilité immédiate avec les différentes extensions déjà
Pour autant, Medasys a identifié de nombreuses fonctions intéressantes dans Office Word 2007 qui
vont leur permettre d’aller plus loin dans les versions actuellement en cours de développement.
L’utilisation d’Open XML et des contrôles de contenu, comme illustré dans l’un des prototypes, est
l’une de ces directions, sur laquelle Medasys est également en train de travailler pour ses logiciels de
G. SoftFluent
En tant qu’auteurs de ce livre blanc, et ayant nous
nous devons bien évidemment de mentionner le support d’Office 2007 dans notre offre produit.
Rappelons que SoftFluent est une société spécialisée en génie logiciel, à la pointe dans l
l'industrialisation des applications de gestion sur l’ensemble de la plate
Microsoft.
SoftFluent édite le produit CodeFluent, une usine logicielle qui permet de réaliser des composants
logiciels prêts à l'emploi à partir d’une technique de modélisation simple et pragmatique. Cette usine
s’intègre avec Office 2007 de plusieurs façons.
1. Format des fichiers modèles de CodeFluent
Tout d’abord, notons que la démarche de CodeFluent part d’une modélisation du métier par une
description des entités, de leurs propriétés et de leurs relations de différentes natures. Ce modèle
est décrit dans un flux XML qui peut être réparti dans plusieu
consolidables en une archive qui implémente le format Open XML. Le format .CFX des fichiers de
CodeFluent n’est donc rien d’autre qu’une archive respectant le format Open XML et dont les
sont les éléments du modèle CodeFluent. C’est ce fichier qui peut être envoyé au service en ligne
http://www.codefluent.com , un service gratuit de génération de composants métier à la demande.
2. Support des listes Office Excel
Tout d’abord, CodeFluent est la première offre de génie logiciel à avoir investi fortement sur
l’utilisation d’Office Excel comme frontal applicatif. CodeFluent a fait le choix dès sa version 1.0 de
proposer la fabrication de Services Web dédiés pour la saisie à l’aide de
En effet, depuis Office Excel 2003, l’utilisateur avait la possibilité de synchroniser des données de
type liste avec une source de données fournie par un service w
introduite en particulier avec SharePoint
possibilité d’export vers les listes Excel.
La synchronisation depuis Office Excel
extension : iqy), permettant la lecture et
Cependant, la synchronisation en écriture n’est plus possible par défaut avec
effet, cette fonction a été inhibée
voir le lien en fin de document).
La possibilité de saisir directement depuis
valeur aux clients que nous avons
réplication de données par glisser
fonctionnalité par un composant gratuit
(voir lien vers l’article en fin de livre blanc).
30 Septembre
livre blanc, et ayant nous-mêmes beaucoup investi sur Office 2007, nous
de mentionner le support d’Office 2007 dans notre offre produit.
Rappelons que SoftFluent est une société spécialisée en génie logiciel, à la pointe dans l
l'industrialisation des applications de gestion sur l’ensemble de la plate-forme de développement de
SoftFluent édite le produit CodeFluent, une usine logicielle qui permet de réaliser des composants
tir d’une technique de modélisation simple et pragmatique. Cette usine
s’intègre avec Office 2007 de plusieurs façons.
Format des fichiers modèles de CodeFluent
Tout d’abord, notons que la démarche de CodeFluent part d’une modélisation du métier par une
description des entités, de leurs propriétés et de leurs relations de différentes natures. Ce modèle
est décrit dans un flux XML qui peut être réparti dans plusieurs fichiers, mais ces fichiers sont
consolidables en une archive qui implémente le format Open XML. Le format .CFX des fichiers de
CodeFluent n’est donc rien d’autre qu’une archive respectant le format Open XML et dont les
CodeFluent. C’est ce fichier qui peut être envoyé au service en ligne
, un service gratuit de génération de composants métier à la demande.
Support des listes Office Excel
deFluent est la première offre de génie logiciel à avoir investi fortement sur
l’utilisation d’Office Excel comme frontal applicatif. CodeFluent a fait le choix dès sa version 1.0 de
proposer la fabrication de Services Web dédiés pour la saisie à l’aide de listes synchronisées Excel.
2003, l’utilisateur avait la possibilité de synchroniser des données de
données fournie par un service web. Cette fonctionnalité a été
harePoint et ses listes personnalisées, qui fournissent directement une
possibilité d’export vers les listes Excel.
Office Excel 2003 est possible grâce aux Internet Query Files (fichier
: iqy), permettant la lecture et l’écriture en relation directe avec la source de données.
Cependant, la synchronisation en écriture n’est plus possible par défaut avec Office Excel
par défaut (mais Microsoft a sorti un complément pour le faire
a possibilité de saisir directement depuis Office Excel en vue d’une mise à jour apportant
valeur aux clients que nous avons rencontrés (saisie de masse, application de formules de calcul,
n de données par glisser-étirer,…), nous avons automatisé la réactivation de cette
gratuit « Wss Excel 2007 Tables synchronizer » fourni sur notre site
(voir lien vers l’article en fin de livre blanc).
30 Septembre 2007
mêmes beaucoup investi sur Office 2007, nous
de mentionner le support d’Office 2007 dans notre offre produit.
Rappelons que SoftFluent est une société spécialisée en génie logiciel, à la pointe dans le domaine de
forme de développement de
SoftFluent édite le produit CodeFluent, une usine logicielle qui permet de réaliser des composants
tir d’une technique de modélisation simple et pragmatique. Cette usine
Tout d’abord, notons que la démarche de CodeFluent part d’une modélisation du métier par une
description des entités, de leurs propriétés et de leurs relations de différentes natures. Ce modèle
rs fichiers, mais ces fichiers sont
consolidables en une archive qui implémente le format Open XML. Le format .CFX des fichiers de
CodeFluent n’est donc rien d’autre qu’une archive respectant le format Open XML et dont les parts
CodeFluent. C’est ce fichier qui peut être envoyé au service en ligne
, un service gratuit de génération de composants métier à la demande.
deFluent est la première offre de génie logiciel à avoir investi fortement sur
l’utilisation d’Office Excel comme frontal applicatif. CodeFluent a fait le choix dès sa version 1.0 de
listes synchronisées Excel.
2003, l’utilisateur avait la possibilité de synchroniser des données de
eb. Cette fonctionnalité a été
et ses listes personnalisées, qui fournissent directement une
2003 est possible grâce aux Internet Query Files (fichier
l’écriture en relation directe avec la source de données.
Office Excel 2007. En
par défaut (mais Microsoft a sorti un complément pour le faire,
en vue d’une mise à jour apportant une réelle
saisie de masse, application de formules de calcul,
étirer,…), nous avons automatisé la réactivation de cette
» fourni sur notre site
Pour les développeurs, il peut être intéressant de comprendre comment les listes Excel peuvent être
utilisées pour fournir des solutions de collaboration autour de données d’applications. C’est ce que
nous présentons dans cette partie, au travers de ce que nous mettons en œuvre
logicielle CodeFluent.
CodeFluent permet de réaliser des applications de gestion multicouches, conformes au modèle SOA,
à partir d’une simple description abstraite d’un modèle métier. CodeFluent est conçu pour générer
des applications web, client-riche, mobiles ou centrées autour d’Office, et en particulier Excel. Dans
ce dernier schéma – souvent utilisé en combinaison avec d’autres interfaces utilisateur
devient le frontal de manipulation des données au travers de listes sy
Considérons par exemple une application de gestion de véhicules en location. Ce modèle exemple
CarRental comprend des entités telles que des voitures, des clients, des agences, des contrats… Et
l’application expose ces entités en liste sous
peuvent être rendues accessibles au travers d’un site Web avec des liens vers des fichiers .IQY qui
provoque un fonctionnement similaire à celui d’une liste
Les listes fabriquées par CodeFluent vous permettent donc d’
de calcul et saisir des données de la même façon que pour une liste
mettre en œuvre les mêmes scénarios (mode déconnecté, saisie de masse, calculs dans la
tableau croisé dynamique construit sur la liste) mais en utilisant un lien vers une base de données
applicative et les couches métier associés, incluant la mise en œuvre des règles de gestion et la
localisation.
30 Septembre
il peut être intéressant de comprendre comment les listes Excel peuvent être
utilisées pour fournir des solutions de collaboration autour de données d’applications. C’est ce que
nous présentons dans cette partie, au travers de ce que nous mettons en œuvre dans notre usine
CodeFluent permet de réaliser des applications de gestion multicouches, conformes au modèle SOA,
à partir d’une simple description abstraite d’un modèle métier. CodeFluent est conçu pour générer
riche, mobiles ou centrées autour d’Office, et en particulier Excel. Dans
souvent utilisé en combinaison avec d’autres interfaces utilisateur
devient le frontal de manipulation des données au travers de listes synchronisables.
par exemple une application de gestion de véhicules en location. Ce modèle exemple
comprend des entités telles que des voitures, des clients, des agences, des contrats… Et
l’application expose ces entités en liste sous forme de vues similaires aux listes SharePoint
peuvent être rendues accessibles au travers d’un site Web avec des liens vers des fichiers .IQY qui
provoque un fonctionnement similaire à celui d’une liste SharePoint.
deFluent vous permettent donc d’exporter vos données vers une feuille
de calcul et saisir des données de la même façon que pour une liste SharePoint. Ceci vous permet de
mettre en œuvre les mêmes scénarios (mode déconnecté, saisie de masse, calculs dans la
tableau croisé dynamique construit sur la liste) mais en utilisant un lien vers une base de données
applicative et les couches métier associés, incluant la mise en œuvre des règles de gestion et la
30 Septembre 2007
il peut être intéressant de comprendre comment les listes Excel peuvent être
utilisées pour fournir des solutions de collaboration autour de données d’applications. C’est ce que
dans notre usine
CodeFluent permet de réaliser des applications de gestion multicouches, conformes au modèle SOA,
à partir d’une simple description abstraite d’un modèle métier. CodeFluent est conçu pour générer
riche, mobiles ou centrées autour d’Office, et en particulier Excel. Dans
souvent utilisé en combinaison avec d’autres interfaces utilisateur – Office Excel
par exemple une application de gestion de véhicules en location. Ce modèle exemple
comprend des entités telles que des voitures, des clients, des agences, des contrats… Et
SharePoint. Ces vues
peuvent être rendues accessibles au travers d’un site Web avec des liens vers des fichiers .IQY qui
exporter vos données vers une feuille
Ceci vous permet de
mettre en œuvre les mêmes scénarios (mode déconnecté, saisie de masse, calculs dans la feuille,
tableau croisé dynamique construit sur la liste) mais en utilisant un lien vers une base de données
applicative et les couches métier associés, incluant la mise en œuvre des règles de gestion et la
3. Génération de rapports Open XML
CodeFluent dispose d’un moteur de «
1. La génération de code pour tout type de langage basé sur du texte,
2. La mise en cache des templates pour une meilleure performance de génération,
3. Un moteur de template 100% réutilisable,
4. Le support exclusif du format Microsoft RTF (permet de créer des modèles de document
directement sous Office Word, approche très appréciée des utilisateurs).
Il est prévu une mise à jour prochaine du moteur de
génération de document Open XML.
4. Génération d’applications OBA
Enfin, dans la mesure où CodeFluent génère déjà les services web applicatifs côté serveur, et permet
la fabrication d’interface utilisateurs de différents type,
d’abstraction plus élevé, il est prévu dans la roadmap de générer des interfaces Office 2007 (Word,
Excel, PowerPoint).
L’utilisateur disposera ainsi de rubans par domaine avec les différentes fonctions qui activer
services web applicatifs. CodeFluent devrait donc constituer un accélérateur d’applications de type
OBA.
En conclusion, SoftFluent en tant que société investit très fortement sur Office 2007 comme plate
forme de développement et élément différenti
« classiques », qui jouent plutôt la portabilité que la valeur ajoutée maximale.
C’est un élément de plus qui démontre l’évolution d’Office 2007 vers le positionnement en plate
forme de développement.
H. Autres éditeurs
De nombreux autres éditeurs travaillent en ce moment
ferons probablement une mise à jour de ce livre blanc afin de vous donner des exemples additionnels
d’ici à la fin de l’été 2007.
Citons quelques exemples :
• Archimed, éditeur d’une solution de gestion de collection pour les musées, qui intègre une
fabrication automatique de présentations Powerpoint,
• BlueKiwi, qui édite un produit de gestion de blogs en entreprise, en cours d’intégration avec
Office Word 2007 et SharePoint,
• Micro-Concept, qui édite une solution de téléphonie intégrée à Microsoft Outlook,
• Sylogis, qui édite des logiciels pour les collectivités locales et développe un volet assez riche
intégré à Office Word 2007.
30 Septembre
Génération de rapports Open XML
deFluent dispose d’un moteur de « Template » intégré. Celui-ci dans l’état actuel permet
La génération de code pour tout type de langage basé sur du texte,
La mise en cache des templates pour une meilleure performance de génération,
100% réutilisable,
Le support exclusif du format Microsoft RTF (permet de créer des modèles de document
directement sous Office Word, approche très appréciée des utilisateurs).
Il est prévu une mise à jour prochaine du moteur de template pour qu’il prenne en charge la
génération de document Open XML.
Génération d’applications OBA
Enfin, dans la mesure où CodeFluent génère déjà les services web applicatifs côté serveur, et permet
la fabrication d’interface utilisateurs de différents type, avec une description remontée à un niveau
d’abstraction plus élevé, il est prévu dans la roadmap de générer des interfaces Office 2007 (Word,
L’utilisateur disposera ainsi de rubans par domaine avec les différentes fonctions qui activer
services web applicatifs. CodeFluent devrait donc constituer un accélérateur d’applications de type
En conclusion, SoftFluent en tant que société investit très fortement sur Office 2007 comme plate
forme de développement et élément différentiateur des autres offres de génie logiciel plus
», qui jouent plutôt la portabilité que la valeur ajoutée maximale.
C’est un élément de plus qui démontre l’évolution d’Office 2007 vers le positionnement en plate
De nombreux autres éditeurs travaillent en ce moment sur des développements Office 2007. Nous
ferons probablement une mise à jour de ce livre blanc afin de vous donner des exemples additionnels
Archimed, éditeur d’une solution de gestion de collection pour les musées, qui intègre une
fabrication automatique de présentations Powerpoint,
BlueKiwi, qui édite un produit de gestion de blogs en entreprise, en cours d’intégration avec
7 et SharePoint,
Concept, qui édite une solution de téléphonie intégrée à Microsoft Outlook,
Sylogis, qui édite des logiciels pour les collectivités locales et développe un volet assez riche
intégré à Office Word 2007.
30 Septembre 2007
ci dans l’état actuel permet :
La mise en cache des templates pour une meilleure performance de génération,
Le support exclusif du format Microsoft RTF (permet de créer des modèles de document
pour qu’il prenne en charge la
Enfin, dans la mesure où CodeFluent génère déjà les services web applicatifs côté serveur, et permet
avec une description remontée à un niveau
d’abstraction plus élevé, il est prévu dans la roadmap de générer des interfaces Office 2007 (Word,
L’utilisateur disposera ainsi de rubans par domaine avec les différentes fonctions qui activeront les
services web applicatifs. CodeFluent devrait donc constituer un accélérateur d’applications de type
En conclusion, SoftFluent en tant que société investit très fortement sur Office 2007 comme plate-
ateur des autres offres de génie logiciel plus
C’est un élément de plus qui démontre l’évolution d’Office 2007 vers le positionnement en plate-
sur des développements Office 2007. Nous
ferons probablement une mise à jour de ce livre blanc afin de vous donner des exemples additionnels
Archimed, éditeur d’une solution de gestion de collection pour les musées, qui intègre une
BlueKiwi, qui édite un produit de gestion de blogs en entreprise, en cours d’intégration avec
Concept, qui édite une solution de téléphonie intégrée à Microsoft Outlook,
Sylogis, qui édite des logiciels pour les collectivités locales et développe un volet assez riche
VI. Les prototypes développés
L’ensemble des prototypes décrits dans cette partie sont disponibles avec des documentations
complètes et codes sources sur le site de SoftFluent, à l’adresse disponible en toute fin de document.
A. La personnalisation d’Office 2007
Comme exposé plus haut, l’interface utilisateur a été totalement revue sur la base de l’utilisation de
rubans. Ce choix fondamental impose aux
de l’interface graphique de leurs produits
tour ensemble des nouvelles possibilités qu’offre cette interface graphique, et surtout de la manière
de les mettre en place grâce à un prototype de
1. Création d’un ruban
Le complément MyAddIn ajoute l’onglet «
se fait dans le fichier « Ribbon.xml » contenu dans le projet MyAddIn. Pour ajouter un onglet il suffit
d’ajouter un élément tab dans le nœud
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui
onLoad="OnLoad">
<ribbon>
<tabs>
<tab id="MyTab" label
(…)
</tab>
</tabs>
</ribbon>
</customUI>
Il est parfaitement possible de s’intégrer à un onglet déjà existant, bien que ce comportement est
contraire aux directives de Microsoft car l’utilisateur pourrait alors difficilement différencier ce qui
provient d’Office ou des compléments. Pour faire cec
Office au lieu de définir le notre, et d’utiliser l’attribut
<tabs>
<tab idMso="TabHome">
<group id="TestGroup
<button id="TestButton
</group>
</tab>
</tabs>
Enfin si l’on veut que seul notre ruban apparaisse, il suffit d’ajouter l’attribut
l’élément ribbon tel que : <ribbon
Pour plus de détail sur les éléments possibles et leurs attributs, veuillez
documentation mise à disposition par Microsoft (
us/library/aa338199.aspx).
30 Septembre
développés par SoftFluent
L’ensemble des prototypes décrits dans cette partie sont disponibles avec des documentations
complètes et codes sources sur le site de SoftFluent, à l’adresse disponible en toute fin de document.
La personnalisation d’Office 2007
sé plus haut, l’interface utilisateur a été totalement revue sur la base de l’utilisation de
impose aux éditeurs de compléments Office une mise à jour complète
de l’interface graphique de leurs produits pour une intégration optimale. Nous allons donc faire le
tour ensemble des nouvelles possibilités qu’offre cette interface graphique, et surtout de la manière
prototype de complément Office : MyAddIn.
ute l’onglet « MyTab » à Office Excel 2007. La personnalisation du ruban
» contenu dans le projet MyAddIn. Pour ajouter un onglet il suffit
dans le nœud tabs, comme ceci :
http://schemas.microsoft.com/office/2006/01/customui
label="MyTab">
Il est parfaitement possible de s’intégrer à un onglet déjà existant, bien que ce comportement est
contraire aux directives de Microsoft car l’utilisateur pourrait alors difficilement différencier ce qui
vient d’Office ou des compléments. Pour faire ceci, il suffit d’utiliser un l’identifiant d’un onglet
Office au lieu de définir le notre, et d’utiliser l’attribut idMso au lieu d’id :
>
Group" label="TestGroup">
TestButton" label="TestButton"/>
Enfin si l’on veut que seul notre ruban apparaisse, il suffit d’ajouter l’attribut startFromScratch
ribbon startFromScratch="true">
éléments possibles et leurs attributs, veuillez-vous reporter à la
documentation mise à disposition par Microsoft (http://msdn2.microsoft.com/en
30 Septembre 2007
L’ensemble des prototypes décrits dans cette partie sont disponibles avec des documentations
complètes et codes sources sur le site de SoftFluent, à l’adresse disponible en toute fin de document.
sé plus haut, l’interface utilisateur a été totalement revue sur la base de l’utilisation de
une mise à jour complète
. Nous allons donc faire le
tour ensemble des nouvelles possibilités qu’offre cette interface graphique, et surtout de la manière
2007. La personnalisation du ruban
» contenu dans le projet MyAddIn. Pour ajouter un onglet il suffit
http://schemas.microsoft.com/office/2006/01/customui"
Il est parfaitement possible de s’intégrer à un onglet déjà existant, bien que ce comportement est
contraire aux directives de Microsoft car l’utilisateur pourrait alors difficilement différencier ce qui
i, il suffit d’utiliser un l’identifiant d’un onglet
startFromScratch à
vous reporter à la
http://msdn2.microsoft.com/en-
2. Présentation de l’ensemble des contrôles disponible
Voici une description des contrôles disponibles dans Office 2007
représentés dans le prototype : pour savoir le type du contrôle utilisé, garder votre souris au
et le type apparaîtra dans l’aide) :
� Button : un bouton
� ToggleButton : un bouton que l’on peut presser et qui reste enfoncé. Correspond au smiley
dans le complément.
� Box : une boîte de contrôles pouvant être verticale ou horizontale. Ce contrôle correspond
aux deux colonnes de couleurs dans le complément.
� Separator : un séparateur.
� SplitButton : un bouton avec un menu déroulant contenant d’autres
boutons ou menus.
� ButtonGroup : un groupement de boutons horizontal.
� LabelControl : du texte.
� CheckBox : une case à cocher.
� EditBox : une boîte de saisie.
� ComboBox : une boîte de saisie et liste mais ne contenant
que des contrôles item.
� Item : un élément d’une liste.
� DropDown : une liste contenant des éléments et/ou des
boutons.
� Menu : un menu.
� MenuSeparator : un séparateur dans
� DynamicMenu : un menu rempli dynamiquement.
� Gallery : une galerie.
La galerie est la grande nouveauté dans les contrôles. C’est un
menu évolué, c’est-à-dire que la galerie tout comme le menu
contient d’autres contrôles, mais contrairement au menu
ces contrôles sont dans une colonne, la galerie a de multiples
colonnes.
3. Utilisation des astuces
Les astuces (traduction de « tips ») sont des panneaux d’aide qui apparaissent lorsque l’utilisateur
garde son curseur plus d’une seconde immobile au
en .NET). Il est très facile d’en définir pour ses contrôles puisqu’ils constituent deux attributs
ajouter dans le nœud XML de l’élément :
l’aide et supertip à son contenu. Exemple
<button id="monBouton" label
un bouton."/>
N.B. : Il est recommandé de mettre [nom du complément]
de manière à ce que les utilisateurs savent que c’est une fonctionnalité du complément et non
d’Office 2007.
30 Septembre
e l’ensemble des contrôles disponible
Voici une description des contrôles disponibles dans Office 2007 (l’ensemble de ces contrôles sont
: pour savoir le type du contrôle utilisé, garder votre souris au
: un bouton que l’on peut presser et qui reste enfoncé. Correspond au smiley
: une boîte de contrôles pouvant être verticale ou horizontale. Ce contrôle correspond
nes de couleurs dans le complément.
: un bouton avec un menu déroulant contenant d’autres
: un groupement de boutons horizontal.
: une case à cocher.
: une boîte de saisie.
: une boîte de saisie et liste mais ne contenant
: un élément d’une liste.
: une liste contenant des éléments et/ou des
: un séparateur dans un menu.
: un menu rempli dynamiquement.
La galerie est la grande nouveauté dans les contrôles. C’est un
dire que la galerie tout comme le menu
contient d’autres contrôles, mais contrairement au menu où tout
ces contrôles sont dans une colonne, la galerie a de multiples
») sont des panneaux d’aide qui apparaissent lorsque l’utilisateur
garde son curseur plus d’une seconde immobile au-dessus d’un contrôle (l’équivalent d’un «
). Il est très facile d’en définir pour ses contrôles puisqu’ils constituent deux attributs
ajouter dans le nœud XML de l’élément : screentip et supertip. Screentip correspond au titre de
et supertip à son contenu. Exemple :
label="Bouton" screentip="Bouton" supertip
N.B. : Il est recommandé de mettre [nom du complément] : [texte du screentip] dans les screentips
sateurs savent que c’est une fonctionnalité du complément et non
30 Septembre 2007
(l’ensemble de ces contrôles sont
: pour savoir le type du contrôle utilisé, garder votre souris au-dessus,
: un bouton que l’on peut presser et qui reste enfoncé. Correspond au smiley
: une boîte de contrôles pouvant être verticale ou horizontale. Ce contrôle correspond
») sont des panneaux d’aide qui apparaissent lorsque l’utilisateur
dessus d’un contrôle (l’équivalent d’un « tooltip »
). Il est très facile d’en définir pour ses contrôles puisqu’ils constituent deux attributs à
p correspond au titre de
supertip="Ceci est
: [texte du screentip] dans les screentips
sateurs savent que c’est une fonctionnalité du complément et non
Dans le complément MyAddIn, vous trouverez des informations sur les contrôles utilisés dans ces
astuces.
4. Utilisation de l’existant
En général, à partir du moment où l’on utilis
type : [nom de l’attribut]Mso = « nom de la commande
pour utiliser un onglet existant le XML est
<tab idMso="TabHome">
Il en va de même pour utiliser une image
<button id="Box.Button1" imageMso
Ou encore une fonctionnalité, commande ou macro
<button idMso="FileNew" size
Reste maintenant à connaître les identifiants des images, commandes, ou autres fonctionnalités
existant dans Office 2007. Vous trouverez dans ce lien la liste de tous les imageMso
http://www.sunflowerhead.com/msimages/Office2007IconsGallery.zip
Pour les identifiants des commandes il suffit d’aller dans le menu Office > Option Word >
Personnalisation. Une fois dans ce menu, vous aurez la liste de toutes les commandes disponible
dans Office 2007. Si vous positionnez votre souris sur une commande plus d’une seconde, une a
va apparaître avec entre parenthèse
Pour les onglets, c’est le nom anglais de l’onglet auquel on ajoute le préfixe «
personnaliser l’onglet « Accueil », qui est l’onglet «
30 Septembre
Dans le complément MyAddIn, vous trouverez des informations sur les contrôles utilisés dans ces
En général, à partir du moment où l’on utilise une ressource d’Office 2007, l’attribut à utiliser est du
nom de la commande ». Comme nous l’avons vu tout à l’heure,
pour utiliser un onglet existant le XML est :
une image :
imageMso="AppointmentColor0">
, commande ou macro :
size="large">
Reste maintenant à connaître les identifiants des images, commandes, ou autres fonctionnalités
Vous trouverez dans ce lien la liste de tous les imageMso
http://www.sunflowerhead.com/msimages/Office2007IconsGallery.zip
commandes il suffit d’aller dans le menu Office > Option Word >
Personnalisation. Une fois dans ce menu, vous aurez la liste de toutes les commandes disponible
dans Office 2007. Si vous positionnez votre souris sur une commande plus d’une seconde, une a
va apparaître avec entre parenthèses l’identifiant de la commande.
Pour les onglets, c’est le nom anglais de l’onglet auquel on ajoute le préfixe « Tab » tel que pour
», qui est l’onglet « Home » en anglais, ce sera « TabHome
30 Septembre 2007
Dans le complément MyAddIn, vous trouverez des informations sur les contrôles utilisés dans ces
e une ressource d’Office 2007, l’attribut à utiliser est du
Comme nous l’avons vu tout à l’heure,
Reste maintenant à connaître les identifiants des images, commandes, ou autres fonctionnalités
Vous trouverez dans ce lien la liste de tous les imageMso :
commandes il suffit d’aller dans le menu Office > Option Word >
Personnalisation. Une fois dans ce menu, vous aurez la liste de toutes les commandes disponibles
dans Office 2007. Si vous positionnez votre souris sur une commande plus d’une seconde, une astuce
» tel que pour
TabHome ».
5. Ajout de ses propres images
Contrairement aux versions précédentes où toutes les ressources d’Office et de ses plug
chargées au démarrage, elles sont maintenant chargées uniquement lorsque Office 2007 en a beso
permettant ainsi de conserver un temps de chargement identique et indépendant du n
compléments installés.
Pour cela, il a été implémenté un système de «
méthode qui sera appelée au moment où Office aura
galerie, etc.) pour charger votre ressource.
Voici concrètement à quoi cela ressemble
<button id="buttonId" label
Dans l’exemple ci-dessus, Office Excel
d’afficher l’image du bouton. Il faut maintenant du côté de votre code implémenter la méthode qui
va récupérer votre ressource correspondant à ce bouton
IPictureDisp est l’interface utilisée par Office pour les images.
méthode qui permet de convertir
méthode est protégée. Il faut donc obligatoirement hériter de cette classe pour pouvoir l’utiliser,
d’où la classe ImageConverter contenu
public stdole.IPictureDisp GetImage(Office.
{
stdole.IPictureDisp pictureDisp =
switch (control.Id)
{
case "Button":
pictureDisp = ImageConverter
break;
default:
break;
}
return pictureDisp;
}
internal class ImageConverter
{
private ImageConverter()
: base(null)
{
}
public static stdole.IPictureDisp
{
return (stdole.IPictureDisp
}
}
30 Septembre
Ajout de ses propres images
Contrairement aux versions précédentes où toutes les ressources d’Office et de ses plug
elles sont maintenant chargées uniquement lorsque Office 2007 en a beso
un temps de chargement identique et indépendant du n
Pour cela, il a été implémenté un système de « callback ». C’est-à-dire que vous devrez spécifier une
méthode qui sera appelée au moment où Office aura besoin d’afficher votre bouton (ou menu, ou
votre ressource.
Voici concrètement à quoi cela ressemble :
label="Bouton" getImage="GetImage"/>
Office Excel va appeler la méthode GetImage lorsqu’il aura besoin
d’afficher l’image du bouton. Il faut maintenant du côté de votre code implémenter la méthode qui
va récupérer votre ressource correspondant à ce bouton :
l’interface utilisée par Office pour les images. La classe AxHost
méthode qui permet de convertir System.Drawing.Image en IPictureDisp
méthode est protégée. Il faut donc obligatoirement hériter de cette classe pour pouvoir l’utiliser,
contenue dans le projet MyAddIn :
GetImage(Office.IRibbonControl control)
pictureDisp = null;
ImageConverter.Convert(GetResourceBitmap(
ImageConverter : System.Windows.Forms.AxHost
IPictureDisp Convert(System.Drawing.Image image)
IPictureDisp)AxHost.GetIPictureDispFromPicture(image);
30 Septembre 2007
Contrairement aux versions précédentes où toutes les ressources d’Office et de ses plug-ins étaient
elles sont maintenant chargées uniquement lorsque Office 2007 en a besoin,
un temps de chargement identique et indépendant du nombre de
dire que vous devrez spécifier une
r votre bouton (ou menu, ou
va appeler la méthode GetImage lorsqu’il aura besoin
d’afficher l’image du bouton. Il faut maintenant du côté de votre code implémenter la méthode qui
AxHost contient une
IPictureDisp, mais cette
méthode est protégée. Il faut donc obligatoirement hériter de cette classe pour pouvoir l’utiliser,
.Convert(GetResourceBitmap("cards.png"));
image)
.GetIPictureDispFromPicture(image);
6. Gestion des évènements
Tout comme pour les images, les évènements se gèrent grâce à un système de callback. Chaque
évènement possible pour un contrôle correspond à un attribut de ce contrôle (tel que
getPressed, getVisible, etc.) et il suffit d’affecter à l’attribut le nom de la callback voulue. Pour
connaître l’ensemble des signatures des callbacks ainsi que des attributs possibles, veuillez vous
reporter à la documentation fournie par Microsoft
us/library/aa338199.aspx.
Voici par exemple comment gérer l’évènement d’un
<button id="monBouton" label
Et maintenant dans mon code, il me faut implémenter la méthode OnAction
Ce code mis en action aura pour effet d’afficher une boîte de message avec l’identifiant du contrôle
en titre, et la chaîne affectée à l’attribut
7. Peuplement dynamique de menus
On retrouve le même principe pour le peuplement dynamique du menu.
dynamique, il est obligatoire de spécifier
contenu du menu. La méthode que prend
retourne une chaîne XML décrivant le
<dynamicMenu id="DynamicMenu
getContent="GetDynamicMenuContent
Le code généré aura pour effet de peupler dynamiquement mon menu
boutons.
public void OnAction(Office.
{
MessageBox.Show(control.Tag, control.Id,
MessageBoxButtons
}
public string GetDynamicMenuContent(Office.
{
Random random = new Random();
int nbMenus = random.Next(1, 8);
StringBuilder stringBuilder = new
stringBuilder.AppendLine("<menu
xmlns=\"http://schemas.microsoft.com/office/2006/01/customui
for (int i = 1; i <= nbMenus; i++)
{
stringBuilder.AppendFormat("<button id=
tag=\"Ceci est un bouton généré dynamiquement
}
stringBuilder.AppendLine("</menu>"
return stringBuilder.ToString(); }
30 Septembre
Tout comme pour les images, les évènements se gèrent grâce à un système de callback. Chaque
évènement possible pour un contrôle correspond à un attribut de ce contrôle (tel que
et il suffit d’affecter à l’attribut le nom de la callback voulue. Pour
connaître l’ensemble des signatures des callbacks ainsi que des attributs possibles, veuillez vous
reporter à la documentation fournie par Microsoft : http://msdn2.microsoft.com/en
Voici par exemple comment gérer l’évènement d’un clic sur un bouton :
label="Bouton" tag="Exemple" onAction="OnAction
Et maintenant dans mon code, il me faut implémenter la méthode OnAction :
Ce code mis en action aura pour effet d’afficher une boîte de message avec l’identifiant du contrôle
en titre, et la chaîne affectée à l’attribut tag en texte.
Peuplement dynamique de menus
n retrouve le même principe pour le peuplement dynamique du menu. Parmi les attributs du menu
, il est obligatoire de spécifier l’attribut getContent, qui va permettre de récupérer le
contenu du menu. La méthode que prend getContent prend un paramètre un contrôle du ruban et
retourne une chaîne XML décrivant le contenu du menu. Voici un exemple :
DynamicMenu" label="My Dynamic Menu
GetDynamicMenuContent" />
effet de peupler dynamiquement mon menu avec un nombre aléatoire de
OnAction(Office.IRibbonControl control)
.Show(control.Tag, control.Id,
MessageBoxButtons.OK, MessageBoxIcon.Information);
GetDynamicMenuContent(Office.IRibbonControl control)
new StringBuilder();
"http://schemas.microsoft.com/office/2006/01/customui\">");
i = 1; i <= nbMenus; i++)
"<button id=\"DynamicButton{0}\" label=\"DynamicButton{0}
bouton généré dynamiquement\" onAction=\"OnAction\" />", i);
"</menu>");
30 Septembre 2007
Tout comme pour les images, les évènements se gèrent grâce à un système de callback. Chaque
évènement possible pour un contrôle correspond à un attribut de ce contrôle (tel que onAction,
et il suffit d’affecter à l’attribut le nom de la callback voulue. Pour
connaître l’ensemble des signatures des callbacks ainsi que des attributs possibles, veuillez vous
http://msdn2.microsoft.com/en-
OnAction"/>
Ce code mis en action aura pour effet d’afficher une boîte de message avec l’identifiant du contrôle
Parmi les attributs du menu
, qui va permettre de récupérer le
prend un paramètre un contrôle du ruban et
My Dynamic Menu"
n nombre aléatoire de
.Information);
"DynamicButton{0}\"
, i);
8. Création de volet Office
Un volet Office est en réalité un UserControl C#. Il suffit donc de créer son propre contrôle en
héritant de la classe .NET UserControl
volet est la traduction de l’anglais de «
L’utilisateur, dans Office 2007, doit pouvoir contrôler la visibilité de tout ce qui s’affiche dans son
environnement depuis le ruban. Nous allons par exemple contrôler la vis
toggleButton dans le ruban : quand le bouton est enfoncé, le volet s’affiche, et vice versa.
Pour faire cela, il suffit de lier la visibilité du volet à un évènement «
fonction de callback de l’évènement «
propriété « Visible » à vrai ou faux. Vous trouverez dans MyAddIn la mise en place de ce système
entre un toggleButton et le volet.
9. Autres personnalisations
Bien que peu ou pas documenté
l’environnement Office 2007 tel que le menu Office, ou encore surcharger des commandes. Malgré le
fait que ce ne soit pas encouragé par Microsoft, il est parfois bien pratique et même nécessa
d’avoir recours à ces personnalisations.
Ces personnalisations ont aussi lieu dans le fichier XML de description de l’interface, la différence
étant qu’au lieu d’être entre l’élément
menu Office, et les balises commands
Pour insérer un bouton « SoftFluent
voici à quoi va ressembler la description XML
<customUI xmlns="http://schemas.microsoft.com/of
onLoad="OnLoad">
<ribbon>
<officeMenu>
<button id="SoftFluentSave
insertAfterMso="FileSave" onAction
</officeMenu>
</ribbon>
</customUI>
public partial class ThisAddIn
{
internal CustomTaskPane
private void ThisAddIn_Startup(
{
ClockControl clockControl =
myTaskPane = this.CustomTaskPanes.Add(clockControl,
myTaskPane.Visible =
myTaskPane.VisibleChanged +=
}
}
30 Septembre
Un volet Office est en réalité un UserControl C#. Il suffit donc de créer son propre contrôle en
UserControl, puis d’ajouter son contrôle dans la collection de volet
de « task pane »). Concrètement :
L’utilisateur, dans Office 2007, doit pouvoir contrôler la visibilité de tout ce qui s’affiche dans son
environnement depuis le ruban. Nous allons par exemple contrôler la visibilité de ce volet via un
: quand le bouton est enfoncé, le volet s’affiche, et vice versa.
, il suffit de lier la visibilité du volet à un évènement « clic » d’un contrôle. Dans la
ment « clic », il suffira de changer la visibilité du volet en mettant la
» à vrai ou faux. Vous trouverez dans MyAddIn la mise en place de ce système
Autres personnalisations
documenté, il est possible de personnaliser d’autres éléments de
l’environnement Office 2007 tel que le menu Office, ou encore surcharger des commandes. Malgré le
fait que ce ne soit pas encouragé par Microsoft, il est parfois bien pratique et même nécessa
d’avoir recours à ces personnalisations.
Ces personnalisations ont aussi lieu dans le fichier XML de description de l’interface, la différence
étant qu’au lieu d’être entre l’élément tabs elles ont lieu entre les balises officeMenu
commands pour personnaliser les commandes.
SoftFluent » dans le menu Office, et juste après le bouton « Sauvegarder
voici à quoi va ressembler la description XML :
http://schemas.microsoft.com/office/2006/01/customui
SoftFluentSave" label="Bouton SoftFluent
onAction="OnAction"/>
ThisAddIn
myTaskPane;
ThisAddIn_Startup(object sender, System.EventArgs
clockControl = new ClockControl();
.CustomTaskPanes.Add(clockControl, "Horloge"
myTaskPane.Visible = false;
myTaskPane.VisibleChanged += new EventHandler(myTaskPane_VisibleChanged);
30 Septembre 2007
Un volet Office est en réalité un UserControl C#. Il suffit donc de créer son propre contrôle en
, puis d’ajouter son contrôle dans la collection de volets (le
L’utilisateur, dans Office 2007, doit pouvoir contrôler la visibilité de tout ce qui s’affiche dans son
ibilité de ce volet via un
: quand le bouton est enfoncé, le volet s’affiche, et vice versa.
» d’un contrôle. Dans la
», il suffira de changer la visibilité du volet en mettant la
» à vrai ou faux. Vous trouverez dans MyAddIn la mise en place de ce système
, il est possible de personnaliser d’autres éléments de
l’environnement Office 2007 tel que le menu Office, ou encore surcharger des commandes. Malgré le
fait que ce ne soit pas encouragé par Microsoft, il est parfois bien pratique et même nécessaire
Ces personnalisations ont aussi lieu dans le fichier XML de description de l’interface, la différence
officeMenu pour le
Sauvegarder »,
fice/2006/01/customui"
Bouton SoftFluent"
EventArgs e)
"Horloge");
(myTaskPane_VisibleChanged);
Vous pouvez également modifier le
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui
onLoad="OnLoad">
<ribbon>
<officeMenu>
<button idMso="FileSave
<button id="MySave
insertAfterMso="FileSave" visible
</officeMenu>
</ribbon>
</customUI>
Cela aura donc pour effet de cacher le vrai bouton «
Nous retrouvons les mêmes principes pour la surcharge de commandes
<commands>
<command idMso="Open"
<command idMso="Save"
<command idMso="SaveAs
</commands>
Nous allons donc surcharger les commandes «
que lors de l’utilisation de celles
« MySaveAs ».
10. Déploiement
Jusqu’à récemment il y avait très peu d’informations sur la manière de déployer son complément.
Depuis, Microsoft a publié un article en deux parties très complet sur la manière de déployer un
complément Office avec les VSTO SE
1. http://msdn2.microsoft.com/en
2. http://msdn2.microsoft.com/en
Nous allons quand même voir ensemble succinctement les grandes lignes du déploiement. Pour
déployer son complément il faut :
1. Vérifier les pré-requis
a. Installer le Framework 2.0 s’il n’est pas installé.
b. Installer la VSTO Runtime si elle n’est pas installée.
c. Installer les PIAs Office 2007 si elles ne sont pas installées.
2. Copier les fichiers
3. Mettre en place les valeurs dans les registres
4. Mettre en place les sécurités
a. Le complément et toutes ses dlls doivent être signés.
b. Configurer à sur la machine cliente le Code Access Security Policy (CasPol) pour que
le complément soit exécuter en «
projet SetSecurity du complément MyAddIn, mais cela peut aussi être après fait à la
main après l’installation, dans la configuration du Framework 2.0).
Le détail de toutes ces étapes se trouve dans l’article mis en lien ci
projet MyAddinSetup du prototype MyAddIn.
30 Septembre
Vous pouvez également modifier le contenu du menu Office :
http://schemas.microsoft.com/office/2006/01/customui
FileSave" visible="0"/>
MySave" label="MySave" imageMso
visible="1"/>
Cela aura donc pour effet de cacher le vrai bouton « Sauvegarder », pour n’afficher que le nô
Nous retrouvons les mêmes principes pour la surcharge de commandes :
" onAction="MyOpen"/>
" onAction="MySave"/>
SaveAs" onAction="MySaveAs"/>
Nous allons donc surcharger les commandes « Ouvrir », « Sauvegarder », « Sauvegarder sous
celles-ci, elles appellent nos callback « MyOpen », «
Jusqu’à récemment il y avait très peu d’informations sur la manière de déployer son complément.
soft a publié un article en deux parties très complet sur la manière de déployer un
complément Office avec les VSTO SE :
http://msdn2.microsoft.com/en-us/library/bb332051.aspx
http://msdn2.microsoft.com/en-us/library/bb332052.aspx
Nous allons quand même voir ensemble succinctement les grandes lignes du déploiement. Pour
Installer le Framework 2.0 s’il n’est pas installé.
Installer la VSTO Runtime si elle n’est pas installée.
Installer les PIAs Office 2007 si elles ne sont pas installées.
Mettre en place les valeurs dans les registres
lace les sécurités
Le complément et toutes ses dlls doivent être signés.
Configurer à sur la machine cliente le Code Access Security Policy (CasPol) pour que
le complément soit exécuter en « FullTrust » (cela est fait à l’installation dans le
SetSecurity du complément MyAddIn, mais cela peut aussi être après fait à la
main après l’installation, dans la configuration du Framework 2.0).
Le détail de toutes ces étapes se trouve dans l’article mis en lien ci-avant, et tout ceci est fait dans le
jet MyAddinSetup du prototype MyAddIn.
30 Septembre 2007
http://schemas.microsoft.com/office/2006/01/customui"
imageMso="Save"
», pour n’afficher que le nôtre.
Sauvegarder sous », pour
», « MySave »,
Jusqu’à récemment il y avait très peu d’informations sur la manière de déployer son complément.
soft a publié un article en deux parties très complet sur la manière de déployer un
Nous allons quand même voir ensemble succinctement les grandes lignes du déploiement. Pour
Configurer à sur la machine cliente le Code Access Security Policy (CasPol) pour que
» (cela est fait à l’installation dans le
SetSecurity du complément MyAddIn, mais cela peut aussi être après fait à la
avant, et tout ceci est fait dans le
B. L’accès aux données métier par Web Service
Le prototype « BookStoreSample » est un complément pour
Office qui consomme un service web publié
données.
Avec Office 2007, Microsoft transforme une suite d’applications indépendantes en un véritable
système d’applications frontales consommant le système d’information.
Microsoft amorçait un virage pour introduire la notion de serveur dans le concept de la suite
bureautique. Aujourd’hui, le virage devient une réalité aux applications multiples dont les bénéfices
se traduisent par des gains en organisation, en collaboration et en productivité. En étoffa
bureautique de serveurs et d'un moteur de workflow, Microsoft propulse en effet
ou encore Powerpoint au statut d'interface cliente pour l'ensemble des applications bureautiques
mais également pour toutes les sources de donnée
Ces sources de données peuvent être aussi bien des sources standards proposées par Microsoft
(SharePoint en est l’illustration parfaite), que votre propre source de donnée et ainsi de disposer
d’outils puissants pour traiter vos données
Comme nous l’avons vu au cours du chapitre précédent, l’interface humaine de l’environnement
Office 2007 est presque entièrement personnalisable, mais surtout, au
personnalisation graphique, c’est tout l’environnement .
résumé, si l’on combine l’effort fait par Microsoft pour faire des applications Office de véritables
clients, et le fait que l’on puisse disposer d
compte qu’Office est bien plus qu’une suite bureautique, mais devient une véritable plateforme de
développement.
Pour illustrer ce point, SoftFluent a développé un complément
Excel 2007 comme client frontal, pour consommer des données issues d’un Web Service, lui
attaquant une base SQL Server 2005. Nous sommes volontairement resté dans des technologies
Microsoft, pour illustrer une utilisation complète du Framewo
consommer un service web attaquant une base Oracle ou un complément dialoguant avec u
serveur Java, ou n’importe quelle autre source de donnée.
A des fins d’efficacité, ce service web a été développé en utilisant l’
CodeFluent permet de fabriquer des composants SOA «
de manière automatisée à partir d’une simple description d’un modèle
« BookStoreSample », nous nous sommes servi de
Server 2005, les classes métiers correspondantes, ainsi que le service web, chaque couche
interagissant en parfaite adéquation avec la couche sous
fonctionnalités ont été mises en place à un coût très faible, permettant ainsi aux développeurs de se
focaliser sur l’implémentation de l’interface graphique
graphique a bénéficiée d’un coût de développement très faible tout en prop
avancées grâce à l’utilisation d’Office Excel
30 Septembre
L’accès aux données métier par Web Service
» est un complément pour Office Excel 2007, ajoutant un volet
Office qui consomme un service web publié sur le site de SoftFluent effectuant l’accès à une base de
Avec Office 2007, Microsoft transforme une suite d’applications indépendantes en un véritable
système d’applications frontales consommant le système d’information. Dès la version 2003 d'Office,
ur introduire la notion de serveur dans le concept de la suite
bureautique. Aujourd’hui, le virage devient une réalité aux applications multiples dont les bénéfices
se traduisent par des gains en organisation, en collaboration et en productivité. En étoffa
bureautique de serveurs et d'un moteur de workflow, Microsoft propulse en effet Office Word
ou encore Powerpoint au statut d'interface cliente pour l'ensemble des applications bureautiques
mais également pour toutes les sources de données présentes dans le système d'information.
Ces sources de données peuvent être aussi bien des sources standards proposées par Microsoft
en est l’illustration parfaite), que votre propre source de donnée et ainsi de disposer
our traiter vos données ; sans pour autant les avoir développés à vos frais.
au cours du chapitre précédent, l’interface humaine de l’environnement
Office 2007 est presque entièrement personnalisable, mais surtout, au-delà d’offrir un
personnalisation graphique, c’est tout l’environnement .NET qui est disponible dans Office 2007. En
résumé, si l’on combine l’effort fait par Microsoft pour faire des applications Office de véritables
clients, et le fait que l’on puisse disposer de la puissance du Framework .NET, l’on se rend vite
compte qu’Office est bien plus qu’une suite bureautique, mais devient une véritable plateforme de
Pour illustrer ce point, SoftFluent a développé un complément Excel qui a pour but d’utilis
2007 comme client frontal, pour consommer des données issues d’un Web Service, lui
attaquant une base SQL Server 2005. Nous sommes volontairement resté dans des technologies
Microsoft, pour illustrer une utilisation complète du Framework mais il est tout à fait possible de
consommer un service web attaquant une base Oracle ou un complément dialoguant avec u
elle autre source de donnée.
A des fins d’efficacité, ce service web a été développé en utilisant l’usine logicielle CodeFluent
permet de fabriquer des composants SOA « clé en main » respectant l’architecture SOA
de manière automatisée à partir d’une simple description d’un modèle. Dans l’exemple
», nous nous sommes servi de CodeFluent pour générer la base de donnée SQL
Server 2005, les classes métiers correspondantes, ainsi que le service web, chaque couche
interagissant en parfaite adéquation avec la couche sous-jacente. En résultat l’ensemble des
ses en place à un coût très faible, permettant ainsi aux développeurs de se
focaliser sur l’implémentation de l’interface graphique ou de règles plus spécifiques. Enfin, l’interface
graphique a bénéficiée d’un coût de développement très faible tout en proposant des fonctionnalités
Office Excel comme client frontal.
30 Septembre 2007
2007, ajoutant un volet
l’accès à une base de
Avec Office 2007, Microsoft transforme une suite d’applications indépendantes en un véritable
Dès la version 2003 d'Office,
ur introduire la notion de serveur dans le concept de la suite
bureautique. Aujourd’hui, le virage devient une réalité aux applications multiples dont les bénéfices
se traduisent par des gains en organisation, en collaboration et en productivité. En étoffant sa suite
Office Word, Excel
ou encore Powerpoint au statut d'interface cliente pour l'ensemble des applications bureautiques
s présentes dans le système d'information.
Ces sources de données peuvent être aussi bien des sources standards proposées par Microsoft
en est l’illustration parfaite), que votre propre source de donnée et ainsi de disposer
; sans pour autant les avoir développés à vos frais.
au cours du chapitre précédent, l’interface humaine de l’environnement
delà d’offrir une simple
qui est disponible dans Office 2007. En
résumé, si l’on combine l’effort fait par Microsoft pour faire des applications Office de véritables
, l’on se rend vite
compte qu’Office est bien plus qu’une suite bureautique, mais devient une véritable plateforme de
qui a pour but d’utiliser Office
2007 comme client frontal, pour consommer des données issues d’un Web Service, lui-même
attaquant une base SQL Server 2005. Nous sommes volontairement resté dans des technologies
rk mais il est tout à fait possible de
consommer un service web attaquant une base Oracle ou un complément dialoguant avec un
usine logicielle CodeFluent.
respectant l’architecture SOA
. Dans l’exemple
CodeFluent pour générer la base de donnée SQL
Server 2005, les classes métiers correspondantes, ainsi que le service web, chaque couche
jacente. En résultat l’ensemble des
ses en place à un coût très faible, permettant ainsi aux développeurs de se
. Enfin, l’interface
osant des fonctionnalités
1. Pré-requis
Avant de pouvoir utiliser le complément
Office 2007 installé sur votre poste, et plus particul
Primary Interop Assemblies ». Elles sont normalement installées par défaut à l’installation d’Office
2007, mais si pour des raisons obscures elles ne sont pas installées sur le vôtre, elles peuvent être
récupérées ici : http://www.microsoft.com/downloads/details.aspx?familyid=59daebaa
a28c-b864d8bfa513&displaylang=en
Le complément est BookStoreSample est un complément pour Excel 2007, développé avec les Visual
Studio Tools for Office Second Edition (VSTO SE), ce qui fait que vous aurez besoin d’installer ceux
avant de pouvoir compiler les sources. Les VSTO SE sont disponible
http://www.microsoft.com/downloads/details.aspx?familyid=5e86cab3
e1676db6b3cb&displaylang=en )
2. Utilisation
a) Utilisation du complément
L’exemple tel qu’il vous est livré contient deux parties
déployer le binaire sur votre machine et il n’est pas nécessaire d’avoir Visual Studio 2005 d’installé
pour utiliser le complément.
Une fois le complément installé, il vous suffit de lancer Excel 2007, et vous verrez qu’un nouvel
onglet à l’extrême droite du ruban est apparu, ainsi qu’un nouveau menu dans le menu Office. Le
complément permet d’interroger un service web d’une
pourrez obtenir par exemple la liste des livres proposés par cette librairie.
b) Utilisation de la solution
La solution du complément BookStoreSample est composée de six projets
• BookStoreSample.Design : contenan
CodeFluent des sources,
• BookStoreSample.Model : contenant les sources C#
• BookStoreSample.WebService : contenant les sources du Web Service généré par
CodeFluent,
• BookStoreSample.Excel : projet correspondant au
celui-ci qu’est contenu le ruban et autres fonctionnalités du complément,
• BookStoreSample : le projet pour le msi
• SetSecurity : un autre projet nécessaire au
dans ce document.
3. Points d’intérêts particuliers
Ce prototype reprend beaucoup de points d’intérêts du précédent. Nous ne redéveloppons pas ces
points ici, même s’ils sont détaillés dans la documentation du proto
être vu indépendamment des autres).
30 Septembre
Avant de pouvoir utiliser le complément BookStoreSample, il faut bien évidemment que vo
sur votre poste, et plus particulièrement Excel. De plus, il faut les «
». Elles sont normalement installées par défaut à l’installation d’Office
2007, mais si pour des raisons obscures elles ne sont pas installées sur le vôtre, elles peuvent être
http://www.microsoft.com/downloads/details.aspx?familyid=59daebaa
b864d8bfa513&displaylang=en
ment est BookStoreSample est un complément pour Excel 2007, développé avec les Visual
Studio Tools for Office Second Edition (VSTO SE), ce qui fait que vous aurez besoin d’installer ceux
avant de pouvoir compiler les sources. Les VSTO SE sont disponible
http://www.microsoft.com/downloads/details.aspx?familyid=5e86cab3-6fd6-4955-b979
ilisation du complément
L’exemple tel qu’il vous est livré contient deux parties : le code source, et un installeur. L’installeur va
déployer le binaire sur votre machine et il n’est pas nécessaire d’avoir Visual Studio 2005 d’installé
Une fois le complément installé, il vous suffit de lancer Excel 2007, et vous verrez qu’un nouvel
onglet à l’extrême droite du ruban est apparu, ainsi qu’un nouveau menu dans le menu Office. Le
complément permet d’interroger un service web d’une librairie virtuelle. Via un volet Office vous
pourrez obtenir par exemple la liste des livres proposés par cette librairie.
La solution du complément BookStoreSample est composée de six projets :
: contenant les fichiers XML nécessaires à la génération
BookStoreSample.Model : contenant les sources C# générées par CodeFluent,
BookStoreSample.WebService : contenant les sources du Web Service généré par
BookStoreSample.Excel : projet correspondant au complément proprement dit, c’est dans
ci qu’est contenu le ruban et autres fonctionnalités du complément,
BookStoreSample : le projet pour le msi
SetSecurity : un autre projet nécessaire au déploiement dont nous verrons l’utilité plus tard
Points d’intérêts particuliers
Ce prototype reprend beaucoup de points d’intérêts du précédent. Nous ne redéveloppons pas ces
points ici, même s’ils sont détaillés dans la documentation du prototype (car chaque prototype peut
être vu indépendamment des autres).
30 Septembre 2007
il faut bien évidemment que vous ayez
De plus, il faut les « Office 2007
». Elles sont normalement installées par défaut à l’installation d’Office
2007, mais si pour des raisons obscures elles ne sont pas installées sur le vôtre, elles peuvent être
http://www.microsoft.com/downloads/details.aspx?familyid=59daebaa-bed4-4282-
ment est BookStoreSample est un complément pour Excel 2007, développé avec les Visual
Studio Tools for Office Second Edition (VSTO SE), ce qui fait que vous aurez besoin d’installer ceux-ci
avant de pouvoir compiler les sources. Les VSTO SE sont disponibles ici :
b979-
: le code source, et un installeur. L’installeur va
déployer le binaire sur votre machine et il n’est pas nécessaire d’avoir Visual Studio 2005 d’installé
Une fois le complément installé, il vous suffit de lancer Excel 2007, et vous verrez qu’un nouvel
onglet à l’extrême droite du ruban est apparu, ainsi qu’un nouveau menu dans le menu Office. Le
librairie virtuelle. Via un volet Office vous
ration par
BookStoreSample.WebService : contenant les sources du Web Service généré par
oprement dit, c’est dans
t nous verrons l’utilité plus tard
Ce prototype reprend beaucoup de points d’intérêts du précédent. Nous ne redéveloppons pas ces
type (car chaque prototype peut
a) Création du service Web
Comme exposé plus haut, nous allons créer le service web de gestion des données avec CodeFluent.
Pour cela il faut modéliser les entités manipulées et leur relation
utilisant une syntaxe XML décrivant directement
(se référer à la documentation de CodeFluent disponible en ligne pour en savoir plus)
<Author>
<Id/>
<Name/>
<Books typeName="BookCollection
</Author>
<Book>
<Id/>
<Name />
<Authors typeName="AuthorCollection
<Editor typeName="Editor
<BookStore typeName="
</Book>
<Editor>
<Id />
<Name />
<Books typeName="BookCollection
</Editor>
<BookStore>
<Id/>
<Name/>
<Books typeName="BookCollection
</BookStore>
Ces entités vont devenir, après production, nos tables et
nécessaires à cette étape sont regroupés dans le projet BookStoreSample.Design. Le fichier principal
est le fichier nommé BookStoreSample.xml
sous-fichiers BookStoreSample.Instances.xml
<cf:import path="{0}.Producers.xml
<cf:import path="{0}.Instances.xml
Note : « {0} » précise CodeFluent d’utiliser le namespace par défaut.
BookStoreSample.Producers.xml contient une description des producteurs désirés par l’utilisateur.
<cf:producer typeName="
CodeFluent.Producers.SqlServer
<cf:producer typeName
CodeFluent.Producers.CodeDom
<cf:producer
typeName="CodeFluent.Producers.CodeDom.UI.Web.WebServiceProducer,
CodeFluent.Producers.CodeDom
Dans notre cas nous n’avons que trois producteurs
producteur de notre code C# et enfin le producteur de notre Web Service.
30 Septembre
Comme exposé plus haut, nous allons créer le service web de gestion des données avec CodeFluent.
modéliser les entités manipulées et leur relation. Cela se fait très simplement en
décrivant directement les entités métiers que notre application va utiliser
(se référer à la documentation de CodeFluent disponible en ligne pour en savoir plus) :
BookCollection" relationPropertyName="Authors
AuthorCollection" relationPropertyName="
Editor" />
"BookStore"/>
BookCollection"/>
BookCollection"/>
rès production, nos tables et nos objets. L’ensemble des éléments
nécessaires à cette étape sont regroupés dans le projet BookStoreSample.Design. Le fichier principal
BookStoreSample.xml qui contient la description des entités et importe deux
reSample.Instances.xml, et BookStoreSample.Producers.xml.
{0}.Producers.xml" />
{0}.Instances.xml" />
» précise CodeFluent d’utiliser le namespace par défaut.
contient une description des producteurs désirés par l’utilisateur.
"CodeFluent.Producers.SqlServer.SqlServerProducer,
CodeFluent.Producers.SqlServer" />
typeName="CodeFluent.Producers.CodeDom.CodeDomProducer,
CodeFluent.Producers.CodeDom"/>
CodeFluent.Producers.CodeDom.UI.Web.WebServiceProducer,
CodeFluent.Producers.CodeDom" />
Dans notre cas nous n’avons que trois producteurs : le producteur de notre base SQL Server, le
notre code C# et enfin le producteur de notre Web Service.
30 Septembre 2007
Comme exposé plus haut, nous allons créer le service web de gestion des données avec CodeFluent.
. Cela se fait très simplement en
notre application va utiliser
Authors"/>
"Books"/>
nos objets. L’ensemble des éléments
nécessaires à cette étape sont regroupés dans le projet BookStoreSample.Design. Le fichier principal
qui contient la description des entités et importe deux
contient une description des producteurs désirés par l’utilisateur.
CodeFluent.Producers.SqlServer.SqlServerProducer,
CodeFluent.Producers.CodeDom.CodeDomProducer,
CodeFluent.Producers.CodeDom.UI.Web.WebServiceProducer,
: le producteur de notre base SQL Server, le
Le fichier BookStoreSample.Instances.xml
objets de manière à avoir des données et une application utilisable directement après sa généra
Une fois l’application modélisée puis nos producteurs spécifiés et configurés, il suffit de lancer
CodeFluent avec le modèle en paramètre et il va nous produire l’ensemble de l’application. Les
composants utilisés dans la solution BookStoreSample ont
aucune modification n’a été nécessaire pour pouvoir consommer
notre complément Excel 2007.
Le service web est déployé sur notre serveur à l’adresse suivante
des liens utiles en fin de livre blanc)
• http://office.softfluent.com/BookStoreSample.WebService/fr
b) La consommation du service Web depuis
La consommation du service Web dans le complément est chose très aisée puisque ce n’est ni plus ni
moins que du .Net, avec la différence néanmoins qu’il est possible insérer les données sortantes où
Une fois les données récupérées, il nous manque donc la dernière brique qui est donc leur affichage.
Pour cela rien de nouveau, l’on utilise toujours l’automation pour manipuler les feuilles de calculs
d’Excel 2007.
30 Septembre
BookStoreSample.Instances.xml est optionnel, il sert à instancier par défaut nos tables ou
objets de manière à avoir des données et une application utilisable directement après sa généra
Une fois l’application modélisée puis nos producteurs spécifiés et configurés, il suffit de lancer
CodeFluent avec le modèle en paramètre et il va nous produire l’ensemble de l’application. Les
composants utilisés dans la solution BookStoreSample ont été générés à 100% par CodeFluent et
n’a été nécessaire pour pouvoir consommer les services web produits depuis
Le service web est déployé sur notre serveur à l’adresse suivante (voir mot de passe dans le t
des liens utiles en fin de livre blanc) :
http://office.softfluent.com/BookStoreSample.WebService/fr-FR/default.asmx
La consommation du service Web depuis Excel
La consommation du service Web dans le complément est chose très aisée puisque ce n’est ni plus ni
moins que du .Net, avec la différence néanmoins qu’il est possible insérer les données sortantes où
nous le désirons dans l’environnement Office.
Dans l’exemple BookStoreSample nous permettons depuis
un volet Office, de lister les livres d’un auteur, les livres
d’une maison d’édition, l’auteur à partir d’un livre et enfin
tous les livres disponibles dans une librairie. Le
complément interroge un service Web, et affiche les
données dans la première colonne de la feuille de calcule
courante.
Pour consommer le service Web dans le complément, il n’y
a rien d’extraordinaire à faire, la procédure à effectuer est
absolument identique à celle que l’on appliquer
une application .Net. La méthode la plus simple étant
d’ajouter une référence Web à son projet, ce qui va faire
que Visual Studio 2005 va automatiquement générer les
classes proxy correspondantes. Puis il vous suffira d’utiliser
ces classes comme n’importe qu’elle autre classe de votre
application.
C’est cette méthode que nous avons utilisé dans ce
prototype, je vous invite donc à consulter les sources pour
avoir un exemple concret de consommation d’un service
Web, et/ou bien sur la MSDN pour plus d’information sur
les services Web en général.
Une fois les données récupérées, il nous manque donc la dernière brique qui est donc leur affichage.
Pour cela rien de nouveau, l’on utilise toujours l’automation pour manipuler les feuilles de calculs
30 Septembre 2007
el, il sert à instancier par défaut nos tables ou
objets de manière à avoir des données et une application utilisable directement après sa génération.
Une fois l’application modélisée puis nos producteurs spécifiés et configurés, il suffit de lancer
CodeFluent avec le modèle en paramètre et il va nous produire l’ensemble de l’application. Les
été générés à 100% par CodeFluent et
les services web produits depuis
(voir mot de passe dans le tableau
FR/default.asmx
La consommation du service Web dans le complément est chose très aisée puisque ce n’est ni plus ni
moins que du .Net, avec la différence néanmoins qu’il est possible insérer les données sortantes où
nous le désirons dans l’environnement Office.
s l’exemple BookStoreSample nous permettons depuis
un volet Office, de lister les livres d’un auteur, les livres
d’une maison d’édition, l’auteur à partir d’un livre et enfin
tous les livres disponibles dans une librairie. Le
e Web, et affiche les
données dans la première colonne de la feuille de calcule
Pour consommer le service Web dans le complément, il n’y
a rien d’extraordinaire à faire, la procédure à effectuer est
absolument identique à celle que l’on appliquerait dans
une application .Net. La méthode la plus simple étant
d’ajouter une référence Web à son projet, ce qui va faire
que Visual Studio 2005 va automatiquement générer les
classes proxy correspondantes. Puis il vous suffira d’utiliser
n’importe qu’elle autre classe de votre
C’est cette méthode que nous avons utilisé dans ce
prototype, je vous invite donc à consulter les sources pour
avoir un exemple concret de consommation d’un service
d’information sur
Une fois les données récupérées, il nous manque donc la dernière brique qui est donc leur affichage.
Pour cela rien de nouveau, l’on utilise toujours l’automation pour manipuler les feuilles de calculs
Voici un bout de code issu du prototype qui illustre la récupération des données depuis un service
Web et leur affichage dans la première colonne de la feuille de calcul courante
Ce code renseigne les cellules de la feuille Excel avec le résultat suivant
Book[] bookResults = _bookStoreSampleWebService.BookCollectionLoa
MSExcel.Workbook workbook = (MSExcel.
MSExcel.Worksheet sheet = (MSExcel.
sheet.Cells.Clear();
int rowIndex = 1;
foreach (Book book in bookResults)
{
sheet.Cells[rowIndex++, 1] = book.Name;}
30 Septembre
Voici un bout de code issu du prototype qui illustre la récupération des données depuis un service
Web et leur affichage dans la première colonne de la feuille de calcul courante :
Ce code renseigne les cellules de la feuille Excel avec le résultat suivant :
[] bookResults = _bookStoreSampleWebService.BookCollectionLoadByBookStore(bookStore);
workbook = (MSExcel.Workbook)Globals.ThisAddIn.Application.ActiveWorkbook;
sheet = (MSExcel.Worksheet)workbook.ActiveSheet;
sheet.Cells[rowIndex++, 1] = book.Name;
30 Septembre 2007
Voici un bout de code issu du prototype qui illustre la récupération des données depuis un service
dByBookStore(bookStore);
.ThisAddIn.Application.ActiveWorkbook;
c) Conclusion
Nous avons vu dans ce prototype comment personnalis
client frontal d’une source de données
SharePoint, que notre propre source comme c’est ici notre cas avec notre Web Service attaquant une
base de donnée SQL Server 2005, ou tout autre service Web dévelo
technologie.
Nous avons également vu succinctement au passage comment industrialiser le processus de
production de code avec CodeFluent de manière à pouvoir concentrer les efforts sur la valeur
ajoutée de l’application : interface u
n’illustrons pas la mise en œuvre de règles au
CodeFluent).
Ce prototype illustre ainsi parfaitement l’argument de réduction des coûts mis en a
introduction de ce livre blanc. Les trois applications phares d’Office 2007 peuvent désormais être
utilisées comme des interfaces clientes universelles, ce qui présente de nombreux avantages tel que
la suppression du temps de familiarisation avec u
ou encore un faible coût de développement de clients riches en fonctionnalités pour les éditeurs
logiciels.
30 Septembre
Nous avons vu dans ce prototype comment personnaliser Excel 2007 de façon à l’utiliser comme
source de données. La source de données peut aussi bien être un serveur
SharePoint, que notre propre source comme c’est ici notre cas avec notre Web Service attaquant une
base de donnée SQL Server 2005, ou tout autre service Web développé avec une quelconque
Nous avons également vu succinctement au passage comment industrialiser le processus de
production de code avec CodeFluent de manière à pouvoir concentrer les efforts sur la valeur
: interface utilisateur et règles métiers (même si dans ce prototype, nous
n’illustrons pas la mise en œuvre de règles au-delà des règles de structure portées par le modèle
Ce prototype illustre ainsi parfaitement l’argument de réduction des coûts mis en a
introduction de ce livre blanc. Les trois applications phares d’Office 2007 peuvent désormais être
utilisées comme des interfaces clientes universelles, ce qui présente de nombreux avantages tel que
la suppression du temps de familiarisation avec une nouvelle interface graphique pour l’utilisateur,
ou encore un faible coût de développement de clients riches en fonctionnalités pour les éditeurs
30 Septembre 2007
Excel 2007 de façon à l’utiliser comme un
. La source de données peut aussi bien être un serveur
SharePoint, que notre propre source comme c’est ici notre cas avec notre Web Service attaquant une
ppé avec une quelconque
Nous avons également vu succinctement au passage comment industrialiser le processus de
production de code avec CodeFluent de manière à pouvoir concentrer les efforts sur la valeur
tilisateur et règles métiers (même si dans ce prototype, nous
delà des règles de structure portées par le modèle
Ce prototype illustre ainsi parfaitement l’argument de réduction des coûts mis en avant en
introduction de ce livre blanc. Les trois applications phares d’Office 2007 peuvent désormais être
utilisées comme des interfaces clientes universelles, ce qui présente de nombreux avantages tel que
ne nouvelle interface graphique pour l’utilisateur,
ou encore un faible coût de développement de clients riches en fonctionnalités pour les éditeurs
C. La séparation données/présentation dans un document Word 2007
L’Open XML est la désignation d’usage d’un standard ouvert de l’ECMA, originellement introduit par
Microsoft, définissant un format de données pour les documents d’applications bureautiques tels
que ceux d’Office Word 2007, d’Office
intégralement structuré en XML et le tout est compressé sous forme d’une archive ZIP.
L’arrivée de ce nouveau format est accompagnée, entre autres de deux no
« Data Store » et les « Contrôles de Contenus
Du fait que les nouveaux formats de fichier Office (
est maintenant possible d’embarquer dans l’archive des documents XML définis par l’utilisateur, et
dans la quantité voulu par celui-ci.
nos données dans nos propres XML, et surtout, ceux
parasites telles que des informations de présentation.
De même, au niveau de la couche de présenta
contenus pour Office Word, nous permet justement de spécifier des zones dans notre document
Word, sur lesquelles on pourra lier des données.
Il serait maintenant légitime de se demander
saisies à des nœuds précis de mon fichier XML, lui
possible avec cette séparation nette
et c’est ce qu’illustre ce prototype.
1. Pré-requis
Avant de regarder le code du projet DataStoreSample, nous allons d’abord faire un tour d’horizon
des éléments utilisé par le prototype.
a) Le modèle
Le fichier « Modèle.docx » contenu dans le répertoire «
cinq contrôles de contenus. Ce fichier contient lui
<root xmlns="www.softfluent.com<name />
<city />
<date />
<client />
<summary /> </root>
Chacun des contrôles de contenus est relié à un nœud de ce XML, si bien que si l’on insère une
donnée dans le contrôle de contenu lié au
vice versa : si l’on rempli l’élément
contenu.
30 Septembre
présentation dans un document Word 2007
usage d’un standard ouvert de l’ECMA, originellement introduit par
Microsoft, définissant un format de données pour les documents d’applications bureautiques tels
d’Office Excel 2007 et d’Office PowerPoint 2007. Ce format est
ntégralement structuré en XML et le tout est compressé sous forme d’une archive ZIP.
L’arrivée de ce nouveau format est accompagnée, entre autres de deux nouvelles fonctionnalités
Contrôles de Contenus » (de l’anglais « Content Controls »).
Du fait que les nouveaux formats de fichier Office (docx, xlsx, pptx) sont en réalité des archives ZIP, il
est maintenant possible d’embarquer dans l’archive des documents XML définis par l’utilisateur, et
Ce concept est nommé « Data Store » et permet donc de stocker
nos données dans nos propres XML, et surtout, ceux-ci sont bien séparés de toutes informations
parasites telles que des informations de présentation.
De même, au niveau de la couche de présentation, la nouvelle fonctionnalité des contrôles de
, nous permet justement de spécifier des zones dans notre document
pourra lier des données.
gitime de se demander : Et si on alliait les deux ? Et si l’on liait des zones de
saisies à des nœuds précis de mon fichier XML, lui-même contenu dans mon docx ? C’est maintenant
ble avec cette séparation nette des couches de présentation et des données au sein d’un
Avant de regarder le code du projet DataStoreSample, nous allons d’abord faire un tour d’horizon
des éléments utilisé par le prototype.
» contenu dans le répertoire « Modèle » est un document Word contenant
cinq contrôles de contenus. Ce fichier contient lui-même un data store de ce type :
www.softfluent.com">
Chacun des contrôles de contenus est relié à un nœud de ce XML, si bien que si l’on insère une
donnée dans le contrôle de contenu lié au nom, celui-ci va remplir l’élément « name
: si l’on rempli l’élément « name » du XML, celui-ci va apparaître dans le contrôle de
30 Septembre 2007
présentation dans un document Word 2007
usage d’un standard ouvert de l’ECMA, originellement introduit par
Microsoft, définissant un format de données pour les documents d’applications bureautiques tels
PowerPoint 2007. Ce format est
ntégralement structuré en XML et le tout est compressé sous forme d’une archive ZIP.
uvelles fonctionnalités : le
) sont en réalité des archives ZIP, il
est maintenant possible d’embarquer dans l’archive des documents XML définis par l’utilisateur, et
» et permet donc de stocker
ci sont bien séparés de toutes informations
tion, la nouvelle fonctionnalité des contrôles de
, nous permet justement de spécifier des zones dans notre document
i l’on liait des zones de
? C’est maintenant
données au sein d’un docx
Avant de regarder le code du projet DataStoreSample, nous allons d’abord faire un tour d’horizon
» est un document Word contenant
Chacun des contrôles de contenus est relié à un nœud de ce XML, si bien que si l’on insère une
name » du XML, et
ci va apparaître dans le contrôle de
b) Les données
Dans le répertoire « Données », on peut remarquer une série de fichiers XML, chacun d’entre eux
étant construit de la même manière que celui contenu dans le modèle, à la différen
sont remplis. Voici le fichier « Julien Martin.xml
<root xmlns="www.softfluent.com<name>Julien Martin</
<city>Montpellier</city
<date>2006-12-15T00:00:00<client>Cola-Coca</client
<summary>Formation .Net </root>
c) Le scénario
Prenons le cas d‘une entreprise de services ayant
une base de données avec des informations telles que le nom du client, la date et le sujet
d’intervention, via un client web. Cette société aimerait maintenant pouvoir, à partir des données
contenues dans cette base, générer automatiquement un rapport d’intervention par mission au
format Office Word 2007. Grâce à la séparation de la présentation et d
il est maintenant possible d’extraire les informations de la base les données, former les fichiers XML
correspondant, et injecter ceux-ci dans un modèle de rapport d’intervention de la société.
Ce scénario est viable quelle que soit la source de données
WebServices, base de donnée SQL Server ou ORACLE, etc.)
XML nous permet de nous abstraire de
étape préalable qui n’est pas illustré
formatage de ces données dans un fichier XML au schéma défini préalablement.
d) Utilisation du prototype
DataStoreSample.exe est l’application du scéna
partir de fichiers XML correctement formatés, les
sans OLE Automation ni le Framework
data store.
Pour cela, double-cliquez sur l’exécutable, et celui
répertoire « Donnée », charger le modèle, et générer un
d’après le nom du fichier XML et déposé
2. Point d’intérêt particulier
a) Créer le modèle
(1) Ajouter les contrôles de contenu
Une fois la mise en page créée, il faut ajouter les contrôles de contenu. Les contrôles de contenu sont
dans l’onglet « Développeur » qui n’est pas affiché par défaut. Po
menu Office > Options Word > Standard et cochez l’option «
30 Septembre
on peut remarquer une série de fichiers XML, chacun d’entre eux
étant construit de la même manière que celui contenu dans le modèle, à la différen
Julien Martin.xml » en exemple :
www.softfluent.com">
</name>
city>
15T00:00:00</date>
client>
Formation .Net d'une durée d'une semaine.</summary
ne entreprise de services ayant n employés qui à chaque fin de mission remplissent
une base de données avec des informations telles que le nom du client, la date et le sujet
rvention, via un client web. Cette société aimerait maintenant pouvoir, à partir des données
contenues dans cette base, générer automatiquement un rapport d’intervention par mission au
Grâce à la séparation de la présentation et des données dans l’Open XML,
possible d’extraire les informations de la base les données, former les fichiers XML
ci dans un modèle de rapport d’intervention de la société.
que soit la source de données utilisée en « back-office
WebServices, base de donnée SQL Server ou ORACLE, etc.) puisque le fait de passer par un
XML nous permet de nous abstraire de l’environnement source. Ce scénario requiert cependa
étape préalable qui n’est pas illustrée ici : l’extraction des données d’une source de données et le
formatage de ces données dans un fichier XML au schéma défini préalablement.
DataStoreSample.exe est l’application du scénario exposé précédemment : il permet de générer à
partir de fichiers XML correctement formatés, les n documents Word 2007 correspondant, le tout
Framework 3.0, et grâce aux notions de contrôles de contenu ainsi que de
cliquez sur l’exécutable, et celui-ci va automatiquement scanner le contenu du
», charger le modèle, et générer un docx par fichier XML. Le docx
le nom du fichier XML et déposé dans le répertoire « Sortie ».
oint d’intérêt particulier
Ajouter les contrôles de contenu
Une fois la mise en page créée, il faut ajouter les contrôles de contenu. Les contrôles de contenu sont
» qui n’est pas affiché par défaut. Pour activer celui-ci
menu Office > Options Word > Standard et cochez l’option « Affichez l’onglet Développeur
30 Septembre 2007
on peut remarquer une série de fichiers XML, chacun d’entre eux
étant construit de la même manière que celui contenu dans le modèle, à la différence que ceux-ci
summary>
s qui à chaque fin de mission remplissent
une base de données avec des informations telles que le nom du client, la date et le sujet
rvention, via un client web. Cette société aimerait maintenant pouvoir, à partir des données
contenues dans cette base, générer automatiquement un rapport d’intervention par mission au
es données dans l’Open XML,
possible d’extraire les informations de la base les données, former les fichiers XML
ci dans un modèle de rapport d’intervention de la société.
» (cube OLAP,
puisque le fait de passer par un fichier
. Ce scénario requiert cependant une
: l’extraction des données d’une source de données et le
: il permet de générer à
documents Word 2007 correspondant, le tout
, et grâce aux notions de contrôles de contenu ainsi que de
ci va automatiquement scanner le contenu du
docx sera nommé
Une fois la mise en page créée, il faut ajouter les contrôles de contenu. Les contrôles de contenu sont
ci, allez dans le
Affichez l’onglet Développeur ».
Une fois celui-ci activé, l’onglet apparaît dans votre ruban Office, et dans cet onglet la zone des
contrôles de contenu. Il suffit de positionner son curseur à la position voulue pour le contrôle de
contenu, puis cliquez sur le contrôle de contenu désiré.
Une fois le contrôle de contenu ajouté, il faut maintenant créer le
contenu à ce data store.
(2) Créer un data store
La première étape est de renommer son fichier «
contenu dans un répertoire. A la racine du répertoire créer un répertoire nommé «
C’est dans ce répertoire que sont stockés les
document XML contenant les données,
l’identifiant et définissant la relation du d
Nous allons reprendre le document XML
placé dans le répertoire « /customXm
il serait tout à fait possible de le nommer autrement, simplement si l’on observe la méthode dont
Office Word 2007 crée, nomme ou renomme des parties dans l’XML
c’est le nom par défaut utilisé. Pour
Office Word 2007.
Il faut maintenant créer le fichier « itemProps1.xml
correspondant à notre fichier JulienMartin.xml
<?xml version="1.0" encoding="UTF
<ds:datastoreItem ds:itemID
xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml">
<ds:schemaRefs>
<ds:schemaRef ds:uri
</ds:schemaRefs>
</ds:datastoreItem>
Vous remarquerez que le nœud datastoreItem
identifier notre data store dans la couche de présentation.
Une fois le data store créé, il nous faut maintenant le relier au document. Pour cela il faut éditer le
document « document.xml.rels » pour y ajouter une relation entre document.xml et le
que celle-ci :
<Relationship
Type="http://schemas.openxmlformats.org/office
Document/2006/relationships/customXml
Target="../customXml/item1.xml
Cette relation doit être définie au niveau du document.xml,
mais aussi au niveau du data store
dans un répertoire nommé « _rels ».
30 Septembre
ci activé, l’onglet apparaît dans votre ruban Office, et dans cet onglet la zone des
fit de positionner son curseur à la position voulue pour le contrôle de
contenu, puis cliquez sur le contrôle de contenu désiré.
Une fois le contrôle de contenu ajouté, il faut maintenant créer le data store puis lier le contrôle de
data store dans le document
La première étape est de renommer son fichier « .docx » en « .zip » pour ensuite extraire son
contenu dans un répertoire. A la racine du répertoire créer un répertoire nommé «
C’est dans ce répertoire que sont stockés les XML data store. Un data store est composé d’un
document XML contenant les données, puis d’un document XML contenant ses propriétés
l’identifiant et définissant la relation du data store dans le document Word.
rendre le document XML définissant l’activité de Julien Martin. Celui
/customXml » et avec comme nom « item1.xml ». D’après la spécification
le nommer autrement, simplement si l’on observe la méthode dont
2007 crée, nomme ou renomme des parties dans l’XML data store, on s’aperçoit que
. Pour rester simple, nous respectons donc le schéma de nommage de
itemProps1.xml » qui va servir à identifier le data store
ienMartin.xml :
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
ds:datastoreItem ds:itemID="{E7C066FE-6FFB-46CA-9512-B7A19B9F1496}http://schemas.openxmlformats.org/officeDocument/2006/customX
ds:uri="www.softfluent.com" />
datastoreItem contient un GUID. C’est ce GUID qui servir
dans la couche de présentation.
créé, il nous faut maintenant le relier au document. Pour cela il faut éditer le
pour y ajouter une relation entre document.xml et le
Id="rId1"
http://schemas.openxmlformats.org/office
Document/2006/relationships/customXml"
../customXml/item1.xml" />
Cette relation doit être définie au niveau du document.xml,
et à la racine du document. Les relations sont toujours contenues
».
30 Septembre 2007
ci activé, l’onglet apparaît dans votre ruban Office, et dans cet onglet la zone des
fit de positionner son curseur à la position voulue pour le contrôle de
puis lier le contrôle de
pour ensuite extraire son
contenu dans un répertoire. A la racine du répertoire créer un répertoire nommé « customXml ».
est composé d’un
d’un document XML contenant ses propriétés
définissant l’activité de Julien Martin. Celui-ci devra être
». D’après la spécification
le nommer autrement, simplement si l’on observe la méthode dont
on s’aperçoit que
le schéma de nommage de
tore. Voici celui
B7A19B9F1496}"
http://schemas.openxmlformats.org/officeDocument/2006/customX
contient un GUID. C’est ce GUID qui servira à
créé, il nous faut maintenant le relier au document. Pour cela il faut éditer le
pour y ajouter une relation entre document.xml et le data store, tel
toujours contenues
b) Lier le contrôle de contenu au d
Il faut maintenant lier les deux fonctionnalités entre elles. Malheureusement il n’existe pas pour
l’instant d’interface graphique dans
dans le XML du document.
Au niveau de notre contrôle de contenu (correspond à l’élément «
document.xml), on va rajouter un élément nommé «
permet de relier à un contrôle de contenu des données. Dans cet élément
donc dans quel data store puiser l’information
valeur aller chercher dans notre d
DataBinding pour récupérer le nom dans notre rapport exemple
<w:dataBinding
w:xpath="/ns0:root[1]/ns0:name[1]
9512-B7A19B9F1496}" />
Il faut maintenant sauvegarder le tout, reconstruire l’archive
alors d’un contrôle de contenu lié
étape, je vous invite à consulter la spécification disponible s
international.org/publications/standards/Ecma
partie.
Maintenant que vous connaissez la théorie, il existe un outil nommé le «
(http://openxmldeveloper.org/archive/2006/11/21/ContentControlToolkit.asp
x) qui va vous rendre la vie bien plus facile, en permettant d’écrire depuis une interface graphique
votre data store et surtout de pouvoir le lier
c) Créer le document Word final
Une fois le document modèle créé, il suffit donc de remplacer le
contenant les informations voulues. La méthode effectuant l’opération de remplacement est la
méthode ReplaceXmlDataInZip
librairie SharpZipLib pour décompresser
tout.
30 Septembre
Lier le contrôle de contenu au data store
Il faut maintenant lier les deux fonctionnalités entre elles. Malheureusement il n’existe pas pour
l’instant d’interface graphique dans Office Word pour le faire, nous allons donc le faire à l
Au niveau de notre contrôle de contenu (correspond à l’élément « placeHolder
on va rajouter un élément nommé « dataBinding » qui, comme son nom l’indique,
relier à un contrôle de contenu des données. Dans cet élément dataBinding
puiser l’information grâce au GUID défini auparavant et ensuite quelle
data store grâce à une expression XPath. Voici un exemple de
pour récupérer le nom dans notre rapport exemple :
w:prefixMappings="xmlns:ns0='www.softfluent.com'
/ns0:root[1]/ns0:name[1]" w:storeItemID="{E7C066FE-
maintenant sauvegarder le tout, reconstruire l’archive, la renommer en docx, et vous
à un élément de votre data store. Pour en savoir plus sur cette
étape, je vous invite à consulter la spécification disponible sur le site de l’ECMA (http://www.ecma
international.org/publications/standards/Ecma-376.htm), et qui explique bien plus en détail cette
connaissez la théorie, il existe un outil nommé le « Content Control Toolkit
http://openxmldeveloper.org/archive/2006/11/21/ContentControlToolkit.asp
qui va vous rendre la vie bien plus facile, en permettant d’écrire depuis une interface graphique
et surtout de pouvoir le lier par « glisser-déposer » au contrôle de contenu désiré.
Créer le document Word final
Une fois le document modèle créé, il suffit donc de remplacer le data store initial par le fichier XML
ns voulues. La méthode effectuant l’opération de remplacement est la
ReplaceXmlDataInZip. Un fichier docx étant une archive ZIP, le prototype utilise la
rie SharpZipLib pour décompresser l’archive, puis remplacer le fichier XML, et re
30 Septembre 2007
Il faut maintenant lier les deux fonctionnalités entre elles. Malheureusement il n’existe pas pour
aire, nous allons donc le faire à la main
older » dans le
» qui, comme son nom l’indique,
dataBinding, précisons
et ensuite quelle
Voici un exemple de
xmlns:ns0='www.softfluent.com'"
-6FFB-46CA-
, et vous disposez
Pour en savoir plus sur cette
http://www.ecma-
), et qui explique bien plus en détail cette
Content Control Toolkit »
http://openxmldeveloper.org/archive/2006/11/21/ContentControlToolkit.asp
qui va vous rendre la vie bien plus facile, en permettant d’écrire depuis une interface graphique
au contrôle de contenu désiré.
initial par le fichier XML
ns voulues. La méthode effectuant l’opération de remplacement est la
étant une archive ZIP, le prototype utilise la
le fichier XML, et reconstruire le
Voici le code correspondant :
Une fois l’archive reformée avec le
l’opération est terminée.
private static void ReplaceXmlDataInZip(
{
string fileName = GetFileNameWithoutExtension(zipFileFullName,
FastZip fastZip = new
fastZip.ExtractZip(zipFileFullName, fileName,
File.Copy(xmlFullName, xmlfileToReplace,
fastZip.CreateZip(fileName +
}
30 Septembre
Une fois l’archive reformée avec le nouveau data store il suffit de changer l’extension en
ReplaceXmlDataInZip(string xmlfileToReplace,
string xmlFullName,
string zipFileFullName)
fileName = GetFileNameWithoutExtension(zipFileFullName,
new FastZip();
fastZip.ExtractZip(zipFileFullName, fileName, null);
.Copy(xmlFullName, xmlfileToReplace, true);
fastZip.CreateZip(fileName + ".docx", fileName, true, null
30 Septembre 2007
il suffit de changer l’extension en « .docx » et
fileName = GetFileNameWithoutExtension(zipFileFullName, ".zip");
null);
D. La création dynamique de présentations Powerpoint
Comme présenté en introduction du prototype précédent, l
d’un standard ouvert de l’ECMA, originellement introduit par Microsoft, définissant un format de
données pour les documents d’applications bureautiques tels que
PowerPoint 2007. Ce format est intégralement structuré en XML et le tout est compressé sous forme
d’une archive ZIP, ce qui rend possible la création programmatique d’un docume
avoir recours à OLE Automation.
Le prototype PresentationMLCreator a pour tâche d’illustrer
automatique de présentations Open XML (dit presentationML).
Il est cependant important de noter que lors de l’écriture de ce livre bla
« Microsoft SDK for Open XML formats (June CTP)
bien plus aisément et qui propose ce
développées dans ce prototype.
1. Pré-requis
PresentationMLCreator s’appuie sur le Framework 2.0 ainsi que sur l’API de gestion de package Open
XML (System.IO.Packaging) contenue dans la librairie WindowsBase.dll du Framework 3.0. Il fau
donc avoir le Framework 3.0 installé
En utilisant l’API contenue dans System.IO.Packaging du Framework 3.0, PresentationMLCreator crée
des présentations en respectant la spécification Open XML disponible sur le site de l’ECMA
(http://www.ecma-international.org/publications/standards/Ecma
l’architecture d’une présentation PowerPoint 2007 comme ceci
30 Septembre
La création dynamique de présentations Powerpoint
Comme présenté en introduction du prototype précédent, l’Open XML est la désignation d’usage
d’un standard ouvert de l’ECMA, originellement introduit par Microsoft, définissant un format de
données pour les documents d’applications bureautiques tels que Word 2007, Excel 2007 et
tégralement structuré en XML et le tout est compressé sous forme
d’une archive ZIP, ce qui rend possible la création programmatique d’un document Office 2007 sans
e prototype PresentationMLCreator a pour tâche d’illustrer ce principe dans un cadre de
automatique de présentations Open XML (dit presentationML).
Il est cependant important de noter que lors de l’écriture de ce livre blanc, Microsoft a publié le
osoft SDK for Open XML formats (June CTP) » qui permet de manipuler des fichiers Open XML
bien plus aisément et qui propose certaines classes (tel que Slide ou Presentation
sur le Framework 2.0 ainsi que sur l’API de gestion de package Open
XML (System.IO.Packaging) contenue dans la librairie WindowsBase.dll du Framework 3.0. Il fau
donc avoir le Framework 3.0 installé ou au minimum le Framework 2.0 et la dll concernée.
utilisant l’API contenue dans System.IO.Packaging du Framework 3.0, PresentationMLCreator crée
des présentations en respectant la spécification Open XML disponible sur le site de l’ECMA
international.org/publications/standards/Ecma-376.htm). Celle
l’architecture d’une présentation PowerPoint 2007 comme ceci :
30 Septembre 2007
’Open XML est la désignation d’usage
d’un standard ouvert de l’ECMA, originellement introduit par Microsoft, définissant un format de
2007, Excel 2007 et
tégralement structuré en XML et le tout est compressé sous forme
nt Office 2007 sans
e principe dans un cadre de création
nc, Microsoft a publié le
de manipuler des fichiers Open XML
Presentation) qui ont été
sur le Framework 2.0 ainsi que sur l’API de gestion de package Open
XML (System.IO.Packaging) contenue dans la librairie WindowsBase.dll du Framework 3.0. Il faut
ou au minimum le Framework 2.0 et la dll concernée.
utilisant l’API contenue dans System.IO.Packaging du Framework 3.0, PresentationMLCreator crée
des présentations en respectant la spécification Open XML disponible sur le site de l’ECMA
). Celle-ci définit
Comme on peut le voir sur le schéma ci
package Open XML, cependant le fonctionnement de toutes les parties d’un package Open XML a un
fonctionnement identique, seules ses relations peuvent varier
que la création de diapositives puisque la méthode utilisée peut être utilisé
autre partie du package.
2. Utilisation du prototype
PresentationMLCreator permet à partir d’un modèle XML défini par l’utilisateur et passé en
paramètre à l’exécutable ; de générer en sorti
XML. Le prototype n’a pas besoin d’avoir Office 2007 d’installé sur la machine pour générer celle
et par conséquent il pourrait parfaitement tourner sur un serveur.
Le fichier model.xml fourni avec le p
présentation, et à partir de laquelle notre présentation va être générée
<presentation name="SamplePresentation
<slide title="Toto" content
<slide title="
picture="SoftFluentLogo.jpg
<slide title="Tutu" content
</presentation>
D’après ce modèle, PresentationMLCreator va générer une présentation nommée
SamplePresentation.pptx, contenant trois
30 Septembre
on peut le voir sur le schéma ci-dessus, les diapositives (slides) ne sont qu’une partie du
package Open XML, cependant le fonctionnement de toutes les parties d’un package Open XML a un
es ses relations peuvent varier. C’est pourquoi le prototype n’illustre
uisque la méthode utilisée peut être utilisée pour n’importe qu’elle
PresentationMLCreator permet à partir d’un modèle XML défini par l’utilisateur et passé en
; de générer en sortie une présentation PowerPoint 2007 au format Open
XML. Le prototype n’a pas besoin d’avoir Office 2007 d’installé sur la machine pour générer celle
et par conséquent il pourrait parfaitement tourner sur un serveur.
avec le prototype est un exemple de modèle définissant une
présentation, et à partir de laquelle notre présentation va être générée :
SamplePresentation">
content="Slide 1: toto" />
"Titi" content="Slide 2: titi
SoftFluentLogo.jpg" />
content="Slide 3: tutu" />
D’après ce modèle, PresentationMLCreator va générer une présentation nommée
, contenant trois diapositives ayant pour titres Toto, Titi,
30 Septembre 2007
ne sont qu’une partie du
package Open XML, cependant le fonctionnement de toutes les parties d’un package Open XML a un
. C’est pourquoi le prototype n’illustre
pour n’importe qu’elle
PresentationMLCreator permet à partir d’un modèle XML défini par l’utilisateur et passé en
e une présentation PowerPoint 2007 au format Open
XML. Le prototype n’a pas besoin d’avoir Office 2007 d’installé sur la machine pour générer celle-ci,
rototype est un exemple de modèle définissant une
Slide 2: titi"
D’après ce modèle, PresentationMLCreator va générer une présentation nommée
, Tutu et divers
contenus. En ajoutant l’attribut picture
PresentationMLCreator va ajouter au milieu
3. Points d’intérêts particuliers
a) L’utilisation de modèles
Pour créer la présentation en sortie PresentationMLCreator se base sur un modèle de présentation
vide, contenant deux diapositives vide.
La raison de ce choix est que bien qu’une présentation
Office 2007 soit du XML, cela reste quand même lourd de
générer l’intégralité du XML. Le prototype est donc basé
sur une logique de modèles, utilisant une présentation
modèle pour le squelette de la présentation, un modèle
XML pour générer des diapositives, ainsi qu’un modèle XML
pour générer les nœuds XML définissan
De plus l’intérêt d’utiliser des modèles est que sans
modifier le code source du projet, l’on peut facilement
changer l’aspect des documents générés.
Ces trois modèles sont inclus dans l’exécutable et sont visible dans les sources sous le rép
« Resources ». Une fois les modèles créés, PresentationMLCreator se contente de les utiliser en y
incorporant les données définies par l’utilisateur dans le fichier XML passé en paramètre.
Une fois les données de la présentation à générer chargées,
de notre document. La production s’organise en quatre étapes
1. Ouverture du package
2. Ouverture / Création de la diapositive
3. Ajout des données dans la diapositive
4. Sauvegarde et fermeture du package
b) Manipulation du package et des ses éléments
Un package Open XML correspond au document Open XML (ici un
qui est lui-même composé de « parts
classes pour gérer le package (System.IO.Packaging.Package) ainsi que ses
parts (System.IO.Packaging.PackagePart). De manière à ce que leur
manipulation soit plus aisée, nous utilisons nos propres classes qui
encapsulent celles-ci comme par exemple pour la gestion du package.
La classe s’occupant de gérer le package s’appelle
nous facilite l’utilisation de la classe du Framework, pour l’ajout, la
récupération ou la sauvegarde des relations et des parts.
30 Septembre
picture avec comme valeur un chemin valide vers une image,
PresentationMLCreator va ajouter au milieu de la diapositive l’image correspondante.
particuliers
Pour créer la présentation en sortie PresentationMLCreator se base sur un modèle de présentation
vide.
La raison de ce choix est que bien qu’une présentation
Office 2007 soit du XML, cela reste quand même lourd de
r l’intégralité du XML. Le prototype est donc basé
sur une logique de modèles, utilisant une présentation
modèle pour le squelette de la présentation, un modèle
, ainsi qu’un modèle XML
pour générer les nœuds XML définissant des images.
De plus l’intérêt d’utiliser des modèles est que sans
modifier le code source du projet, l’on peut facilement
changer l’aspect des documents générés.
Ces trois modèles sont inclus dans l’exécutable et sont visible dans les sources sous le rép
». Une fois les modèles créés, PresentationMLCreator se contente de les utiliser en y
incorporant les données définies par l’utilisateur dans le fichier XML passé en paramètre.
Une fois les données de la présentation à générer chargées, l’on peut passer à l’étape de production
de notre document. La production s’organise en quatre étapes :
de la diapositive
Ajout des données dans la diapositive
Sauvegarde et fermeture du package
package et des ses éléments
Un package Open XML correspond au document Open XML (ici un pptx),
parts ». Le Framework 3.0 fournit des
classes pour gérer le package (System.IO.Packaging.Package) ainsi que ses
ckaging.PackagePart). De manière à ce que leur
manipulation soit plus aisée, nous utilisons nos propres classes qui
ci comme par exemple pour la gestion du package.
La classe s’occupant de gérer le package s’appelle PackageManager et
s facilite l’utilisation de la classe du Framework, pour l’ajout, la
récupération ou la sauvegarde des relations et des parts.
30 Septembre 2007
avec comme valeur un chemin valide vers une image,
Pour créer la présentation en sortie PresentationMLCreator se base sur un modèle de présentation
Ces trois modèles sont inclus dans l’exécutable et sont visible dans les sources sous le répertoire
». Une fois les modèles créés, PresentationMLCreator se contente de les utiliser en y
incorporant les données définies par l’utilisateur dans le fichier XML passé en paramètre.
l’on peut passer à l’étape de production
Cette classe va être utilisée par toutes les autres classes manipulant notre package tel que
Presentation.
Dans un fichier Open XML, n’importe quel élément le composant est un «
ils ont tous le même comportement au sein du package. Du c
notre présentation, un graphique, une note ou autre, cela revient au mêm
ce sont des PackagePart.
Vous retrouverez donc deux classes,
manière plus concrète :
Par conséquent, grâce à ces classes, pour ajouter une nouvelle
XML à partir de notre modèle de présentation, il suffit de faire
using (PackageManager packageManager =
new PackageManager
{
Slide slide = Slide.Create(packageManager,
Properties.Resources
Presentation presentation =
presentation.AddSlide(slide);
presentation.Save();
}
30 Septembre
Cette classe va être utilisée par toutes les autres classes manipulant notre package tel que
hier Open XML, n’importe quel élément le composant est un « part » et par conséquent,
ils ont tous le même comportement au sein du package. Du coup, que mon part soit une diapositive
notre présentation, un graphique, une note ou autre, cela revient au même au niveau du package
Vous retrouverez donc deux classes, Slide et Presentation, qui permettent de gérer ces
classes, pour ajouter une nouvelle diapositive à une présentation Open
XML à partir de notre modèle de présentation, il suffit de faire :
packageManager =
PackageManager(Properties.Resources.PresentationTemplate))
.Create(packageManager, "slide1.xml",
Resources.SlideTemplate, "slideLayout1");
presentation = Presentation.Open(packageManager);
presentation.AddSlide(slide);
30 Septembre 2007
Cette classe va être utilisée par toutes les autres classes manipulant notre package tel que Slide ou
» et par conséquent,
soit une diapositive,
e au niveau du package :
, qui permettent de gérer ces parts de
ésentation Open
.PresentationTemplate))
.Open(packageManager);
c) Ajout de texte dans une diapositive
Le format Open XML étant documenté l’on sait précisément comment et où sont stockés les
informations. De ce fait, l’on sait précisément comment manipuler du texte, des images, des
graphiques, animations, timings, etc.
Le texte en presentationML est conten
SlideTemplate.xml. Il nous suffit donc dd récupérer ce PlaceHolder et d’insérer le texte dans celui
tout en respectant la norme Open XML, tel que
public void WritePlaceholderString(
{
string xPathQuery = string
"/p:txBody/a:p/a:endParaRPr", name);
XPathNavigator
PackageData.CreateNavigator().SelectSingleNode(xPathQuery,
using (XmlWriter writer = subTitleNav.InsertBefore())
{
// <a:r>
// <a:t>Text String</a:t>
// </a:r>
writer.WriteStartElement(
Constants.DrawingMLNamespace);
writer.WriteElementString(
Constants.DrawingMLNamespace, text);
writer.WriteEndElement();
} }
30 Septembre
diapositive
Le format Open XML étant documenté l’on sait précisément comment et où sont stockés les
informations. De ce fait, l’on sait précisément comment manipuler du texte, des images, des
graphiques, animations, timings, etc.
Le texte en presentationML est contenu dans un PlaceHolder, qui est déjà créé dans notre modèle
. Il nous suffit donc dd récupérer ce PlaceHolder et d’insérer le texte dans celui
tout en respectant la norme Open XML, tel que :
WritePlaceholderString(string name, string text)
string.Format("//p:sp[p:nvSpPr/p:cNvPr/@name='{0}']"
, name);
subTitleNav =
PackageData.CreateNavigator().SelectSingleNode(xPathQuery, Constants.NamespaceManager);
writer = subTitleNav.InsertBefore())
// <a:t>Text String</a:t>
writer.WriteStartElement(Constants.DrawingMLPrefix,
.DrawingMLNamespace);
writer.WriteElementString(Constants.DrawingMLPrefix,
.DrawingMLNamespace, text);
writer.WriteEndElement();
30 Septembre 2007
Le format Open XML étant documenté l’on sait précisément comment et où sont stockés les
informations. De ce fait, l’on sait précisément comment manipuler du texte, des images, des
u dans un PlaceHolder, qui est déjà créé dans notre modèle
. Il nous suffit donc dd récupérer ce PlaceHolder et d’insérer le texte dans celui-ci,
"//p:sp[p:nvSpPr/p:cNvPr/@name='{0}']" +
subTitleNav =
.NamespaceManager);
"r",
"t",
d) Ajout d’images dans une
L’ajout d’une image dans une diapositive
images contenues dans le document sont elles aussi contenues dans le package. Les images sont elles
aussi des parts contenues dans le répertoire /ppt/media du package. Il faut donc
1. Créer le part
2. Créer la relation qui lie la diapositive
3. Ajouter le presentationML c
Tout ceci est fait dans la méthode AddPicture dans la classe Slide
Le PictureTemplate utilisé dans la méthode contient l’ensemble du XML pour créer un élément image
dans une diapositive selon la norme Open XML.
public void AddPicture(string pictureName,
{
using (MemoryStream ms = new
{
bitmap.Save(ms, Slide.GetImageFormat(contentType)
byte[] data = ms.GetBuffer();
// create the media part
Uri mediaUri = new
UriKind.Relative);
this.Package.CreateNewPart(mediaUri,
// create the relationship
string rId = this
Constants.ImageRelationshipType);
// add the picture element to
XPathNavigator
PackageData.CreateNavigator().SelectSingleNode(
Constants.NamespaceManager);
slideNav.AppendChild(string
pictureName, rId));
} }
30 Septembre
diapositive
diapositive suit le même principe que l’ajout de texte, excepté que les
images contenues dans le document sont elles aussi contenues dans le package. Les images sont elles
contenues dans le répertoire /ppt/media du package. Il faut donc :
diapositive à l’image
Ajouter le presentationML correspondant à une image dans la diapositive
Tout ceci est fait dans la méthode AddPicture dans la classe Slide :
utilisé dans la méthode contient l’ensemble du XML pour créer un élément image
selon la norme Open XML.
pictureName, Bitmap bitmap, string contentType
new MemoryStream())
.GetImageFormat(contentType));
[] data = ms.GetBuffer();
// create the media part
new Uri(string.Format("/ppt/media/{0}"
.Package.CreateNewPart(mediaUri, contentType, data, 0, (int
// create the relationship
this.Package.CreateInternalRelationship(this
.ImageRelationshipType);
// add the picture element to the slide, with the correct relationship Id
slideNav =
PackageData.CreateNavigator().SelectSingleNode("/p:sld/p:cSld/p:spTree"
.NamespaceManager);
string.Format(Properties.Resources.PictureTemplate,
30 Septembre 2007
suit le même principe que l’ajout de texte, excepté que les
images contenues dans le document sont elles aussi contenues dans le package. Les images sont elles
utilisé dans la méthode contient l’ensemble du XML pour créer un élément image
contentType)
"/ppt/media/{0}", pictureName),
int)ms.Length);
this.Uri, mediaUri,
the slide, with the correct relationship Id
slideNav =
"/p:sld/p:cSld/p:spTree",
.PictureTemplate,
E. L’utilisation du protocole Webdav
Bien que pas directement lié à Office 2007 car disponible depuis des versions antérieures d’Office, le
support de WebDav nous apparaît un élément intéressant à mentionner car plusieurs éditeurs nous
ont fait des demandes sur la manière de sauvegarder les
combinaison de Webdav et de la manipulation de données métiers par service web que les scénarios
deviennent intéressants, par exemple pour de la gestion documentaire associée à une application
métier. Il est fréquent de vouloir associer des pièces jointes à un dossier, certaines de ces pièces
pouvant d’ailleurs héberger des données structurées à l’aide des contrôles de contenu dans un
scénario Office 2007.
Les éditeurs de logiciels cherchent en effet souvent à permet
des documents sur un référentiel distant tel qu’un serveur «
fonctionne à partir du moment où le serveur supporte le protocole WebDav. IIS nécessite une
configuration pour cela mais supporte cette fonctionnalité.
Comme cela est finalement assez peu connu, nous avons mis à disposition ce serveur pour
démonstration. Pour l’utiliser il suffit d’entrer l’url
comme répertoire d’enregistrement de votre document, au moment de la sauvegarde de celui
dans Office. Il vous sera demandé un nom d’utilisateur et mot de passe, identique à ceux donnés
pour les autres prototypes (voir liste des li
Dans un scénario réel intégré à une application, il
d’enregistrement pour une expérience utilisateur simplifiée, en
encapsuler ces éléments.
Voici les liens des sites qui nous ont permis de mettre ce serveur en place :
• http://www.windowsnetworking.com/articles_tutorials/WebDAV
• http://www.laboratoire-microsoft.org/articles/mise
30 Septembre
L’utilisation du protocole Webdav
Bien que pas directement lié à Office 2007 car disponible depuis des versions antérieures d’Office, le
support de WebDav nous apparaît un élément intéressant à mentionner car plusieurs éditeurs nous
sur la manière de sauvegarder les documents en HTTP. C’est surtout dans la
combinaison de Webdav et de la manipulation de données métiers par service web que les scénarios
deviennent intéressants, par exemple pour de la gestion documentaire associée à une application
t de vouloir associer des pièces jointes à un dossier, certaines de ces pièces
pouvant d’ailleurs héberger des données structurées à l’aide des contrôles de contenu dans un
Les éditeurs de logiciels cherchent en effet souvent à permettre à un client de sauvegarder en HTTP
des documents sur un référentiel distant tel qu’un serveur « Internet Information Server
fonctionne à partir du moment où le serveur supporte le protocole WebDav. IIS nécessite une
supporte cette fonctionnalité.
est finalement assez peu connu, nous avons mis à disposition ce serveur pour
démonstration. Pour l’utiliser il suffit d’entrer l’url http://office.softfluent.com/WebDav sample
comme répertoire d’enregistrement de votre document, au moment de la sauvegarde de celui
dans Office. Il vous sera demandé un nom d’utilisateur et mot de passe, identique à ceux donnés
(voir liste des liens en fin de document).
Dans un scénario réel intégré à une application, il est possible d’automatiser le choix du répertoire
d’enregistrement pour une expérience utilisateur simplifiée, en réalisant un développement
es liens des sites qui nous ont permis de mettre ce serveur en place :
http://www.windowsnetworking.com/articles_tutorials/WebDAV-IIS.html
microsoft.org/articles/mise-en-place-webdav-iis6
30 Septembre 2007
Bien que pas directement lié à Office 2007 car disponible depuis des versions antérieures d’Office, le
support de WebDav nous apparaît un élément intéressant à mentionner car plusieurs éditeurs nous
. C’est surtout dans la
combinaison de Webdav et de la manipulation de données métiers par service web que les scénarios
deviennent intéressants, par exemple pour de la gestion documentaire associée à une application
t de vouloir associer des pièces jointes à un dossier, certaines de ces pièces
pouvant d’ailleurs héberger des données structurées à l’aide des contrôles de contenu dans un
tre à un client de sauvegarder en HTTP
Internet Information Server ». Cela
fonctionne à partir du moment où le serveur supporte le protocole WebDav. IIS nécessite une
est finalement assez peu connu, nous avons mis à disposition ce serveur pour
ent.com/WebDav sample
comme répertoire d’enregistrement de votre document, au moment de la sauvegarde de celui-ci
dans Office. Il vous sera demandé un nom d’utilisateur et mot de passe, identique à ceux donnés
possible d’automatiser le choix du répertoire
développement pour
VII. Conclusion
Au travers de ce livre blanc, nous espérons vous avoir fait partager notre enthousiasme sur les
nouvelles possibilités d’Office 2007 et la formidable opportunité
qui souhaite développer des applications innovantes pour ses utilisateurs.
Les scénarios en introduction ne sont que quelques pistes de réflexion et nous faisons confiance aux
développeurs et aux sociétés spécialisées sur un secteur pour imaginer les scénarios réels qu’ils
pourront développer et faire adopter sur leur marché, en s’appuyant au besoin sur
Les exemples des éditeurs déjà présents dans ce livre blanc démontrent la div
et solutions apportées aux enjeux des clients.
A notre sens, l’investissement notable
constitue une preuve tangible de l’évolution d’
utilisateurs vers une plate-forme de construction d’applications «
Bien sûr, nous ne sommes qu’au début de cette évolution
temps avant d’être une réalité quotidienne,
d’avance sur le marché qui en tireront les bénéfices.
Et dans la mesure où cette transformation est en cours, nous aimons conseiller à nos clients, et en
particulier les éditeurs de logiciels, de participer activement à cette t
d’attendre de la subir.
N’hésitez pas à nous contacter pour échanger sur c
30 Septembre
Au travers de ce livre blanc, nous espérons vous avoir fait partager notre enthousiasme sur les
d’Office 2007 et la formidable opportunité de marché que cela constitue pour
qui souhaite développer des applications innovantes pour ses utilisateurs.
Les scénarios en introduction ne sont que quelques pistes de réflexion et nous faisons confiance aux
veloppeurs et aux sociétés spécialisées sur un secteur pour imaginer les scénarios réels qu’ils
t faire adopter sur leur marché, en s’appuyant au besoin sur
Les exemples des éditeurs déjà présents dans ce livre blanc démontrent la diversité des opportunités
aux enjeux des clients.
notable et précoce d’un nombre significatif d’éditeurs de logiciels
constitue une preuve tangible de l’évolution d’Office 2007 d’une simple suite de produ
forme de construction d’applications « métier ».
Bien sûr, nous ne sommes qu’au début de cette évolution en profondeur qui prendra un certain
temps avant d’être une réalité quotidienne, mais ce sont les sociétés qui sauront prendre un coup
d’avance sur le marché qui en tireront les bénéfices.
Et dans la mesure où cette transformation est en cours, nous aimons conseiller à nos clients, et en
particulier les éditeurs de logiciels, de participer activement à cette transformation plu
N’hésitez pas à nous contacter pour échanger sur ce sujet, même pour une simple discussion.
30 Septembre 2007
Au travers de ce livre blanc, nous espérons vous avoir fait partager notre enthousiasme sur les
marché que cela constitue pour
Les scénarios en introduction ne sont que quelques pistes de réflexion et nous faisons confiance aux
veloppeurs et aux sociétés spécialisées sur un secteur pour imaginer les scénarios réels qu’ils
ersité des opportunités
éditeurs de logiciels
Office 2007 d’une simple suite de productivité pour les
en profondeur qui prendra un certain
qui sauront prendre un coup
Et dans la mesure où cette transformation est en cours, nous aimons conseiller à nos clients, et en
ransformation plutôt que
e sujet, même pour une simple discussion.
VIII. Quelques liens utiles
Nom du lien
Microsoft
Page France sur Office 2007
Inscription gratuite au programme
« Innovate On » de Microsoft
Livre blanc Office Business Applications
Pack de compatibilité Office 2007
Centre de développement Office
L’utilisation d’Open XML
L’espace développement Open XML
Microsoft SDK for Open XML format
Les contrôles de contenu
Liste des éléments et attributs du XML d’un
ruban
Documentation sur le déploiement d’un
complément Office 2007
Complément Excel 2007 pour la gestion des
listes synchronisées
Solutions développées par les éditeurs
Calypteo
Esker
Produit Flydoc
ILOG
Produit Rules for .NET
Symtrax
Medasys
Témoignages vidéos
Calypteo / SoftFluent
30 Septembre
Lien
http://www.microsoft.com/france/office/2007/version2007.mspx
http://microsoft.mrmpslc.com/Office2007/Default.aspx?LangType=4105
http://members.microsoft.com/partner/france/editeurs/innovation.aspx
http://www.microsoft.com/downloads/details.aspx?familyid=736b9708
a332-4aa7-a4d9-5971c486b9e1&displaylang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=941B3470
3AE9-4AEE-8F43-C6BB74CD1466&displaylang=en
http://msdn2.microsoft.com/fr-fr/office/default.aspx
http://msdn2.microsoft.com/fr-fr/office/bb409619.aspx
http://www.microsoft.com/france/msdn/office/openxml/default.mspx
http://www.microsoft.com/downloads/details.aspx?FamilyID=AD0B72FB
4A1D-4C52-BDB5-7DD7E816D046&mg_id=10124
http://msdn2.microsoft.com/en-us/library/bb243344.aspx
Liste des éléments et attributs du XML d’un http://msdn2.microsoft.com/en-us/library/aa338199.aspx
oiement d’un http://msdn2.microsoft.com/en-us/library/bb332051.aspx
http://msdn2.microsoft.com/en-us/library/bb332052.aspx
Complément Excel 2007 pour la gestion des http://www.microsoft.com/downloads/details.aspx?FamilyID=25836E52
1892-4E17-AC08-5DF13CFC5295&displaylang=en
Solutions développées par les éditeurs
http://www.calypteo.com
http://www.esker.com
http://www.flydoc.com
http://www.ilog.com
http://www.ilog.com/products/rulesnet
http://www.symtrax.fr
http://www.medasys.com
http://www.microsoft.com/France/Temoignages/Fiche-
avec-webcast.aspx?EID=bb003a96-cf46-46a6-8749-a8397d34ecec
30 Septembre 2007
http://www.microsoft.com/france/office/2007/version2007.mspx
http://microsoft.mrmpslc.com/Office2007/Default.aspx?LangType=4105
om/partner/france/editeurs/innovation.aspx
?familyid=736b9708-
http://www.microsoft.com/downloads/details.aspx?FamilyID=941B3470-
fr/office/bb409619.aspx
http://www.microsoft.com/france/msdn/office/openxml/default.mspx
http://www.microsoft.com/downloads/details.aspx?FamilyID=AD0B72FB-
us/library/bb243344.aspx
us/library/aa338199.aspx
us/library/bb332051.aspx
us/library/bb332052.aspx
http://www.microsoft.com/downloads/details.aspx?FamilyID=25836E52-
-Temoignage-
a8397d34ecec
CEGID
Dassault Systèmes
ILOG
Kayentis
KDS
Lexis-Nexis
Schneider Electric
Blogs et contenu communautaire
RL Consulting : société d’expertise
SharePoint utilisée par plusieurs éditeurs
de logiciels
Blog de Franck Halmaert (Marketing Office)
Blog de Pierre Lagarde (Contenu dév.
Office)
Communauté Open XML
Exemple d’une combinaison de contrôles
de contenu avec un data store
Liste des identifiants des fonctionnalités et
images existantes dans Office 2007
Mise en œuvre de Webdav avec IIS
L’utilisation des listes synchronisées sous
Excel en version 2007 (article)
Liens Softfluent
SoftFluent
CodeFluent.com: Service gratuit de
fabrication de composants métiers
Email de contact
Prototypes Office 2007 développés par SoftFluent
Prototypes Office 2007 avec code et
documentation
30 Septembre
http://www.microsoft.com/France/Temoignages/Fiche-
avec-webcast.aspx?EID=5d51e7f1-95a2-474a-ac07-c1067e8d7
http://news.com.com/1606-2_3-6182663.html
http://www.microsoft.com/France/Temoignages/Fiche-
avec-webcast.aspx?EID=3d523c43-a082-4d6b-a667-308649cb05b5
http://www.microsoft.com/France/Temoignages/Fiche-
avec-webcast.aspx?EID=0cd3833b-092d-405c-9f1c-9b8af05a
http://www.microsoft.com/France/Temoignages/Fiche-
avec-webcast.aspx?EID=6c708a71-ac13-4f48-a6a7-b5f28b4a59d5
http://www.microsoft.com/France/Temoignages/Fiche-
avec-webcast.aspx?EID=2150e505-6089-4778-a94a-e2cfd730a904
http://www.microsoft.com/France/Temoignages/Fiche-
avec-webcast.aspx?EID=5fb50ed6-2aa2-4693-b0c4-76847d8b94c4
utilisée par plusieurs éditeurs
http://www.rlconsulting.eu
Halmaert (Marketing Office) http://blogs.microsoft.fr/franckha
http://blogs.developpeur.org/fox
http://openxmldeveloper.org
Exemple d’une combinaison de contrôles http://openxmldeveloper.org/articles/Mapping_Content_Controls_to_Cu
stom_XML_Parts_using_Notepad.aspx
fonctionnalités et http://www.sunflowerhead.com/msimages/Office2007IconsGallery.zip
http://www.laboratoire-microsoft.org/articles/mise-en-
L’utilisation des listes synchronisées sous http://www.softfluent.com/article_excellist_fr.aspx
http://www.softfluent.com
http://www.codefluent.com
Prototypes Office 2007 développés par SoftFluent
http://office.softfluent.com
Compte office.microsoft, Mot de passe @@Office2007
30 Septembre 2007
-Temoignage-
c1067e8d7f5b
-Temoignage-
308649cb05b5
-Temoignage-
9b8af05a66b3
-Temoignage-
8b4a59d5
-Temoignage-
e2cfd730a904
-Temoignage-
76847d8b94c4
http://openxmldeveloper.org/articles/Mapping_Content_Controls_to_Cu
http://www.sunflowerhead.com/msimages/Office2007IconsGallery.zip
-place-webdav-iis6