1.07k likes | 1.23k Views
XML : quelques applications. …pas seulement un langage documentaire,. …pas seulement le successeur d'HTML !. Pourquoi application ?. XML pour créer des langages de description spécialisés. Une déclinaison de la spécification du langage APPLIQUEE à un domaine particulier. CML.
E N D
XML : quelques applications …pas seulement un langage documentaire, …pas seulement le successeur d'HTML !
Pourquoi application ? • XML pour créer des langages de description spécialisés. • Une déclinaison de la spécification du langage APPLIQUEE à un domaine particulier.
CML La molécule de l'eau H2O <?xml version="1.0" ?> <CML> - <MOL TITLE="Water"> - <ATOMS> <ARRAY BUILTIN="ELSYM">H O H</ARRAY> </ATOMS> - <BONDS> <ARRAY BUILTIN="ATID1">1 2</ARRAY> <ARRAY BUILTIN="ATID2">2 3</ARRAY> <ARRAY BUILTIN="ORDER">1 1</ARRAY> </BONDS> </MOL> </CML>
CML (suite) • Un éditeur spécialisé (visualisation graphique des molécules), • Un langage d'échange entre différents logiciels de chimie habituels (ex : Protein Data Bank)
MathML • Pour des descriptions de formules mathématiques, • Pas visualisable avec les navigateurs habituels, • OK dans AMAYA (cf exemple des équations de Maxwell).
XML et le multimédia • Graphismes sur le Web : SVG (Scalable Vector Graphics), X3D (format 3D) • Multimédia, synchronisation : SMIL (Synchronized Multimedia Integration Language) • VoiceXML
SVG : Scalable Vector Graphics XML Graphics for the Web
SVG : en résumé • Un format de données pour décrire des graphiques vectoriels, spécifié par le W3C, • Un langage vectoriel de description de graphismes pour le Web, et d’applications graphiques en XML, • Permet de décrire des formes (cercles, triangles, etc..), des couleurs, des polices, … • Origine : un consortium composé entre autre de Adobe, Apple, Corel, HP, IBM, Quark et Xerox.
SVG : caractéristiques • Coordonnées, dimensions et structures des objets vectoriels sont indiquées sous forme numérique dans le document XML
SVG : le format • Seize millions de couleurs, • gestion du texte, • transparence gérée, • dégradés, lissages, … • intégration complète à XML.
Graphiques en 2D • 3 types d'objets : • des images, • du texte, • formes graphiques vectorielles (rectangle, cercle, ellipse, ligne, polyligne, polygone).
Animations • En utilisant des scripts (javascript par exemple) • ou en utilisant des éléments prédéfinis dans SVG.
Les éléments d' "animation" • animate : permet de modifier les coordonnées d'un objet au cours du temps, • animateMotion : pour faire bouger un objet sur un "chemin", • animateColor : pour modifier la couleur au cours du temps, • animateTransform : pour modifier les attributs des transformations au cours du temps
svgZ : le fichier est compressé ! Insérer du SVG dans une page Web • Un fichier svg (extension : .svg) • En référençant le document svg dans l'élément 'embed' : <HTML> <body> … <embed src="Graphics.svgz" width="70%" height="800" pluginspage="http://www.adobe.com/svg/viewer/install/"> </body> </HTML> Solution prônée par ADOBE ATTENTION EMBED n’est pas standard
Insérer du SVG dans une page Web • En référençant le document svg dans l'élément ‘objet' : <HTML> <body> … <object type="image/svg+xml" data="mon_image.svg"> <img src="mon_image.png" alt="mon image"> </object> </body> </HTML> Image de remplacement Solution prônée par le W3C Extrait de http://popolon.org/gblog2/integrer-du-svg-dans-une-page-xhtml
Texte à afficher si pb affichage svg Insérer du SVG dans une page Web • En créant une iframe <iframe width="200" height="200" src="horloge.svg"> </iframe> • En intégrant du code directement dans le XHTML ?
SVG : l’Enjeu • un format unique pour les graphismes sur le Web ?
SVG : les avantages • Des tailles de fichiers 5 à 30 fois inférieures que leurs équivalents en GIF, • Le viewer sait décompresser "en ligne" (.svgz) : réduction des 2/3 de la taille ! (http://www.w3.org/TR/SVG11/minimize.html) • Le texte fait partie intégrante du dessin et reste reconnaissable… et donc indexable !
SVG : les avantages • Intégration dynamique des données, • Code structuré, lisible, • Code modifiable avec un éditeur de texte,
SVG : les avantages Extrait de http://fr.wikipedia.org/wiki/Svg
SVG : plusieurs langages • SVG 1.1 : Le cœur des développements SVG actuels • SVG Tiny 1.2 : en cours de spécification (vers SVG 1.2) • SVG Mobile 1.1 • SVG Print : un ensemble de recommandations pour produire un document pour impression
SVG : les outils • Visualisation : • Un plug-in d'Adobe à partir d’IE5, • SVG Map Toolkit 0.3.0 • Edition • Inkscape : éditeur de graphiques (open source) • Photoshop et Illustrator sont compatibles avec ce format, • Sketsa SVG Editor 5.0 • Skencil (anciennement Sketch) http://www.nongnu.org/skencil/
SVG : les outils • outil de présentation : W3C SVG Slidemaker • Une application de démonstration : http://www.amaltas.org/svgapp/
SVG : les outils • Sodipodi : un éditeur multi OS sous licence GNU http://www.sodipodi.com/ (à voir : les galeries d’images)
SVG les outils : Batik • http://xml.apache.org/batik/ Une boite à outil qui permet de manipuler du svg partout où il est possible d'exécuter du JAVA • Generer du SVG sur un client ou sur un serveur • Convertir du SVG dans d'autres formats (jpg, tiff, …)
SVG : les outils • WebDraw : importer, éditer, optimiser des fichiers SVG http://www.jasc.com/products/webdraw/ • RapidSVG™ v1.0 Professional http://xstreamsvg.com/
SVG : des outils de conversion • XML_svg2image : Convertit un fichier svg en une image png/jpeg (utilise batik & php) http://pear.php.net/package/XML_svg2image • SVG Graphics 2D http://xml.apache.org/batik/svggen.html
Quelques exemples • www.objectsbydesign.com/tools/svg.html • www.adobe.com/svg/main.html • http://www.adobe.com/svg/demos/cml2svg/html/index.html
Liens Web • http://ptaff.ca/svg/ page francophone du format SVG • La spécification SVG 1.1 http://www.w3.org/TR/SVG/index.html • Le site SVG du W3C : http://www.w3.org/Graphics/SVG/ • Une comparaison d’éditeurs de graphiques vectoriels : http://en.wikipedia.org/wiki/Comparison_of_vector_graphics_editors
L’ancêtre : VRML • 1994 : VRML (Virtual Reality Modeling Language) • Standard 3D basé sur XML, • Standard public, • Mais … un standard qui ne s’est pas imposé
X3D • Plus léger que VRML • Certifié ISO • Consortium Web3D (SUN, Sony, 3Dlabs, Alias, l’US Navy, FT R&D, EDF …)
X3D : quelques caractéristiques • Plus évolué que VRML : • Gestion des surfaces géométriques par exemple • Personnages virtuels (composant Humanoïd Animation) • Modulaire
X3D : sites de référence • http://www.web3d.org/x3d/ • http://www.ogre3d.org/ (un moteur 3D open-source) • http://www.alpharis.info/ (un player 3D – usage personnel gratuit) • …
Autres « standards » • U3D (Intel, Adobe et HP) • XAML (Microsoft) • 3DXML (Dassault et IBM)
SMIL • Synchronized Multimedia Integration Language • SMIL 2.0 depuis août 2001 (W3C)
Extrait de http://www.w3.org/TR/SMIL2/SMIL/Timing and Synchronization.htm Un scénario • Placement spatial des composants visuels (vidéo, texte, son, …), • Placement temporel de l'ensemble des composants.
Un scénario • Quelles interactions ? • Les effets associés à chaque interaction.
Etapes de production • Création ou récupération des composants (son, image, vidéo, texte) • Codage/Compression des composants (plusieurs formats, prenant la diffusion au fil de l'eau en compte (streamed media) ou non) • Production d'un document SMIL (placement géométrique des composants, versions des composants (en fonction de la langue, de la bande passante, …), synchronisation, …)
Qu'est-ce que SMIL ? • Pas un langage d'animation • Pas un format • Un moyen de combiner des animations et des objets multimédias : exemple • Une sorte de version multimédia d'HTML, avec par contre une séparation stricte du contenu et de la structure
Six catégories d'instructions • Structure • Media Content : Référencement du contenu • Layout : mise en page • Timing : gestion du temps • Linking : gestion de la navigation et des interactions • Adaptivity : adaptation des présentations à l'environnement
La structure d’un fichier SMIL Info de positionnement dans l’espace <smil> <head> <layout> <region> </region> </layout> </head> <body> <switch> <par> </par> <seq> </seq> </switch> </body> </smil> Test Info de positionnement dans le temps
Plusieurs régions <head> <layout> <region id="CIF-NTSC" width="352px" height="240px"/> <region id="US-photo" width="6in" height="4in"/> <region id="half-center" left="25%" top="25%" width="50%" height="50%"/> </layout> </head>
Types d'objets • Extrait dehttp://real-and-smil.com/tutorialsmil4.php
Les liens changent en fonction du temps <video src="advertisements.mpg" alt="a series of advertisements" dur="01:30"> <area href="http://advertiser1.com/" begin="00:00" end="00:30"/> <area href="http://advertiser2.com/" begin="00:30" end="01:00"/> <area href="http://advertiser3.com/" begin="01:00" end="01:30"/> </video> Extrait de : http://ttt.forno.us/en/tutorial/learning_to_smil/animating.html • exemple
Animation : 4 instructions • <animate> • <animateMotion> • <animateColor> • <set>
Animation : exemple <img src="smile.png" alt="a SMILe" region="mouth"/> <animate targetElement="left-eye" attributeName="width" to="30px" dur="3s" fill="freeze"/> <animate targetElement="right-eye" attributeName="height" to="80px" dur="3s" fill="freeze"/> <animate targetElement="nose" attributeName="width" to="100px" dur="3s" fill="freeze"/> <animate targetElement="mouth" attributeName="height" to="190px" dur="3s" fill="freeze"/> • exemple
"Discrete, linear and paced animation" : attribut calcMode Paced discrete Et spline Linear : mode par défaut (chaque point a le même % de la durée)