Je ne suis pas sûr du salon dans lequel poster mon problème, alors je viens ici, comme indiqué par l'énoncé. Et comme, après recherche sur le forum Alsa, je n'ai pas trouvé de thread traitant de mon problème, je me permets de vous le soumettre ici.

Tout d'abord bonjour à tous !

Mon problème est le suivant :

Sur un site corporate utilisant Flash en wmode transparent (via le SWFObject), j'intègre un media Flash sur lequel je place des contenus HTML. Tout va très bien partout, sauf sur Safari (version 1 et 2) : dès que je survole un lien hypertexte, le swf passe au premier plan et masque tout le contenu HTML, faisant fi des z-index attribués aux différents conteneurs.

Je ne sais pas si mon explication est limpide, voilà une illustration plus concrète de mon problème.

J'ai passé la journée d'hier à chercher une solution quelque part sur le net, je n'ai pas trouvé.

Peut-être pouvez-vous m'aider ?
Bonjour et bienvenue sur Alsa Smiley smile

Je crois que le mieux est de ne pas se risquer à ce genre de superposition.

En visitant cette page sous Linux, quelque soit le navigateur utilisé (firefox, opera ou konqueror), l'objet flash recouvre complètement le texte HTML (pas seulement au survol d'un lien donc)

Je ne pense pas qu'il y ait une solution assez efficace pour fonctionner quelque soit l'OS et le navigateur.

Je rencontre de plus en plus de sites ou, par exemple, un menu se déroule... en dessous d'une animation flash (comme le site de France 5), ce qui est plutôt embêtant pour naviguer Smiley decu
Modifié par Alan (19 Jan 2007 - 14:03)
Alors, après moult tests avec flasheurs et intégrateurs, il semblerait qu'on puisse pallier à ces bugs dans certains cas. J'ai trouvé un exemple ici : http://www.duoh.com/csstutorials/flazindex/index3.html

Par contre cet exemple est très loin de marcher avec tous les SWF : ceux avec lesquels j'ai testé recouvraient le menu sans vergogne. Il faut garder une couleur de fond au media Flash, éviter d'utiliser des éléments vectos qui "recouvrent" tout, etc. Safari s'emmêle visiblement dans les rendus Flash et HTML, d'où un debug beaucoup trop long pour un résultat tout juste potable. Mais c'est possible.

Sur le fond, on est tous d'accord : mort au FlasHTML. Mais on choisit pas toujours ce que les chefs de projet vendent au client... Affaire à suivre.
Fernand Naudin a écrit :
Alors, après moult tests avec flasheurs et intégrateurs, il semblerait qu'on puisse pallier à ces bugs dans certains cas. J'ai trouvé un exemple ici : http://www.duoh.com/csstutorials/flazindex/index3.html

Je viens de testé sous Linux : ça fonctionne avec Konqueror, mais pas avec Opera ni Firefox (qui est le navigateur le plus utilisé des linuxiens je pense.)
Modifié par Alan (19 Jan 2007 - 22:35)
Yep, ça va encore être la foire aux feuilles de style conditionnelles...

Après très concrètement, mon problème était de satisfaire les conditions du cahier des charges (en gros : valide pour IE6-7 + Firefox 2 PC ET Safari Mac / rien pour Linux). Ce qui est évidemment insuffisant mais tant que les chefs de projet se borneront sans ciller à faire les quatre volontés des clients sans chercher à les éduquer, hélas on en reviendra toujours aux mêmes technos pas stables.

Cela dit, je crois que l'utilisation de Safari est majoritaire sur Mac (puisqu'installé par défaut), mais peut-être que je me plante. Me plante-je ?
Je crois que ton probléme est plus minime qu'il n'y parrait, et que "wmode = transparent" résoud la question même sous Safari. Seulement il faut que celui ci utilise une version du flashplayer superieur à la 6.

a écrit :
Well when you are using IE or Firefox you can use wmode=transparent with the Flash 6 player, but if you are using Apple’s Safari browser, you need Flash player 7 to see the content properly. So in the embeds on the page, we required Safari users to have the Flash 7 player, and everyone else the Flash 6 player. Without Javascript we would have had to force everyone to upgrade to Flash player 7, something we didn’t want to do, even though the Flash 7 player has a pretty high penetration percentage.


http://blog.deconcept.com/2005/03/31/proper-flash-embedding-flashobject-best-practices/

Ce qui fait donc que seulement ceux qui ont une version inferieur aurons ce probléme de superposition (à verifier). Sinon il existe apparament un technique louche qui consiste a mettre une balise embed avec wmode=transparent plus wmode transparent dans les paramétres. Mais tu te retrouveras avec le probléme de "activez le contrôle" sous IE et de plus la balise embed n'est (je crois) pas valide.

Donc à ta place ce que je ferrais c'est que je m'arrangerais pour que tes clients et tes patrons qui ont des macs actualisent leur flash player, à toi de faire marcher ton imagination...(genre pendant le rendez vous t'a un truc a vérifier sur leur machine...). ça m'est arrivé de faire ce genre d'accrobaties, c'est de bonne guerre, comment expliquer tout ces problémes à des gens qui ne veulent voir que le resultat?

Sinon pour tout les détracteurs de flash/html, je vois pas ce qu'il y a de farfelu à vouloir mettre un menu depliant sur un flash, il me semble pas que ce soit trop demander. Maintenant si il y tel version avec tel player sur tel OS qui bug, tant pis pour eux, ok le webmaster doit s'adapter mais il y a des limites. Par contre tu peux étudier un solution de "degrade gracefully" par exemple avec un remplacement du contenu flash en javascript avec un detection du navigateur celon les versions mais il faut vraiment avoir du temps.
Modifié par matmat (20 Jan 2007 - 03:44)
Merci pour la réponse. Smiley smile

J'avais pensé au problème de la version du player : j'ai testé les liens sur Safari 2 sur un OS Tiger, le player Flash était soit un 8 soit un 9 (me souviens plus là), et des fois ça marche, des fois non. J'ai aussi pensé que ça pouvait venir de la version du player dans laquelle était exporté le SWF, mais le lien que j'ai cité plus haut est exporté en Flash 6 et fonctionne sous Safari, ceux que j'ai créés ont été exportés en Flash 7 puis en Flash 9... sans résultat.

La technique louche du embed, j'avais aussi essayé en désespoir de cause (mais la balise est effectivement pas valide alors bon c'était vraiment histoire de) et bin non, ça marche toujours pas.

Concernant le "degrade gracefully", je le fais de toute façon systématiquement, ne serait-ce que pour le référencement. Le SWFObject est justement très bien pour mettre un contenu alternatif "en dur" au Flash. Après, et comme c'est la cas sur mon site, quand tu te retrouves avec des homes en Flash à multiples loadMovies et niveaux de nav imbriqués, amuse-toi à tout résumer dans un <ul><li> alternatif qui ne défigure pas le site... Smiley biggrin
ça ne depent pas de la version dans laquelle tu l'exporte mais du player utilisé sur la machine qui le visualise: une personne avec safari et flash player 6, le verrat mal, une autre personne avec Safari et le player v7 le verrat bien. Pour t'en convaicre tu peux faire des tests (ce que j'ai fait) avec browsershot, outil qui te permet de faire des impressions d'ecrans selon les navigateurs et les versions des players. Le "degrade gracefully" dans ce cas n'est pas de mettre seulment un contenu alternatif au cas ou il n'y a pas flash, mais de detecter le navigateur et sa version pour proposer soit un contenu alternatif soit proposer d'actualiser le player.
Modifié par matmat (20 Jan 2007 - 17:11)
"matmat" a écrit :
ça ne depent pas de la version dans laquelle tu l'exporte mais du player utilisé sur la machine qui le visualise


J'avais bien compris, mais j'ai testé sur la même machine / même OS / même browser (donc même player Flash) 2 swf différents avec un montage HTML strictement identique et le résultat marchait dans un cas et pas dans l'autre. Donc la version du player n'est pas la seule source de problème.
(je testais avec Browsershot avant aussi, mais maintenant que j'ai plusieurs Macs à dispo avec différentes versions de Safari dessus, autant tester en vrai Smiley cligne )

"matmat" a écrit :
Le "degrade gracefully" dans ce cas n'est pas de mettre seulment un contenu alternatif au cas ou il n'y a pas flash, mais de detecter le navigateur et sa version pour proposer soit un contenu alternatif soit proposer d'actualiser le player.


Indeed ! Smiley lol

Merci encore pour ta réponse.
Modifié par Fernand Naudin (20 Jan 2007 - 18:27)
a écrit :
J'avais bien compris, mais j'ai testé sur la même machine / même OS / même browser (donc même player Flash) 2 swf différents

Houlala... si Safari ce met à faire ce genre de bug.
C'est donc que ça depent du flash, il faudrait isoler le probléme pour voir quel type fichier swf (images, vecteur, boutons...) fonctionnent et uniquement utliser ceux là. Quel galére ça vaudrait presque le cout d'informer Apple qui sont si fier de leur navigateur (c'est vrai qu'il est bien!)...
"matmat" a écrit :
il faudrait isoler le probléme pour voir quel type fichier swf (images, vecteur, boutons...)

Oui, c'est ce qu'on avait commencé à faire avec les flasheurs, mais c'est un tel sac de noeuds... que c'est trop long pour le budget du projet, donc on va doucettement laisser tomber, le temps qu'Apple améliore la gestion du wmode de son (par ailleurs très bon) navigateur.

J'ai pas trouvé de forum sur le site d'Apple pour remonter le problème (dont ils ont bien dû avoir vent), si quelqu'un a une adresse...
Concernant cette histoire de version, juste pour préciser que j'avais essayé sous Linux avec Flash Player 9...