Pour plus d'informations sur
le wap svp consulter les ressources ou livres appropriés,
nous n'offrons pas de support sur la conception de vos pages
web/wap...
Voici
un aperçus du fonctionnement du WAP ;
Un site wap statique c’est
bien, un site wap dynamique c’est mieux ! D’autant
que le concept du téléphone mobile privilégie
l’interaction avec l’utilisateur. La plupart des sites
WAP sont destinés à donner une information dynamique
(actualités, news, annonces, etc), il n’est pas
concevable de passer à côté de langages tels que l’ASP
ou le PHP.
Nous allons donc voir comment créer une interaction avec
l’utilisateur.
Site WAP en PHP
Le principe de la page WAP en PHP est
proche de celui de la page WEB classique. On écrit le code
tout comme s’il s’agissait d’une page
"normale", et on y insère des scripts. Attention
toutefois, la déclaration du document doit être faite
proprement. Encore une fois, le WML est plus contraignant que
le HTML.
Ainsi, une page WAP en PHP se présentera de la sorte :
<?
header("Content-Type: text/vnd.wap.wml");
echo '<'.'?xml version="1.0" encoding="iso-8859-1"?'.'>';
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="Journal intime">
<p>
<?
echo "bonjour";
?>
</p>
</card>
</wml> |
Vous donnez l’extension .php à cette
page, et entre le <? et le ?> vous programmez comme
vous avez l’habitude de le faire. Il s’agit bien sûr de
respecter la norme WML.
Formulaires WAP
En principe, une page PHP reçoit des paramètres.
Encore faut-il les passer, ces paramètres. Le WML prévoit
plusieurs balises de formulaires, les deux principales étant
la zone de saisie et la lise à choix multiple.
La zone de saisie :
Elle se présentera très simplement sous la forme :
Prénom :<br/>
<input type="text" name="parametre1" size="8" value="votre prénom"/> |
Value indique le texte affiché
par défaut (si le mobile le permet). Size la taille de la
zone de saisie en nombre de caractères. Et name, c’est le
nom du champ quand il sera passé en paramètre.
Et le résultat sera :
Les listes à choix multiple
La liste à choix multiple s’écrira de cette façon :
Mois préféré :<br/>
<select name="parametre2">
<option>janvier</option>
<option>février</otpion>
<option>mars</otpion>
</select> |
Et le résultat sera :
Envoyer les données du formulaire WML
Ensuite, ces données, il faut les envoyer à notre scipt PHP.
La méthode est simple et utilise deux balises : ANCHOR
et GO
En admettant que notre page WAP chargée de récupérer les
données du formulaire s’appelle recup.php, et que les deux
paramètres que nous lui envoyons soient parametre1 et
parametre2, la page se présentera ainsi :
<anchor title="envoyer">Envoyer
<go href="recup.php" method="get">
<postfield name="parametre1" value="$(parametre1)"/>
<postfield name="parametre2" value="$(parametre2)"/>
</go> |
Ce qui aura pour conséquence
de lancer la page essai.php?parametre1=..¶metre2=..
Précisions
Problèmes rencontrés lors du
passage au WAP
Si vous souhaitez créer une version WAP à partir d’un site
WEB déjà existant, que celui-ci soit statique ou dynamique,
vous vous heureterez à quelques difficultés. Nous pouvons déjà
en citer deux :
Les accents. Vous avez sans doute écrit toutes vos
pages en codant vos accents avec les entités HTML (par
exemple é
pour le é). Vous devrez tout recoder... Sachez que la
fonction PHP html_entity_decode() le fait automatiquement.
La longueur des pages. Certains micro-navigateurs
rejetent les pages si elles sont trop longues. Et la taille
maximale est hélas peu élevée (par exemple 15 ko). Pour un
site WAP accessible pour tout le monde, vous serez peut-être
obligé de découper vos pages en plusieurs petites pages.
Site Wap en SPIP
Pour conclure, une petite note pour les utilisateurs de SPIP.
Sachez que WAP et SPIP ne sont pas incompatibles, loin de là.
Votre page article.php3 sera exactement identique à celle que
vous utilisez habituellement. En revanche, votre squelette se
présentera ainsi :
<?
header("Content-Type: text/vnd.wap.wml");
echo '<'.'?xml version="1.0" encoding="iso-8859-1"?'.'>';
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="Journal intime">
<p>
<BOUCLE_article(ARTICLES) {id_article}>
..............
</BOUCLE_article>
<do type="prev" label="retour" >
<prev/></do>
</p>
</card>
</wml> |
|