Pages :
Bonjour,

Je recherche un script php pour les feuilles styles pour la redirection des navigateurs.

Mais je n'arrive pas à trouver un script php très simple sans cookies ou autre et facile a mettre en oeuvre.

Voilà, merci
Modifié par Diana (20 Mar 2007 - 18:22)
Bonjour Sylvain,

Je souhaite rediriger en fonction du navigateur sur la feuille de style spécifique à celui ci.

Ya tellement de décallage d'un navigateur à lautre, que cela me permettrait de faire les ajustements pour chaque navigateurs.

voilà Smiley smile
Hello, même si ça n'est pas forcément souhaitable, pour les cas particuliers, il faut utiliser les commentaires conditionnels. Des petites recherches sur Google, et sur le forum, devraient t'informer Smiley smile
oui mais les commentaires conditionnels, d'après ce que jai lu sur le site, c'est a proscrire ! Et de plus ce nest que pour IE. Donc aucun intéret pour moi.
Donc c pourquoi je recherche en PHP.
Modifié par Diana (28 Jan 2007 - 17:54)
Non, c'est pour tout les navigateurs.
Et ça n'est pas à proscrire car ça fonctionne mal, mais car il est déconseillé de faire une feuille de style pour chaque navigateur. Il vaut mieux tenter de faire quelque chose qui marche sur tous les navigateurs. Ca n'est pas forcément très facile, mais pas si dur non plus.
Néanmoins, les commentaires sont là pour ça, et rien de mieux ne les remplacera pour cet usage.
Bonjour,
+1 pour une css pour tous et commentaires conditionnels, si tu insistes ce n'est pas en php qu'il faut chercher mais en javascript...
Bon, on va remettre les choses en place :

Ce site prône l'utilisation des standards du Web,
et le principe d'un standard de programmation c'est de coder une fois pour toutes les plateformes.

C'est à dire que l'on fera un seul code HTML (valide) et à priori un seul jeu de feuilles de style pour tous les navigateurs.

De toute façon, il n'est pas techniquement fiable de tenter de deviner à quel navigateur on peut avoir affaire (via Javascript ou PHP, par exemple), donc autant ne pas le faire.

Tous les navigateurs en exercice aujourd'hui et utilisés par plus de 0,2% des utilisateurs implémentent les standards en question (HTML, CSS). Le seul navigateur à la traine, c'est Internet Explorer, en particulier dans sa version 6 encore largement utilisée. Mais on n'est pas obligé de faire une feuille de style complète pour Internet Explorer 6, loin de là ! En concevant un site correctement, on peut d'ailleurs ne pas avoir besoin du moindre correctif.

Et si on a vraiment besoin d'un correctif pour IE6, il existe une méthode fiable et robuste : les commentaires conditionnels. Au contraire des hacks CSS, les commentaires conditionnels sont fiables et pérennes. Leur utilisation est chaudement recommandée sur Alsacréations (voir la FAQ et chercher "commentaire conditionnel").

Les commentaires conditionnels sont de simples commentaires HTML (reconnus comme tels, et donc ignorés, par les navigateurs), au sein desquels on utilisera une syntaxe spéciale que seul Internet Explorer pour Windows comprendra. C'est un procédé à la fois propriétaire (propre à IE Win), et valide : techniquement, ça n'est qu'un commentaire HTML.

Les commentaires conditionnels ne sont compris que par IE Win, et ne peuvent pas être utilisés pour viser d'autres navigateurs.


Voilà, je pense que l'essentiel a été dit (voire asséné).
ghost a écrit :
+1 pour une css pour tous et commentaires conditionnels, si tu insistes ce n'est pas en php qu'il faut chercher mais en javascript...

Il me semble qu'en Javascript la bonne pratique largement utilisée aujourd'hui consiste non pas à tester le navigateur du client (peu fiable), mais à tester si les méthodes sont implémentées par le navigateur du client.
Oui menfin standards ça veut rien dire du tout.
IE c'est peut le navigateur le plus irritant quand on fait une page web.
Mais il faut dire que les autres c'est pas mieux non plus.

Yen a un qui va avoir des DIV de 1cm de plus, on parle pas des décallages, des polices non plus.

Facile a dire pour quelqun qui n'est pas chevronner faut prendre si et ça.
Personnellement ça fait 1.5 ans que je pratique le web et je trouve que c'est l'anarchie pure et simple.

Pour ce qui est du Javascript c'est bien mais il a ses limites, il suffit que le navigateur l'ai désactiver et cela ne sert a rien.

Donc moi, ma référence c'est le PHP, il permet de pas trop se prendre la tete tout en facilitant les choses et cela automatiquement.

Après de multiples recherches, j'ai reussi à trouver ce script très facile a utilisé et je pense quil est fonctionnel :


<?php
header("Content-type: text/css");
$d = detect();
$b = $d['browser'];
$v = $d['version'];
$o = $d['os'];
function detect()
	{
	$browser = array ("IE","OPERA","MOZILLA","NETSCAPE","FIREFOX","SAFARI");
	$os = array ("WIN","MAC","LINUX");
	$info['browser'] = "OTHER";
	$info['os'] = "OTHER";
	foreach ($browser as $parent)
		{
		$s = strpos(strtoupper(" ".$_SERVER['HTTP_USER_AGENT']), $parent);
		$f = $s + strlen($parent);
		$version = substr($_SERVER['HTTP_USER_AGENT'], $f, 5);
		$version = preg_replace('/[^0-9,.]/','',$version);
		if ($s)
			{
			$info['browser'] = $parent;
			$info['version'] = $version;
			}
		}
	foreach ($os as $val)
		{
		if (eregi($val,strtoupper($_SERVER['HTTP_USER_AGENT']))) $info['os'] = $val;
		}
	return $info;
	}
?>

<?php if ($b != "OTHER" && $o != "OTHER" && $d >= 5) { ?>

/* BEGIN CSS RENDERING */

body
  {
  background: #fff;
  font: small/140% verdana, sans-serif;
  padding: 4em;
  margin: 0;
  }

<?php
echo ($b =="OPERA") ? null : ".opera { display: none; }\n";
echo ($b =="IE") ? null : ".ie { display: none; }\n";
echo ($b =="FIREFOX") ? null : ".firefox { display: none; }\n";
echo ($b =="MOZILLA") ? null : ".mozilla { display: none; }\n";
echo ($b =="NETSCAPE") ? null : ".netscape { display: none; }\n";
echo ($b =="SAFARI") ? null : ".safari { display: none; }\n";
?>

/* END CSS RENDERING */

<?php } ?>



Je pense que d'utiliser du script n'a rien d'anti-conformisme, a chacun d'utiliser les méthodes quil préfère et non pas de l'imposer aux autres.
Bonjour,

Il ne s'agit pas d'imposer quoi que ce soit, mais de donner, en réponse à votre demande, des conseils reposant sur l'expérience et sur une pratique de longue date du Web et de ses difficultés Smiley cligne

La détection du navigateur, qu'elle soit côté client (javascript) ou serveur (ci-dessus) est inefficace.

La démarche "robuste" et économique consiste à adresser un code HTML CSS commun à tous les navigateurs, en y ajoutant pour Internet Explorer les quelques correctifs nécessaires (Voir la FAQ du forum sur les "commentaires conditionnesl").

Vous pourrez trouver dans ce forum l'aide nécessaire pour réaliser des CSS adaptées à cette démarche.
Modifié par Laurent Denis (28 Jan 2007 - 19:59)
Coucou Smiley smile
On ne t'impose rien, on te donne juste notre avis, et on te fait partager nos expériences respectives. Le script ci-dessus sera non seulement inefficace, et cela peut-être très grave.
Par exemple, jusqu'a récemment, le navigateur Opéra s'identifiait comme étant Internet Explorer. Des fois, les navigateurs sont configurés pour ne rien envoyer du tout. Enfin, il existe tellement de navigateurs qu'il est impensable de faire une version pour chaque.
Bref, le script sera inefficace, et surtout inutile.

Quand au terme standards, c'est lui qui te permet de regarder une chaîne française avec une télévision de marque japonaise, c'est la même chose pour les sites internet. Et ça n'est pas parce que Internet Explorer ne comprend pas une partie récente de CSS qu'il ne comprend rien. Avec un peu d'expérience, il est tout à fait possible de faire un site pour Internet Explorer, et les commentaires conditionnels sont dans ce cas une bonne technique pour un ou deux décallages.
Modifié par Sylvain (28 Jan 2007 - 20:14)
Hello.
Le javascript a tout va fait chauffer mon CPU...

La page a plus de 64 erreurs et je ne peux pas lire le code...

Tu comprendras qu'il est assez difficile de trouver la cause d'un soucis. Si la page était valide et accessible, il serait bien plus facile de trouver la cause du soucis.
oui mais dans les erreurs cités, elles sont que des > avec trop d'espace ou pas du tout, je pense pas que cela interfère dans ma composition.

Pour ce qui est du javascript les coeurs qui tombent, ça ne dure que 1min a peine!

C'est pas du flash...!
DEplus ici c'est bien marquer que :

"Vous venez de créer votre premier site web que vous avez validé avec succès sur l'outil de validation du W3C.

Mais oh surprise ! Votre site web ne se comporte pas de façon identique sur tous les navigateurs. Naturellement, tout le monde vous a dit qu'un site en XHTML strict et CSS était le meilleur moyen d'avoir une compatibilté maximale partout. "

Donc a priori il ny a pas de rapports.
Si le fait qu'une page soit valide n'indique pas qu'elle fonctionne pas partout, elle ne fonctionnera pas partout si elle n'est pas valide.
Nous ne pourrons pas t'accorder de soutien dans ce cas.

De même, en ce qui concerne les coeurs etc, demande toi si ça apporte un réel intérêt à l'utilisateur, plutôt que de faire ramer l'ordinateur et de rendre le contenu caché aux milieux de textes qui défilent de partout.

Edit: il ne s'agit pas de > mal placé, le validateur t'indique juste d'où viennent les fautes.
Modifié par Sylvain (28 Jan 2007 - 21:34)
Non mais je crois quil y a une méprise sur les termes !

- site web que vous avez validé avec succès = Votre site web ne se comporte pas de façon identique sur tous les navigateurs....

Pour moi c'est très clair, valide ou pas ça ne changera pas certaines problèmatiques.

Ya peut être un petit taux au niveau du CPU mais cela ne concerne pas le script avec les coeurs.
Je dirais plutot les balises défilantes de type <Marquee> qui fonctionne continuellement.

Ensuite, si je désire faire un site dynamique au lieu de statique ça ne regarde que moi !
Yen a bien qui utilise du flash sur le site et meme si mon UC est fortement utilisée cela me gêne en rien si j'arrive a naviguer sur le site.
Les goûts et les couleurs ne se discutent pas !

Pour ce qui est du validateur, si aumoins c'était francisé on comprendrait quelques chose surtout pour tout ce qui est technique n'est pas forcément facile a traduire.
Oh, un validateur français! (Merci Google)

a écrit :
- site web que vous avez validé avec succès = Votre site web ne se comporte pas de façon identique sur tous les navigateurs....

Pour moi c'est très clair, valide ou pas ça ne changera pas certaines problèmatiques.


Démocratie = parfois des inégalités
Pour moi ,c'est clair, qu'on soit en démocratie ou en tyrannie, ça ne changera pas certaines problématiques non plus. Je peux te trouver pleins d'autres images Smiley smile
Les standards ne garantissent pas que l'affichage sera le même sur tous les navigateurs, mais augmente fortement la chance lorsque c'est bien codé. En fait, c'est même leur intéret, de fonctionner sur quasiment tous les navigateurs en grande partie.

Un site dynamique, tu n'utilises pas le bon terme, mais je comprends ce que tu signifies; néanmoins, un grand nombre de visiteurs préfèrent des sites qui leur donne accès à un contenu plus rapidement. Les balises défilantes rendent un texte totalement illisible, les coeurs entravent la bonne lisibité d'un texte. Tout ça pour rien. Maintenant, les goûts ne se discutent bien évidemment pas.

Maintenant, sache que tu es sur un forum ne traitant QUE des standards web, pas de la conception web en général. Il ne faut donc pas t'étonner qu'on en fasse la promotion, et qu'on assure une entraide qu'avec un minimum de bonne volonté.
Modifié par Sylvain (28 Jan 2007 - 22:02)
Donc au moins nous sommes d'accord sur une chose "Les standards ne garantissent pas que l'affichage sera le même sur tous les navigateurs, mais augmente fortement la chance lorsque c'est bien codé."

Pendant que jy suis, j'ai validé ma CSS et je comprends pas pourquoi il y a des erreurs comme par exemple pour la couleur orange !

.orange{color:orange;}

c'est une couleur comme une autre !

J'ai commencé la correction de ma page et là je bloque :

10
51 Erreurs: L'attribut `BEHAVIOR` n'est pas autorisé dans la balise `MARQUEE`.
Position de l'erreur:

<MARQUEE behavior="scroll" direction="up" width="100" height="150" scrollamo

Je vois pas comment faire ?

ensuite ici :

La balise fermante a n'a pas pu être trouvée alors qu'elle est obligatoire.
Position de l'erreur:

<center><a href="&#109&#97&#105

alors que mon code contient une balise fermante </a> !

echo "<center><a href=\"&#109&#97&#105&#108&#116&#111&#58$add?subject=$objet\"><img src=\"images/mail.gif\" style=\"border:none;\"></center></a>";


c'est étrange !
Modifié par Diana (28 Jan 2007 - 23:12)
Pages :