Détecter Mac ou PC

Chamyky

Membre expert
Club MacG
11 Mars 2005
1 278
39
29
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 ! :)
 

Beroth

Membre actif
22 Août 2005
118
67
34
Asnières-sur-Seine

Langellier

Membre actif
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.
 

PA5CAL

Membre expert
Club MacG
21 Juillet 2005
9 251
597
Île-de-France
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:
 

canibal

Membre actif
29 Mai 2005
394
27
38
San Jose, CA
$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

Chamyky

Membre expert
Club MacG
11 Mars 2005
1 278
39
29
ehv.monespace.net
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

Membre actif

Chamyky

Membre expert
Club MacG
11 Mars 2005
1 278
39
29
ehv.monespace.net
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)
 

Marc-André

Membre actif
24 Juillet 2003
559
17
45
Ottawa
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é
 

Chamyky

Membre expert
Club MacG
11 Mars 2005
1 278
39
29
ehv.monespace.net
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 ?
 

Niconemo

Modo (toujours vivant !)
Club MacG
26 Juin 2001
6 449
458
Rhône-Alpes
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.