330
Σύνολο Προβολών
328
Προβολές στο TechyLib
2
Προβολές από Ενσωμάτωση
0
Αγαπημένα
5
Downloads
Αφότου κάνετε την επιλογή σας, κάντε αντιγραφή και επικόλληση τον κώδικα ενσωμάτωσης που θα εμφανιστεί.
:$3:LUHOHVV$SSOLFDWLRQ3URWRFRO
:0/
:LUHOHVV0DUNXS/DQJXDJH
Didier DONSEZ
Université Joseph Fourier
IMA –IMAG/LSR/ADELE
'LGLHU'RQVH]#LPDJIU
'LGLHU'RQVH]#LHHHRUJ
'LGLHU'RQVH]:$3:0/
2
Au sommaire
■
Motivations
■
L’architecture WAP
■
WML
■
WMLScript
■
WAP 2.0
■
Divers
'LGLHU'RQVH]:$3:0/
4
Motivations
■
WAP :LUHOHVV$SSOLFDWLRQ3URWRFRO
•
stackréseau pour un protocole HTTP «like» et «light»
•
Utilise les couches réseaux des réseaux cellulaires
•
à la place d’IP, UDP, TCP
■
WML :LUHOHVV0DUNXS/DQJXDJH
•
langage hypertextuel adapté aux handsets nomades
•
basé sur XML/DTD : il existe un format plus compact (bytecodé)
'LGLHU'RQVH]:$3:0/
5
Exemple d’Applications WAP/WML
■
Bourse
■
Banque
■
Administration
■
Actualité
■
Météo
■
Info Trafic
■
Horaires/Retards/Grèves
transport en commun
■
Mobile Commerce,
■
MobilePayment
■
Ticket
■
Jeux
■
Géo-Localisation
•
Alternative au GPS
■
Cartographie
■
Email, VoiceMail
■
Mobile PIM
•
(PersonalInfo Management)
•
Agenda
•
Carnet d’Adresse...
'LGLHU'RQVH]:$3:0/
6
Motivations du WAP
■
architecture en couche extensible et évolutive
■
supporter par les différents réseaux mobiles
■
économie des ressources du terminal/réseau
•
mémoire, CPU, consommation électrique, bande passante
■
sécurisation des applications et des communications
■
modèle programmable pour les services téléphoniques
■
créer des interfaces homme-machine flexibles
■
réutiliser sur des technologies largement répandues
•
XML, ECMAScript,VCard,VCal, …
'LGLHU'RQVH]:$3:0/
7
WAP
:LUHOHVV$SSOLFDWLRQ3URWRFRO
■
Architecture WAP
•
Client WAP (WAE User Agent)
•
Supporte WML, WMLScript HQ%\WH&RGH
•
6XSSRUWHG¶DXWUHVIRUPDWVpYHQWXHOOHPHQWY&DUGY&DO0XOWLSDUW«
•
WAP Proxy
•
WAP Server
■
2 modèles d’interaction
•
Pull
•
Push
'LGLHU'RQVH]:$3:0/
8
Architecture Réseau
6HUYHXU
:::
6HUYHXU
:::
6HUYHXU
:::
Internet
3DVVHUHOOH
:$3
6HUYHXU
7HOH9$6
)LOWUH
)LOWUH
3UR[\:$3
WMLC/WAP
WMLC/WAP
WMLC/WAP
WML/HTTP
WML/HTTP
HTML
HTTP
HTML
HTTP
WMLC/WAP
:$3
+DQGVHWV
Réseau GSM
'LGLHU'RQVH]:$3:0/
9
Modèles d’interaction
■
Pull
■
Push
Client
WAE
User
Agent
WAE
User
Agent
Gateway
Decoders
Encoders
Decoders
Encoders
Server
Scripts
(JSP,PHP,
ASP, …)
Scripts
(JSP,PHP,
ASP, …)
Contents
Contents
Encoded
RequestWSP
Request
HTTP
Encoded
ResponseWSP
Response
WML
Client
WAE
User
Agent
WAE
User
Agent
Gateway
Decoders
Encoders
Decoders
Encoders
Server
Scripts
Scripts
Contents
Contents
Encoded
Content
SL or SI
Content
SL or SI
'LGLHU'RQVH]:$3:0/
10
WAP
/HV&RXFKHV
WIRELESS APPLICATION
ENVIRONMENT( WAE )
WIRELESS SESSION PROTOCOL( WSP )
WIRELESS TRANSACTION PROTOCOL (WTP)
WIRELESS TRANSACTION LAYER SECURITY (WTLS)
WIRELESS DATAGRAM PROTOCOL( WDP )
BEARER SERVICES
GSM
HTML
HTTP
TLS -SSL
TCP / UDP
OTHERS
IP
IS-136
PHS
CDMA
CDPD
…
'LGLHU'RQVH]:$3:0/
11
Les supports porteurs –Bearers
■
Différents services des supports
•
GSM, PHS, CDMA, FLEX,iDEN, CDCP, IS6136
•
GPRS, UMTS, W-CDMA (WAP 2.0)
☛
différents niveaux de qualité de service
'LGLHU'RQVH]:$3:0/
12
WDPWirelessDatagram Protocol
■
Opère au dessus des services des porteurs de données
■
Supporte de nombreux réseaux.
■
offre un service aux couches supérieures du WAP et
communique de façon transparente au dessus de l’un des
services des supports.
'LGLHU'RQVH]:$3:0/
13
WTLS WirelessTransport Layer Security
■
But
•
protocole de transport WAP optimisé pour l’usage des canaux de
communication de bande passante faible.
■
Fonctionnalités
•
Intégrité des données
•
Privacy : Préserve la vie privée du client
•
Authentification (PKI)
•
Protection contre les accès non autorisés
•
sécuriser de terminaux à terminaux
•
utilisation des «credentials» des cartes à puce
■
Activation/Déactivation de WTLS par les applications
•
en fonction des besoin de sécurité
•
et des caractéristiques du réseau
•
ex: dans le GSM où la sécurité se fait dans une couche plus basse
■
Basé sur le protocole TLS ( Transport LayerSecurity)
'LGLHU'RQVH]:$3:0/
14
WTPWirelessTransaction Protocol
■
au dessus du service datagramme
fonctionne comme un protocole de transaction orientée.
■
3 classes de service de transaction
•
requêtes simples non fiables (classe 0)
•
requêtes simples fiables (classe 1)
•
transaction de requête/réponse fiables (classe 2)
■
En option
•
fiablilitéutilisateur-utilisateur
•
protocole de confirmation de messages reçus
•
out of band data onacknowledgement
•
Concaténation PDU et acquittement retardé
pour limiter le nombre de messages envoyés
•
Transaction asynchrone
'LGLHU'RQVH]:$3:0/
15
WSPWirelessSessionProtocol
■
2 types de service de session
•
mode orienté connexion
•
opère au dessus du protocole de la couche transaction WTP
•
mode non connecté
•
il opère au dessus du service dedatagrammesécurisé ou non sécurisé
(WDP)
■
Fonctionnalités suivantes
•
Mode connexion
•
Entête plus compact d’HTTP/1.1
Négociation du contenu, …
•
Etat de session longue durée
•
Suspension de session et aussi reprise avec migration de session
•
PUSH
'LGLHU'RQVH]:$3:0/
16
Optimisation des échanges réseaux
6RXUFH:$3)RUXP
'LGLHU'RQVH]:$3:0/
17
WAE
WirelessApplication Environnement
■
Environnement du User Agent
•
WMLWireless Markup Language
•
documentshypertextuelspour mobile
•
WMLScript
•
langage léger de script ( ressemble auJavascript)
•
Autres Formats de Données
•
image, agenda téléphonique (vCard), calendrier (vCal), …
■
Générateur de contenu
■
Encodage Standard du Contenu
•
BytecodeWML et WMLScript
■
WTA, WTAIWireless TelephonyApplication
•
interfaces programmables des service téléphonique
'LGLHU'RQVH]:$3:0/
18
Mise en Œuvre de WDP sur le GSM
■
SMS
■
USSD
■
Circuit commuté(circuit switched)
■
GPRS (Commutation de Paquets)
'LGLHU'RQVH]:$3:0/
19
WML
:LUHOHVV0DUNXS/DQJXDJH
■
Document WML
•
'7'KWWSZZZZDSIRUXPRUJ'7'ZPOB[PO
•
«jeu de cartes» desk of cards
•
Elémentsdans les cartes
•
Tables, images (wbmp), ancres (navigation entrecards)
•
Fonctions WMLScript (appelé par les commandes,timer…)
■
2 formes
•
textuelle (text/vnd.wap.wml)
•
bytecode(application/vnd.wap.wmlc)
•
compact (stockage ,transfert)
•
simplifie l’automate du client (CPU)
'LGLHU'RQVH]:$3:0/
20
Un premier exemple
"[POYHUVLRQ "!
'2&7<3(ZPO38%/,&:$3)2580'7':0/(1
KWWSZZZZDSIRUXPRUJ'7'ZPOB[PO!
ZPO!
FDUGLG FDUGWLWOH :HDWKHU)RUHFDVW!
S!
WDEOHFROXPQV DOLJQ /&&!
WU!WG!'DWHWG!WG!) DSRVFDVWWG!WG!7 [%&WG!WU!
WU!WG!0WG!WG!
LPJVUF UDLQ\ZEPSDOW UDLQ!
WG!
WG! [%&WG!WU!
WU!WG!7WG!WG!
LPJVUF SDUWFOG\ZEPSDOW SDUWFOG\!
WG!WG! [%&WG!WU!
WU!WG!:WG!WG!
LPJVUF FORXG\ZEPSDOW FORXG\!
WG!
WG! [%&WG!WU!
WU!WG!7WG!WG!
LPJVUF UDLQ\ZEPSDOW UDLQ\!
WG!
WG! [%&WG!WU!
WU!WG!)WG!WG!
LPJVUF VXQQ\ZEPSDOW VXQQ\!
WG!
WG! [%&WG!WU!
WDEOH!
S!
FDUG!
ZPO
!
'LGLHU'RQVH]:$3:0/
21
Le document WML
■
Analogie au jeu (desk) de plusieurs cartes (card)
•
Chaque carte constitue une page d’affichage sur le UA
•
L’usager peut naviguer d’une carte à l’autre (sans téléchargement)
"[POYHUVLRQ "!
'2&7<3(ZPO38%/,&:$3)2580'7':0/(1
KWWSZZZZDSIRUXPRUJ'7'ZPOB[PO!
ZPO!
FDUGLG FDUGWLWOH &DUWH!S!&DUWHS!FDUG!
FDUGLG FDUGWLWOH &DUWH!S!&DUWHS!FDUG!
FDUGLG FDUGWLWOH &DUWH!S!&DUWHS!FDUG!
ZPO!
'LGLHU'RQVH]:$3:0/
22
L’élément <wml>
■
Représente un document
■
Contient
•
Un entête <head>
•
Contient des méta-informations <meta> et des règles d’accès <access>
•
Un patron <template> pour les cartes
•
Factorise des commandes <do>
ou les traitements des événements <onevent>
entre toutes les cartes
•
Une suite de <card>
'LGLHU'RQVH]:$3:0/
23
L’élément <card>
■
Contient
•
Des paragraphes <p> à afficher
•
Des commandes <do> à réaliser sur actions des entrées
•
Des traitements sur événement <onevent>
•
Un déclenchement de temporisateur <timer>
■
Attributs
•
newcontext
•
=true, les variables sont relâchées, l’historique est supprimé
•
title
•
ordered
•
onenterforward,onenterbackward,ontimer
'LGLHU'RQVH]:$3:0/
24
Mise en page d’une Carte
■
Elémentparagraphe <p>
•
Attributalign=left|center|right
•
Attribut mode=wrap|nowrap
FDUGLG FDUGWLWOH &DUWH!
S!
SDUDJUDSKHDJDXFKHSDUGHIDXW
S!
SDOLJQ FHQWHU!
SDUDJUDSKHFHQWUH
S!
SDOLJQ ULJKW!
SDUDJUDSKHDGURLWH
S!
SPRGH QRZUDS!
SDUDJUDSKHVDQVSDVVDJHDODOLJQH
S!
FDUG!
■
Elémentde rupture de ligne <br/>
S!UXSWXUH
EU!
GHOLJQHS!
■
Propriétés des caractères
L!YRWUHWH[WHHQLWDOLTXHL!E!YRWUHWH[WHHQJUDVE!
VPDOO!YRWUHWH[WHHQSHWLWVPDOO!ELJ!YRWUHWH[WHHQJUDQGELJ!
X!YRWUHWH[WHVRXOLJQ [(X!
'LGLHU'RQVH]:$3:0/
25
Les entités WML
■
""
■
&&
■
’'
■
<<
■
>>
■
[Espace]
■
-­
■
àà
■
éâ
■
èé
■
êê
■
ù&#xxF9;
■
ûû
■
çç
■
©©
■
®®
'LGLHU'RQVH]:$3:0/
26
Table
■
Exemple de table 3x3
WDEOH
FROXPQV
WLWOH PDWUL[
DOLJQ 5&/
!
WU!WG!WG!WG!WG!WG!WG!WU!
WU!WG!WG!WG!WG!WG!WG!WU!
WU!WG!WG!WG!WG!WG!WG!WU!
WDEOH!
■
Attributs
•FROXPQV
est obligatoire : simplifie l’interpréteur
•
WLWOH
(optionnel) peut être affiché par le navigateur
•
DOLJQ
(optionnel) décrit l’alignement de chaque colonne
•
/SRXU/HIW5SRXU5LJKW&SRXU&HQWHU
'LGLHU'RQVH]:$3:0/
27
Les Images
■
WML supporte l’inclusion d’images
LPJVUF ORJRZEPSDOW &HFLHVWQRWUHORJR!
DKUHI FDUG!LPJVUF EXWWRQQH[WZEPSDOW 1H[W«!D!
Le UA peut supporter plusieurs formats (PNG, BMP)
cependant le format WBMP (Wireless BitMaP) est optimisé
pour leWireless(convertisseur JPEG,GIF,BMP vers WBMP)
■
Pictogrammes
•
Diffère entre les UA en WAP 1.0
•
l’application n’est pas portable
•
Désormais normalisé dans WAP2.0
'LGLHU'RQVH]:$3:0/
28
Variable
■
Déclaration <setvar>
VHWYDUQDPH ORFDWLRQYDOXH KWWSZDSP\FRPSFRPVRPPDLUH!
GRODEHO 6RPPDLUH!JRKUHI ORFDWLRQ!GR!
■
Substitution de variable et échappement
VHWYDUQDPH YDUYDOXH
:DSGRZDS
!
VHWYDUQDPH HVFYDUYDOXH
:DS&GRZDS
!
•
7KLVLVDYDU
VDQVFRQYHUVLRQ
•
7KLVLVDYDU
VDQVFRQYHUVLRQ
•
7KLVLVDYDUQ
VDQVFRQYHUVLRQ
•
7KLVLVDYDUQRHVF
VDQVFRQYHUVLRQ
•
7KLVLVDQHVFDSHGYDUH
:DS&GRZDS
•
7KLVLVDQHVFDSHGYDUHVFDSH
:DS&GRZDS
•
7KLVLVDQXQHVFDSHGHVFYDUXQHVF
:DSGRZDS
•
Remarque : l’échappement sert au paramétrage des URL
'LGLHU'RQVH]:$3:0/
29
Les taches (task)
■
action à réaliser par le navigateur
•
en réponse à un événement <onevent>
•
à une interaction avec l’utilisateur <do>
■
<go>
•
Navigue vers une nouvelle carte
■
<prev>
•
Retourne à la carte précédente dans l’historique
•
Après avoir effectué l’affectation de variables
■
<refresh>
•
Effectue l’affection des variables <setvar>
•
Réafficher la carte courante (avec les nouvelles substitutions de variables)
■
<noop>
•
Ne fait rien («nooperation»)
'LGLHU'RQVH]:$3:0/
30
La tache <go>
•
Navigue vers une nouvelle carte
■
Attributs
•
href
•
l’URL cible
•
method
•
la méthode utilisée pour l’envoi des paramètres : GET (par défaut) et
POST
•
sendreferer
•
sitrue, le navigateur inclut dans les champs de la réponse
•
accept-charset
•
encodage desparamêtresde la requête POST
■
Elément<postfield>
•
spécifie les paramètres de la requête (GET ou POST)
'LGLHU'RQVH]:$3:0/
31
Exemple de tache <go>
■
avec <setvar>
JRKUHI SDJHZPO!
VHWYDUQDPH SDJHYDOXH EDG!
JR!
•
si page="login", la carte courante devientlogin.wmlet page==bad
■
avec <postfield>
JRKUHI ORJLQFJL"O ORJLQ S SDVVZRUGPHWKRG JHW!
JRKUHI ORJLQFJL"O ORJLQPHWKRG JHW!
SRVWILHOGQDPH SYDOXH SDVVZRUG!
JR!
JRKUHI ORJLQFJLPHWKRG JHW!
SRVWILHOGQDPH OYDOXH ORJLQ!
SRVWILHOGQDPH SYDOXH SDVVZRUG!
JR!
'LGLHU'RQVH]:$3:0/
32
La tache <prev>
■
<prev>
•
Retourne à la carte précédente dans l’historique
•
Après avoir effectuer l’affectation de variables
■
Exemple
SUHY!
SUHY!
VHWYDUQDPH SDVVZRUGYDOXH !
SUHY!
GRW\SH SUHY!SUHY!GR!QRRS!
•
Généralement associé à l’action du bouton de retour arrière BACK
'LGLHU'RQVH]:$3:0/
33
La tache <refresh>
•
Effectue l’affection des variables <setvar>
•
Puis réafficher la carte courante
(avec les nouvelles substitutions de variables)
■
Exemple
RQHYHQWW\SH RQHQWHUEDFNZDUG!
UHIUHVK!
VHWYDUQDPH ORJLQYDOXH !
VHWYDUQDPH SDVVZRUGYDOXH !
UHIUHVK!
RQHYHQW!
'LGLHU'RQVH]:$3:0/
34
Les événements <onevent>
•
Déclarés en début de la carte (ou dutemplate)
•
Réalisent des taches <go>, <refresh>, …
■
Événements de <card> et <template>
•
onenterforward
•
Déclenché lors de l’entrée dans la carte (<go>, <anchor>,bookmark, …)
•
onenterbackward
•
Déclenché lors du retour (historique) dans la carte (<prev>)
•
ontimer
•
Déclenché sur expiration dutimerde la carte
■
Evénémentsde <card> et <template>
•
onpick
•
Déclenché surselectiond’une <option>
'LGLHU'RQVH]:$3:0/
35
Exemple d’ <onevent>
FDUGWLWOH 5HVHWRQUHHQWU\!
RQHYHQWW\SH RQHQWHUIRUZDUG!
UHIUHVK!
VHWYDUQDPH ORJLQYDOXH !
VHWYDUQDPH SDVVZRUGYDOXH !
UHIUHVK!
RQHYHQW!
RQHYHQWW\SH RQHQWHUEDFNZDUG!
UHIUHVK!
VHWYDUQDPH SDVVZRUGYDOXH !
UHIUHVK!
RQHYHQW!
S!/RJLQLQSXWQDPH ORJLQ!S!
S!3DVVZRUGLQSXWQDPH SDVVZRUG!S!
GRW\SH DFFHSWODEHO 6XEPLW!
JRKUHI ORJLQFJLPHWKRG SRVW!
SRVWILHOGQDPH OYDOXH ORJLQ!
SRVWILHOGQDPH SYDOXH SDVVZRUG!
JR!
GR!
FDUG!
'LGLHU'RQVH]:$3:0/
37
Les interactions avec l’utilisateur
■
Les ancres
•
équivalent aux ancres HTML
•
D!
•
DQFKRU!
■
Les commandes
•
équivalent auxbontonsdes formulaire HTML
•
GR!
■
Les champs de saisie
•
équivalent aux champs de formulaire HTML
•
LQSXW!
: entrée textuelle
•
VHOHFW!RSWLRQ!
: liste de choix (unique ou multiple)
'LGLHU'RQVH]:$3:0/
38
Les ancres <a> et <anchor>
■
Notiond’hyperlien
■
Ancre vers une autreCarddu document courant
D
KUHI FDUG
!9HUVSDJHD!
D
WLWOH SDJH
KUHI FDUG
!9HUVSDJHD!
■
Ancre vers un autre document
D
KUHI SURGZPO
!1RV3URGXLWVD!
D
KUHI SURGZPOFDUGQHZ
!1RV1RXYHDXW [(VD!
D
WLWOH FDWDORJ
KUHI KWWSZDSP\FRPSFRPFDWDORJ
!1RVSURGXLWVD!
■
La forme <anchor>
DQFKRU
WLWOH QH[W!
JR
KUHI SDJHZPO
!
1H[W3DJH
DQFKRU!
est équivalent à
D
WLWOH QH[W
KUHI SDJHZPO
!
1H[W3DJH
D!
'LGLHU'RQVH]:$3:0/
39
Les ancres <a> et <anchor>
■
Déclenchémentde l’exécution de fonction WMLScript
DKUHI
IXQFZPOV&DWDORJ
!$XWUHVD!
DKUHI KWWSZDSP\FRPSFRP
IXQFZPOV&DWDORJ
!$XWUHVD!
■
Appel au composeur deEmail
DKUHI PDLOWRZHEPDVWHU#P\FRPSFRP!(QYR\HUXQHPDLOD!
■
Composition automatique d'un numéro de téléphone
DKUHI ZWDLZSPF!&RPSRVHUOHQXPpURD!
'LGLHU'RQVH]:$3:0/
40
Les commandes <do>
■
Correspond à des actions de l’usager
•
(sur son clavier, écran tactile, …)
■
Désignation par un type <do type="…">
•
DFFHSWSUHYKHOSUHVHWRSWLRQVGHOHWH
•
XQNQRZQcorrespond au traitement d’un type inconnu de l’UA
•
;""correspond à un type expérimental
•
YQG""correspond à un type propriétaire/vendeur (de l’UA)
•
Associé par l’UA à une touche, bouton graphique (dépend de l’UA)
■
Exemples
•
Navigation dans l’historique
GRW\SH SUHYODEHO 5HWRXU!SUHY!GR!
•
Navigation vers une autre carte
GRODEHO 6RPPDLUH!JRKUHI KWWSZDSP\FRPSFRPVRPPDLUH!GR!
•
Mise à zéro d'un formulaire
GRW\SH UHIUHVKODEHO 5HFRPPHQFHU!UHIUHVK!GR!
'LGLHU'RQVH]:$3:0/
41
Champs de saisie
Entrée textuelle <input>
■
Attribut
•
key=nmtokennom de la variable
•
default=vdata, value=vdata, type=(text|password), format=cdata
•
emptyok=booleanobligatoirement saisie par l’usager
•
size=number, maxlength=number, tabindex=number, title=vdata
■
Exemple
FDUGWLWOH /RJLQ!
S!8VHUQDPH
LQSXWQDPH
XVHU
IRUPDW
[!
S!
S!3DVVZRUG
LQSXWQDPH
SZG
W\SH SDVVZRUG!
S!
GRW\SH DFFHSWWLWOH /RJ,Q!
JRKUHI ORJLQ"X
XVHU
H DPSS
SZG
H!
GR!
FDUG!
'LGLHU'RQVH]:$3:0/
42
Champs de saisie
Liste <select> de choix <option>
■
Attribut de select
•
key=nmtoken, default=vdata
•
ikey=nmtoken(0 si aucune option n’est sélectionnée)
•
idefault=vdata,mutiple=boolean, tabindex=number, title=vdata
■
Attibutd’<option>
•
value=vdata, title=vdata, onpick=url
■
Exemple
FDUGWLWOH 3L]]D7RSSLQJVLG WRSSLQJV!
S!&KRRVH\RXUWRSSLQJV
VHOHFWQDPH
WRSSLQJV
PXOWLSOH WUXH!
RSWLRQYDOXH S!3HSSHURQLRSWLRQ!
RSWLRQYDOXH E!6SLF\%HHIRSWLRQ!
RSWLRQYDOXH D!$QFKRYLHVRSWLRQ!
RSWLRQYDOXH F!&KLOOLHVRSWLRQ!
RSWLRQYDOXH R!2OLYHVRSWLRQ!
RSWLRQYDOXH P!0XVKURRPVRSWLRQ!
VHOHFW!
S!
GRW\SH DFFHSWODEHO 2UGHU!JRKUHI RUGHU"WRSSLQJV
WRSSLQJVH
!GR!
FDUG
!
'LGLHU'RQVH]:$3:0/
43
Champs de saisie
Liste <select> de choix <option>
■
Exemple des options à choix multiples
FDUGWLWOH 6HW3L]]DVLG SL]]DV!
S!&KRRVHD3L]]D
VHOHFWQDPH
WRSSLQJV
!
RSWLRQYDOXH
!3ODLQRSWLRQ!
RSWLRQYDOXH
SPR
!3HSSHURQL6XSUHPHRSWLRQ!
RSWLRQYDOXH
SEKDPRF
!)XOO+RXVHRSWLRQ!
RSWLRQYDOXH
FRP
!9HJHWDULDQRSWLRQ!
VHOHFW!
S!
GRW\SH DFFHSWODEHO 2UGHU!
JRKUHI RUGHU"WRSSLQJV
WRSSLQJV
H!
GR!
GRW\SH DFFHSWODEHO &XVWRPL]H!JRKUHI WRSSLQJV!GR!
FDUG!
'LGLHU'RQVH]:$3:0/
44
Champs de saisie
Groupage <optgroup> des choix
■
Groupe des options lors de leur affichage par le navigateur
•
Quand la liste est longue, le navigateur permet alors les afficher par groupe
■
Exemple
FDUGWLWOH 3L]]D7RSSLQJV!S!&KRRVH\RXUWRSSLQJV
VHOHFWQDPH
WRSSLQJV
PXOWLSOH WUXH!
RSWJURXSWLWOH 0HDW DPS)LVK!
RSWLRQYDOXH S!3HSSHURQLRSWLRQ!
RSWLRQYDOXH E!6SLF\%HHIRSWLRQ!
RSWLRQYDOXH D!$QFKRYLHVRSWLRQ!
RSWJURXS!
RSWJURXSWLWOH 9HJHWDEOH!
RSWLRQYDOXH F!&KLOOLHVRSWLRQ!
RSWLRQYDOXH R!2OLYHVRSWLRQ!
RSWLRQYDOXH P!0XVKURRPVRSWLRQ!
RSWJURXS!
VHOHFW!
S!
GRW\SH DFFHSWODEHO 2UGHU!JRKUHI RUGHU"WRSSLQJV
WRSSLQJVH
!GR!
FDUG!
'LGLHU'RQVH]:$3:0/
45
Champs de saisie
FDUG!
GRW\SH DFFHSW!
JRKUHI
VXEPLW"I IQDPH DPSO OQDPH DPSV VH[ DPSD DJH
!
GR!
ILHOGVHW QDPH!
)LUVWQDPH
LQSXWW\SH WH[WNH\ IQDPHPD[OHQJKW !
EU!
/DVWQDPH
LQSXWW\SH WH[WNH\ OQDPHPD[OHQJKW !
EU!
ILHOGVHW!
ILHOGVHWWLWOH LQIR!
VHOHFWNH\ VH[!
RSWLRQYDOXH I!)HPDOHRSWLRQ!
RSWLRQYDOXH P!0DOHRSWLRQ!
VHOHFW!
EU!
$JHLQSXWW\SH WH[WNH\ DJHIRUPDW
1!
ILHOGVHW!
FDUG!
A : majuscule
a: minuscule
N: nombre
M: caractère quelconque
*A: 0 à N majuscules
8N: 8 nombres
'LGLHU'RQVH]:$3:0/
46
Temporisateur <timer>
■
Temporisateur associé à une carte
•
La valeur de la temporisation est exprimée en 1/10 de secondes
■
Exemple
•
redirectionvers une page surécheanced’untimer
FDUGRQWLPHU KWWSZDSP\FRPSFRPLQGH[
QHZFRQWH[W WUXHWLWOH &KDUJHPHQWHQFRXUV!
WLPHUYDOXH !
FDUG!
FDUGQHZFRQWH[W WUXHWLWOH &KDUJHPHQWHQFRXUV!
RQHYHQWW\SH RQWLPHU!JRKUHI KWWSZDSP\FRPSFRPLQGH[!RQHYHQW!
WLPHUYDOXH !
FDUG!
■
Exercice :
•
comment émuler une image animée ?
'LGLHU'RQVH]:$3:0/
47
Exemple de temporisateur
L’image animée
ZPO!FDUGWLWOH $QLPDWH7KUHH,PDJHV!
RQHYHQWW\SH RQHQWHUIRUZDUG!
UHIUHVK!
VHWYDUQDPH LPJYDOXH ILUVWZEPS!VHWYDUQDPH WLPHYDOXH !
VHWYDUQDPH LPJYDOXH VHFRQGZEPS!VHWYDUQDPH WLPHYDOXH !
VHWYDUQDPH LPJYDOXH WKLUGZEPS!VHWYDUQDPH WLPHYDOXH !
UHIUHVK!
RQHYHQW!
RQHYHQWW\SH RQWLPHU!
UHIUHVK!
VHWYDUQDPH LPJWPSYDOXH LPJ!VHWYDUQDPH WLPHWPSYDOXH WLPHWPS!
VHWYDUQDPH LPJYDOXH LPJ!VHWYDUQDPH WLPHYDOXH WLPH!
VHWYDUQDPH LPJYDOXH LPJ!VHWYDUQDPH WLPHYDOXH WLPH!
VHWYDUQDPH LPJYDOXH LPJWPS!VHWYDUQDPH WLPHYDOXH WLPHWPS!
UHIUHVK!
RQHYHQW!
WLPHUYDOXH WLPH!
S!LPJVUF LPJDOW >LPDJH@!S!
FDUG!ZPO!
'LGLHU'RQVH]:$3:0/
48
Exemple de temporisateur
ZPO!
FDUGWLWOH )LUVWFDUGLG RQHRQWLPHU
WKUHH
!
WLPHUQDPH
WLPHRXW
YDOXH !
S!7KHWLPHULVUXQQLQJS!
GRW\SH ODEHO &KHFN!JRKUHI WZR!GR!
FDUG!
FDUGWLWOH 6HFRQGFDUGLG WZR!
S!7LPHUHPDLQLQJ
WLPHRXW
WHQWKVRIDVHFRQGS!
GRW\SH SUHYODEHO %DFN!SUHY!GR!
FDUG!
FDUGWLWOH 7KLUGFDUGLG
WKUHH
!
S!7LPHUH[SLUHGS!
FDUG!
ZPO!
'LGLHU'RQVH]:$3:0/
49
Template(patron)
•
Mise en commun d’évémenementset des commandes (first,fourth)
•
Peuvent être masqués (second) ou remplacé (third)
■
Exemple
ZPO!
WHPSODWH!
GRW\SH RSWLRQVQDPH GRODEHO GHIDXOW!SUHY!GR!
WHPSODWH!
FDUGLG ILUVW!3UHPLHUS!FDUG!
FDUGLG VHFRQG!S!6HFRQGS!
GRW\SH RSWLRQVQDPH GR!QRRS!GR!
FDUG!
FDUGLG WKLUG!S!7URLVLHPHS!
GRW\SH RSWLRQVQDPH GRODEHO RSWLRQ!JRKUHI RSWLRQ!GR!
FDUG!
FDUGLG IRXUWK!S!4XDWULHPHS!FDUG!
ZPO!
Le bouton est masqué
Le bouton est remplacé
'LGLHU'RQVH]:$3:0/
50
WML
([HPSOHGH)RUPXODLUH
ZPO!
FDUGQDPH KRPHSDJHWLWOH 6HQG(PDLO!
S!7RS!
S!LQSXWQDPH HPDLO!EU!S!
S!6HQGHU
V(PDLO$GGUHVVS!
S!LQSXWQDPH IU!EU!S!
S!6XEMHFWS!
S!LQSXWQDPH VXE!EU!S!
S!0HVVDJHS!
S!LQSXWQDPH PVJ!EU!S!
GRODEHO 6HQG(PDLOQDPH 6HQG(PDLOW\SH $&&(37!
JRKUHI ZDSFJL"TXHU\ HPDLO VWU !GR!
GRODEHO 0DLQ0HQXQDPH 0DLQ0HQXW\SH $&&(37!
JRKUHI KWWSYFRPHGJHFRPVJZDSZDSFJL!GR!
GRODEHO %DFNW\SH SUHY!SUHY!GR!FDUG!
ZPO!
'LGLHU'RQVH]:$3:0/
51
WML
([HPSOHGH%DQTXH1RPDGH
ZPO!
FDUGQDPH KRPHSDJHWLWOH %DQTXH1RPDGH!
S!6HOHFWLRQQHUXQVHUYLFHS!
S!DKUHI VHUYLFH"LG FSW!&RPSWH&RXUDQWHD!EU!S!
S!DKUHI VHUYLFH"LG SHO!3(/D!EU!S!
S!DKUHI VHUYLFH"LG SHD!3($D!EU!S!
S!DKUHI VHUYLFH"LG WUDGH!/DERXUVHD!EU!S!
GRODEHO 0DLQ0HQXQDPH 0DLQ0HQXW\SH $&&(37!
JRKUHI KWWSZDSPRELEDQNFRP!GR!
GRODEHO %DFNW\SH SUHY!SUHY!GR!
FDUG!
ZPO!
'LGLHU'RQVH]:$3:0/
53
WMLScript
■
Langage de script (côté client)
•
Syntaxe ECMAScript
•
format textuel (.wmls/text/vnd.wap.wmlscript)
•
formatbytecode(.wmlsc/ application/vnd.wap.wmlscript)
■
Motivation
•
augmente l’interactivité (temps de réponse)
•
diminuer les interactions avec le serveur
■
L’interpréteur de l’UA
•
Interprète dubytecode
•
Du fichier
•
De bibliothèques
Standard
Dépendante de l’UA
Dépendante duBearer
'LGLHU'RQVH]:$3:0/
54
Types de données
■
Types de Données
•
ERROHDQGHX[YDOHXUVWUXHHWIDOVH
•
LQWHJHU
•
IORDW
•
VWULQJ
•
invalid(indique que l’expression est invalide)
■
Remarque
•
pas de tableau
'LGLHU'RQVH]:$3:0/
55
Opérateurs
■
Arithmetiques
•
GLY GLY «
■
Bitwise
•
!!!!!_
■
Comparateurs
•
! !
■
Conditionnels
•
"__
'LGLHU'RQVH]:$3:0/
56
Conversion de type et validité
■
Conversion de type
ERROHDQIDOVH
)22IRRERROHDQWUXH
[\VWULQJ[\
LQWHJHU
HIORDW
HIORDW
ERROHDQIDOVH
HLQYDOLG
LQYDOLG
■
Opérateurs de type
•
W\SHRIUHWRXUQHYDOHXUVSRVVLEOHV
•
LQWHJHUIORDWVWULQJERROHDQLQYDOLGH
■
Validité
•
LIW\SHRIUHVXOW ^«`
•
LILVYDOLGUHVXOW^«`
'LGLHU'RQVH]:$3:0/
57
Variables
■
Variables Locales
•
Déclaration mais typage dynamique
YDU[ [ ERQMRXU
•
Durée de vie : la fonction
•
Portée : la fonction (pas de niveau de blocs)
IXQFWLRQIQ[^
LI[^YDU\ `
UHWXUQ\
`
■
Variables Globales
•
Fonctions de bibliothèque WMLBrowser.getVaret WMLBrowser.setVar
IXQFWLRQFKHFNV^
YDUVHFUHW :0/%URZVHUJHW9DUVHFUHW
LIV VHFUHW^:0/%URZVHUVHW9DUVHFUHWV
`
'LGLHU'RQVH]:$3:0/
58
Structures de Contrôle
EORF^`LIHOVHZKLOHIRUEUHDNFRQWLQXHUHWXUQ
'LGLHU'RQVH]:$3:0/
59
Fonctions
■
Définition de Fonction
IXQFWLRQFKHFNSDUSDU^UHWXUQSDU SDU`
■
Appels de fonction
LIFKHFNHQWHUSDVVZRUGWRWR^«`
■
Appels de fonction d’un autre fichier
LIVFULSWZPOVFKHFNHQWHUSDVVZRUGWRWR^«`
■
Utilisation deNameSpace
XVHXUO6FULSW/LEKWWSZZZVFULSWFRPOLEVFULSWZPOV
IXQFWLRQWHVWSDUSDU^UHWXUQ6FULSW/LEFKHFNSDUSDU`
■
Appels de fonction de bibliothèque
YDUPVJ KHOORYDUOHQ 6WULQJOHQJWKPVJPVJ PVJ
ZRUOG
■
Appels de fonction en URL
JRKUHI KWWSZDSP\FRPSFRP
IXQFZPOV&DWDORJ
!
'LGLHU'RQVH]:$3:0/
60
Pragmas
•
équivalent à <meta> et <access>
■
useaccess
•
autorise l’accès si l’URL du référant correspond
•
à l’expression du chemin et/ou à l’expression du domaine
XVHDFFHVVGRPDLQP\FRPSFRPSDWKSULYDWH
■
usemeta
•
ajoute des méta-informations arbitraires
•
usemeta QDPHYDOXHVFKHPH
•
ajouté par le serveur
XVHPHWDQDPHODVWPRGLILHG
•
use httpequiv QDPHYDOXHVFKHPH
•
spécifie un champ de l’entête HTTP ou WSP
XVHKWWSHTXLYFDFKHFRQWUROQRFDFKH
•
use user agentQDPHYDOXHVFKHPH
•
passé à l’interpréteur WMLScript
XVHPHWDQDPH[GHEXJJLQJRQ
'LGLHU'RQVH]:$3:0/
62
Exemple :Quizz
"[POYHUVLRQ "!
'2&7<3(ZPO38%/,&:$3)2580'7':0/(1
KWWSZZZZDSIRUXPRUJ'7'ZPOB[PO!
ZPO!
FDUGLG TXL]]WLWOH 4XL]]!
S!4XHYHXWGLUH:$3"EU!
VHOHFWQDPH UHSRQVHPXOWLSOH IDOVH!
RSWLRQYDOXH !:DRX$SL3RRSWLRQ!
RSWLRQYDOXH !:LUHOHVV$SSOLFDWLRQ3URWRFRORSWLRQ!
RSWLRQYDOXH !:KDW$SHQGHG3HQWDJRQHRSWLRQ!
RSWLRQYDOXH !:LO$IIHU3DWHUHWHGRSWLRQ!
VHOHFW!S!
GRW\SH DFFHSWODEHO 9HULILHU!JRKUHI TXL]]ZPOVYHULILFDWLRQ
UHSRQVH
!GR!
FDUG!
FDUGLG ERQQHUHSRQVHWLWOH 5HVXOWDWV!
S!%RQQHUpSRQVH%UDYRYRXVHWHVXQFRQQDLVVHXUEU!S!
FDUG!
FDUGLG PDXYDLVHUHSRQVHWLWOH 5HVXOWDWV!S!9RXVDYH]IDX[EU!5HFRPPHQFH]S!
FDUG!ZPO!
'LGLHU'RQVH]:$3:0/
63
Exemple :
Convertisseur Franc-Euro(WML)
"[POYHUVLRQ "!
'2&7<3(ZPO38%/,&:$3)2580'7':0/(1
KWWSZZZZDSIRUXPRUJ'7'ZPOB[PO!
ZPO!
FDUGLG HXRFRQYHUWWLWOH (XUR&RQYHUWQHZFRQWH[W WUXH!S!
6RPPHLQSXWIRUPDW
1QDPH VRPPHWLWOH 6RPPH!
&RQYHUWLUGHVVHOHFWQDPH GHVYDOXH )5$WLWOH 'HV!
RSWLRQYDOXH )5$!)UDQFVRSWLRQ!
RSWLRQYDOXH (85!(XURVRSWLRQ!
VHOHFW!
(QVHOHFWQDPH HQYDOXH (85WLWOH (Q!
RSWLRQYDOXH (85!(XURVRSWLRQ!
RSWLRQYDOXH )5$!)UDQFVRSWLRQ!
VHOHFW!
EU! X!FRQYHUVLRQX!
GRW\SH DFFHSWODEHO &DOFXOHU!
JRKUHI HXURFRQYHUWZPOVFRQYHUW
FRQYHUVLRQ
GHV
HQ
VRPPH!
GR!
S!
FDUG
!
ZPO
!
'LGLHU'RQVH]:$3:0/
64
Exemple :
Convertisseur Franc-Euro(WMLScript)
H[WHUQIXQFWLRQFRQYHUWYDU1DPHGHVHQVRPPH^
YDUPXOWLSOLHU
YDUUHWXUQ6WULQJ (UUHXU
YDUUHVXOW
LIGHV )5$^
YDU)5$B(85
LIHQ )5$PXOWLSOLHU
HOVHLIHQ (85PXOWLSOLHU )5$B(85
`HOVHLIGHV (85^
YDU(85B)5$
LIHQ (85PXOWLSOLHU
HOVHLIHQ )5$PXOWLSOLHU (85B)5$
`
LIPXOWLSOLHU ^
UHVXOW VRPPHPXOWLSOLHU
UHWXUQ6WULQJ 6WULQJWR6WULQJUHVXOW
UHWXUQ6WULQJ 6WULQJIRUPDWIUHWXUQ6WULQJ
`:0/%URZVHUVHW9DUYDU1DPHUHWXUQ6WULQJ
:0/%URZVHUUHIUHVK
`
'LGLHU'RQVH]:$3:0/
67
Exemple :Password
"[POYHUVLRQ "!
'2&7<3(ZPO38%/,&:$3)2580'7':0/(1
KWWSZZZZDSIRUXPRUJ'7'ZPOB[PO!
ZPO!
FDUGLG FDUGWLWOH 0RWGHSDVVHQHZFRQWH[W WUXH!
GRW\SH RSWLRQVODEHO 9HULILHU!
JRKUHI SDVVZRUGZPOVYHULI
85/QRHVF
!
GR!
SDOLJQ FHQWHU!(QWUH]OHPRWGHSDVVHLQSXWW\SH WH[WQDPH 85/!EU!S!
FDUG!
ZPO!
SDVVZRUGZPOV
H[WHUQIXQFWLRQYHULISDVVZRUG^
LI6WULQJILQGSDVVZRUGZPO^SDVVZRUG SDVVZRUGZPO`
:0/%URZVHUJRSDVVZRUG
`
'LGLHU'RQVH]:$3:0/
68
Bibliothèque standard de fonctions
■
Lang
•
abs, min,max,parseInt,parseFloat,random,seed, exit,abort, …
■
Float
•
int,flor,ceil,pow, …
■
String
•
length,isEmpty, replace,elementAt,trim, format, …
■
URL
•
isValid,getHost,getScheme,getParameters,resolve, escape,unescape, …
■
WMLBrowser
•
getVar,setVar, go,prev,newContext,getCurrentCard,refresh
■
Dialog
•
prompt,confirm,alert
'LGLHU'RQVH]:$3:0/
69
Bibliothèque WTAI de fonctions
■
Wireless TelephonyApplication Interface
•
Permet de piloter les services detelephonieou du réseau
■
Une commune
•
WTACallCont
•
setup,accept, release,sendDTMF
•
WTANetText
•
send,read,delete,getFieldValue
•
WTAPhoneBook
•
write,read,delete,getFieldValue
•
WTAMisc
•
indication,endcontext
■
Les autres spécifiques auxBearers
•
WTAI GSM, …
■
Invocation des fonctions avec des URI spéciales
•
:7$&DOO&RQWVHWXSZWDLFFVF
•
:7$*60
WUDQVIHU
ZWDL
JVP
FW
'LGLHU'RQVH]:$3:0/
70
Configuration des serveurs
et Types MIME
■
Serveurs (MS IIS, Apache, …)
•
Documents statiques (WML, WMLScript, …)
•
Documents dynamiques (Servlet, JSP, ASP, PHP, …)
■
Types MIME associés
•
Fichier WML (extensionwml)
text/vnd.wap.wml
•
Fichier compilé (extensionwmlc)
application/vnd.wap.wmlc
•
Fichier script (extensionwmls)
text/vnd.wap.wmlscript
•
Fichier script compilé (extensionwmlsc)
application/vnd.wap.wmlscriptc
•
Image WBMP (extensionwbmp)
image/vnd.wap.wbmp
'LGLHU'RQVH]:$3:0/
71
LePush
■
Notification asynchrone d’événement au UA
•
Alertes, Mises à jour, …
•
NouveauxEmail, Changement cours boursier, enchères, …
■
Interactions
Client
WAE
User
Agent
WAE
User
Agent
Gateway
Decoders
Encoders
Decoders
Encoders
Server
Scripts
(JSP,PHP,
ASP, …)
Scripts
(JSP,PHP,
ASP, …)
Contents
Contents
Encoded
RequestWSP
Request
HTTP
Encoded
ResponseWSP
Response
WML
Scripts
(Triggers, …)
Scripts
(Triggers, …)
Encoded
Content
SL or SI
Content
SL or SI
Push Gateway
Decoders
Encoders
Decoders
Encoders
'LGLHU'RQVH]:$3:0/
72
Service Indication (SI)
■
Envoi d’une alerte
•
Le message reçu est affiché à l’usager
•
L’usager peut choisir de charger la page WML référencée dans le message
■
Type MIME
•
text/vnd.wap.siet application/vnd.wap.sic
■
Exemple
"[POYHUVLRQ "!
'2&7<3(VL38%/,&:$3)2580'7'6,(1
KWWSZZZZDSIRUXPRUJ'7'VLGWG!
VL!
LQGLFDWLRQKUHI
KWWSVWRFNTXRWHFRPZHOFRPHZPO
VLLG FXVWPVJQXPFUHDWHG 7=
VLH[SLUHV 7=DFWLRQ VLJQDOPHGLXP!
9LHZVWRFNTXRWHVQRZ"
LQGLFDWLRQ!
LQIR!LWHPFODVV 0RUH,QIR!<RXUODVWXSGDWHZDV7XHVGD\DW30LWHP!LQIR!
VL!
'LGLHU'RQVH]:$3:0/
73
ServiceLoading(SL)
■
Notification d’une page à charger («pull»)
•
action= "execute-low" action= "execute-high"
•
Le message contient une référence que l’UA charge et affiche dans un
nouveau contexte
•
action= "cache"
•
la page est mise dans le cache
■
Type MIME
•
text/vnd.wap.slet application/vnd.wap.slc
■
Exemple
"[POYHUVLRQ "!
'2&7<3(VO38%/,&:$3)2580'7'6/(1
KWWSZZZZDSIRUXPRUJ'7'VOGWG!
VOKUHI
KWWSZZZVWRFNTXRWHFRPP\SRUWZPO
DFWLRQ H[HFXWHORZ!
VO!
'LGLHU'RQVH]:$3:0/
75
La Gestion des Caches
■
Principe
•
Les clients, les passerelles cachent
les documents reçus ou en transit
■
Avantages
•
consultationofflinedes documents
•
économie bande passante
■
Inconvénients
•
incohérence dans les applications transactionnelles
•
Commande si en stock, Réservation ferme de places (sans surbooking), …
■
Solution
•
<metahttp-equiv="Cache-control" content="no-cache"/>
•
usemetahttpequiv"Cache-control" "no-cache"
'LGLHU'RQVH]:$3:0/
76
/¶eTXLSHIU
■
Stage DESS TNSI 99-00 (Valenciennes)
•
Les objectifs : afficher des brèves sur le sport
•
Les informations recueillies : des fichiers XML
•
Les solutions logicielles utilisées :
•
Java 1.2.2 (servlets)
•
Microsoft IIS
'LGLHU'RQVH]:$3:0/
77
Et la carte à puce …
■
Carte GSM/SIM (SubscriberIdentification Module)
•
SIMToolKit
•
applications embarqués sur le handset GSM
et exécutées par le module SIM
•
la GUI du handset est pilotée par le module SIM
■
Cartes WIM et SWIM
•
L’application WML/WMLScript dialogue avec la carte WIM
•
Authentification, Paiement électronique
•
Carnet d’adresse,Bookmark
•
WAP 1.2
'LGLHU'RQVH]:$3:0/
79
Les nouveautés de WAP 2.0 (i)
■
Compatibilité WAP 1.1
■
Compatibilité de la pile IP
•
IP, TCP, TLS, HTTP
■
Support de nouveau porteurs
•
GPRS, W-CDMA, UMTS, …
■
Fonctionnement Push étendu
•
Temps réel, durée de vie des messages, …
■
WAE
•
XHTML, CSS Mobile Profile, SMIL
■
Pictogrammes normalisés
•
Prédéfinies dans la ROM des mobiles.
'LGLHU'RQVH]:$3:0/
80
Les nouveautés de WAP 2.0 (ii)
■
User Agent Profile (UAProf)
•
Basé sur CompositeCapabilities/PreferenceProfiles
(CC/PP) du W3C
•
Permet aux serveurs d’obtenir des informations sur le client et
l’utilisateur pour préparer la réponse
•
Les informations privées ne sont communiquées qu’après acceptation
de l’utilisateur
■
Multimedia MessagingService (MMS)
•
Solution de messagerie étendu (contenu multimédia : image,
SMIL, …) transmis par SMS ouEmail (MIME). S’appuie sur
lePushpour la notification et sur UAProf pour l’adaptation
optimale des contenus.
'LGLHU'RQVH]:$3:0/
81
Les nouveautés de WAP 2.0 (iii)
■
External FunctionalityInterface (EFI)
•
donne accès à des pluginsou à des périphériques externes (e.g. smart
cards, GPSdevices,healthcaredevices anddigital cameras, …)
■
PersistentStorageInterface
•
specifiesa standard set ofstorageservices for organizing,accessing,
storing and retrievingdata onthe wireless deviceor other connected
memory device.
■
Data Synchronization
•
Échange de messages SyncMLau dessus de WSP et HTTP/1.1 pour la
synchronisation de données entre mobiles et stations
■
Provisioning
•
Gestion standard des mobiles par l’opérateur.
'LGLHU'RQVH]:$3:0/
83
XHTML
Les différences avec HTML4
■
Document correct
•
pas de chévauchement
S!OHVpOpPHQWVHP!V·HPERLWHQWHP!S!
au lieu de
S!OHVEDOLVHVHP!VHFKHYDXFKHQWSDVS!HP!
•
éléments vides
EU!KU!au lieu de EU!KU!
qui est
INCORRECT
•
valeurs attributs
WDEFRO !au lieu de WDEFRO !qui est
INCORRECT
■
Style et Script
VFULSW!
>&'$7$>
XQHVFDSHGVFULSWFRQWHQW
@@!
VFULSW!
'LGLHU'RQVH]:$3:0/
84
XHTML -Exemple
■
Document XML utilisant des éléments du domaine de
noms XHTML
"[POYHUVLRQ HQFRGLQJ 87)"!
LQLWLDOO\WKHGHIDXOWQDPHVSDFHLVERRNV!
ERRN[POQV
XUQORFJRYERRNV
[POQVLVEQ
XUQ,6%1
[POODQJ HQODQJ HQ!
WLWOH!&KHDSHUE\WKH'R]HQWLWOH!
LVEQQXPEHU!LVEQQXPEHU!
QRWHV!
PDNH+70/WKHGHIDXOWQDPHVSDFHIRUDK\SHUWH[WFRPPHQWDU\!
S[POQV
KWWSZZZZRUJ[KWPO
!
7KLVLVDOVRDYDLODEOHDKUHI KWWSZZZZRUJ!RQOLQHD!
S!
QRWHV!
ERRN!
'LGLHU'RQVH]:$3:0/
85
XHTML -Exemple
■
Document XHTML utilisant la recommandation MathML
KWPO[POQV KWWSZZZZRUJ[KWPO[POODQJ HQODQJ HQ!
KHDG!WLWOH!$0DWK([DPSOHWLWOH!KHDG!
ERG\!
S!7KHIROORZLQJLV0DWK0/PDUNXSS!
PDWK[POQV KWWSZZZZRUJ0DWK0DWK0/!
DSSO\!ORJ!
ORJEDVH!
FQ!FQ!
ORJEDVH!
FL![FL!
DSSO\!
PDWK!
ERG\!KWPO!
'LGLHU'RQVH]:$3:0/
86
Acteurs
•
WAP Forum
•
http://www.wapforum.org
•
Open Mobile Alliance
•
http://www.openmobilealliance.org
•
Nokia, Ericsson/Sony, Motorola, Alcatel, ...
'LGLHU'RQVH]:$3:0/
87
Outils
■
Client
•
Motorola, Nokia, Alcatel, Ericsson, Sagem, Mutsubishi...
•
Emulateur pour PalmOS, WinCE, EPOC (Symbian)
•
Emulateursous IP et Windows
•
Nokia, Ericsson, UP (phone.com), …
■
Serveur et Gateway
•
Nokia, Ericsson, ...
■
Portail
•
OraclePortalToGo, …
■
Scripts
•
Servlet, JSP, ASP, XSP (voir xml.apache.org)
•
XML, XSLT
■
Editeurs
•
WML, WMLC, Convertisseurs WBMP
'LGLHU'RQVH]:$3:0/
88
Outils: Nokia Mobile Internet Toolkit
http://www.forum.nokia.com/
'LGLHU'RQVH]:$3:0/
89
J2EE etWireless
5'%06
RUDFOH«
$SSOLFDWLRQ
WDEOHV
(-%6HUYHU
6HUYOHW
:HE6HUYHU
DSDFKHMVHUY
+70/
%URZVHU
6HVVLRQ
%HDQ
6HVVLRQ
%HDQ
(QWLW\
%HDQ
(QWLW\
%HDQ
50,
-'%&
64/;$
+WWS6HVVLRQ
2EMHFW
+WWS6HVVLRQ
2EMHFW
;0/
%URZVHU
:0/
%URZVHU
83(PXODWRU
6HUYOHW-63
2EMHFW
6HUYOHW-63
2EMHFW
+70/
+773
;0/;6/
+773
:0/:0/&
:$3
;6/
7UDQVIRUPHU
;6/
7UDQVIRUPHU
50,
'LGLHU'RQVH]:$3:0/
90
Transformation XSL-T
■
XSL-T
•
XSL-T permet la transformation d’une application XML vers une autre
application XML
•
La feuille de style (stylesheet) XSL-T décrit lesréglesde transformation
■
Application à WML
•
WML et xHTMLsont des applications de XML
•
Uneservlet/JSP/ASP peut répondre au client en fonction de sa capacité
•
1) extraction des données du système d’information
•
2) formatage dans un format pivot (ex:rowset.dtd)
•
3) transformation avec une feuille XSL-T (rowset2wml.xslou
rowset2html.xsl)
•
4) application dubytecoder
■
Outils
•
MS, Apache/Xalan, Apache/Coccon, Oracle/XSQLServlet, …
'LGLHU'RQVH]:$3:0/
91
Concurrence
■
HDML +DQG+HOG0DUNXS/DQJXDJH
•
Client : UP (phone.com)
■
TinyHTML
•
Client : Avant-Go (Pushde site sur PDA)
■
cHTML
•
Sous ensemble de HTML
•
iMode, opérateur cellulaire NTT DoCoMo
•
lancé en 1999, 20 Millions d’usagers japonais en février 2001
■
xHTML+CSS
•
HTML bien formé et valide
•
Désormais dans WAP 2.0
'LGLHU'RQVH]:$3:0/
92
Concurrence : J2ME CLDC/MIDP
■
J2ME CLDC/MIDP (Mobile InformationDeviceProfile)
•
Two configurations :
•
Connected device configCDC : > 512 KB
•
Connected limited device configCDLC : < 512KB
requires KVM (Kernel Virtual Machine)
•
MIDlet : same principles than J2SE Applets
•
J2ME Application running in a KVM
in a mobile phone or bidirectionalpager
■
Pour en savoir plus
•
http://www-adele.imag.fr/~donsez/cours/j2me.pdf
'LGLHU'RQVH]:$3:0/
94
Divers
■
L’UA héberge d’autres applications
•
Carnet d’adresse
•
vCard
•
Agenda (PIM)
•
vCalendar
•
…
■
Synchronisation d’application sur WAP
•
Entre un serveur et un client nomade
•
Applications
•
Carnet d’Adresse, Agenda, Catalogue de produits, …
'LGLHU'RQVH]:$3:0/
97
Synchronisation sur WSP
■
MessageSyncML(http://www.syncml.org)
•
comportant des éléments décrivant une synchronisation
•
Add,Alert,Atomic, Copy,Delete,Exec,Get,Map, Replace,Search,
Sequence,Sync
•
pour des applications embarquées sur lehandheld
•
2 représentations
•
texteWBXMLapplication/vnd.syncml-xml
•
bytecode application/vnd.syncml-wbxml
■
2 méthodes
•
POST
•
PUSH
'LGLHU'RQVH]:$3:0/
98
Bibliographie
■
Voir les cours sur HTTP, HTML, XML, JavaScript
•
http://www-adele.imag.fr/~donsez/cours
■
Livres
•
TheWAP Forum, «TheOfficial WAP»,Ed Wiley, 1999, ISBN 0-471-32755-1
•
Steve Mann, “ProgrammingApplicationswith the WirelessApplicationProtocol,
the complete developer’sguide”, 2000, EdWiley, 0-471-32754-9
•
«Construire vos applications WAP», Ed Eyrolles, 2000 (en français)
•
ProfessionalWAP,Ed Wrox, 2000
•
Martin Frost, "LearningWML & WMLScript",Ed Oreilly, 2000, 1-56592-947-0
•
SCN Education B.V., «Mobile Networking with WAP», 2000, ISBN 3-528-
03149-2
•
Harvey M.Deitel, Paul J.Deitel,TemR.Nieto,Kate Steinbuhler, "Wireless
InternetandMobile Business How toProgram, 1/e", 2002, 1000 pp;,Prentice
Hall, ISBN 0-13-009288-6,
http://vig.prenhall.com/catalog/academic/product/1,4096,0130092886,00.html
'LGLHU'RQVH]:$3:0/
99
Sites
■
Constructeurs et Développement
•
http://www.wapforum.org
•
http://www.openmobilealliance.org
•
http://www.3gpp.org
•
http://www.w3.org/Mobile
•
http://www.nokia.com
•
http://www.ericsson.com
1.349 εμφανίσεις
1.494 διαφάνειες
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο