Ici, exemple pour les navigateurs en France sur un an depuis avril 2010 : http://gs.statcounter.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.openmobilealliance.org/Technical/schemas.aspx
Liste des terminaux : http://deviceatlas.com/devices
WURFL, base "collaborative", avec API : http://wurfl.sourceforge.net/
_WURFL est maintenant en version 1.2, avec notamment une utilisation via Spring prévue : http://wurfl.sourceforge.net/njava/_
En pièce jointe, la classe de gestion du WURFL : MyWurflService.java
Lors de l'initialisation de l'application :
// Initialisation du service WURFL this.myWurflService = new MyWurflService();
Dans mon wrapper, à la création, pour savoir si l'utilisateur a un terminal mobile :
this.isMobile = Application.getAppli().getMyWurflService().isMobileDevice(this.sess, context.request().toString());
On peut avoir des infos sur le terminal :
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é :
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.
W3C mobileOK : http://validator.w3.org/mobile
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.paperblog.fr/2550120/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)
http://pau.edu.tr/eduroam/sayfa2844.aspx
http://www.apple.com/DTDs/PropertyList-1.0.dtd
http://www.iphone-notes.de/mobileconfig/
Voir le Guide WTP JSF