Détecter Mac ou PC

Chamyky

Membre expert
Club iGen
11 Mars 2005
1 278
39
ehv.monespace.net
Bonjour, j'aimerais savoir comment détecter avec flash si l'utilisateur a Mac ou Winbouze (pour faire planter l'ordi dans le 2ème cas :D :D ). Merci d'avance ! :)
 
Bonjour
Voici du javascript qui informe l'internaute s'il a un mac ou un PC, mais en général il le sait déjà :p :
Bloc de code:
<script type = 'text/JavaScript'><!--
document.write("<p><b>Plateforme :</b> " + navigator.platform + "</p>");
//--></script>

Copie ce script tel quel à l'endroit de la page où tu veux que le nom de la plateforme s'affiche.

Exemple

Dans quelques instants, si je peux je te donnes un script qui permet de dire à l'internaute :
Vous avez un mac bravo ou vous avez un PC c'est dommage.
 
Pour en revenir à une solution du côté serveur, type PHP, la variable $HTTP_USER_AGENT prend les valeurs suivantes pour les Mac :

- MSIE 5.23 :
"Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)"
- Firefox 1.0.4 :
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; fr-FR; rv:1.7.8) Gecko/20050511 Firefox/1.0.4"
- Safari 2.0.1 :
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; fr) AppleWebKit/412.7 (KHTML, like Gecko) Safari/412.5"

Je ne sais pas ce que ça donne sur d'autres browsers comme Opera, mais ce qui est certain, c'est qu'il faut traiter le contenu de la chaîne pour connaître le système utilisé (recherche de la sous-chaîne "Mac", par exemple ?).

Si quelqu'un peut donner d'autres valeurs de $HTTP_USER_AGENT pour d'autres browser et d'autres systèmes, ça m'intéresse aussi. :zen:
 
$user_agent = $_SERVER['HTTP_USER_AGENT'];
//BROWSER DETECTION
if((ereg("Nav", $user_agent)) || (ereg("Gold", $user_agent)) || (ereg("X11", $user_agent)) || (ereg("Netscape", $user_agent)) AND (!ereg("MSIE", $user_agent) AND (!ereg("Konqueror", $user_agent)))) $browser = "Netscape";
elseif(ereg("MSIE", $user_agent)) $browser = "MSIE";
elseif(ereg("Firefox", $user_agent)) $browser = "FireFox";
elseif(ereg("Lynx", $user_agent)) $browser = "Lynx";
elseif(ereg("Opera", $user_agent)) $browser = "Opera";
elseif(ereg("WebTV", $user_agent)) $browser = "WebTV";
elseif(ereg("Konqueror", $user_agent)) $browser = "Konqueror";
elseif((eregi("bot", $user_agent)) || (ereg("Google", $user_agent)) || (ereg("Slurp", $user_agent)) || (ereg("Scooter", $user_agent)) || (eregi("Spider", $user_agent)) || (eregi("Infoseek", $user_agent))) $browser = "Bot";
else $browser = "Other";
$browser = "BROWSER_" . $browser;

if (ereg("Win", $user_agent))
$os = "Windows";
elseif ((ereg("Mac", $user_agent)) || (ereg("PPC", $user_agent)))
$os = "Mac";
elseif (ereg("Linux", $user_agent))
$os = "Linux";
elseif (ereg("FreeBSD", $user_agent))
$os = "FreeBSD";
elseif (ereg("SunOS", $user_agent))
$os = "SunOS";
elseif (ereg("IRIX", $user_agent))
$os = "IRIX";
elseif (ereg("BeOS", $user_agent))
$os = "BeOS";
elseif (ereg("OS/2", $user_agent))
$os = "OS/2";
elseif (ereg("AIX", $user_agent))
$os = "AIX";
else
$os = "Autre";
/*** Après on fait ce qu'on souhaite de l'information :
* affichage, stockage dans une base de données ...
*/
$os = "OS_" . $os;
 
  • J’aime
Réactions: PA5CAL
Langellier a dit:
Bonjour
Voici du javascript qui informe l'internaute s'il a un mac ou un PC, mais en général il le sait déjà :p :
Bloc de code:
<script type = 'text/JavaScript'><!--
document.write("<p><b>Plateforme :</b> " + navigator.platform + "</p>");
//--></script>

Copie ce script tel quel à l'endroit de la page où tu veux que le nom de la plateforme s'affiche.

Exemple

Dans quelques instants, si je peux je te donnes un script qui permet de dire à l'internaute :
Vous avez un mac bravo ou vous avez un PC c'est dommage.


Euh. Ma page est entièrement en Flash. Je ne peux pas insérer de JavaScript dedans, non ?
 
Langellier a dit:
A mon avis non : Pour Flash, c'est actionScript, que je maintrise encore moins bien que le javascript ;).
Justement, mon script précédemment deffectueux devrait maintenant fonctionner :
http://perso.wanadoo.fr/bernard.langellier/info/macpc.htm

Bon.
Désormais, je fais un site avec du HTML.
J'ai une image PNG avec de la transparnce, et j'ai remarqué que cette transparence ne s'affichait que sur mac. Aussi je recherche dans mes "archives", et retrouve cette discussion. Je suis le lien cité plus haut, et récupère le script pour pouvoir afficher une 'image .tiff que si l'utilisateur n'a pas de chance (=un PC), car elle est plus lourde. Ainsi les utilisateurs macs chargeront plus vite que les PCs, mais ces derniers auront quand même la transparence.
Mais, je remarque dans ton script que la condition utilise "MacPPC"... à mon avis, je pourrais faire l'inverse et utiliser quelque chose comme "WIN", ou autre... mais, par curiosité, je demande quand même si maintenant il y aura quelque chose comme... "MacInt" ...

(tout un post pour en arriver là ! :D)
 
Chamyky a dit:
Bon.
Désormais, je fais un site avec du HTML.
J'ai une image PNG avec de la transparnce, et j'ai remarqué que cette transparence ne s'affichait que sur mac. Aussi je recherche dans mes "archives", et retrouve cette discussion. Je suis le lien cité plus haut, et récupère le script pour pouvoir afficher une 'image .tiff que si l'utilisateur n'a pas de chance (=un PC), car elle est plus lourde. Ainsi les utilisateurs macs chargeront plus vite que les PCs, mais ces derniers auront quand même la transparence.
Mais, je remarque dans ton script que la condition utilise "MacPPC"... à mon avis, je pourrais faire l'inverse et utiliser quelque chose comme "WIN", ou autre... mais, par curiosité, je demande quand même si maintenant il y aura quelque chose comme... "MacInt" ...

(tout un post pour en arriver là ! :D)

Tu en prends des détours pour en arriver à un point qui ce fait en ligne droite.

Essai de faire un gif... :D


Marc-André
 
Marc-André a dit:
Tu en prends des détours pour en arriver à un point qui ce fait en ligne droite.

Essai de faire un gif... :D


Marc-André

Trop tard, j'ai déjà fait les détours ! :D

Et, pour résumer mon post précédent : Est-ce que le string "MacPPC" ne sera plus utilisé que par les Mac avec un processeur PPC ?
 
Le problème de transparence des PNG n'est pas une question Mac/PC mais une question de navigateurs : c'est Explorer qui n'assure pas. Donc ton script doit se soucier seulement de ce navigateur. Un Win-naute sous Firefox n'aura pas de problème avec ton PNG.