classid et balise <object>

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


dztcid
Nouveau WRInaute
 
Messages: 20
Inscription: Lun Mar 14, 2005 5:05

classid et balise <object>

Message le Mar Mar 15, 2005 4:33

Salut
C'est mon premier post. Je trouve ce site très interressant et riches en infos liées au net. Surtout pour les personnes qui touchent de pres ou de loin les sites web dans leurs conceptions.

Ma question :
Pour être conforme avec W3c et aussi compatible tout navigateur et tout systeme d'exploitation.

Quelle classid choisir, si on choisit par exemple classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" id="WindowsMediaPlayer" , on a droit a un lecteur windows media, mais si la personne est sous mac ou linux, comment faire? Je pose cette question car j'essaye d'intégrer un petit mp3 sur mon site.
Avant j'utilisais la balise <embed> c'etais simple, mais c'est pas valide w3c.

Merci

David@site
WRInaute impliqué
WRInaute impliqué
 
Messages: 382
Inscription: Mer Jan 14, 2004 22:36

Message le Mar Mar 15, 2005 8:36

Salut et bienvenue sur WRI!

alors <object> est bien conforme au W3C mais il y a plusieurs façon de l'utiliser (en fait c'est une balise fourre-tout multimédia).
classid="" et <param/> c'est ce qu'on appel des controles ActiveX, tu en apprendras plus ici sur object et les activeX: http://fr.selfhtml.org/html/multimedia/objets.htm#active_x

Les activeX il n'y a que Internet Explorer qui les comprend (même FireFox sous Windows ne les interprête pas).

Tu vas donc prevoir deux codes: 1) avec activeX pour Internet Explorer et 2) balise object normal pour tous les autres navigateurs, et balancer ces codes en fonction du navigateur (tu peux detecter le type de navigateur avec javascript ou PHP)

tu as l'air d'avoir trouve ton code pour la partie 1), pour la partie 2) ca devrait ressembler à ça:
Code: Tout sélectionner
<object data="monpath/fichier.mp3" type="audio/x-mpeg" width="200" height="200">
Votre navigateur ne peut malheureusement pas afficher l'objet !
</object>


eventuellement verifie ton type-mime: http://fr.selfhtml.org/divers/typesmime.htm#recapitulatif

@+
David


fbparis
WRInaute passionné
WRInaute passionné
 
Messages: 685
Inscription: Mar Fév 01, 2005 11:28

Message le Mar Mar 15, 2005 9:01

c'est quoi la difference entre object et embed ?

et si la deuxieme methode sans preciser le classid marche partout, pourquoi ne pas utiliser que celle la ?

dreamclic
WRInaute impliqué
WRInaute impliqué
 
Messages: 416
Inscription: Sam Juil 03, 2004 21:17

Message le Mar Mar 15, 2005 9:19

Juste parce qu'elle est pas valide W3C...

J'utilise, comme préconisé dans la Grosse doc de real, un <embed> à l'intétrieur de l'<object>

Pas sûr que ça passe au w3C non plus, mais ça marche bien en tout cas
Dernière édition par dreamclic le Mar Mar 15, 2005 9:38, édité 1 fois.

David@site
WRInaute impliqué
WRInaute impliqué
 
Messages: 382
Inscription: Mer Jan 14, 2004 22:36

Message le Mar Mar 15, 2005 9:24

fbparis a écrit:c'est quoi la difference entre object et embed ?

et si la deuxieme methode sans preciser le classid marche partout, pourquoi ne pas utiliser que celle la ?


J'ai oublie de preciser que la deuxieme méthode marche pour tout le monde SAUF Internet Explorer (sic!), en effet sans activeX il ne sait pas faire grand chose dans le multimédia.

<embed> c'est une balise inventée par Netscape à l'époque ou <object> n'existait pas encore. Comme <object> est mieux foutue et plus extensible, le W3C à décider d'abandonner <embed> (en fait il ne l'a même jamais reconnue), d'ailleurs les prochains Netscape et FireFox, à terme, ne comprendront plus <embed> alors arrêter de l'utiliser.

David


dztcid
Nouveau WRInaute
 
Messages: 20
Inscription: Lun Mar 14, 2005 5:05

Message le Mar Mar 15, 2005 15:34

Ok merci, dons il faut deux code de <object> un avec class id et un pour les autres navigateur. Je vais essayer de trouver unscript php pour detecter le navigteur.
Merci

dreamclic
WRInaute impliqué
WRInaute impliqué
 
Messages: 416
Inscription: Sam Juil 03, 2004 21:17

Message le Mar Mar 15, 2005 15:45

pas besoin de détection en mettant le embed à l'interieur du object...

ça marche tout seul. tu peux voir ça sur digi$tal.com


dztcid
Nouveau WRInaute
 
Messages: 20
Inscription: Lun Mar 14, 2005 5:05

Message le Mar Mar 15, 2005 16:03

J'ai trouvé celle-là :
<object width="80" height="40" type="audio/x-mpeg" data="sifl.mp3">
<param name="src" value="sifl.mp3" />
<param name="loop" value="true" />
<param name="autostart" value="true" />
</object>

Elle fonctionne sous IE, mozilla et firefox. Mais sous Windows.
Par contre Mozilla et Firefox demande Quicktime, et IE utilise Windows media. Il me reste plus qu'a vous demander d'essayer sur MAC ou linux svp

l'adresse du site est (pas encore fini) :
http://www.indian-west.com/index.php

merci

David@site
WRInaute impliqué
WRInaute impliqué
 
Messages: 382
Inscription: Mer Jan 14, 2004 22:36

Message le Mar Mar 15, 2005 16:05

Pas de <embed> B....l! ça va être abandonné! Et fireFox s'en sort très bien juste avec <object> il suffit de savoir coder cette balise.

Pour le script PHP en voici un qui detecte les navigateurs base sur Gecko (FireFox, Mozilla, Netscape, Camino...)
Code: Tout sélectionner
$navigweb=$_SERVER['HTTP_USER_AGENT'];
if(preg_match('/(gecko)/i', $navigweb)) { $typenavig="gecko"; }
else { $typenavig="autre"; }


dztcid
Nouveau WRInaute
 
Messages: 20
Inscription: Lun Mar 14, 2005 5:05

Message le Mar Mar 15, 2005 16:08

Merci David@site, est ce qu'à ton avis la solutio au dessus de ta réponses est bonne?

David@site
WRInaute impliqué
WRInaute impliqué
 
Messages: 382
Inscription: Mer Jan 14, 2004 22:36

Message le Mar Mar 15, 2005 16:14

dztcid a écrit:J'ai trouvé celle-là :
<object width="80" height="40" type="audio/x-mpeg" data="sifl.mp3">
<param name="src" value="sifl.mp3" />
<param name="loop" value="true" />
<param name="autostart" value="true" />
</object>

Elle fonctionne sous IE, mozilla et firefox. Mais sous Windows.
Par contre Mozilla et Firefox demande Quicktime, et IE utilise Windows media.


les balises <param> s'ont interprêtés différement suivant le lecteur (quicktime, real, mplayer etc...), il y a même un risque de plantage si le lecteur ne gére pas le <param> (oui c'est compliqué le multimédia). Dans ton cas c'est quicktime qui est appelé, mais chez un autre si il a installé un plug-in pour un autre lecteur, c'est lui qui sera appelé, il y a autant de config que d'internautes!


dztcid
Nouveau WRInaute
 
Messages: 20
Inscription: Lun Mar 14, 2005 5:05

Message le Mar Mar 15, 2005 16:16

Ok , il faudrait donc intégrer ton script php pour reconnaître le navigateur. Puis faire deux balises <object> differentes?

Le problème, Je ne sais pas par quoi commencer et comment assembler ces 3 codes.

:)

David@site
WRInaute impliqué
WRInaute impliqué
 
Messages: 382
Inscription: Mer Jan 14, 2004 22:36

Message le Mar Mar 15, 2005 16:31

dztcid a écrit:Ok , il faudrait donc intégrer ton script php pour reconnaître le navigateur. Puis faire deux balises <object> differentes?

Le problème, Je ne sais pas par quoi commencer et comment assembler ces 3 codes.

:)


tu debutes en PHP? Voici le tutorial de PHP, ça ne te fera pas de mal: http://www.php.net/manual/fr/

Pour ton code ca ressemblerait à qqchose comme ça:

Code: Tout sélectionner
<?php
$navigweb=$_SERVER['HTTP_USER_AGENT'];
if(preg_match('/(gecko)/i', $navigweb)) { $typenavig="gecko"; }
else { $typenavig="autre"; }
?>
<!DOCTYPE ......
<html......
<head.....

</head>
<body>
.....
//Là ou doit apparaitre le lecteur mp3
<?php
if($typenavig=="gecko")
{
   echo("<object data="monpath/fichier.mp3" type="audio/x-mpeg" width="200" height="200">
Votre navigateur ne peut malheureusement pas afficher l'objet !
</object>");
}
else
{
   echo("<object width="80" height="40" classid="6BF52A52-394A-11D3-B153-00C04F79FAA6" data="sifl.mp3">
<param name="src" value="sifl.mp3" />
<param name="loop" value="true" />
<param name="autostart" value="true" />
</object> ");
} ?>
.....
</body>
</html>


Bon j'ai écris ce code sans le vérifier, à toi de faire des tests.

David


dztcid
Nouveau WRInaute
 
Messages: 20
Inscription: Lun Mar 14, 2005 5:05

Message le Mar Mar 15, 2005 20:37

ok je vais tester.
merci


dztcid
Nouveau WRInaute
 
Messages: 20
Inscription: Lun Mar 14, 2005 5:05

Message le Mar Mar 15, 2005 23:34

Je n ai pas reussi a faire quoi que ce soit avec ce script, je suis pas doué en php. Je débute

Parcontre quand je fais un scripte :
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

je lis sur la page internet la version du browser.

je vais continuer la recherche

classid et balise <object>

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité