« STIC:STIC I - exercice 2 (Nestor-Pixel) » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
 
(47 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
== Enoncé de l'exercice 2 - STIC 1 ==
{{stic_archive}}
 
== Enoncé de l'exercice 2 ==


Cet exercice du cours [[STIC I]] vous permet:
Cet exercice du cours [[STIC I]] vous permet:
* d'apprendre à éditer une page XML avec un éditeur XML
* d'apprendre comment construire des DTDs pour  XML
* d'apprendre un peu de XSLT
* d'apprendre les bases de XSLT
* d'apprendre comment associer une feuille de style CSS à une "sortie XHTML"


=== Tâche ===
=== Tâche ===


* Faites votre page travaux
* Créer une DTD simple sur un sujet de votre choix, mais en rapport avec une thématique "MALTT"
* Elle sera accessible par l’URL
* Afficher avec une feuille de style XSLT un contenu valide crée avec cette
http://tecfa.unige.ch/etu-maltt/nestor/''votre login''/welcome.xml
* Afficher avec une feuille de style XSLT partiellement un contenu valide crée avec cetteDTD
Par exemple:  
* Bonus: associer une CSS au résultat HTML
http://tecfa.unige.ch/etu-maltt/maya/wipfli/
* Ecrire un rapport
* Une page d'accueil/rapport est à placer ici:
* Participer au Wiki
/etu-maltt/nestor/''login''/stic/ex2/
 
Exemple:
Emplacement de la page d'accueil / rapport:
http://tecfa.unige.ch/etu-maltt/nestor/dupont/ex2
 
  /etu-maltt/<promo>/<login>/stic/ex2/
Note: N'oubliez pas de copier aussi la DTD et la XSLT. Donc dans le répetoire il faut avoir les fichiers suivants:
par exemple:
/etu-maltt/maya/''login''/welcome.xml
  /etu-maltt/pixel/user1/stic/ex2/
/etu-maltt/maya/''login''/travaux.dtd
 
/etu-maltt/maya/''login''/travaux.xsl
* Donc ''ex2'' et ne pas ''exercice 2'' etc. !!


=== Contraintes ===
=== Contraintes ===


* Cette page indexera tous vos travaux
* Contenu selon vos envies et possibilités, mais en rapport avec les thématiques de MALTT
* Il faut utiliser la DTD XML telle quelle (!) mis à votre disposition
* Vous pouver soit définir une nouvelle DTD, soit adapter une DTD
* Vous devez adapter la feuille de style (PAS la DTD !),
* La DTD doit être correcte et vos contenus doivent être valides (respecter la DTD)
* Une fois '''édité''' votre page travail, je vous conseille de finir d'abord l'exercise 3. Votre DTD à vous sera sans doute plus simple, c.a.d. mieux adapté pour faire les premiers pas avec XSLT.
* Vous devez créer deux feuilles de style XSLT qui présentent les informations de deux façons différentes. Vous êtes notamment encouragés à présenter des informations partielles dans une des variantes. Cette présentation se fera en XHTML (strict ou transitoire).
 
Il faut donc produire 6 fichiers:
* Une DTD,  
* deux fichiers *.xml qui sont identiques,  
* deux fichiers *.xsl associés à ces fichiers xml
* un rapport.
 
Le rapport:
Le rapport:
* Titre, auteur et date
* Titre, auteur et date
* Le résulat: Lien vers la page travail, lien vers le fichier *.xsl utilisé
* Le résulat:  
** Lien vers la DTD
** Lien vers le fichier XML 1
** Lien vers le *.XSLT qui va avec (et la CSS si vous en utilisez)
** Lien vers une copie du fichier XML 1 (XML 2)
** Lien vers le *.XSLT qui va avec (et la CSS si vous en utilisez)
* Objectifs DTD: Elle sert à quoi ?
* Objectifs XSLT: Comment avez-vous pensé la mise en page ?
* Objectifs XSLT: Comment avez-vous pensé la mise en page ?
* La production: '''bref''' résumé de la démarche
* La production: '''bref''' résumé de la démarche
* Contribution Wiki (il suffit de faire un lien vers votre home page wiki)
* Difficultés, auto-évaluation, remarques
* Difficultés, auto-évaluation, remarques
* Ressources utilisées, bibliographie.
* Ressources utilisées, bibliographie.
Ligne 39 : Ligne 55 :
=== Evaluation ===
=== Evaluation ===


* Respect des contraintes + emplacement de fichiers
* Qualité du rapport (y compris discussion des besoins et du vocabulaire)
* Qualité du rapport
* Thématique (pas de recette de cuisine, liste de CDs etc. ! Soyez créatifs ...)
* Feuille de style (c.f ex 4). Donc créez d'abord juste le contenu. Revenez plus tard une fois que vous avez compris un peu de XSLT.
* Ergonomie et qualité de la présentation (X)HTML
* Fonctionalité, originalité. etc.
* Qualité de la DTD par rapport au buts fixés
* Validité des fichiers XML, XSLT et de la DTD
* Bonus: Richesse de la DTD (faire plus qu’une simple structure tabulaire ! Evitez donc les DTD pour gérér vos CD et vos livres ....)
* Participation au wiki (en dehors de la page discussion !)
 
=== Propositions wiki-writing pour les experts ===
 
# Compléter [[XML]]
# Compléter [[Tutoriel XSLT débutant]]
# Compléter [[Tutoriel DTD]]
# [[XML dans l'éducation]]
# Décrire un vocabulaire XML qui vous intéresse (regardez ce que publie [http://www.w3.org/TR/ W3C], [[en:IMS|IMS]], [http://www.oasis-open.org/ OASIS],....)
 
 
=== Autres exercices de la même période ===
*[[:STIC:STIC I - exercice 1 | Exercice 1]]
*[[:STIC:STIC I - exercice 3 | Exercice 3]]


=== Instructions ===
== Activités en classe ==


'''Vous avez besoin de:''' Un client SFTP ou l'explorateur Windows, XEmacs et les 4 fichiers "travaux.dtd", "welcome.xml", "travaux.xsl" et "example.xml" d'être présents dans la racine de votre espace Travaux.
=== Logiciels ===


Etapes à suivre:
* [http://java.sun.com/ Java 6 SDK]. Il faut installer cet environnement, car plusieurs programmes que nous allons utiliser en ont besoin.


# Copiez les 5 fichiers '''"travaux.dtd"''', '''"travaux.xsl"''', '''"ENLEVERwelcome.xml"''', '''"travauxdoc.txt"''' et '''"example.xml"''' depuis http://tecfa.unige.ch/tecfa/teaching/staf14/files/workpage/ (ou /web/tecfa/teaching/staf14/files/workpage/) dans votre espace "Travaux" (/T:). ATTENTION: Ne faites pas "SAVE AS" d'une page XML depuis un navigateur Web. Vous pouvez perdre de l'information ou encore vous retrouver avec du simple HTML !
Ensuite, installer / utiliser un éditeur XML. Voici quelques choix:
# Renommez le fichier ENLEVERwelcome.xml en welcome.xml
 
# Lancez un éditeur XML et ouvrez le fichier "welcome.xml" (drag & drop depuis l'Explorateur ou ''File - Open - <chemin>'').
; Editeur XML - Choix 1
# Remplissez les balises xml d'une façon logique qui puissent décrire votre page Travaux MALTT / STAF et n'oubliez pas de sauver de temps en temps! Vous allez trouver tous les explications que vous aurez besoin dans le fichier travauxdoc.txt.  
 
#* [http://tecfa.unige.ch/tecfa-people/tecfa-people.html#stud exemples étudiants] (Maya, Linus, etc.)
Installer sous XP (facile). Il suffit de télécharger la version Windows
# Si vous travaillez en local (par ex chez vous), une fois terminé, il faut transférer tous les fichiers avec FTP dans votre espace Travaux.
* [http://www.freexmleditor.com/ Exchanger XML Editor lite]
# Vérifiez les changements que vous avez fait de temps en temps avec votre browser préféré soit en local soit à l'URL suivant: http://tecfa.unige.ch/etu-maltt/nestor/''votre login''/
 
# Félicitations!!! Vous avez votre première page en XML! Et si vous la trouvez pas très jolie c'est à vous maintenant de changer sa mise en forme en apprennant XSLT :) (fichier travaux.xsl)
Installation de Exchanger sous VISTA (plus difficile !)
 
(1) Télécharger [http://www.exchangerxml.com/editor/downloads/xngrliteV32.zip http://www.exchangerxml.com/editor/downloads/xngrliteV32.zip]. Puisque vous avez déjà installé Java, il faut prendre une version '''sans''' Java (Without Java VM)
 
(2) Dézipper dans un répertoire (par exemple c:\exchanger)
 
(3) Dans ce répertoire, créer un fichier ''exchanger.cmd'' avec le contenu suivant:
cd c:\exchanger
start javaw -jar lib\xngr-loader.jar
 
(4) cliquer sur ''exchanger.cmd''
 
; Editeur XML - Choix 2
* [http://www.epcedit.com/ epcEdit]
* Le plus convivial à utiliser (mais pas à installer)
 
; XML Copy editor - Choix 3
* [http://sourceforge.net/projects/xml-copy-editor/ XML Copy editor]
* Le plus facile à installer ! Assez facile à utiliser.
* Peut valider toutes sortes de schémas.
 
; Editeur XML - autres choix
* C.f. [[:en:XML editor|XML editor]]
 
=== Introduction à XML ===
 
* [http://tecfa.unige.ch/guides/tie/html/xml-dom/xml-dom.html Introduction à XML et DOM] (slides)
* [http://tecfa.unige.ch/guides/tie/html/xml-tech/xml-tech.html Introduction technique à XML] (HTML) - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-tech.pdf PDF], (transparents)
 
=== Warm-up - éditer une DTD de cuisine ===
 
Copiez ces fichiers:
* http://tecfa.unige.ch/guides/xml/examples/dtd-examples/cuisine.xsl
* http://tecfa.unige.ch/guides/xml/examples/dtd-examples/cuisine.css
* http://tecfa.unige.ch/guides/xml/examples/dtd-examples/cuisine.dtd
* http://tecfa.unige.ch/guides/xml/examples/dtd-examples/cuisine-template.xml
 
'''ATTENTION''': il faut "sauver les lien sous" / "save link as" ! Pas afficher dans le navigateur et sauver ensuite ...
 
Avec votre éditeur XML, ouvrez le document ''cuisine-template.xml''
 
Entrez une recette ...
 
=== Créer une DTD ===
 
* Créez une DTD, exemple:
 
<!ELEMENT addressBook (person)+>
<!ELEMENT person (name,email*)>
<!ELEMENT name (family,given)>
<!ELEMENT family (#PCDATA)>
<!ELEMENT given (#PCDATA)>
<!ELEMENT email (#PCDATA)>
 
* Faites un fichier XML avec cette DTD
 
Template XML (remplacez "VOTRE_RACINE" et "VOTRE_DTD")
<source lang="xml">
<?xml version="1.0"?>
<!DOCTYPE VOTRE_RACINE SYSTEM "VOTRE_DTD.dtd">
 
<VOTRE_RACINE>
 
</VOTRE_RACINE>
</source>
 
=== Introduction à XSLT ===
 
* [http://tecfa.unige.ch/guides/tie/html/xml-xslt/xml-xslt.html Introduction technique à XSLT] - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-xslt.pdf PDF file] , (transparents)
 
=== XSLT ===
 
(1) Regardez d'abord des examples, notamment la recette de cuisine ci-dessus !
: Sinon, fouillez par exemple les exemples très simples: http://tecfa.unige.ch/guides/xml/examples/xsl-simple/
 
(2) Pour votre XML/DTD faites une simple feuille de style XSLT
 
Copiez/collez le chablon ci-dessous si vous voulez et remplacez "VOTRE_RACINE, "UN_ELEMENT" par vos éléments. Sinon, la plupart des
éditeurs XML offrent une assistance XSLT.
 
Template XSLT:
<source lang="xml">
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
  <xsl:output method="html"/>
 
  <xsl:template match="VOTRE_RACINE">
    <html>
      <body bgcolor="#FFFFFF">
        <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>
 
  <xsl:template match="UN_ELEMENT">
   
  </xsl:template>
 
  <xsl:template match="UN_ELEMENT">
   
  </xsl:template>
</xsl:stylesheet>
</source>
 
Template XML avec XSLT
<source lang="xml">
<?xml version="1.0" ?>
<!DOCTYPE VOTRE_RACINE SYSTEM "VOTRE_DTD.dtd">
<?xml-stylesheet href="VOTRE_STYLE.xsl" type="text/xsl"?>
 
<VOTRE_RACINE>
 
</VOTRE_RACINE>
</source>


== Ressources ==
== Ressources ==
Ligne 66 : Ligne 214 :
: [http://tecfa.unige.ch/guides/tie/html/xml-xslt/xml-xslt.html Introduction technique à XSLT] - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-xslt.pdf PDF file] , (transparents)
: [http://tecfa.unige.ch/guides/tie/html/xml-xslt/xml-xslt.html Introduction technique à XSLT] - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-xslt.pdf PDF file] , (transparents)


; Autres
; Exemples de DTD
: http://tecfa.unige.ch/guides/xml/examples/dtd-examples/
: http://tecfa.unige.ch/guides/xml/examples/xsl-simple/
 
; Pages wiki fr
: [[XML]] (survol conceptuel)
: [[Tutoriel DTD]]
: [[Encodage de caractères]]
: [[Tutoriel XSLT débutant]] (contenu similaire aux transparents XSLT)
 
; Pages wiki en
: [[:en:XML|XML]] (en, mini-tutoriel + liens)
: [[:en:XML editor|XML editor]] (on conseille Exchanger light, si vous n'arrivez pas à l'installer, essayez d'autres comme epcedit)
: [[:en:XSLT|XSLT]] (en, liens)
: [[:en:XSLT|XSLT]] (en, liens)
: [[:en:XML|XML]] (en, mini-tutoriel + liens)
: [[:en:XSLT_Tutorial_-_Basics|XSLT Tutorial]] (en, mini-tutoriel)
: [[:en:XSLT_Tutorial_-_Basics|XLT Tutorial]] (en, mini-tutoriel)
: [[:en:Character encoding| Character encoding]] (en, liens encodage)
 
[[Category: STIC]]

Dernière version du 14 septembre 2010 à 19:10

Cette page fait partie des archives des cours Cours STIC (STIC I, STIC II,STIC III,STIC IV)

Enoncé de l'exercice 2

Cet exercice du cours STIC I vous permet:

  • d'apprendre comment construire des DTDs pour XML
  • d'apprendre les bases de XSLT
  • d'apprendre comment associer une feuille de style CSS à une "sortie XHTML"

Tâche

  • Créer une DTD simple sur un sujet de votre choix, mais en rapport avec une thématique "MALTT"
  • Afficher avec une feuille de style XSLT un contenu valide crée avec cette
  • Afficher avec une feuille de style XSLT partiellement un contenu valide crée avec cetteDTD
  • Bonus: associer une CSS au résultat HTML
  • Ecrire un rapport
  • Participer au Wiki

Emplacement de la page d'accueil / rapport:

 /etu-maltt/<promo>/<login>/stic/ex2/

par exemple:

 /etu-maltt/pixel/user1/stic/ex2/
  • Donc ex2 et ne pas exercice 2 etc. !!

Contraintes

  • Contenu selon vos envies et possibilités, mais en rapport avec les thématiques de MALTT
  • Vous pouver soit définir une nouvelle DTD, soit adapter une DTD
  • La DTD doit être correcte et vos contenus doivent être valides (respecter la DTD)
  • Vous devez créer deux feuilles de style XSLT qui présentent les informations de deux façons différentes. Vous êtes notamment encouragés à présenter des informations partielles dans une des variantes. Cette présentation se fera en XHTML (strict ou transitoire).

Il faut donc produire 6 fichiers:

  • Une DTD,
  • deux fichiers *.xml qui sont identiques,
  • deux fichiers *.xsl associés à ces fichiers xml
  • un rapport.

Le rapport:

  • Titre, auteur et date
  • Le résulat:
    • Lien vers la DTD
    • Lien vers le fichier XML 1
    • Lien vers le *.XSLT qui va avec (et la CSS si vous en utilisez)
    • Lien vers une copie du fichier XML 1 (XML 2)
    • Lien vers le *.XSLT qui va avec (et la CSS si vous en utilisez)
  • Objectifs DTD: Elle sert à quoi ?
  • Objectifs XSLT: Comment avez-vous pensé la mise en page ?
  • La production: bref résumé de la démarche
  • Contribution Wiki (il suffit de faire un lien vers votre home page wiki)
  • Difficultés, auto-évaluation, remarques
  • Ressources utilisées, bibliographie.

Evaluation

  • Qualité du rapport (y compris discussion des besoins et du vocabulaire)
  • Thématique (pas de recette de cuisine, liste de CDs etc. ! Soyez créatifs ...)
  • Ergonomie et qualité de la présentation (X)HTML
  • Fonctionalité, originalité. etc.
  • Qualité de la DTD par rapport au buts fixés
  • Validité des fichiers XML, XSLT et de la DTD
  • Bonus: Richesse de la DTD (faire plus qu’une simple structure tabulaire ! Evitez donc les DTD pour gérér vos CD et vos livres ....)
  • Participation au wiki (en dehors de la page discussion !)

Propositions wiki-writing pour les experts

  1. Compléter XML
  2. Compléter Tutoriel XSLT débutant
  3. Compléter Tutoriel DTD
  4. XML dans l'éducation
  5. Décrire un vocabulaire XML qui vous intéresse (regardez ce que publie W3C,, OASIS,....)


Autres exercices de la même période

Activités en classe

Logiciels

  • Java 6 SDK. Il faut installer cet environnement, car plusieurs programmes que nous allons utiliser en ont besoin.

Ensuite, installer / utiliser un éditeur XML. Voici quelques choix:

Editeur XML - Choix 1

Installer sous XP (facile). Il suffit de télécharger la version Windows

Installation de Exchanger sous VISTA (plus difficile !)

(1) Télécharger http://www.exchangerxml.com/editor/downloads/xngrliteV32.zip. Puisque vous avez déjà installé Java, il faut prendre une version sans Java (Without Java VM)

(2) Dézipper dans un répertoire (par exemple c:\exchanger)

(3) Dans ce répertoire, créer un fichier exchanger.cmd avec le contenu suivant:

cd c:\exchanger 
start javaw -jar lib\xngr-loader.jar

(4) cliquer sur exchanger.cmd

Editeur XML - Choix 2
  • epcEdit
  • Le plus convivial à utiliser (mais pas à installer)
XML Copy editor - Choix 3
  • XML Copy editor
  • Le plus facile à installer ! Assez facile à utiliser.
  • Peut valider toutes sortes de schémas.
Editeur XML - autres choix

Introduction à XML

Warm-up - éditer une DTD de cuisine

Copiez ces fichiers:

ATTENTION: il faut "sauver les lien sous" / "save link as" ! Pas afficher dans le navigateur et sauver ensuite ...

Avec votre éditeur XML, ouvrez le document cuisine-template.xml

Entrez une recette ...

Créer une DTD

  • Créez une DTD, exemple:
<!ELEMENT addressBook (person)+>
<!ELEMENT person (name,email*)>
<!ELEMENT name (family,given)>
<!ELEMENT family (#PCDATA)>
<!ELEMENT given (#PCDATA)>
<!ELEMENT email (#PCDATA)>
  • Faites un fichier XML avec cette DTD

Template XML (remplacez "VOTRE_RACINE" et "VOTRE_DTD")

<?xml version="1.0"?>
<!DOCTYPE VOTRE_RACINE SYSTEM "VOTRE_DTD.dtd">

<VOTRE_RACINE>

</VOTRE_RACINE>

Introduction à XSLT

XSLT

(1) Regardez d'abord des examples, notamment la recette de cuisine ci-dessus !

Sinon, fouillez par exemple les exemples très simples: http://tecfa.unige.ch/guides/xml/examples/xsl-simple/

(2) Pour votre XML/DTD faites une simple feuille de style XSLT

Copiez/collez le chablon ci-dessous si vous voulez et remplacez "VOTRE_RACINE, "UN_ELEMENT" par vos éléments. Sinon, la plupart des éditeurs XML offrent une assistance XSLT.

Template XSLT:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:output method="html"/>

  <xsl:template match="VOTRE_RACINE">
    <html>
      <body bgcolor="#FFFFFF">
        <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="UN_ELEMENT">
    
  </xsl:template>

  <xsl:template match="UN_ELEMENT">
    
  </xsl:template>
</xsl:stylesheet>

Template XML avec XSLT

<?xml version="1.0" ?>
<!DOCTYPE VOTRE_RACINE SYSTEM "VOTRE_DTD.dtd">
<?xml-stylesheet href="VOTRE_STYLE.xsl" type="text/xsl"?>

<VOTRE_RACINE>

</VOTRE_RACINE>

Ressources

Transparents
TECFA's XML page
Introduction à XML et DOM - PDF file , (transparents)
Introduction technique à XML - PDF file , (transparents)
Introduction technique à XSLT - PDF file , (transparents)
Exemples de DTD
http://tecfa.unige.ch/guides/xml/examples/dtd-examples/
http://tecfa.unige.ch/guides/xml/examples/xsl-simple/
Pages wiki fr
XML (survol conceptuel)
Tutoriel DTD
Encodage de caractères
Tutoriel XSLT débutant (contenu similaire aux transparents XSLT)
Pages wiki en
XML (en, mini-tutoriel + liens)
XML editor (on conseille Exchanger light, si vous n'arrivez pas à l'installer, essayez d'autres comme epcedit)
XSLT (en, liens)
XSLT Tutorial (en, mini-tutoriel)
Character encoding (en, liens encodage)