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 ;-)
Afficher les 8 commentaires