Académique Documents
Professionnel Documents
Culture Documents
Rapport XHTML
Rapport XHTML
Encadré par:
Pr. Saïd RAKRAK
Faculté des Sciences et Techniques B.P 549, Av.Abdelkarim Elkhattabi, Guéliz Marrakech
Tél: (+212) 524 43 34 04 Fax: (+212) 524 43 31 70
FSTG - Département Informatique - IRISI
Sommaire
Introduction.............................................................................................................................................2
I- Le langage WML............................................................................3
WML Variables et contexte.....................................................................................................................6
Tâches et événements WML...................................................................................................................9
Les Interactions.....................................................................................................................................11
WML Timers..........................................................................................................................................18
WML Decks, Templates et Cards...........................................................................................................19
WML Texte et Formatage de texte........................................................................................................24
WML image...........................................................................................................................................26
Introduction
Voici quelques lignes directrices générales qui nous ont guidées pour le
choix de notre langage de balisage mobile:
I- Le langage WML
WML (Wireless Markup Language) est le langage de balisage défini dans la spécification
WAP 1.x. Il s'agit de la norme de balisage première langue pour les dispositifs sans fil. Avant
son introduction, les principaux acteurs dans le domaine sans fil tels qu’Openwave, Nokia et
Ericsson ont leur propre langage à balises. La spécification WML a été créée par le Forum WAP,
qui a été fondée par Ericsson, Motorola, Nokia et Openwave en 1997. À l'heure actuelle, ils se
font rares les sites WAP utilisant encore WML comme langage de balisage.
Le langage WML est très proche du HTML, mais il est toutefois beaucoup
moins "souple" que ce dernier, c'est-à-dire qu'il doit être conforme à un
document appelé DTD (Document Type Definition), indiquant la syntaxe à
suivre pour créer un document WML. En effet, étant donné que les
documents WML sont prévus pour être utilisées sur des réseaux de bande
passante réduite, et des terminaux restreints (en terme d'affichage, et de
ressources systèmes). Le langage WML permet ainsi l'affichage de textes,
d'images, de tableaux sur l'écran du terminal, ainsi qu'une navigation entre
les documents.
Une carte est en réalité un ensemble de balises WML entouré par les
balises <card> et </card>. Le document WML minimal est donc un fichier
texte contenant une seule carte:
<wml>
<p align="center">
<big>IRISI</big>
<br/>
Ingénierie réseaux informatiques<br/>
et systèmes d’information
</p>
</card>
</wml>
Aperçu :
o Règles WML :
Vu que le WML est avant tout basé sur le XML, il est donc aussi sévère
sur l'interprétation du code, ce qui est avant tout une bonne chose pour les
développeurs.
Toutes les variables sont stockées sous forme de chaîne. Ils ont une
portée mondiale, ce qui signifie une fois que on a défini la valeur d'une
variable, on peut la lire dans les cartes et les Decks.
<card id="insc4">
<select name="diplome">
<option value="DUT">D.U.T</option>
<option value="DEUST">D.E.U.S.T</option>
</select>
</card>
Pour utiliser la variable que nous avons créé dans l'exemple ci-dessus:
<card id="res">
<p>vous avez selectionné: $(diplome)</p>
</card>
o Substitution de variables
Les valeurs des variables peuvent être substitués à la fois dans le texte
d'une carte et dans la valeur d’un attribut dans les éléments de WML. Seule
l'information textuelle peut être remplacée, pas de substitution d'éléments
ou d'attributs est possible.
Exemple :
<wml>
<card id="actu1" title="Page 1" newcontext="true">
<p>
page1 ?= $(visite_p1) <br/>
page2 ?= $(visite_p2) <br/>
</p>
<do type="accept" label="Suivant">
<go href="#actu2">
<setvar name="visite_p1" value="consulter"/>
<!-- création de la variable visite_p1-->
</go>
</do>
</card>
<!-- dans la première carte, rien n'est affiché puisque les variables ne sont
pas créées-->
<!-- dans la deuxième carte, visite_p2 est créé et le contenu est rafraichit:
les deux variables sont visibles-->
</wml>
Résultat :
Go :
Exemple:
<card id="crt2" title="Accueil" >
....
<anchor title="Menu" >
<go href="formation.wml"/>
<img src="images/formation.wbmp" align="middle" alt="formation" />
Formation<br>
</anchor>
....
</card>
Prev :
Exemple :
<card id="crt2" title="Accueil" >
.....
<do type="accept" label="retour">
<prev />
</do>
.....
</card>
Ou:
Refresh :
Exemple :
Noop :
La tâche <noop> dit que rien ne doit être fait (noop signifie "pas
d'opération"). Cette balise est utilisée pour remplacer le pont des éléments
de niveau.
<card id="crt0" title="Index" >
.....
<do type="accept" label="Aide">
<noop />
</do>
.....
</card>
Do :
Le <do> tag peut être utilisé pour activer une tâche lorsque
l'utilisateur clique sur un mot ou une phrase à l'écran.
Exemple :
Les Interactions
o Zone de saisie :
value=" ... " : La valeur par défaut de la variable désignée par name.
N Chiffres
etc...
Exemple :
<card id="ct1" title="Connexion">
<p>
Login :<br/>
<input type="text" title="Nom d'utilisateur" name="login" format="M" /><br/>
Pass : <br/>
<input type="password" maxlength="64" title="mot de passe" name="pass"
format="M" />
</p>
</card>
La carte de départ.
value=" ... " La valeur attachée à la sélection. Cette valeur est copiée
dans la variable name de la balise <select>.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
La carte de départ.
</card>
La carte de départ.
WML Timers
Au bout d'un certain délai d'inactivité l'élément timer (un seul par
carte) déclenche une action définie dans l'événement « ontimer » de la
carte, son unité de temps est de 1 / 10 de secondes.
Exemple :
o Decks :
Entête
Fin du document
o Templates :
Où se met-elle ?
La balise <template> se met juste après la déclaration de document Wml soit la balise
<wml> et bien sûr avant toutes balises de cartes <card>.
Exemple :
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN"
"http://www.wapforum.org/DTD/wml13.dtd">
<wml>
<template>
<do type="accept" label="Back"
<prev/>
</do>
</template>
Résultat :
Comment l'éviter ?
Exemple :
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN"
"http://www.wapforum.org/DTD/wml13.dtd">
<wml>
<template>
<do type="accept" label="Back"
<prev/>
</do>
</template>
<card id="1annee" title="Formation IRISI 1">
<do type="accept" label="Help">
<prev/>
<noop/>
</do>
</card>
o Card ou carte :
Exemple :
Résultat :
Balise Description
<b> Définit le texte en gras
<big> Définit grand texte
<em> Définit un texte mis en évidence
<i> Définit le texte en italique
<small> Définit petit texte
<strong> Définit texte fort
<u> Définit le texte souligné
o Attributs :
Attribut Valeur Description
s
xml Language_cod Définit la langue utilisée dans l’élément
e
Classe CDATA Définit un nom de classe de l’élément. Le nom
de classe est cas sensible. Un élément peut
être relié à plusieurs classes. Noms de classes
multiples dans l’attribut de classe sont séparés
par un espace blanc
id id Définit un nom unique de l’élément
Exemple :
<card id="1annee" title="Formation IRISI 1">
<table>
<tr >
<td ><p align="center"><i><big>Semestre 1 </big></i></p></td>
</tr><tr>
<td >
<strong>M1:</strong> Algorithme et bases de programmation( Langage
c).<br>
<strong>M2</strong> : Architecture des Ordinateurs et
Systèmes d'exploitation et Progiciels.<br>
<strong>M3</strong> : Systèmes d'Information et Introduction
aux BD(Base de Données).<br>
<strong>M4</strong> : Mathématique pour l'informatique.<br>
</td>
</tr>
<tr >
Résultat:
WML image
Les images sont introduits par la balise <img/>, dans le langage
WML les images doivent être sous format .wbmp.
Exemple :
<card id="crt1" title="Bienvenue sur le site IRISI" newcontext="true">
<p align="center"><b>Bienvenue</b></p>
<img src="images/irisi.png" align="middle" alt="logo" hspace="0%"
vspace="10%"/>
<!--rediriger vers la page de presentation IRISI après 1 seconde de timer -->
<onevent type="ontimer">
<go href="#crt2"/>
</onevent>
<timer value="10"/>
Résultat:
XHTML est une structure propre et plus strictes que HTML, ce qui
facilite l'analyse d'un document. Cela est particulièrement important pour les
appareils sans fil tels que les téléphones mobiles, car ils ont limité la
puissance de traitement.
Le plus grand avantage apporté par XHTML MP, c'est que les
développeurs peuvent maintenant utiliser les mêmes technologies pour le
développement de sites Web et des sites WAP.
Les navigateurs Web ordinaire peut être utilisé pour afficher votre site
WAP durant le processus de développement. (Vous devez tester votre site
WAP avec les émulateurs et réel téléphones portables avant la version finale,
car les caractéristiques [par exemple, taille de l'écran, nombre de couleurs
pris en charge] de véritables appareils mobiles varient considérablement.)
HTML / XHTML pages sur votre site web peut être converti en XHTML MP
documents avec des changements mineurs ou même sans aucune
modification. (Toutefois, vous devez vous assurer que la présentation des
pages HTML XHTML / regarde bien sur un petit écran et que la taille du
fichier ne doit pas excéder la taille maximum d'une page de votre cible les
appareils mobiles.)
Un autre avantage de XHTML MP c’est qu’il soutient WAP CSS, qui permet la
séparation du contenu et la présentation dans des fichiers différents.
Les Interactions
1. Text field
2. Password field
3. Checkbox
4. Radio button
5. Hidden field
Vous pouvez définir une valeur par défaut pour le champ texte en
utilisant l'attribut value de la balise <input>. Par exemple, si on souhaite
que le champ de texte contient le mot "IRISI" par défaut ;le code précédent
deviendra comme suit :
<input type="text" name="myTextField" maxlength="16" value="IRISI"/>
En WML 1.x, l'attribut format de l'élément <input> est utilisée pour définir
un masque de saisie.Toutefois, l'attribut format n'existe pas en XHTML
MP. Pour spécifier un masque de saisie en XHTML MP, vous devez utiliser le-
wap-input-format WAP propriété de CSS. Par exemple, la feuille de style
suivant spécifie que l'utilisateur type ne peut saisir plus que dix caractères
numériques dans les champs texte. Un appareil mobile passera
automatiquement son clavier pour le mode d'entrée numérique pour
l'utilisateur d'entrer des caractères numériques.
input {
-wap-input-format: "10N"
}
o Password Field :
Dans les Password Field , tous les caractères sont affichés comme
* . C'est la seule différence majeure entre les champs de mot de passe et les
champs de texte. Le code suivant crée un champ de mot de passe en XHTML
MP:
<input type="checkbox" name="nom_de_cet_element"/>
o Checkbox :
Les cases à cocher ne sont pas cochées par défaut. Une case à cocher
sera sélectionnée par défaut si l'attribut checked est spécifié, comme ceci:
<input type="checkbox" name="IRISI" value="1" checked="checked"/>
o Radio Button
Comme les cases à cocher, les boutons radio du même groupe doivent
avoir le même nom. Dans un groupe de boutons radio, un seul bouton radio
peut être dans l'état vérifié.
<input type="radio" name="IRISI" value="1"/>
<input type="radio" name=" IRISI " value="2"/>
<input type="radio" name=" IRISI " value="3"/>
Comme les cases à cocher, les boutons radio ne sont pas cochés par
défaut. Un bouton radio sera sélectionné par défaut si l'attribut checked est
spécifié, comme ceci:...
<input type="radio" name="IRISI" value="1" checked="checked"/>
o Hidden Field
Un champ caché n'est pas montré sur l'écran des appareils mobiles. Il
est utilisé pour stocker des informations d'état qui est requis par l'application
Internet mobile. Le code suivant crée un champ caché dans XHTML MP:
<input type="hidden" name="nom_de_cet_element"/>
Exemple récapitulatif :
Sexe:<br/>
<input type="radio" name="sexe" value="m"/>Homme
<input type="radio" name="sexe" value="f"/>Femme<br/>
Pays:<br/>
<select name="pays">
<option value="mr">Maroc</option>
<option value="cn">Chine</option>
<option value="fr">France</option>
<option value="ca">Canada</option>
</select><br/>
<hr/>
<p>
<input type="submit"/>
<input type="reset"/>
</p>
</form>
</body>
</html>
<form ...>
<p>
...
<input ...>
...
<select ...>
...
</p>
</form>
Résultat :
XHTML MP Timers
HTTP refresh peut être utilisé pour charger le navigateur WAP pour
aller vers une autre URL, après une certaine période de temps. Vous pouvez
utiliser cette fonctionnalité pour rediriger l'utilisateur vers une autre page
XHTML MP ou créer un diaporama.
Exemple :
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XHTML Atelier</title>
<meta http-equiv="refresh" content="15;URL=Bienvenue.xhtml"/>
</head>
<body>
<p>Bienvenue, vous serez redirigé vers une autre page xhtml dans 15
seconds.</p>
</body>
</html>
Exemple :
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Font Style</title>
</head>
<body>
<p>
<b>Bold</b><br/>
<i>Italic</i><br/>
<b><i>Bold italic</i></b><br/>
<small>Small</small><br/>
<big>Big</big><br/>
<em>Emphasis</em><br/>
<strong>Strong</strong>
</p>
</body>
</html>
Résultat :
XHTML MP images
La balise img est utilisée pour afficher une image en XHTML MP. Il
s'agit de la même manière qu'en HTML. Les navigateurs WAP affichent le
texte assigné à l'attribut alt de la balise img s’ils ne peuvent pas afficher
l’image pour des raisons telles que le fichier n’est pas trouvé où le format
d’image n’est pas pris en charge.
Outre le format WBMP vieille image, WAP 2.0 dispositifs sans fil devrait
être en mesure de soutenir les formats d'image couramment utilisés sur le
Web, tels que GIF, GIF animé, JPG et PNG. Certains appareils sans fil WAP
2.0 ne peuvent que soutenir le sous-ensemble des formats d'image ci-
dessus.
Par exemple, si "image /" gif ", image / jpg" et "image / png" se
trouvent dans les acceptés en-tête HTTP, cela signifie que l'appareil sans fil
prend en charge les formats GIF, JPG et PNG formats d'image.
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Bienvenue sur le site IRISI</title>
</head>
<body>
<h3>Bienvenue</h3>
<p>
<img src="Logo.gif" alt="Logo" height="62" width="60" /><br/>
Bienvenue, sur le site IRISI.
</p>
</body>
</html>
</html>
Résultat :