Redirection vers la version mobile/pc d'une page

Soyez le premier à donner votre avis sur cette source.

Vue 7 929 fois - Téléchargée 924 fois

Description

Ceci est mon premier poste, alors si il y a des remarques/conseils/remarques, n'hésitez pas ;)

Ce script vous permettra de proposer à un utilisateur de pouvoir être redirigé vers la version mobile/pc de la page actuelle.

Une démo est disponible à l'adresse suivante : http://demo.developpement.comlu.com/php-redirection-lien-site-mobile/index.php

Source / Exemple :


// Programme à insérer entre les balises <head> et </head>

<?php 
    $site_type='pc'; // 'pc' ou 'mobile', permet d'indiquer si il s'agit de la version mobile ou pc de la page
?>

// Le programme en lui même, que vous pouvez mettre dans un autre fichier et l&#8217;appeler à l'aide d'un 'include'

<?php
$url_pc='http://votre-site.fr';          // URL du site classique
$url_mobile='http://votre-site-mobile.fr';      // URL de la version mobile du site

$url_before='Du texte avant';      // Texte avant le lien
$url_text_pc='Afficher la version mobile';     // Texte du lien PC
$url_text_mb='Afficher la version PC';     // Texte du lien mobile
$url_after='Du texte après';       // Texte apres le lien

$url_init=$_SERVER['PHP_SELF']; // Recupere le chemin de la page
$reg='#^(.+[\\\/])*([^\\\/]+)$#';
$url_end=preg_replace($reg, '$2', $url_init); // Permet de ne recuperer que le nom du fichier acutelle

if ($site_type=='pc') {             // Version pc
    $url=$url_before.' <a href="'.$url_mobile.$url_end.'">'.$url_text_pc.'</a> '.$url_after;
}

elseif ($site_type=='mobile') {     // Version mobile
    $url=$url_before.' <a href="'.$url_pc.$url_end.'">'.$url_text_mb.'</a> '.$url_after;
}   

?>

Conclusion :


A l'origine ce programme m'a été demandé pour le site d'une association
Programme testé sous chrome,andoid,iphone,ipad.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

alfrai
Messages postés
69
Date d'inscription
mardi 11 avril 2006
Statut
Membre
Dernière intervention
23 juillet 2013

Merci pour la source !
patrick532
Messages postés
40
Date d'inscription
mardi 2 septembre 2003
Statut
Membre
Dernière intervention
20 avril 2009

il faut enlever un espace dans le lien fourni pour la demo :
http://demo.developpement.comlu.com/php-redirection-lien-site-mobile/index.php
testabc
Messages postés
33
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
23 juillet 2014

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 :)
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 ;-)
christ_28
Messages postés
33
Date d'inscription
mardi 31 janvier 2006
Statut
Membre
Dernière intervention
10 novembre 2014
1
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.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.