Nouveau WRInaute
Bonjour
Je vous propose une solution assez simple que j'ai trouvée pour rendre mon site (www.cvconseils.com) totalement "Mobile Friendly". Je ne prétendrai pas pour autant qu'elle est des plus orthodoxes ou des plus élégantes, techniquement parlant, mais elle a l'avantage de marcher et de bien marcher même ! Je suis passé au vert sur tous les indicateurs de compatibilité Google, c'est dire !
J'utilise pour cela la variable globale $_SERVER['HTTP_USER_AGENT'] qui renvoie des tas de choses, dont en particulier le type de navigateur et l'OS du client. Il suffit ensuite de faire un test sur des mots clés liés aux OS des portables
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/iphone/i',$ua) || preg_match('/ipad/i',$ua) || preg_match('/ipod/i',$ua) || preg_match('/android/i',$ua) || preg_match('/blackberry/i',$ua) || preg_match('/symb/i',$ua) || preg_match('/phone/i',$ua) || preg_match('/mobile/i',$ua))
{
$resolution = 'portable';
echo '<link type="text/css" href="Includes/Styles/portable.css" rel="stylesheet" />';
}
else
{
$resolution = 'ordinateur' ;
echo '<link type="text/css"href="Includes/Styles/page.css" rel="stylesheet" />';
echo '<script type="text/javascript" src="Includes/Functions/menu.js" defer></script>';
}
?>
et de choisir la feuille de style et le menu correspondants.
J'ai choisi ici de stoker le résultat dans la variable $resolution que j'utilise ensuite pour d'autres tests dans le corps de mes pages xhtml qui me permettent de masquer certaines parties du code pour PC, et de les remplacer par d'autres spécifiques et adaptées aux mobiles.
Par exemple, mon menu déroulant de base en Javascript était trop large pour les portables. Je l'ai donc remplacé par une simple liste fixe que j'affiche en footer des pages mobile. J'ai donc simplifié les choses mais en conservant toutefois l'essentiel et en ne faisant que peu de modifs de structure, tout bien considéré.
Cela me permet de garder le même code (à quelques adaptations près) et la même URL canonique pour chacune de mes pages.
Certes, mon site est textuel et se prête bien à cette manip, ce qui ne sera pas le cas de tous le monde.
Le code ci-dessus est à mettre dans le <head> avant le <body>
Bon courage !
Je vous propose une solution assez simple que j'ai trouvée pour rendre mon site (www.cvconseils.com) totalement "Mobile Friendly". Je ne prétendrai pas pour autant qu'elle est des plus orthodoxes ou des plus élégantes, techniquement parlant, mais elle a l'avantage de marcher et de bien marcher même ! Je suis passé au vert sur tous les indicateurs de compatibilité Google, c'est dire !
J'utilise pour cela la variable globale $_SERVER['HTTP_USER_AGENT'] qui renvoie des tas de choses, dont en particulier le type de navigateur et l'OS du client. Il suffit ensuite de faire un test sur des mots clés liés aux OS des portables
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/iphone/i',$ua) || preg_match('/ipad/i',$ua) || preg_match('/ipod/i',$ua) || preg_match('/android/i',$ua) || preg_match('/blackberry/i',$ua) || preg_match('/symb/i',$ua) || preg_match('/phone/i',$ua) || preg_match('/mobile/i',$ua))
{
$resolution = 'portable';
echo '<link type="text/css" href="Includes/Styles/portable.css" rel="stylesheet" />';
}
else
{
$resolution = 'ordinateur' ;
echo '<link type="text/css"href="Includes/Styles/page.css" rel="stylesheet" />';
echo '<script type="text/javascript" src="Includes/Functions/menu.js" defer></script>';
}
?>
et de choisir la feuille de style et le menu correspondants.
J'ai choisi ici de stoker le résultat dans la variable $resolution que j'utilise ensuite pour d'autres tests dans le corps de mes pages xhtml qui me permettent de masquer certaines parties du code pour PC, et de les remplacer par d'autres spécifiques et adaptées aux mobiles.
Par exemple, mon menu déroulant de base en Javascript était trop large pour les portables. Je l'ai donc remplacé par une simple liste fixe que j'affiche en footer des pages mobile. J'ai donc simplifié les choses mais en conservant toutefois l'essentiel et en ne faisant que peu de modifs de structure, tout bien considéré.
Cela me permet de garder le même code (à quelques adaptations près) et la même URL canonique pour chacune de mes pages.
Certes, mon site est textuel et se prête bien à cette manip, ce qui ne sera pas le cas de tous le monde.
Le code ci-dessus est à mettre dans le <head> avant le <body>
Bon courage !