Sommaire |
---|
Ici, exemple pour les navigateurs en France sur un an depuis avril 2010 :
http://wwwgs.w3statcounter.org/TR/mobile-bp/com/#mobile_browser-FR-monthly-201004-201104
On peut aussi avoir des stats sur les terminaux eux mêmes, sur des périodes ou des régions différentes.
UAProf, base de l'Open Mobile Alliance : http://www.w3openmobilealliance.org/TR/mwabp/résumé Technical/schemas.aspx
Liste des terminaux : http://wwwdeviceatlas.w3.org/2007/02/mwbp_flip_cards.htmlcom/devices
WURFL, base "collaborative", avec API Bonnes pratiques "qualité", plus générales : http://wwwwurfl.opquastsourceforge.org/
_WURFL est maintenant en version 1.2, avec notamment une utilisation via Spring prévue : Pourquoi est-il intéressant de traiter les 2 en //http://wwwwurfl.w3sourceforge.orgnet/WAInjava/mobile/
quelles contraintes ajouter à une appli conforme WCAG pour être conforme MWBP, et inversement :http://www.w3.org/TR/mwbp-wcag/
WURFL, base "collaborative", avec API : http://wurfl.sourceforge.net/
UAProf, base de l'Open Mobile Alliance : http://www.openmobilealliance.org/Technical/schemas.aspx
En pièce jointe, la classe de gestion du WURFL : MyWurflService.java
Lors de l'initialisation de l'application :
Bloc de code |
---|
// Initialisation du service WURFL
this.myWurflService = new MyWurflService();
|
Dans mon wrapper, à la création, pour savoir si l'utilisateur a un terminal mobile :
Bloc de code |
---|
this.isMobile = Application.getAppli().getMyWurflService().isMobileDevice(this.sess, context.request().toString());
|
On peut avoir des infos sur le terminal :
Bloc de code |
---|
Device device = Application.getAppli().getMyWurflService().getWurflHolder().getWURFLManager().getDeviceForRequest(request.toString());
String browser = device.getCapability(MyWurflService.MOBILE_BROWSER);
|
Pour nettoyer le fichier WURFL et n'avoir que les propriétés voulues :
http://www.tera-wurfl.com/wiki/index.php/WURFL_Customizer
Le filtre utilisé :
Bloc de code |
---|
public static $CAPABILITY_FILTER = array(
"mobile_browser",
"device_os",
"mobile_browser_version",
"model_name",
"device_os_version",
"is_wireless_device",
"device_claims_web_support",
"brand_name",
);
|
On passe de 15 à 3Mo en utilisant le filtre.Liste des terminaux : http://deviceatlas.com/devices
W3C mobileOK : http://validator.w3.org/Mobilemobile
iUI (google code)
JSF Trinidad (cf docs de YD)
Titanium Appcelerator (utilisé par Jasig) : http://www.appcelerator.com/products/titanium-mobile-application-development/
Mobile Web Application Best Practices
HTML5 a une API qui peut permettre de géolocaliser si le terminal est capable de le faire : http://dev.w3.org/geo/api/spec-source.html
Voir par exemple http://www.tavuupaperblog.netfr/developpement2550120/geolocalisation-de-vos-visiteurs-en-javascript-grace-a-html-5/
Il y a plusieurs moyens pour géolocaliser : par IP, par GPS, par utilisation de la géolocalisation des points d'accès WiFi détectés à proximité.... Hormis le GPS, ça passe toujours par l’utilisation de base de données d'IP ou de bornes WiFi, récoltées de manière plus ou moins légale...
(rem : Gears, c'est fini : http://code.google.com/intl/fr/apis/gears/api_geolocation.html http://gearsblog.blogspot.com/2011/03/stopping-gears.html)
...