5568 sujets

Sémantique web et HTML

Me revoila avec mes problemes (...pas si insolubles que cela Smiley lol )

Donc mon soucis du jour est le suivant :

Je veux insérer dans mon site web (qui est en xhtml 1.0 strict) une carte de Google maps dont le code est ci-dessous :

<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.fr/maps/ms?ie=UTF8&amp;hl=fr&amp;t=h&amp;s=AARTsJoH9J7-nFxRfvpK5jxb9EMqVynsYw&amp;msa=0&amp;msid=113989706625359732086.00045fd75d262d3dd1a22&amp;ll=45.248818,6.253924&amp;spn=0.084598,0.145912&amp;z=12&amp;output=embed"></iframe><br /><small><a href="http://maps.google.fr/maps/ms?ie=UTF8&amp;hl=fr&amp;t=h&amp;msa=0&amp;msid=113989706625359732086.00045fd75d262d3dd1a22&amp;ll=45.248818,6.253924&amp;spn=0.084598,0.145912&amp;z=12&amp;source=embed" style="color:#0000FF;text-align:left">Agrandir le plan</a></small>


Or comme vous pouvez le constater, ce code contient une balise "i frame"...pas acceptée en xhtml 1.0 strict ("ben zut alors, t'as qu'a changer ton site en xhtml 1.0 transitionnal !" me direz vous)
et bien NON, je ne veux pas (je fais mon caprice) pour la simple et bonne raison que j'ai déjà bien avancé dans la rédaction de mon site en 1.0 strict et que je n'ai tout simplement pas envie.
(Mais pourquoi donc est ce que je me justifie ????)

Bref, c'est pas simple Smiley bawling

Je precise ci-dessous que j'ai inséré cette carte dans un tableau centré (une de mes galères précédentes résolue ici même grace aux pistes évoquées par certains d'entre vous) et dont le code est ci-dessous :

<table class="centragetableau"
summary="Comment se rendre au chalet La Louvière ?" border="3" cellspacing="2">
  <caption><h3>Situation géographique du chalet :</h3>
  </caption>
  <tbody>
    <tr>
      <th style="text-align:center;"><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.fr/maps/ms?ie=UTF8&amp;hl=fr&amp;t=h&amp;s=AARTsJoH9J7-nFxRfvpK5jxb9EMqVynsYw&amp;msa=0&amp;msid=113989706625359732086.00045fd75d262d3dd1a22&amp;ll=45.248818,6.253924&amp;spn=0.084598,0.145912&amp;z=12&amp;output=embed"></iframe><br />
      <small>
       <a href="http://maps.google.fr/maps/ms?ie=UTF8&amp;hl=fr&amp;t=h&amp;msa=0&amp;msid=113989706625359732086.00045fd75d262d3dd1a22&amp;ll=45.248818,6.253924&amp;spn=0.084598,0.145912&amp;z=12&amp;source=embed">Agrandir le plan</a>
      </small>
     </th>
    </tr>
  </tbody>
</table>


Ma question : Y a-t'il une possibilité de remplacer la balise i frame dans ce code par une autre qui me permettrait de valider mon code en xhtml 1.0 strict ?

merci pour votre aide
Modifié par miroune (09 Jan 2009 - 21:32)
Salut miroune,

petit extrait du tuto quel DOCTYPE choisir :
a écrit :
Utilisez de préférence XHTML1.0 Strict : c’est a priori la plus adaptée à vos besoins et c’est la plus facile à utiliser et à apprendre.

Si vous utilisez des iframe ou un attribut target, Utilisez XHTML1.0 transitional.

si vous voulez utiliser les frameset et frame : utilisez la DTD XHTML1.0 frameset.
En clair tu es dans un cas typique qui justifie l'emploi du transitional.

Quelques afficionados se sont à une époque acharnés à utiliser l'élément OBJECT pour rester en strict avec aussi peu d'arguments (ne le prends pas mal Smiley langue ) que "Je veux rester en XHTML strict". Mais OBJECT n'est pas fait pour ça et tu risques de galérer fortement (notamment avec IE) sans aucune raison valable.
Modifié par Heyoan (07 Jan 2009 - 19:17)
miroune a écrit :

et bien NON, je ne veux pas (je fais mon caprice)


Ben essaye de vouloir un peu moins et tout sera beaucoup plus simple pour toi...

Sinon concernant google maps, c'est très bien aussi sans être insérer mais simplement mis en lien.

En fait en terme de fonctionalités du google maps lui même c'est mieux pour tout dire.

Point sur lequel beaucoup, à force de vouloir, semblent s'aveugler compètement.
Sans vouloir en rajouter une couche (enfin, un peu quand même). Faire un caprice pour un doctype strict alors qu'on détourne l'utilisation des tableau c'est moyen.
Salut et surtout merci à vous toutes et tous pour vos réponses.

J'ai bien compris tout ce qui a été écrit dans vos divers posts et je vais suivre l'une des deux pistes que vous me conseillez , en oubliant la piste "transitionnal" qui ne me convient en fait qu'à moitié car je suis un webmestre qui fait ses sites à ses heures perdues, et je me force à apprendre le html "strict" car je crains le fait de devoir encore réapprendre un nouveau langage dans 2 ou 3 ans (mais bon ça c'est mon probleme)

Quant au fait de détourner l'utilisation des tableaux pour inserer une carte, il faut savoir qu'a ce stade le code que je vous ai proposé n'est bien sur pas définitif Smiley biggrin

Je vais gratter la solution des api google (peut etre compliquée pour un "amateur" mais finalement riche en enseignements ...sinon j'irai vers la piste lien textuel facile à mettre en oeuvre)

Encore une fois je vous remercie toutes (je ne sais pas s'il y a des filles qui ont répondu) et tous pour votre aide et je ne manquerai pas de vous montrer ici même le résultat final de mon travail.
miroune a écrit :

J'ai bien compris tout ... en oubliant la piste "transitionnal" qui ne me convient en fait qu'à moitié car je suis un webmestre qui fait ses sites à ses heures perdues, et je me force à apprendre le html "strict" car je crains le fait de devoir encore réapprendre un nouveau langage dans 2 ou 3 ans
Euh... pas sûr que tu aies bien compris ce qu'était un DOCTYPE (je t'invite à relire le tuto attentivement) Smiley cligne !

Il ne s'agit pas d'un langage mais d'une Déclaration de Type de Document (en gros cela sert à préciser les règles d'écriture utilisées pour rédiger ton code). Donc dans "2 ou 3 ans" il peut éventuellement exister d'autres DTD (et donc d'autres règles d'écriture) mais celle utilisée ne sera pas obsolète.

En gros tu fais tout bien comme il faut pour rédiger ton code en XHTML1.0 strict et juste pour l'iframe tu mets un DOCTYPE en XHTML1.0 transitional...
Bonsoir,
la validité n'est pas une fin en soi (surtout pour des invalidités aussi absurdes que celles provoquées par la présence d'un iframe, point de vue personnel), dit autrement rien ne t'empêche de rester en strict mais celui-ci doit avoir une utilité: permettre la validation (hors iframe) en strict de tous tes documents via un validateur muti-pages par exemple si ceux-ci doivent être valide de manière permanente.

Ceci dit, pour un document codé à l'identique et valide, le remplacement du DTD strict par le transitionnal n'est pas un facteur dégradant (aussi bien pour l'utilisateur humain que les robots/outils). Et tu peux très bien valider un document avec un DTD transitionnal en copiant/collant ton code dans le champ de validation du validateur du W3C: http://validator.w3.org/#validate_by_input+with_options via un DTD strict.
Enfin si tu sais coder en strict (sans attributs de présentations...), la présence dun DTD strict ne représente alors AMHA que très peu d'avantage sur le transitionnal.
Modifié par Hermann (08 Jan 2009 - 21:00)
Bonsoir à tous

Je vois que ce sujet est finalement riche d'enseignements et c'est tant mieux Smiley biggrin

J'ai réglé mon probleme en restant en strict par le suivi du tuto des api Google proposé ici par PiR2.

Sous amaya, je vois que tout est "dans le vert", ce qui veut dire que mon code passe bien le test du html strict.

Je vais donc maintenant devoir intégrer dans une autre page de mon site un calendrier Google...mais c'est une autre histoire Smiley cligne

Pour ce qui me concerne je mets ce sujet en [RESOLU]

Merci à tous pour vos conseils pertinents