STIC:STIC II - exercice 13 (Stella)

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cette page fait partie des cours STIC I et STIC II

Enoncé de l'exercice 13

Cet exercice du cours STIC II vous permet:

  • de vous familiariser avec SVG statique et SVG dynamique avec les balises SMIL
  • (à option!), de vous familiariser avec SVG interactif ou encore SVG dynamique avec le DOM
  • d'apprendre la raison d'être de XHTML (donc comprendre pourquoi XHTML 1.x était plus intéressant qu'HTML 4), mais aussi pourquoi SVG a été finalement intégrée dans HTML5.

Tâche

  • Créez soit (a) une page HTML5 ou une page XHTML qui contient du SVG (c.f. l'exemple modèle ci-dessous), (b) soit une animation SVG pour device portable, (c) soit une visualisation de données XML->SVG

Navigateurs:

  • Pour visualiser un contenu HTML5/SVG ou SVG autonome ou XHTML+SVG, Il faut utiliser un navigateur récent (fin 2011) pour voir les contenus. IE7/IE8 n'a pas de support SVG, IE9 ne fait pas du SMIL.
  • SVG sur portables marche avec les navigateurs de type Opera plus les Smartphones Apple et Android récents (!). A vous de se renseigner.
  • Ceux qui ont des machines ne permettant pas de mise à jour, peuvent soit faire du XHTML avec Firefox, soit installer Opera.

N'oubliez pas la contribution au wiki ! Suggestions:

Outils et clipart

  • Editeur XML (XML Exchanger contient déjà plusieurs variantes de DTDs pour SVG)
  • Outils de dessin (à option !): Inkscape, Illustrator, etc.
  • Outils de dessin en ligne: SVG-edit (meilleur choix pour les débutant)
  • Clipart: Voir en:clipart et surtout Open Clip Art Library
Attention
  • Si vous travaillez avec Inkscape, vous avez intérêt à sauver le résultat en SVG pur (plain SVG, pas Inkscape SVG). Inkscape ajoute dans son propre namespace des informations utiles pour rééditer (calques, etc.). Enlever ces infos réduit considérablement la taille du fichier. Finalement sachez que les navigateurs n'arrivent pas à afficher tous les dessins comme il faut. Les implémentations de SVG statique ne sont pas totalement complètes.
  • Il faut également vérifier la version de SVG ! Certains navigateurs ne font pas du SVG 1.2 Tiny! Opera et Firefox (aux dernières nouvelles font SVG 1.1. Certains éditeurs XML n'ont peut-être que la DTD pour SVG 1.0. Donc corriger cela au début du fichier si nécessaire !
  • Seul Opera, Chrome et Firefox implémentent SVG dynamique (c.a.d. les balises "SMIL"). Dans les autres navigateurs il faut utiliser JavaScript/DOM pour ajouter de l'interactivité et des animations nécessaires.
  • Vous avez aussi l'option de faire une application SVG pour un portable device. Dans ce cas je ne demande pas que le SVG soit imbriqué dans du HTML. Il faut, par contre, explorer un peu plus soi-même ....
  • Une page XHTML page doit avoir une extension *.xhtml. C'est important, car ces fichiers sont servis par notre serveur en tant que XHTML et non pas en tant que HTML. On ne peut pas inclure du code SVG dans du code HTML 4.x. Utilisez HTML5 c'est plus facile. Il suffit de bien réussir l'entête et la déclaration du namespace SVG dans la balise svg.

Contraintes

  • Contenu de la page selon vos envies (mais en rapport avec une thématique MALTT)
  • La page doit contenir un élément dynamique (conseillé) et/ou un élément interactif (plutôt déconseillé à ce stade)
  • La page doit être bien formée et valide.
  • Vous pouvez utiliser du clipart SVG fait par d'autres, mais à condition d'indiquer la source dans votre page XHTML et dans le rapport.

Le rapport:

  • Titre, auteur et date
  • Liens vers le résulat (fichier XHTML/SVG) et indiquez avec quelle configuration on peut voir votre contenu.
  • Objectifs de la page: Elle sert à quoi / quelle population ?
  • Discussion du design
  • La production: bref résumé de la démarche
  • Difficultés, auto-évaluation, remarques
  • Ressources utilisées, bibliographie.

Emplacement du rapport avec les liens vers le dispositif xhtml/svg:

/etu-maltt/RD2D/<login>/stic/ex13/

Evaluation

Comme d'habitude (c.f. la grille d'évaluation utilisée pour STIC I). Faites notamment attention aux points suivants:

  • Qualité du rapport (y compris une discussion des besoins)
  • Qualité et objectifs de la page (est-ce utile, est-ce un sujet "MALTT", ...)
  • Richesse de la page
  • Bonus: Page sans erreur (XHTML doit être bien formé, HTML 5 validé avec http://validator.w3.org/)
  • Bonus: Bonne animation ou éléments de scripting
  • Malus: Page statique seulement. Si vous n'avez pas le temps pour apprendre du SVG dynamique, faites au moins une page statique intéressante et qui donnera un 5 au moins si le reste est ok (rapport,wiki).
  • Contribution au wiki

Exemples modèle

Simple (pour avoir une très mauvais note)
Seulement statique (pour avoir une mauvaise note)
Un diagramme SVG fait avec Inkscape (mais exporté en SVG normal)
Bien

Sinon voir:

Activités en classe

SVG statique

  • Création d'un petit contenu SVG
  • Faites un petit fichier SVG avec Exchanger Lite:
    • Menu File-New->Type->SVG
    • Pour visualiser, soit ouvrir dans Firefox/Opera/Safari, soit Menu Tools->Show SVG.
  • Essayez dde créer un cercle rouge

SVG dans HTML5

<!DOCTYPE html>
<html>
  <head>
    <title>HTML5 SVG demo</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  </head>

  <body>
    <h1>HTML5 SVG Demo</h1>

A nice green circle:
    <svg id="circle" height="200" xmlns="http://www.w3.org/2000/svg">
      <circle id="greencircle" cx="30" cy="30" r="30" fill="green" />
    </svg>

    <hr>
    <address>Created by DKS. This is free code</address>
  </body>
</html>

SVG dans XHTML

  • Copiez/collez le contenu suivant dans Exchanger Lite ou un autre éditeur XML.
  • Ce contenu est aussi disponible ici
  • Important: Votre fichier doit s'appeler XXX.xhtml (pas *.svg ou *.html ou *.htm).
<?xml version="1.0" ?>
<!DOCTYPE html 
      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >

<html xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:svg="http://www.w3.org/2000/svg">
 <head>
  <title>SVG within XHTML Demo</title>
 </head>
 <body>

  <p> On peut imbriquer SVG dans XHTML. Utiliser Firefox ou Opera, IE 6/7 n'implémente ni XHTML ni SVG. A tester
  avec Safari.
  </p>

  Ci-dessous du SVG <hr />

  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="300">

   <!-- un petit rectangle avec des coins arroundis  -->
   <rect x="50" y="50" rx="5" ry="5" width="300" height="100" style="fill:#CCCCFF;stroke:#000099"/>
   
   <!-- un texte au meme endroit -->
   <text x="55" y="90" style="stroke:#000099;fill:#000099;font-size:24;">
    HELLO cher visiteur 
   </text>

  </svg>
  <hr />
  Retour au <strong>HTML</strong>
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100" height="100">

     <!-- copier / coller d'autres éléments SVG -->

  </svg>
</body>
</html>

Liens

Introduction officielle du W3C
SVG Primer, en Anglais, très bien faite. Seule critique: Il manque HTML 5 (donc on peut simplifier leurs exemples XHTML ...)
An SVG Primer for Today's Browsers
Livre LearnSVG en ligne
http://tecfa.unige.ch/guides/svg/learnSVG/ (copie locale protégée de learnsvg.com)
Attention, il y a des erreurs dans le code. Les auteurs ont oublié la déclaration namespace pour xlink (3ème line dans le code ci-dessous). Il faut l'ajouter dans la plupart de leurs exemples. Sans doute ils n'ont pas vu que c'est obligatoire étant donné que les anciens plugins SVG marchaient sans .... !! Suivant l'exemple, il faut ajuster, par exemple:

Page simple

<svg height="900" width="900" 
  xmlns="http://www.w3.org/2000/svg">

ou page avec des href

<svg height="900" width="900" 
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns="http://www.w3.org/2000/svg">

ou page avec href et un événement onload

<svg width="100%" height="100%" 
     xmlns="http://www.w3.org/2000/svg" 
     xmlns:xlink="http://www.w3.org/1999/xlink"
     onload="Init(evt);">
Les fichiers exemples sont dans le PDF, par exemple: http://tecfa.unige.ch/guides/svg/learnSVG/fr/pdf/chapitre10_images/
Animation SVG
  • Animating Your SVG by Charles McCathienevile · 31 OCT, 2006. Bonne intro à l'animation SMIL avec exemples.
  • Voir aussi: Chapitre 9 du livre LearnSVG
Liens edutechwiki français
tutoriel SVG statique (incomplet)
tutoriel SVG dynamique avec SMIL (brouillon)
tutoriel SVG dynamique avec DOM (gros brouillon)
Type MIME
Transparents (qualité de type "à refaire")
http://tecfa.unige.ch/guides/tie/html/svg-intro/svg-intro.html
http://tecfa.unige.ch/guides/tie/html/svg-dyn/svg-dyn.html (A option, surtout la partie DOM)
http://tecfa.unige.ch/guides/tie/html/svg-xslt/svg-xslt.html (A option)
http://tecfa.unige.ch/guides/tie/html/visu-gen/visu-gen.html (A option, pour ceux qui connaissent PHP).
Dossier exemples TECFA
http://tecfa.unige.ch/guides/svg/ex/
Surtout: http://tecfa.unige.ch/guides/svg/ex/svg-intro/
STIC:STIC I - exercice 5 (Nestor-Pixel) (fouillez dans les pages travaux)
Liens techniques edutech wiki anglais
en:SVG links (liste d'outils, tutoriels, sites, etc).
en:XHTML
en:XML namespace
Bon site avec des exemples
Open Clip Art Library. Très large repositoire de clipart (et juste du dessin ...)
liens SVG (Edutechwiki en)
Spécifications et DTDs
Scalable Vector Graphics (SVG) 1.1 Specification
Scalable Vector Graphics (SVG) Tiny 1.2 Specification
La spécification sur les Graphiques Vectoriels Adaptables (SVG), version 1.0 (en français)
SVG 1.1 DTD
An XHTML + MathML + SVG Profile
xhtml-math-svg.dtd (juste le driver)