MWI picto
W3C Mobile Web Initiative MWI - EU MobiWeb 2.0 FP7 Project

Les Bonnes Pratiques du Web Mobile
et le validateur mobileOK

François Daoust <fd@w3.org>
W3C Mobile Web Initiative,
W3C Mobile Web Best Practices Working Group

http://www.w3.org/2009/Talks/01-mobileok-polytechnice/

Polytech'Nice-Sophia
Sophia-Antipolis, France, 14 Janvier 2009

Cette présentation fait partie du projet MobiWeb 2.0 financé par le programme de recherche FP7 de la Commission Européenne.

Contenu

Table des matières

  1. Le World Wide Web Consortium
  2. Les Bonnes Pratiques du Web Mobile
  3. mobileOK
  4. Une page Hello mobileOK!
  5. Pour aller plus loin...

1ère partie:
Le World Wide Web Consortium

Le W3C

Création de standards Web et de directives visant à assurer au Web une croissance à long terme.

Le W3C est une table autour de laquelle des membres se réunissent pour discuter et rédiger des standards Le W3C définit un processus pour la rédaction de standards stables et interopérables
Le W3C fournit une équipe d'experts chargés d'assurer la cohérence d'ensemble

Les standards du Web

Ajouter une pierre à l'édifice
X(HTML), CSS, XML, SVG, PNG, WCAG, RDF, XSLT, ...

L'Initiative pour le Web Mobile

Tim Berners-Lee L'Initiative pour le Web Mobile a été créée pour faire du Web sur les mobiles une réalité.
Tim Berners-Lee, Directeur du W3C et inventeur du Web

Sponsors of the W3C Mobile Web Initiative

Groupes de travail:

2ème partie:
Les Bonnes Pratiques du Web Mobile

Pour quoi faire? (1/3)

Beaucoup de terminaux mobiles sur le marché

Pour quoi faire? (2/3)

En securité sur mon mobile?

Pour quoi faire? (3/3)

A bad User eXperience scares people away

Des Bonnes Pratiques
  pour qu'un auteur de pages Web,
    expert ou non,
      puisse proposer une expérience utilisateur acceptable
        sur une large majorité de terminaux mobiles.

Petite appartée:
Quid des applications? (1/2)

La mode est aux widgets, aux applications.
Pourquoi se limiter aux pages Web?

Quels sont les différents types d'applications possibles?

Le Web devient la plate-forme de développement par excellence!

Petite appartée:
Quid des applications? (2/2)

D'accord pour le Web en temps que plate-forme, mais...
Pourquoi se limiter aux pages Web?

Toute construction doit reposer sur des bases solides.


[Des bonnes pratiques spécifiques au développement d'applications Web mobiles sont en gestation]

Vue d'ensemble des Bonnes Pratiques

Les Bonnes Pratiques en flipcards

Mobile Web Best Practices 1.0:

Les Bonnes Pratiques en action

AVANT
- desktop (classe) -
Beethoven - bad - desktop
- phone (pas classe!) -
Beethoven - bad - phone 
APRES
- desktop (toujours classe!) -
Beethoven - good - desktop
- phone (classe) -
Beethoven - good - phone 

Dix Commandements

Les Bonnes Pratiques en flipcards

Trop de contraintes?

Adieu

L'art vit de contraintes et meurt de libertés
Michel-Ange

3ème partie:
mobileOK

La marque mobileOK

Le logo mobileOK

Le validateur mobileOK

Le validateur mobileOK du W3C

http://validator.w3.org/mobile

Le validateur émule le contexte mobile

Exemple de rapport mobileOK (1/2)

Début du rapport mobileOK sur Beethoven
La note finale de la page d'exemple présentée auparavant.

Exemple de rapport mobileOK (2/2)

Extrait du rapport mobileOK sur Beethoven
Gros plan sur une partie du rapport.

4ème partie:
Une page Hello mobileOK!

Page Hello mobileOK! (1/2)

- desktop -
Hello mOK - desktop
- mobile -
Hello mOK - mobile

<html>
  <body>
    <p>
      Hello mobileOK!
    </p>
  </body>
</html>

Voir la page, Voir le rapport mobileOK

Page Hello mobileOK! (2/2)

- desktop -
Hello mOK - desktop
- mobile -
Hello mOK - mobile
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC
 "-//W3C//DTD XHTML Basic 1.1//EN"
 "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>mOK Basic</title>
  </head>
  <body>
    <p>
      Hello mobileOK!
    </p>
  </body>
</html>

Voir la page, Voir le rapport mobileOK

Du CSS pour mon mobile (1/2)

Interne vs. Externe

Interne

<style type="text/css">
  blah... blah...
</style>

Externe

<link rel="stylesheet"
 type="text/css"
 href="styles.css" />

Du CSS pour mon mobile (2/2)

La règle @media

<link rel="stylesheet" type="text/css"
 media="screen" href="screen.css" />
<link rel="stylesheet" type="text/css"
 media="handheld" href="handheld.css" />

Attention: certains browsers full-Web (sic!) récupèrent le CSS screen.
Il faut alors être plus précis. Par exemple, pour l'iPhone:

<link rel="stylesheet" type="text/css"
 media="only screen and (max-device-width: 480px)" href="handheld.css" />

Page Hello mobileOK! avec styles

- desktop -
Hello mOK - desktop
- mobile -
Hello mOK - mobile

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC
 "-//W3C//DTD XHTML Basic 1.1//EN"
 "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>mOK Basic</title>
    <link rel="stylesheet" type="text/css"
          media="screen" href="screen.css" />
    <link rel="stylesheet" type="text/css"
          media="handheld" href="handheld.css" />
  </head>
  <body>
    <p>Hello mobileOK!</p>
  </body>
</html>

screen.css

p { font-size: 2em; }
body:after { content: url(W3C-MWI-large.png) }

handheld.css

p { font-size: 0.5em; }

Voir la page, Voir le rapport mobileOK

5ème partie:
Pour aller plus loin...

Ajouter du Javascript (1/2)

- desktop -
Scripting - desktop
- mobile -
Scripting - mobileScripting - mobile
Scripting - mobile

Pas bien: Voir la page, Voir le rapport mobileOK

Quelques règles permettent de rajouter du Javascript sans tout casser:

  • Pas de liens Javascript:
    <a href="javascript:submit();">Link</a>
    ... mais des événements avec une action par défaut:
    <a href="page.html" onclick="submit();">Link</a>
  • La réflexion pour tester l'existence d'une méthode:
    if (window.ActiveXObject) {
      // Instantiate using new ActiveXObject
    } else if (window.XMLHttpRequest) {
      // Instantiate using new XMLHttpRequest
    }
  • Le site doit rester navigable sans Javascript

Ajouter du Javascript (2/2)

- desktop -
Scripting - desktop
- mobile -
Scripting - mobileScripting - mobile
Scripting - mobile

Bien: Voir la page, Voir le rapport mobileOK

Adaptation de contenu (1/3)

Le W3C défend un Web unique:

Adaptation de contenu (2/3)

La fuite est possible

Pour une adaptation sans heurts:

Adaptation de contenu (3/3)

Le saviez-vous?

Au fait, où s'arrête le Web mobile?

Où est le fond?

Conclusion

Best Practices flipcards

MWI - EU MobiWeb 2.0 FP7 Project Cette présentation fait partie du projet MobiWeb 2.0 financé par le programme de recherche FP7 de la Commission Européenne.

Crédits photos

Picorées sur Flickr

Glanées sur elainev.com

Reproduites avec l'aimable autorisation de Elaine Vallet: