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 Presse Web 1.0 Agences de presse Édition Édition technique Documentation Bibliothèques Archives Web 2.0, Web social (blogs, Flickr, Facebook, etc.) Web sémantique, Web des données etc. conversation données liées notice, catalogue document article, page page HTML dépêche livre, livre électronique manuel, CDROM

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) possède seulement trois informations obligatoires id (attribut de topic) title body Un topic peut posséder d'autres éléments optionnels

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