1 Jeudi 15 juin 2004 Jean-Christophe Bernadac
Offre Cosmosbay~Vectis Conseil en stratégies de marché Stratégies de développement Études de marché Marketing et programmes relationnels Organisation et performance commerciale Modernisation du système d'information Conseil en SI : Processus métiers, urbanisation Architectures orientées service et intégration Portails d'entreprise Ergonomie et utilisabilité Portails pour la relation client Portails pour les fonctions marketing et ventes Portails et services aux citoyens 2
Cosmosbay Vectis Les chiffres clés Date de création : 1988 Chiffre d affaires : 2000 : 11,9 M 2001 : 13,9 M 2002 : 14,7 M 2003 : 14,6 M Nombre de collaborateurs : Stratégie, Marketing et Organisation : 60 personnes Systèmes d Information & Solutions : 120 personnes Implantations : Paris Lyon Grenoble Marseille 3
Capitaliser et communiquer sur nos expertises 4
Agenda Introduction Fondations et bases technologiques d XML Les portails et la gestion de contenu L intégration d applications et les échanges partenaires Les Web Services 5
Introduction Après six années d'existence, XML a apporté un profond courant d évolution dans la manière dont l'information est gérée au sein des entreprises : L information a pris sa revanche sur l informatique! Le patrimoine informationnel s est affranchi des technologies propriétaires Les enjeux liés à l'utilisation d'xml ont largement dépassé le cadre documentaire : Ils impactent le cœur du système d'information des entreprises sa capacité d'ouverture et d'échanges avec les partenaires les fondations de son architecture L'objectif de cette matinée est de retracer et d'illustrer par des exemples de projets le chemin parcouru par XML depuis ses fondations et ses bases technologiques jusqu'à ses applications dans les domaines : Du développement applicatif Web, des portails et de la gestion de contenu, de l'intégration d'application et des échanges partenaires, et enfin des Web Services 6
Agenda Introduction Fondations et bases technologiques d XML Les portails et la gestion de contenu L intégration d applications et les échanges partenaires Les Web Services 7
Qu est-ce que XML? XML = extensible Markup Language Origine : 1996 : groupe de travail Web SGML du W3C Apporter une réponse aux limites de HTML 1998 : XML 1.0 4 février 2004 : XML 1.1 C'est un (meta)langage : Qui permet de structurer simplement les données électroniques à l aide de balises Qui est extensible et à usage multiple : le vocabulaire est définissable pour chaque application Qui autorise le contrôle sémantique des données : les balises donnent un sens à la donnée Qui permet de séparer la structure du contenu et de sa présentation Qui est facilement intégrable dans les applications car indépendant de la technologie 8
Pourquoi XML est universel? XML n est pas un langage mais un «meta-langage» Il permet de construire des langages partageant la même syntaxe et la même grammaire Les langages XML «verticaux» couvrent tous les domaines des sciences et de l économie Mathématiques : MathML (Mathematical Markup Language) Astronomie : AIML (Astronomical Instrument Markup Language) Santé : HL7 (Health Level Seven) Banque : IFX (Interactive Financial exchange) Commerce : cxml, xcbl, ebxml Le répertoire des schémas XML de l'administration (www.adae.gouv.fr) Si les langues humaines étaient en XML, leur traduction ne nécessiterait que de mettre en correspondance leurs vocabulaires 9
Domaines d applications d XML Architecture orientées services Web Services Intégration d applications et échanges partenaires EAI, EDI, B2B Portails et gestion de contenu EIP, WCM 10
Les principaux standards (1/2) XML (extensible Markup Language) Définir un format d'échange universel DTD, XML Schema, Namespaces Spécifier les formats d échanges et la structure des documents, validation des données échangées DOM (Document Object Model), SAX (Simple API for XML) Interface de programmation pour les messages et documents XML échangés XSL/XSLT (extensible Stylesheet Language) Préparer l information XML à son contexte d utilisation Publier vers un navigateur (HTML), une imprimante (PDF), un mobile (WAP/PDA) Xpath, XPointer, XLink Adresser, rechercher l information dans un document ou un message XML, liaisons entre documents SOAP (Simple Object Access Protocol), XML Protocol, WSDL, UDDI Invocation de services Web Standards Internet gérés par le W3C Implication des principaux acteurs du Web 11
Les principaux standards (2/2) Standards Internet gérés par le W3C Implication des principaux acteurs du Web XHTML Reformulation d HTML comme langage XML sous forme modulaire afin de permettre sa généralisation à tous les terminaux RDF (Ressource Description Framework) Définition de méta-données associées au Web, pierre angulaire du «Web sémantique» SMIL (Synchronised Media Integration Language) Langage de synchronisation des objets multimédia (animations audio, vidéo ) SVG (Scalable Vector Graphics) Langage de description des graphiques vectoriels en 2D XForms (XML Forms) Formulaires XML XML Signature, XML Encryption Sécurité basée sur PKI Et bien d autres sur www.w3.org... 12
Le document XML Document structuré à l aide de balises : Processing Instruction Document Type Definition Document Element Element Attribute Text CDATA 13
Contrôle du document XML Le document bien formé et le document valide Un document est bien formé s il se conforme aux règles syntaxiques du langage XML Un seul nœud racine Imbrication correcte des éléments Un document est valide s il se conforme au vocabulaire et à la grammaire définie par la DTD ou le schéma XML 14
DTD : Document Type Definition Définir la structure du document XML : <!ELEMENT menu (categorie*)> <!ATTLIST menu mode (abrégé étendu) 'abrégé'> <!ELEMENT categorie (categorie* application*)> <!ATTLIST categorie id ID #REQUIRED ouvert (oui non) 'oui' titre CDATA #REQUIRED> Un menu est composé de catégories Une menu possède un attribut mode dont la valeur par défaut est abrégé Une catégorie est composée de catégories et d applications Une application est composée d un lien, d un titre et d une description <!ELEMENT application (lien, titre, description)> <!ELEMENT lien (#PCDATA)> <!ELEMENT titre (#PCDATA)> <!ELEMENT description (#PCDATA)> 15
Structure du document avec XML Schema Palier aux insuffisances des DTD : Vocabulaire XML Types de données et contraintes Types primitifs (entier, chaîne, date ) types de données des langages Java et SQL Types structurés permettant l import/export avec les SGBD (relationnels, objets, OLAP ) Types définis par l utilisateur, par héritage de type existant avec ajout de contraintes Mécanismes de validation adaptées aux échanges de données métiers 16
Structure du document avec XML Schema <xsd:element name="menu"> <xsd:complextype> <xsd:sequence> <xsd:element ref="categorie" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="mode" default="abrégé"> <xsd:simpletype> <xsd:restriction base="xsd:nmtoken"> <xsd:enumeration value="abrégé"/> <xsd:enumeration value="étendu"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> </xsd:complextype> </xsd:element> 17
Les Namespaces Éviter l ambiguïté des vocabulaires Garantir la réutilisation des applications XML 18
La solution Associer à chaque vocabulaire un identifiant unique Banque A <?xml version="1.0"?> <a:relevé xmlns:a="uri-banque A"> <a:titulaire> <a:nom>martin</a:nom> </a:titulaire> <a:opérations> <a:opération> <a:date an="2001" mois="02" jour="21"/> <a:montant Devise="EUR">500</a:Montant> <a:libellé>retrait DAB</a:Libellé> </a:opération>... </a:opérations> </a:relevé> Banque B <?xml version="1.0"?> <b:relevé xmlns:b="uri-banque B"> <b:opération> <b:date> <b:an>2001</b:an> <b:mois>02</b:mois> <b:jour>21</b:jour> <b:date> <b:montant Devise="EUR">500</b:Montant> <b:libellé>retrait DAB</b:Libellé> </b:opération>... </b:relevé> Un Namespace (domaine de noms XML) est une collection de noms identifiée par une URI Un domaine de noms répertorie les identificateurs (noms d'éléments et d'attributs) utilisés dans un document XML ainsi que leur sémantique Un document XML qui utilise un domaine de noms hérite du vocabulaire, du sens et des conventions définis pour ce domaine de noms 19
Analyser le document XML : le parseur API DOM application <application> <lien> /menujsp/menusaxjaxp.jsp </lien> <titre> SAX Jaxp </titre> <description> Menu Java XML avec API SAX - for XML Parsing </description> </application> Java API lien titre description startdocument startelement <application> startelement <lien> characters "/menujsp/menusaxjaxp.jsp" endelement <lien> startelement <titre> characters "SAX - Jaxp" endelement <titre> enddocument API SAX 20
Mise en forme des documents XML avec XSL XSL est à la fois : un langage de transformation d un document XML (XSLT) Transformation et réorganisation en fonction du contenu du document, sélection intelligente des éléments à transformer (XPATH) un vocabulaire XML pour formater les données (FO) Vocabulaire de mise en forme libre Nombreuses utilisations possibles : personnalisation de documents XML, utilisation de XHTML et CSS en Web, outils d impression à partir du vocabulaire d objets de formatage Complémentarité entre un outil de transformation et un outil de présentation Beaucoup plus que des feuilles de styles 21
22 Règles de transformation XSLT <xsl:template match="application"> <TR><TD><A> <xsl:attribute name="href"> <xsl:value-of select="lien"/> </xsl:attribute> <xsl:choose> <xsl:when test="/menu[@mode='abrégé']"> <xsl:value-of select="titre"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="description"/> </xsl:otherwise> </xsl:choose> </A></TD></TR> </xsl:template> Sélection des nœuds "application" Création de l attribut "href" avec la valeur du nœud "lien" Traitement conditionnel selon la valeur de l attribut mode du nœud "menu" <application> <lien> /menujsp/menusaxjaxp.jsp </lien> <titre> SAX Jaxp </titre> <description> Menu Java XML avec API SAX - Java API for XML Parsing </description> </application> Lecture de la valeur du nœud fils "description" Mise en forme HTML
Adresser l information avec XML Path Language XPath permet de localiser une partie d'un document XML par chemin d accès ou expression de sélection XPath est commun à XSLT et Xpointer XPath est un langage d'expressions qui fournit en résultat : un ensemble de nœuds (node-set) un booléen (true ou false) un nombre (entier ou virgule flottante) ou une chaîne de caractères L expression est évaluée par rapport au nœud courant appelé contexte Une expression XPATH est un ensemble d éléments de la forme /Axe::NodeTest[Predicat]/ Exemples : child::* child::para[attribute::type='warning'][position()=5] following::chapter[position()=1]... 23
XPATH Axe::NodeTest[Predicat] 24
XML et les bases de données Plusieurs niveaux d intégration aux bases de données : La base de données retourne un document XML à partir d une requête SQL classique Langages de requêtes SQL avec extension éventuelles La base de données accepte les requêtes sous forme de documents XML Langages de requêtes basés sur XPath et XML Query (W3C) La Base de données accepte le stockage des documents XML dans leur format natif Langages de requêtes basés sur XPath et XML Query (W3C) 25
Comment sécuriser les échanges XML? Norme de sécurisation PKI : Public Key Infrastructure Certificats à la norme X.509 Sécuriser les échanges XML XML DSig : XML Digital Signatures XML Encrypt : XML Encryption Certificat et législation Le décret du 30 mars 2001 complète la loi du 13 mars 2000 : la signature électronique a désormais la même valeur juridique que la signature manuscrite 26
XML et la modélisation des processus métiers Modélisation XML des processus métiers : les chapelles BPML (Business Process Modeling Language) de BPMI.org XPDL (XML Process Definition Language) du WfMC BPSS (Business Process Specification Schema) d ebxml XLANG de Microsoft (Biztalk orchestration) WSFL (Web Services Flow Language) d IBM XPDL (XML Pipeline Definition Language) de Sun Microsystems WSCI (Web Services Choreography Interface) de Sun, BEA, Intalio et SAP DAML-S : Semantic Markup for Web Services (DARPA Agent Markup Language «Services») de DAML.org BPEL4WS (Business Process Execution Language for Web Services) d'ibm, BEA et Microsoft combiné avec : WS-C (Web Services Coordination) WS-T (Web Services Transaction) 27
Agenda Introduction Fondations et bases technologiques d XML Exemple : l application TRACIMMO de PSI Management Les portails et la gestion de contenu L intégration d applications et les échanges partenaires Les Web Services 28
Contexte et enjeux Contexte Enjeux PSI (Groupe Vendôme de Gestion et de Participation) est un prestataire de services pour les régies immobilières qui prend en charge la gestion et le suivi des événements pouvant survenir sur les propriétés gérées par ces régies (ascenseur en panne, organisation d une assemblée générale ) PSI veut mettre en place un service WEB lui permettant de traiter, depuis un simple poste informatique, le suivi des dossiers et des actions menées Le but est de donner, aux collaborateurs de PSI, un outil offrant un accès rapide et complet à toutes les pièces d un dossier (courriers, historique des actions menées ) Améliorer la qualité des prestations : plus grande réactivité, meilleure connaissance du dossier, coordination des actions, facturation Fournir des rapports détaillés (Carnet d Entretien des copropriétés, fiches de synthèses ) Enjeux technologiques Concevoir une application robuste et rapide afin de la rendre disponible en mode ASP Utiliser les technologies XML et Microsoft ASP.Net 29
Architecture de l application TRACIMMO Mail Fax RTE Fax MS Exchange MAPI Connecteur FAX-MAIL ConnectorTracimmoService.Net HTTP/XML MSXML PcFramework SQL Server 2000 IIS ASP.NET CrystalReport.NET Compression / Décompression Système de fichiers 30
Modèle d échange (1/2) ASPX::XML_Router PcFramework 1) Requête XML 3) Appel assembly.net DLL.NET 2) Requête XML 3) Appel procédure stockée SQL Server 2000 5) Réponse XML 4) Sérialisation en XML 6) Réponse XML 7) Transformation XSLT 31
Modèle d échange (2/2) L application TRACIMMO est basée sur un échange HTTP/XML entre le poste client et le serveur d application. Le navigateur émet une requête sous forme de document XML envoyé en HTTP/POST au serveur d application. Une requête est un ensemble d un ou plusieurs «Service", chacun correspondant à l appel d une procédure stockée ou d une assembly.net. Exemple d appel : <Request sessionid="b62fc0be-5d47-4d0d-aaa0-421bc62c79d7" onerrorabort="yes"> <Service name="tra_dossier" operation="tra_get_dossier_from_id" id="1"> <Parameter name="dossier_id">bodo0000000556</parameter> </Service> <Service name="tra_dossier" operation="tra_get_bien_du_dossier" id="2"> <Parameter name="dossier_id">bodo0000000556</parameter> </Service> <Service name="tra_dossier" operation="tra_get_action_dossier" id="3"> <Parameter name="dossier_id">bodo0000000556</parameter> </Service> <Service name="tra_dossier" operation="tra_get_action_tiers_dossier" id="4"> <Parameter name="dossier_id">bodo0000000556</parameter> </Service> </Request> 32
Gestion documentaire Le système de gestion documentaire pour l envoi et la réception de document, est basé sur le protocole XML/HTTP. Le système de fichiers du serveur est utilisé pour stocker les documents liés à l application. Ce fonctionnement est décrit ci-dessous : ActiveX TracimmoAxCab XML/HTTP Document Document compressé Document sérialisé IIS Système de fichiers Document décompressé Document désérialisé ASP.NET MSXML Com+ TracimmoCab 33
Panneau de suivi 34
Gestion du panneau de suivi Chaque utilisateur possède une liste de requêtes lui permettant de suivre en temps réel l évolution de ses dossiers ou actions. Cette fonctionnalité est réalisée par le panneau de suivi dont les caractéristiques sont les suivantes : Possibilité de personnaliser la liste de requêtes en fonction des profils utilisateurs et managers Synchronisation automatique des requêtes Communication avec les administrateurs Fermeture du poste client à distance Les requêtes disponibles sont divers et variées. Elles permettent notamment : De suivre l évolution des dossiers en cours De suivre l évolution des actions en cours De réceptionner des fax ou mails D envoyer des fax ou mails et de suivre leur évolution D envoyer des messages aux collaborateurs D un point de vue technique, la synchronisation des requêtes est réalisée par le composant PcFramework. Son rôle est : D appeler une assembly.net (TracimmoServices.NET) et de lui passer une liste de paramètres (nom de l utilisateur, requêtes appelées) au format XML De récupérer l état des requêtes de l utilisateur connecté et d envoyer vers le poste client un document XML qui sera traité par une feuille XSLT 35
Agenda Introduction Fondations et bases technologiques d XML Les portails et la gestion de contenu L intégration d applications et les échanges partenaires Les Web Services 36
Le projet Portail Objectifs : Unifier l accès aux informations de l entreprise Fournir aux employés, partenaires et clients les moyens de s informer, collaborer et agir plus efficacement dans leur travail amélioration du traitement et de la mise à disposition de l information Enjeux : Centraliser l accès à l information : Un portail fournit une interface (Web) pour accéder de manière unique à des données réparties dans une grande variété d applications, et qui autrement seraient perçues comme sans relation et incompatibles les unes avec les autres Pertinence et personnalisation : Il permet en une seule fois d accéder à un ensemble d information, en mettant en évidence ce qui est nouveau et important, au travers d un contenu ciblé et d une interface personnalisable Organiser la connaissance : Il propose un accès organisé à l information tout en permettant d effectuer des recherches libres Ouvrir le système d information aux partenaires 37
L infrastructure de portail et de gestion de contenu 38 Publication d information La gestion de l information Chaîne éditoriale avec circuit de validation (workflow) Travail collaboratif, partage d informations Moteur de recherche Classification et catégorisation (OLAP, sémantique, statistique ) Archivage et gestion de versions, multilingue Sécurité, administration et déploiement XML La publication d information L authentification des utilisateurs La personnalisation de l information La présentation de l information Notifications et abonnements Gestion de l information XML Création d information La création d information Les applications Les données structurées (bases de données) Les données non structurées (documents, formulaires) Les données externes
Les apports d XML Description des données documentaires non structurées, métadonnées et catégorisation : Les métadonnées XML permettent de spécifier les catégories auxquelles les documents sont rattachés, ce qui facilite la localisation de l information : recherche sur les catégories, navigation dans les catégories Présentation et notification : Le contenu structuré ou non structuré peut être formaté avec XML dont les capacité de transformation via XSL vont être mises à profit pour formater tout contenu en fonction du périphérique de destination Personnalisation : Les transformations XSL peuvent également effectuer un filtrage des données ou contextualiser le contenu et la navigation en fonction du profil de l utilisateur Agrégation de données externes par invocation de services distants au moyen de langages construits sur XML (Web Services) Structuration des formats d échanges : les langages d échanges B2B véhiculent des données XML 39
XML et les Web Services apportent l interopérabilité aux portails Portails et Web Services «orientés présentation» Utilisation d un «Portlet» générique WSRP (Web Services for Remote Portals) 40
Les enjeux d une chaîne de gestion de contenu Apporter de la valeur ajoutée sur le contenu Permettre la publication multi-supports Permettre la réutilisation du contenu au sein du système d information Permettre une séparation entre le contenu et la présentation La création de contenu doit être généralisée dans l entreprise 41
XML : élément pivot de la chaîne de publication Création de contenu structuré XML Personnalisation et spécialisation du contenu XSL XSLT XSL-FO Définition de modèles de contenus RDF DocBook DTD XML Schema Catégorisation et recherche Méta-données en XML Circuit de validation 42
Ressource Description Framework (RDF) Langage basé sur XML s attachant à décrire les ressources du web par une association «propriété = valeur» Les propriétés décrivant les ressources sont regroupées en vocabulaire. Chaque vocabulaire constitue une application RDF respectant les règles définies dans un schéma RDF Trois types de données Les ressources : identifiée par son URI Les propriétés : caractéristiques, attributs ou relations permettant de décrire les ressources. Dans un shema RDF Les déclarations : association ressource + propriétés + valeur des propriétés. Sous forme d URI ou de string Peu de support RDF actuellement. L activité «Web semantic» du W3C pourrait renforcer RDF 43
Conception de contenu avec XML-SPY (DTD & XML Schema) 44
Création de contenu structuré A partir de formulaires WEB A partir d un éditeur XML Pour des techniciens XML-Spy d Altova Pour des utilisateurs Authentic d Altova X-Metal de SoftQuad (Corel) Epic d Arbortext A partir des outils bureautiques traditionnels OpenOffice, MS Word 2003 Pour ne pas modifier les habitudes des utilisateurs 45
Création de contenu structuré Les trois solutions sont complémentaires Formulaires Pour les données structurées «simples» Pour une saisie occasionnelle Lorsque tout utilisateur est appelé à être contributeur Editeur XML Pour les données structurées «complexes» Lorsque la création de contenu est le travail de production Lorsque l on désire mettre en place une solution de WCM Outils bureautiques Lorsque l on désire s appuyer sur l existant S il existe déjà des modèles de documents définis et respectés 46
Une même application : deux modes de création de contenu Client lourd : à l aide de X-Metal de SoftQuad (Corel) Pour les responsables de l application «au siège» Pour les utilisateurs «intensifs» Client léger : depuis un formulaire web Pour permettre la saisie sur le «terrain» Pour les utilisateurs «occasionnels» 47
Client lourd : X-Metal Renseignement des méta-données du questionnaire lors de la création du document 48
Client lourd : X-Metal Barre d outils personnalisée 49
Client léger : formulaire Web 50
Le XML produit Identique quelque soit le client Respect du contrat sur la base d une DTD 51
La gestion de contenu XML pour décrire les méta-données sur l ensemble des contenus gérés afin de permettre la catégorisation Documents textes Documents multimédias Indexation des contenus pour permettre Des recherches «plein-texte» Des recherches sur la base des modèles définis Recherche sur des éléments de documents Gestion du processus de validation Flux XML de suivi et de gestion du circuit de création de contenu Historique de modification du document 52
Publication de contenu XML permet de publier une information : Personnalisée En terme de contenu En terme de présentation Spécialisée en fonction du support Web PDA Téléphone PDF Un contenu unique et une utilisation multiple 53
L'architecture de publication XML/XSL XML permet de garder une plus grande indépendance entre les données et les applications S'insère facilement dans un environnement hétérogène Les informations sont transmises, présentées et manipulées différemment en fonction des utilisateurs et de leurs besoins Impression de rapports Affichage Graphiques Statistiques Suivi Modifications,... 54
Transformation batch immédiate ou différée Avantages Efficacité de traitement Performance à la restitution Maîtrise de la transformation Inconvénients Nombre de modèles limités Pas de personnalisation Serveur Clients 55
Transformation à la demande côté serveur Avantages Personnalisation et agrégation Modification uniforme des modèles et des styles Maîtrise de la présentation Inconvénients Coût de traitement Charge du serveur Clients Serveur 56
Transformation sur le navigateur Avantages Coût de transformation déporté sur poste client Personnalisation et agrégation Modification uniforme des modèles et des styles Inconvénients Nécessite un client supportant XML et XSL (ou CSS2) Limite les cas d'utilisation (Web) Serveur Clients 57
Quelle architecture de publication? Les architectures sont complémentaires et non concurrentes Les architectures doivent être adaptées au besoin Intranet : traitement sur le poste client Les postes clients sont maîtrisés Libère la charge coté serveur Extranet : traitement coté serveur Une montée en charge maîtrisée Offrir de la personnalisation Internet : traitement batch Permet de garantir les montées en charge 58
Agenda Introduction Fondations et bases technologiques d XML Les portails et la gestion de contenu Exemple : Évolutions et intégrations de portails d accès au droit de l Union Européenne L intégration d applications et les échanges partenaires Les Web Services 59
Agenda Introduction Fondations et bases technologiques d XML Les portails et la gestion de contenu Exemple : Mise en place d un outil gestion de contenu Web garantissant l accessibilité des contenus pour le Portail Fiscal L intégration d applications et les échanges partenaires Les Web Services 60
L accessibilité Une initiative de qualité pour tous «La puissance du Web réside dans son universalité. L accès par tous quel que soit le handicap en est un aspect essentiel» Tim Berners-Lee Directeur W3C et «inventeur» du World Wide Web. Mettre le Web et ses services à la disposition de tous les individus, quel que soit leur matériel ou logiciel, leur infrastructure réseau, leur langue maternelle, leur culture, leur localisation géographique, ou leurs aptitudes physiques ou mentales Le projet de loi pour «l'égalité des droits et des chances, la participation et la citoyenneté des personnes handicapées» présenté en première lecture par M. le Ministre de la Santé et Mme la Secrétaire d État aux personnes handicapées a été adopté par le Sénat le 1er mars 2004 L article 25, Titre III du projet de loi précise : «Les services de communication publique en ligne des services de l'état, des collectivités territoriales et des établissements publics qui en dépendent doivent être accessibles aux personnes handicapées» 61
Pour qui et comment? Les différents utilisateurs Non voyants Mal voyants Sourds et mal entendants Handicapés physiques Employés de compagnies avec de forte restrictions de sécurité Coincés avec un très bas débit ou avec une souris hors service Tous les autres Les différents matériels Synthèses vocales Écran Braille à rafraîchissement (plage Braille) Navigateurs textes Mozilla, MS-Internet Explorer, etc. 62
Pour qui et comment? Vue nominale 63
Pour qui et comment? Vue texte (Lynx) 64
Pour qui et comment? Loin de tout 65
Normes & recommandations Au niveau mondial, l initiative WAI du consortium W3C pose les bases d une standardisation avec une série de recommandations (Web Accessibility Initiative) Recommandations; Guides, les WCAG 1.0 (Web Content Accessibility Guidelines) En Europe, le consortium EuroAccessibility explicite les bases et les outils pour la mise en place de référentiels, de méthodes et d actions communes dans tous les pays de la communauté L action du consortium est répartie en 5 «Task Forces» : TF1 : les besoins des utilisateurs TF2 : les outils pour une évaluation d accessibilité TF3 : une méthodologie unique d évaluation TF4 : une autorité de certification TF5 : le financement de l activité En France, L Agence pour le Développement de l Administration Électronique (A.D.A.E.) a publié un référentiel accessibilité des services Internet de l administration française (cohérent avec WCAG 1.0 et AccessiWeb) 66
Les composants retenus XML DocBook comme format pivot : un choix évident Le Schéma DocBook est de facto reconnu comme un standard documentaire Il est mature Il permet de satisfaire avec une grande richesse d outils à des besoins variés de conversions (XHTML, PDF, WML, etc.) Les outils associés à XML DocBook et au respect strict du schéma permettent d envisager tous les traitements et transformations liés à l accessibilité de la forme finale des contenus OpenOffice (1.1) Solution Open Source avec une communauté très active A terme, MS-Word 2003 67
La solution retenue Dans une approche modulaire, la solution mise en œuvre correspond à la mise en place d un composant de création de contenus dits accessibles Cette solution peut-être étendue soit dans le cadre d un CMS, soit dans le cadre d un Portail Web La cinématique présentée va de la création d un contenu jusqu à la création d un ou plusieurs fichiers XHTML de présentation Les modules utilisés sont les suivants : Création d'un document dans Open Office Transformation de ce document Open Office en document Docbook Transformation du document Docbook en document(s) XHTML accessibles 68
Création de contenu Approche fonctionnelle Les différents éléments technologiques ont été conçus pour répondre à une définition fonctionnelle de l ensemble Cette définition fonctionnelle repose sur trois étapes : Définition, par un mode opératoire, des styles utilisés dans OpenOffice pris en compte lors de la transformation ainsi que la "bonne" façon de les utiliser Définition d un tableau de correspondance qui décrit pour chaque style Open Office, un élément Docbook équivalent Définition d un tableau de correspondance qui décrit pour chaque élément Docbook (ou séquence), un élément (ou phrasé) XHTML compatible avec le référentiel A.D.A.E. 69
Création de contenus Une chaîne cohérente Styles bureautiques Outil Bureautique Open Office Feuille de style Transformation (JAVA) Feuille 1 Styles DocBook Format Pivot XML D un point à l autre, l équivalence stricte des styles entre les différents modules reste vrai Deux Feuilles de styles (au sens XML) sont utilisées : La feuille 1 permet la conversion d OpenOffice vers DocBook La feuille 2 permet la transformation de DocBook vers XHTML Feuille de style Transformation (JAVA) Feuille 2 L application des deux feuilles de style est pilotée par un programme JAVA Une feuille de style CSS se charge de la présentation Feuille de style CSS Présentation Web XHTML + WAI 70
Création de contenus Une histoire de styles et de rythme Deux Feuilles de styles (au sens XML) sont utilisées pour les transformations et une feuille de style CSS pour la présentation La feuille 1 permet la conversion d OpenOffice vers DocBook Elle a été créée par Cosmosbay~Vectis à partir de la feuille proposée par OpenOffice et de la feuille créée par Eric Belaud Elle prend en compte environ 80% des styles OpenOffice (les plus utilisés) ainsi que les styles spécifiques définis en fond documentaire et du contexte d usage La feuille 2 permet la transformation de DocBook vers XHTML Elle est intégrée par Cosmosbay~Vectis comme la résultante de deux feuilles de style : celle de Norman Walsh et celle de Nikolai Grigoriev L application des deux feuilles de style est pilotée par un programme JAVA Il prend en charge la réalisation de tout ce qui n'est pas pris en compte par les conversions XSL : extraction des images incorporées aux documents, traitement des erreurs, etc. Il a été conçu pour prendre en entrée des documents d'autres éditeurs de texte (MS- Word) Il permet de pouvoir exécuter plusieurs transformations XSL à la suite (exemples : OpenOffice -> Docbook -> XHTML, OpenOffice -> Docbook -> PDF) Il a été créer afin de pouvoir s'interfacer avec toute application Java Une feuille de style CSS se charge de la présentation 71
Un schéma global Concept, du respect des standards et de la modularité Schéma DocBook W3C / WAI Vérification Gestion de contenu Méta données XML Schéma Contenu XML Schéma DocBook XML Schéma «global» Contenus structurés Serveur d Application Serveur Web Client XML Régles de transformation Règles d affichage OpenOffice Contenus bruts «sur-raffinés» 72