You are on page 1of 51

Workshop CampusXML

le forum francophone de l'IFRA dédié à l'évolution des systèmes


d'informations dans le monde de la presse

Les concepts fondamentaux de DITA


(Darwin Information Typing Architecture)

4 juin 2009

blog : http://blog.tuquoque.com/
mail : peccatte [at] softexperience.com © 2009 – Patrick Peccatte
Plan

Introduction - les différentes "cultures du document"


La documentation technique - DocBook, DITA
Les concepts fondamentaux de DITA
Introduction

DITA (Darwin Information Typing Architecture)


Technologie XML destinée à la rédaction, à la production
et à la livraison de documents techniques sous
diverses formes

Mais nous sommes dans la presse !


Pourquoi s'intéresser à DITA ?
Introduction – un "retour en arrière"
« Il pourrait être intéressant d’adapter les concepts à l’œuvre
dans DITA au domaine de la presse quand la catégorisation par
sujets est forte et la structuration éditoriale ou narrative n’est pas
prédominante »
XML et les formats de traitement de texte et de mise en page
Patrick Peccatte - Étude pour l'IFRA, juillet 2006

L'actuelle présentation explique ce point de vue en :


- montrant que la presse doit rester attentive aux
technologies déployées dans tous les secteurs
où l'on partage des contenus
- décrivant les concepts fondamentaux développés
sous la forme de DITA dans l'un de ces secteurs
Introduction
Un constat banal : les contenus partagés sont
présents ailleurs que dans la presse
Élargir le champ d'interrogation
Acquérir différentes "cultures du document" ;
examiner diverses conceptions de la notion de
contenu partagé, dans d'autres domaines, selon
d'autres modes de rédaction, de diffusion
Analyser les schémas XML développés dans ces
différentes "cultures du document"
Introduction
Acquérir différentes "cultures du document"... Oui, mais où ?
... partout où il existe des contenus partagés
Traitement de texte et mise en page document

Presse article, page

Web 1.0 page HTML


Agences de presse dépêche
Édition livre, livre électronique
Édition technique
manuel, CDROM
Documentation
Bibliothèques notice, catalogue

Archives
conversation
Web 2.0, Web social (blogs, Flickr, Facebook, etc.)
Web sémantique, Web des données données liées

etc.
Introduction

Acquérir d'autres "cultures du document"


Deux paradigmes documentaires
Document narratif : contenu linéaire, flux structuré
article, page, livre, dépêche, conversation, notice

Assemblage de contenus structurés :


dépêche, conversation, notice, agrégats de sujets

entre deux paradigmes


Introduction
Analyser les schémas XML développés dans ces autres
"cultures du document"
IPTC G2 architecture commune à plusieurs domaines applicatifs
destinés aux médias
TEI (Text Encoding Initiative) permet d'échanger des données textuelles,
notamment pour les sciences humaines, les études sur les textes littéraires,
la linguistique
FRBR (Functional Requirements for Bibliographic Records)
modélisation conceptuelle des informations contenues dans les notices
bibliographiques des bibliothèques
EAD (Encoded Archival Description) utilisé par les services d’archives,
bibliothèques et musées pour décrire des fonds d'archives, des collections
de manuscrits et des collections hiérarchisées de documents ou d’objets
DocBook et DITA pour la documentation technique
Introduction

IPTC G2 Architecture
À l'origine : la dépêche d'actualité, structure narrative simple
IPTC G2 : architecture commune à plusieurs domaines applicatifs les
news (NewsML G2), la gestion des événements (EventsML G2), le
sport (SportsML G2)
Architecture modulaire et multimédia
Introduit une profusion de métadonnées de diverses natures, des
types de propriétés, des possibilités de vocabulaires contrôlés, une
extensibilité, etc.
La structuration des métadonnées et les vocabulaires contrôlés
associés (NewsCodes) deviennent aussi importants que la partie
narrative du document (article)
Introduction
TEI (Text Encoding Initiative)
À l'origine : corpus littéraires
TEI : contient plus de 500 composants et concepts concernant le
domaine du texte
La TEI est modulaire
Ce n'est pas un schéma unique mais plutôt un ensemble de
Guidelines permettant de définir son propre schéma personnalisé
Il existe des générateurs de schémas TEI personnalisés (Roma)

IPTC G2, TEI, etc.


les schémas (ou DTD) ne sont plus conçus comme monolithiques
ce sont de véritables boîtes à outils
La documentation technique

Conception et rédaction de la documentation


technique
Deux approches où l'on retrouve nos deux
"paradigmes" :
Contenu narratif, linéaire ; flux structuré : DocBook
Assemblage de contenus structurés : DITA
DocBook

DocBook est un langage de balisage destiné à la


description des articles et des livres techniques
Conçu à l'origine en SGML, c'est maintenant un
langage XML
À l'origine créé par l'éditeur O'Reilly en 1991
DocBook est maintenu actuellement par un comité du
consortium OASIS (Organization for the Advancement
of Structured Information Standards)
DocBook
DocBook est une DTD très riche et complexe à
maîtriser
Existe sous la forme de XML schéma et de schéma
Relax NG depuis la version 5.0
Cette recommandation est issue d'utilisateurs des
industries de l'informatique et de l'électronique.
Il existe donc beaucoup de structures permettant de
coder des informations liées à ces domaines.
Cependant, DocBook peut être utilisé dans bien
d'autres domaines techniques
DocBook

DocBook contient toute l'information nécessaire à une


documentation technique : informations d'identification
formelle (métadonnées), tous les composants d'index
permettant la navigation, une préface, des chapitres, des
annexes, des glossaires, une bibliographie, etc.
Une version simplifiée de DocBook est disponible
www.oasis-open.org/committees/docbook/xml/simple/1.0CR2/index.shtml

Il existe des convertisseurs depuis DocBook vers


différents formats tels que:
RTF, PDF, Microsoft HTMLHelp, pages MAN Unix,
OOo Writer, Tex, LaTex, etc.
DocBook
Outils/Produits
Arbortext (racheté par PTC) Epic
www.arbortext.com/html/epic_editor_overview.html
Adobe FrameMaker
www.adobe.com/products/framemaker/main.html
Syntext Serna
www.syntext.com/products/serna/
Altova XML Spy
www.xmlspy.com
SoftQuad XMetal
www.xmetal.com
DITA
Darwin Information Typing Architecture

DITA est un langage XML initialement proposé


par IBM en 2001
"Donné" par IBM au consortium OASIS
(Organization for the Advancement of Structured
Information Standards) en 2004
DITA
Darwin Information Typing Architecture

Darwin : il se base sur les principes de


spécialisation et d'héritage
Information Typing : basé sur la sémantique et
les types des sujets traités (concepts, tâches,
références) et de leur contenu
Architecture : DITA est suffisamment flexible et
évolutif pour développer différents types de
contenus documentaires (architecture
modulaire)
DITA
Darwin Information Typing Architecture

DITA comprend
une spécification architecturale
une spécification de langage
un ensemble de DTD
(et un ensemble équivalent de schémas)
DITA
Darwin Information Typing Architecture
Dans les approches courantes, les DTD sont
statiques. En conséquence :
les créateurs de DTD essayent de couvrir tous
les événements
les utilisateurs doivent forcer leurs informations
à coïncider avec des types existants
DITA renverse cette situation en donnant aux
architectes et développeurs le pouvoir d'étendre une
DTD de base afin de couvrir leurs domaines

Adapté de IBM Introduction to the Darwin Information Typing Architecture


http://www.ibm.com/developerworks/xml/library/x-dita1/
DITA
Darwin Information Typing Architecture
Un slogan DITA :
write once, translate once, use many times

Source : http://www.ditausers.org/tutorials/basics/Priestley_Intro/
DITA
Darwin Information Typing Architecture
Qui utilise DITA ?
Adobe
Sociétés spécialisées dans l'électronique, les téléphones
mobiles, les PDAs, etc.
Un case study : CaridianBCT (matériel médical)
production de documentations en 9 langues
http://www.dclab.com/dita_global_local.asp

The Joseph Smith Papers Project


[une utilisation combinée de TEI et DITA]
http://www.flatironssolutions.com/CustomContentRetrieve.aspx?ID=973614
DITA
Darwin Information Typing Architecture

DITA est basé sur des topics


[trad. sujets ou thèmes].
Un sujet est un lot d'informations organisées
autour d'un seul thème.
Un sujet est structuré en un titre, suivi de texte et
d'images (organisés éventuellement en sections)
Un sujet possède un type
Types standards fournis par DITA :
topic (générique), concept, task, reference
DITA
Darwin Information Typing Architecture

Source : http://www.ditausers.org/tutorials/basics/Priestley_Intro/
DITA
Darwin Information Typing Architecture
Un topic (sujet générique) Un topic peut posséder
possède seulement trois d'autres éléments optionnels
informations obligatoires
id (attribut de topic)
title
body

Source : http://www.ditausers.org/training/DITATopics/
DITA
Darwin Information Typing Architecture
Sujet de type concept
Répond aux questions
« Qu'est-ce que c'est ? »
« Pourquoi est-ce important ? »
« Comment est-ce lié aux autres concepts et tâches ? »
« Quand dois-je l'utiliser ? »
Un concept apporte une connaissance que le lecteur doit
avoir pour réaliser une tâche mais ne donne pas le
moyen de réaliser la tâche
DITA
Darwin Information Typing Architecture

Un concept est un topic spécialisé


la racine est renommée concept
body est renommé conbody

Source : http://www.ditausers.org/training/DITATopics/
DITA
Darwin Information Typing Architecture
Sujet de type tâche (task)
Répond à la question
« Comment je fais pour... »
Liste une série d'étapes que l'utilisateur doit suivre
pour parvenir au résultat attendu
La description d'une tâche distingue :
le contexte de la tâche
les pré-requis
les étapes permettant de réaliser la tâche
le résultat obtenu
DITA
Darwin Information Typing Architecture

Une task est un topic spécialisé


la racine est renommée task
body est renommé taskbody

Source : http://www.ditausers.org/training/DITATopics/
DITA
Darwin Information Typing Architecture

Sujet de type référence (reference)


Donne des informations qui permettent de compléter
la connaissance
(en liaison avec un sujet de type concept) ...
... ou aide à effectuer une tâche
(en liaison avec un sujet de type tâche)
DITA
Darwin Information Typing Architecture

Une reference est un topic


spécialisé
la racine est renommée reference
body est renommé refbody

Source : http://www.ditausers.org/training/DITATopics/
DITA
Darwin Information Typing Architecture

Carte (DITA map) [1/2]


Créer du contenu avec DITA :
écrire des sujets et des cartes (topics et maps)
Une carte est un document XML
Une carte permet de définir comment assembler
un ensemble de sujets
DITA
Darwin Information Typing Architecture

Carte (DITA map) [2/2]


Une carte contient des liens vers des sujets,
organisés sous forme de séquences qui
apparaîtront sur les documents finaux
Une carte DITA définit la table des matières des
distributions (PDF, HTML, Java Help, etc.) et
peut spécifier quels sujets sont liés entre eux
DITA
Darwin Information Typing Architecture
Domaine (Domain)
Un domaine définit un ensemble d'éléments relatifs à un
certain thème ou à une problématique d'auteur,
indépendamment du type du sujet (topic)
Les éléments d'un domaine sont définis dans un module
de domaine qui peut être intégré à un type de sujet ; ils
deviennent alors disponibles pour tout sujet de ce type
Exemples de domaines standards livrés avec DITA :
typographie, programmation, interface utilisateur, etc.
DITA
Darwin Information Typing Architecture
Outils/Produits - Démonstration
Arbortext (racheté par PTC)
http://www.arbortext.com/products/dita.htm
Adobe FrameMaker
www.adobe.com/products/framemaker/main.html
Altova XML Spy
www.xmlspy.com
SoftQuad Xmetal
www.xmetal.com
Oxygen XML Editor
www.oxygenxml.com
Quark XML Author for Microsoft Word (anciennement In.Vision)
http://dynamicpublishing.quark.com/fr/xml_author/
Inmedius DitaStorm
www.inmediusdita.com
Dita Users
www.ditausers.org
Syntext Serna (démonstration)
www.syntext.com/products/serna/
DITA
Darwin Information Typing Architecture

DITA vs DocBook [1/2]


Standardisés tous deux par OASIS
DocBook a été conçu pour la production de contenus rédigés
sous forme narrative, "en continu".
DocBook veut être exhaustif, les extensions ne sont pas
recommandées.
DITA a été conçu pour les sujets isolés (topics), regroupés
sous la forme d'ensemble de sujets. Les extensions sont
encouragées.
DITA
Darwin Information Typing Architecture

DITA vs DocBook [2/2]


Deux articles intéressants :
Choosing an XML Schema: DocBook or DITA?
http://www.thecontentwrangler.com/article_comments/choosing_an_xml_schema_docbook_or_dita/
http://drmacros-xml-rants.blogspot.com/2008/04/choosing-xml-schema-docbook-or-dita.html

Il existe des transformations XSL permettant de passer :


- de DITA à DocBook
- ou de DocBook à DITA (en général plus compliqué)
Un autre article
DocBook to DITA Conversion Automation -
Improving the Yield?
http://www.dclab.com/docbook_to_dita.asp
DITA
Darwin Information Typing Architecture

Spécialisation [1/2]
Spécialisation de types : créer des types à partir des types
de base fournis par DITA (tâche, concept, référence)
Spécialisation de domaines : étendre un vocabulaire
s'appliquant à tout type d'information
DITA
Darwin Information Typing Architecture
Spécialisation [2/2]
Héritage selon le modèle des architectures orientées
objet
Permet d'utiliser un cadre commun tout en adaptant les
concepts aux besoins des entreprises
Exemples dans les sous-comités DITA :
DITA Machine Industry Subcommittee
DITA Semiconductor Information Design Subcommittee
DITA Enterprise Business Documents Subcommittee
DITA Pharmaceutical Content Subcommittee

Un tutoriel sur la spécialisation


http://www.xiruss.org/tutorials/dita-specialization/
DITA
Darwin Information Typing Architecture
Rédaction DITA
Un titre peut éventuellement être suivi d'une description
courte (shortdesc); ceci permet la découverte progressive
(progressive disclosure) des contenus.
Les sujets peuvent être imbriqués, mais toujours en dehors
du contenu
<topic>
<title>A general topic</title>
<shortdesc>This general topic is pretty general.</shortdesc>
<body><p>General topics are not very specific.</p></body>
<topic>
<title>A specific topic</title>
<shortdesc>This is a more specific topic.</shortdesc>
<body><p>Specifically, this is more specific.</p></body>
</topic>
</topic>
DITA
Darwin Information Typing Architecture
Conseils de rédaction
Évitez les locutions « voir ci-dessus »,
« voir ci-dessous », « voir page suivante », etc.
Identifier les informations communes et réutilisables.
Par exemple les noms de produits sont définis
comme des "variables" :

<p>Achetez le produit <keyword


conref="central_file.dita#reusable_content/product_name"/> car
c'est le meilleur</p>
DITA
Darwin Information Typing Architecture

Réutilisation des standards


Dublin Core pour les métadonnées
XHTML pour le texte
OASIS Tables pour les tableaux
DITA
Darwin Information Typing Architecture

Modifier les sorties - DITAVAL


Rappel : Une carte DITA (DITA map) contrôle
l'assemblage des sujets pour une sortie
DITA fournit deux mécanismes permettant de
paramétrer et de modifier les sorties :
le Filtering et le Flagging
Ces mécanismes sont définis dans un fichier XML
nommé DITAVAL
DITA
Darwin Information Typing Architecture
Modifier les sorties - DITAVAL
Filtering : permet d'inclure ou d'omettre des éléments en
sortie. Toute l'information n'apparaît pas en sortie.
Exemple :
<p>Vous devez tapez la commande suivante :</p>
<sl>
<sli platform="windows"><userinput>start.bat</userinput></sli>
<sli platform="linux"><userinput>start.sh</userinput></sli>
</sl>
<p>puis patientez pendant l'initialisation</p>

Affichage filtering (avec filtre où platform a la valeur "windows")


Vous devez tapez la commande suivante :
start.bat
puis patientez pendant l'initialisation
DITA
Darwin Information Typing Architecture
Modifier les sorties - DITAVAL
Flagging : indique des différences de traitement (par
exemple de rendu visuel) en fonction d'un attribut. Toute
l'information apparaît en sortie. Exemple :
<p>Vous devez tapez la commande suivante :</p>
<sl>
<sli platform="windows"><userinput>start.bat</userinput></sli>
<sli platform="linux"><userinput>start.sh</userinput></sli>
</sl>
<p>puis patientez pendant l'initialisation</p>
Affichage flagging
Vous devez tapez la commande suivante :
Windows start.bat
Linux start.sh
puis patientez pendant l'initialisation
DITA
Darwin Information Typing Architecture

DITA Open Toolkit


Le DITA Open Toolkit (DITA-OT en abrégé) est un
ensemble d'outils open source écrits en Java qui
permettent de traiter des DITA maps et des contenus
de sujets DITA
Il permet de générer de nombreux formats de sortie
(HTML, HTML Help, PDF, Java Help, etc.) à partir de
contenus DITA
DITA
Darwin Information Typing Architecture

BOOKMAP
Un Bookmap est une spécialisation de DITAMAP
décrivant un ensemble d'informations destinées à être
publiées sous forme de livre
Contient des éléments spécialisés tels que <booktitle>,
<bookmeta>, <frontmatter> (préface), <chapter>, etc.
DITA
Darwin Information Typing Architecture

OASIS travaille aussi sur une version de DITA orientée


vers les documents d'affaires organisés de manière
narrative
OASIS DITA for Business Documents Sub-committee
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita-busdocs
DITA
Darwin Information Typing Architecture

Conclusion [1/2]
La mutation des médias que nous vivons
actuellement concerne aussi la manière dont
on conçoit, organise et restitue les contenus
Dans ce contexte, il est important d'acquérir
d'autres "cultures du document" et de
comprendre les concepts et techniques qui y
sont déployées
DITA
Darwin Information Typing Architecture

Conclusion [2/2]
Parmi les concepts développés dans les
diverses "cultures du document", ceux de
DITA (topics, types, maps, specialization, etc.)
sont particulièrement intéressants
DITA peut effectivement être utilisé en dehors
du domaine de la documentation technique,
quand la structuration par sujets est forte
DITA
Darwin Information Typing Architecture
Pour en savoir plus
History of DITA
http://dita.xml.org/book/history-of-dita
Introduction à DITA, par Pierre Attar (en français)
http://www.tireme.fr/glossaire/SPEC-DITA.html
OASIS Darwin Information Typing Architecture (DITA) TC
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita
Introduction to the Darwin Information Typing Architecture
by Don Day, Michael Priestley, David Schell (IBM)
http://www-128.ibm.com/developerworks/xml/library/x-dita1/index.html
DITA Tutorials
http://www.ditausers.org/tutorials/
Merci pour votre
attention