REDIRECTION VERS LA VERSION MOBILE/PC D'UNE PAGE

alfrai Messages postés 69 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 23 juillet 2013 - 28 mai 2013 à 17:19
xtreen Messages postés 24 Date d'inscription vendredi 12 octobre 2012 Statut Membre Dernière intervention 5 juillet 2015 - 4 juil. 2015 à 20:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/55182-redirection-vers-la-version-mobile-pc-d-une-page

xtreen Messages postés 24 Date d'inscription vendredi 12 octobre 2012 Statut Membre Dernière intervention 5 juillet 2015
4 juil. 2015 à 20:56
Humm cool , mais faut envisagé l'option des apareils de grande résolution. C'est un bon avancé, mais je crois que l'objectif du code principal est de laisser le choix a l'utilisateur de déterminer s'il veut un affichage mobile ou sur PC ,
hx2508 Messages postés 3 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 14 mai 2014
14 mai 2014 à 15:03
A insérer au début la pageindex , avant doctype du site appelé :http://www.monsite.com

<?php
if(!isset($_SESSION)) session_start();
$useragent=$_SERVER['HTTP_USER_AGENT'];
if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))
header('Location: http://www.monsitemobile.com');
?>

Rien de plus
testabc Messages postés 33 Date d'inscription jeudi 17 juillet 2008 Statut Membre Dernière intervention 23 juillet 2014
5 juin 2013 à 23:29
Christ je te rejoins sur la css mais parfois ce n'est pas suffisant.
un site avec des grosses images ne sera pas optimisé pour les mobiles, ca sera long à charger.
Dans ce cas la, une version mobile avec le même contenu optimisé sera plus ergonomique qu'une css spécifique au média.

"Être dans le doute, c'est être résolu." W.S.
christ_28 Messages postés 33 Date d'inscription mardi 31 janvier 2006 Statut Membre Dernière intervention 10 novembre 2014 1
5 juin 2013 à 22:41
Pour moi, comme le dit Terean, il faut détecter si on est sur un mobile, ainsi que sa résolution : une tablette à 1280*1024 doit pouvoir s'afficher comme sur un PC.

Pourquoi doubler les pages à publier ?
Double travail, charge serveur, risque d'erreur (page à jour d'un côté et pas de l'autre).
Il me semble qu'il existe un truc ancien qui devrait être utilisé : le CSS !

il suffit lors du 1er appel de la page (index ou autre) de détecter l'environnement et de construire l'en-tête html avec l'include du CSS qui correspond au terminal et rebalancer le tout au client.

Il y a bien quelqu'un qui a écrit une classe qui se charge de la détection !

Allez courage, la route et longue et le chemin semé d'embuches, mais la récompense et gratifiante.
D'un point de vue purement technique, je ne comprend pas cette source. Si le but est de rediriger ou de proposer un lien de redirection, il suffit de vérifier le user agent ($_SERVER['HTTP_USER_AGENT'])et de, rediriger/proposer un lien de redirection, en fonction de l'appareil. Le truc des appareils mobiles c'est qu'il y en a des tonnes de différents et de vérifier si ils sont dans le user agent est fastidieux. Heureusement il existe des class mise à jour régulièrement pour être exhaustif de tout les types d'appareil mobile existant (il y a une très très bonne source sur googlecode).
Du coup l'idée c'est :

include('class_detection')
detection = new class_detection();

if(detection->is_mobile() == true)
{
bla bla bla mobile
}
else
{
bla bla bla ordi fixe
}

Pareil l'idée de détecter la résolution en javascript, pour moi ça ne peut pas tenir la route sur tout les cas de figure. Que fait-on des smartphones ou tablettes qui éclatent les 1280*1024 versus les netbook ou vieux parc informatique avec encore des 17' et des 19'.

Si tu as la moindre question playerpsp hésite pas ;-)
testabc Messages postés 33 Date d'inscription jeudi 17 juillet 2008 Statut Membre Dernière intervention 23 juillet 2014
3 juin 2013 à 15:32
Ce script ne détecte pas si on navigue depuis un ordi ou un smartphone. Et c'est la que ça serait intéressant.
Détecter par la taille écran/navigateur/l'os que l'internaute est bien sur un smartphone et lui proposer une meilleur navigation avec un lien vers la version mobile. Ceci existe déjà en javascript. Faites une recherche :)
patrick532 Messages postés 40 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 20 avril 2009
3 juin 2013 à 15:10
il faut enlever un espace dans le lien fourni pour la demo :
http://demo.developpement.comlu.com/php-redirection-lien-site-mobile/index.php
alfrai Messages postés 69 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 23 juillet 2013
28 mai 2013 à 17:19
Merci pour la source !