• Aucun résultat trouvé

Le WAP (‘Wireless Application Protocol’) a pour objectif de permettre l’accès à des ressources de l’Internet (informations ou services) au moyen de clients mobiles légers qui sont essentiellement des téléphones portables ou des organiseurs (PDA 'Portable Document Assistant'). Les applications visées sont voisines de celles du Web en diminuant les fonctionnalités attendues : recherches simples (numéros de téléphone, adresses, horaires de transports…), accès à des informations courtes (conditions météo, cours de bourse, trafic routier …), transactions simples (achat de billets, …).

Le WAP est défini par un ensemble de normes élaborées par le Wapforum (regroupement de constructeurs comme Ericsson, Motorola, Nokia, …) à partir de 1997. Le WAP dérive des standards Internet du Web (TCP/IP, HTML, XML, HTTP) en les adaptant à l’univers des téléphones portables c’est à dire à de petits terminaux sans fils. En particulier le WAP définit la notion de micro navigateur (‘micro browser’) qui minimise la demande en ressources matérielles (mémoire, puissance processeur, débit de communication) sur un poste client.

Première partie : le langage WML (‘Wireless Markup Language’)

Un micro navigateur WAP peut afficher des informations des lors qu’elles sont spécifiées dans le langage de balise WML pour ‘Wireless Markup Language’. WML est un langage de balises qui réalise une partie des fonctionnalités offertes par HTML. Les ensembles d’informations échangées en WML sont appelés des ‘decks’. Un deck est défini par la balise wml. Les decks sont composés d’unités d’affichage baptisées cartes (définies par la balise ‘card’). Sur un poste client on affiche une carte à la fois. Une carte peut contenir du texte, des liens (en particulier sur d’autres cartes), des images. Par exemple un texte affiché est encadré par la balise p (pour paragraphe). Quand un deck WML est accédé, l’ensemble des cartes qu’il contient est chargé à partir du serveur WAP. Une navigation entre cartes est alors possible, sous le contrôle du micro navigateur local, sans aucun accès au serveur distant.

Voici un exemple très simple de document wml (un deck avec une carte). Dans cet exemple on voit que WML est défini comme un dialecte XML version 1.0 (un document WML est tout d’abord un document XML 1.0).

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<card id="Bourse" title="A la bourse de Paris">

<p>

A l’ouverture ce matin le CAC40 ..

</p>

</card>

</wml>

Le résultat affiché sur un micro navigateur pour le source précédent pourrait ressembler à :

-- A la bourse de Paris A l’ouverture ce matin le CAC 40 ..

La forme graphique précédente ne correspond pas à un micro navigateur réel et est donnée à titre purement indicatif pour comprendre l’exemple.

1) A quoi correspondent les trois premières lignes du document ?

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">

2) Le document XML précédent est-il bien formé ?

3) Que devrait-on faire pour vérifier que ce document est valide ?

Le second exemple suivant montre un document wml un peu plus compliqué avec un deck et deux cartes (carte1 et carte2) qui s’enchaînent. La première carte permet de sélectionner une seule réponse parmi un ensemble de réponses possibles au moyen de boutons. Le résultat est passé dans une variable code_reponse à la seconde carte qui affiche la sélection réalisée.

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<card id="carte1" title="Menu">

<do type="accept" label="Choisissez">

<go href="#carte2"/>

</do>

<p>

<select name="code_reponse">

<option value="Meteo"> Infos Meteo </option>

<option value="Trafic"> Infos Trafic </option>

<option value="Bourse"> Infos Bourse </option>

</select>

</card>

<card id="carte2" title="Choix">

<p>

Vous avez selectionne : $(code_reponse)

</p>

</card>

</wml>

La première carte affichée, après avoir sélectionné Infos météo, pourrait être :

--- Menu Infos Meteo

Infos Trafic Infos Bourse Choisissez

La seconde carte affichée pourrait être :

--- Choix

Vous avez selectionne : Meteo

4) Quels sont les éléments et les attributs présents dans l’exemple précédent ? Ce document possède t’il des éléments vides ?

5) Quel est l’arbre résultant de l’analyse syntaxique du document précédent ?

6) Quels sont les principaux avantages du choix de XML pour définir WML?

La discussion ne doit pas consister à recopier tous les avantages de XML mais à discuter des avantages d’une solution XML par rapport à une solution de type HTML, dans le cas précis du WAP. Par exemple on aurait pu choisir une version simplifiée de HTML qui aurait limité dans HTML les balises utilisables pour des terminaux simples.

Seconde partie : les protocoles de communication du WAP

La suite des protocoles de communication du WAP a pour objectif de réaliser des fonctionnalités similaires à celles de la suite des protocoles Internet. Cette suite a été définie en deux étapes. Dans les versions 1 (1.0 , 1.1, etc.) les protocoles (voir plus loin WDP, WTLS, WTP, WSP) sont complètement spécifiques des appareils aux possibilités limitées que sont

les téléphones portables ou les PDA. Ils sont incompatibles avec les protocoles de la suite Internet/Web. A partir de la version 2 le standard WAP inclut, en plus des protocoles de la version 1, la suite des protocoles standards de l'Internet et du web (WWW World Wide Web).

Pour dialoguer avec un serveur Web habituel, les communications WAP en version 1 doivent donc tout d'abord être réalisées entre un appareil WAP version 1 et une passerelle qui transforme les messages et les formats spécifiques WAP version 1 en messages et formats habituels de l'Internet et du Web.

Dans la version 1 les protocoles du WAP comportent quatre couches principales qui utilisent les services d'un protocole de communication de réseau sans fil:

7) WDP ('Wap Datagram Protocol') est un protocole qui réalise au dessus du protocole de communication du réseau sans fil (par exemple le protocole GSM des téléphones portables) un mode de communication très analogue à celui du protocole UDP. En fonction des caractéristiques de la couche UDP que vous connaissez quel est l'objectif poursuivi par la couche WDP dans la pile des protocoles WAP ?

8) WTLS est un protocole optionnel qui réalise dans l'univers WAP des fonctions similaires au protocole Internet SSL/TLS. Selon les principales fonctions réalisées par SSL/TLS que vous rappellerez pourquoi

WSP

('Wap Session Protocol')

WTP

('Wap Transaction Protocol')

WTLS

('Wap Transaction Layer Security')

WDP

('Wap Datagram Protocol')

GSM, Bluetooth, ….

(Protocoles de communication du réseau sans fils) TCP/IP, HTTP

WDP, WTLS, WTP,WSP Client

WAP Version

1

Passere lle WAP

Serveu r Web

avoir introduit cette couche dans la pile des protocoles WAP en version 1.1

?

9) WTP ('Wap Transaction Protocol') n'est pas un protocole transactionnel au sens de la gestion de l'accès concurrent aux données et de la validation atomique. WTP dans le mode 1 de fonctionnement réalise essentiellement un contrôle d'erreur par acquittement positif et temporisateur sur les messages acheminé par WDP. Dans le mode 2 , WTP implante un mode client serveur à trois messages émission, acquittement positif, réponse. Par ailleurs WTP effectue également la fragmentation et le réassemblage des messages longs. Quelle est dans le monde Internet/Web le protocole de transport utilisé par le protocole HTTP?

Pourquoi avoir dans le WAP introduit le protocole WTP avec les fonctionnalités précédentes succinctement décrites de contrôle d'erreur et de fragmentation ?

10) WSP ('Wap Session Protocol') possède deux modalités: avec et sans connexion. Dans sa modalité WSP/B , WSP est un protocole sans connexion, sans état qui réalise un sous ensemble du protocole HTTP 1.1 . Il comporte pour cela des messages de requête et de réponse et achemine des informations similaires à HTTP 1.1 (ligne initiale, entêtes, corps de message). Une différence essentielle de WSP avec HTTP 1.1 est que les différents champs caractéristiques d'une requête ou d'une réponse WSP sont codés en binaire alors qu'ils sont en format texte en HTTP. De même, il a été défini un format WML binaire baptisé WBXML ('Wap Binary XML') qui encode en binaire au moyen d'un ensemble de règles d'encodage les documents WML échangés dans les messages WSP.

Un document WML encodé en WBXML possède un format standard avec une entête, un dictionnaire de chaînes de caractères avec leur encodage et un ensemble d'éléments encodés. Pourquoi avoir défini WSP/B comme un sous ensemble de HTTP 1.1 codé en binaire de même qu'un codage binaire des documents WML ?