Cet article est une traduction/adaptation du post de Javier Eguiluz : “Meet the bundle: MobileDetectBundle”.
Cet article fait partie d’une série intitulé “Meet the bundle” qui présente plusieurs bundles Symfony2. Merci à Javier Eguiluz pour cette initiative.
Meet the bundle : MobileDetectBundle
Les téléphones portables sont de plus en plus utilisés de par le monde et, par extension, sur le web. Mis à part la croissance du responsive design, de plus en plus de sites développent une version spécifique de leur site pour les utilisateurs mobiles.
Dans cet article, nous allons parler de MobileDetectBundle qui détecte les mobiles
et vous aide à rediriger l’utilisateur vers la bonne version de votre site. Une fois installé, ceci est la seule configuration dont vous
aurez besoin pour rediriger les utilisateurs mobiles vers le sous-domaine .m
de votre site :
1 # app/config/config.yml
2 mobile_detect:
3 redirect:
4 mobile:
5 is_enabled: true
6 host: http://m.example.com
7 action: redirect
8 detect_tablet_as_mobile: true
Lisez la documentation officielle du bundle pour apprendre comment configurer des scénarios de redirection plus complexes.
En plus de rediriger les utilisateurs, ce bundle fournit également un service appellé : mobile_detector
qui va vous permettre de
détecter le type de mobile et l’OS :
1 $device = $this->get('mobile_detect.mobile_detector');
2
3 // détection du mobile
4 $device->isMobile();
5 $device->isTablet();
6
7 // détection plus poussée
8 $device->isIphone();
9 $device->isIpad();
10 $device->isSamsung();
11
12 // détection de l'OS du mobile
13 $device->isIOS();
14 $device->isAndroidOS();
Toutes ces méthodes sont aussi disponibles dans vos templates Twig :
1 {% extends is_mobile() ? 'mobile/layout.html.twig': 'layout.html.twig' %}
2
3 {% if is_android_os() %}
4 Download our application from the store
5 {% endif %}
6
7 {% if is_device('samsung') %}
8 Thinking about buying an iPhone? Check out our deals!
9 {% endif %}
À propos de l’auteur
MobileDetectBundle est développé par Nikolay Ivlev, un développeur Symfony de Moscou (Russie).
À propos de “Meet the bundle”
Cette série d’article est publiée sur le site officiel de Symfony. Je ne fais ici que traduire ces articles pour que les personnes ayant énormément de mal en anglais, puissent profiter du travail de Javier Eguiluz. Encore merci à lui pour tout le travail qu’il abat dans la communauté Symfony. Le prochain article sera la traduction du premier billet : Meet the bundle: ControllerExtraBundle