5568 sujets

Sémantique web et HTML

Bonjour,

J'essaie de passer mon site en valid XHTML 1.0 Strict, et pour ce, il me faut changer les différents applets java, precedemment inserés avec des balises <applet>, en des balises <object> correctement formaté.
Je me suis renseigné sur le site de sun, pour trouver la syntaxe, et ca marche niquel sous ff ou autre, l'applet se charge bien, aucun soucis. Par contre, sous IE (forcement...), ca ne se charge pas, ca reste en chargement un moment, et ca fini par mettre la croix rouge en haut a gauche du cadre de la balise object.
Je me suis rendu compte qu'en fait aucun applet que j'ai pu trouver par google, dans une balise object, ne se chargeait sous IE, alors je me demandais si il y avait un moyen, oui ou non, de faire un truc valide XHTML Strict, en utilisant des applets, et que le tout marche sous IE ? =)
Quelqu'un a t'il une idée, ou déjà rencontré ce problème ?

Merci d'avance
Administrateur
Bonjour,

une rapide recherche me renvoie vers ce lien: (Multiple Browser Supported) Java applet using XHTML 'object' tag (la 2ème réponse renvoie vers un sujet du Forum vieux de 2 mois resté sans réponse, super)
Je n'ai pas les compétences pour être certain que ça répond à votre problème mais vu les commentaires extensifs de l'auteur, le fait que ça parle d'Xhtml, de plusieurs navigateurs et de commentaires conditionnels, ça doit pas en être loin.
La doc de Sun, à la fin, utilise le Javascript pour faire la même chose (détecter IE à l'arrache) ...

Après avoir testé, vous pouvez nous dire si ça fonctionne? Ca ira rejoindre rapidement Comment intégrer une vidéo Quicktime de façon valide et compatible et Comment rendre valide une animation Flash ? (ce dernier est à mettre à jour avec les commentaires conditionnels nan?) dans la FAQ je pense.

Le 1er commentaire de la page Object Paranoia demande s'il existe une liste des classid, apparemment non.
La manière de l'obtenir est expliquée sur la page Tech Specs - ActiveX Controls (encore faut-il savoir quel est le contrôle ActiveX ...) avec ceux de IE (intérêt?), Macromedia Shockwave, LiveScript et 3 contrôles ActiveX.
Pour les fichiers .mid MIDI, un classid MIDI (existe-t-il un autre moyen tout aussi valide de jouer un midi?)
Modifié par Felipe (25 Nov 2005 - 08:14)
Salut,

Moi aussi j'ai le même problème avec une animation que j'insére normalement comme ceci, et c'est valide :

<object type="application/x-shockwave-flash" data="images/anim-ecran.swf" width="170" height="200" title="animation d'un écran d'ordinbateur">
<param name="movie" value="images/anim-ecran.swf" />
</object>

il y a pas d'espace entre : et Press mais sinon il me met un smiley à la place...

Parcontre au niveau accessibilité, ça ne l'ai pas et webxact me répond :
<OBJECT classid="java: Press.class" width="500" height="500"
title="Java applet: how temperature affects pressure.">
<APPLET code="java: Press.class" width="500" height="500">
As temperature increases the velocity of the molecules in the
balloon...
</APPLET>
</OBJECT>

The following example, places an MPEG movie on the page, or alternatively, an image, if the browser doesn't support mpeg movies or the OBJECT element:

<OBJECT DATA="dog.mpeg" TITLE="Dog barking" TYPE="image/mpeg"
WIDTH="500" height="500">
<IMG SRC="dog.gif" ALT="Dog barking">
</OBJECT>

Rationale

This is important for users whose browsers do not support the OBJECT tag or the media type of the object.


Donc j'ai mis :
<object type="application/x-shockwave-flash" data="images/terre.swf" width="190" height="200" title="animation de la terre">
<img src="images/terre.gif" alt="terre" />
</object>
Mais là comme pour vous ie n'aime pas du tout, moi il m'affiche rien du tout au bout de 15 min !!! Smiley cligne

Alors j'ai mis :
<object type="application/x-shockwave-flash" data="images/terre.swf" width="190" height="200" title="animation de la terre">
<param name="movie" value="images/terre.swf" />
<img src="images/terre.gif" alt="terre" />
</object>

Et là il comprend mais il faut encore que je vérifie si c'est bon pour l'accessibilité

Bon courage à vous je vous tiens au courant si je trouve
ARgl tiens, j'ai oublié de donner des nouvelles de mon topic, celui que tu as cité Felipe.
Rien a changé depuis, ça ne marche toujours pas.
La seule solution que j'imagine pour l'instant, c'est un truc du style :


<object .... >
<param ... />
<param .... />
<script type="text/javascript">
if (window.external) {
// comme ça on est sûr que c'est IE
document.write("<applet ..... ></applet>");
}
</script>
</object>
@ QuentinC >

J'ai essayé le code suivant et cela semble fonctionner...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans nom</title>
<style type="text/css">
<!--
-->
</style>
</head>

<body>
<p>
	<object codetype="application/java" classid="java:Applet.class" standby="Chargement...">
		<APPLET code="Applet.class" width="500" height="500">Un applet Java</APPLET>
	</object>
</p>
</body>
</html>



Testé sous I.E.6 et cela lance le JRE1.5 ... Donc cela semble OK.
Sous O c'est OK aussi...

Inspiré du W3

Tiens-moi au courant Smiley cligne
Groumfy > Je vais tester ça ce week-end. Dis-moi, c'est valide XHTML 1.0 strict, un <applet> dans un <object> ?
Bonjour,

Groumphy, Quentin : le lien donné par Felipe donne très clairement la meilleure démarche possible pour gérer validement les éléments propriétaires : réserver à IE l'<applet> à l'aide des commentaires conditionnels.

Les commentaires conditionnels sont un réflexe à acquérir de manière pratiquement systématique Smiley cligne
Modifié par Laurent Denis (01 Dec 2005 - 06:58)
@ QuentinC > Je ne pense pas que ce soit valide XHTML1.0 Strict... Etant donné que je n'ai pas besoin de ce DTD j'utilise encore celui du HTML4.01 ... Vois m'en navré si ta question se posait uniquement sur le XHTML1.0 Strict.

Cependant, Fanch donne l'exemple à suivre sur la précédente présentation de Félipé...

@ Laurent > En effet, les liens donnés précédemment donne un apperçu des démarches possibles. Je me suis emmelé dans mes réponses et donc devant l'accroissement de problème avec les OBJETS, j'ai donc :

1. j'ai emmelé les différents posts
2. je n'ai pas tenu compte des DTD
3. a vouloir trop valider, je suis tombé dans mon propre piège

Promis, je me flagèle ce soir Smiley cligne
Re-bonjour,

En fait, je m'aperçois que je n'avais percuté sur l'erreur initiale de ce sujet : <applet> est un élément déprécié. Cela n'a donc guère de sens d'utiliser une DTD HTML4.01 ou XHTML1.0 stricte en le réintroduisant de manière détournée (via javascript, commentaires conditionnels, etc.), alors qu'il suffit de rester en Transitionnal...
@ Laurent
a écrit :
<applet> est un élément déprécié. Cela n'a donc guère de sens d'utiliser une DTD HTML4.01 ou XHTML1.0 stricte

Certes, mais c'est quand même bien pratique de pouvoir lancer la validation en xhtml 1.0 strict, le jour ou l'on supprime l'applet on n'aura pas de surprise...
Fanch a écrit :

Certes, mais c'est quand même bien pratique de pouvoir lancer la validation en xhtml 1.0 strict, le jour ou l'on supprime l'applet on n'aura pas de surprise...


Je n'ai jamais compris pourquoi presque personne ne se servait de l'interface étendu du validateur XHTML du W3C : http://validator.w3.org/detailed.html

Ni pourquoi on n'utilisait pas la fonctionnalité similaire de Tidy.

Il est très facile, avec ces deux outils, ou avec d'autres, de forcer la validation en fonction d'un DocType différent de celui du document. C'est à dire, dans ce cas, de voir si un document XHTML1.0 transitional validerait en XHTML1.0 strict...
Modifié par Laurent Denis (01 Dec 2005 - 10:11)