Bonjour,


Je réalise une découpe css et dans une div je vais insérer un player mp3.

Mais si l'utilisateur change de page le player va se couper à chaque fois.

Est - il possible que cette de rafraichir uniquement les autres div de ma page et pas celle du player afin qu'il tourne tout le temps sans interruption.

Sans utiliser les frame bien sûr.

Même si il faut passer par du javascript (ajax) ou php ? Car j'ai vu quelques petites choses mais je n'ai pas tout suivi.

Merci à vous.
QuentinC a écrit :
Sans frames ni fenêtre externe, c'est tout simplement impossible.


Avec de l'Ajax, ça doit être possible, mais ça produira le même effet qu'une frame (donc les mêmes inconvenients, plus ceux liés au JavaScript).

Je pense qu'un peu d'Ajax très simple doit pouvoir fontionner. Une div cible avec un ID précis et un appel Javascript sur les éléments du menu.

Par contre, je ne pense pas que ce soit une très bonne idée. Propose plutôt une page musique ou l'utilisateur pourra à sa guise écouter ta musique. Si l'utilisateur souhaite continuer de l'écouter en navigant, il ouvrira un nouvel onglet ou une nouvelle fenetre lui même.
Yasashii a écrit :
Par contre, je ne pense pas que ce soit une très bonne idée. Propose plutôt une page musique ou l'utilisateur pourra à sa guise écouter ta musique. Si l'utilisateur souhaite continuer de l'écouter en navigant, il ouvrira un nouvel onglet ou une nouvelle fenetre lui même.

À noter que le lecteur de musique doit être clairement visible, ce qui a un double avantage:
1. le visiteur peut le lancer ou l'arrêter à sa guise;
2. le visiteur n'est pas amené à penser que le site «fait de la musique» par magie, et que donc tant qu'il ne quitte pas le site (ferme la dernière fenêtre ou le dernier onglet) la musique continuera.
Florent V. a écrit :
Bonjour,

La FAQ du forum en parle. De nombreux sujets également.


En effet j'ai pu voir depuis des mois que beaucoup de sujets en parlent...

Mais rien de bien concret... Des exemples ajax etc.. J'en ai vu je ne sais combien mais pas pour ce que je veux faire. Ca fait des mois que je cherche à faire ça mais j'ai toujours pas trouvé le moyen.

Merci
Je vais sans doute passer pour un imbécile mais je ne vois pas en quoi AJAX pourrait empêcher la musique de s'arrêter en changeant de page. A moins de transformer tout le site en AJAX juste pour ça, mais alors là c'est une perte de temps puissance 100 en pluse de dégrader volontairement l'accessibilité.
Tout simplement en se contentant de changer le contenu d'un div (comme le ferait une frame en fait), sans recharger la page où se trouverait le player
Yasashii a écrit :
Tout simplement en se contentant de changer le contenu d'un div (comme le ferait une frame en fait), sans recharger la page où se trouverait le player


Et oui...
Il s'agit ici d'une musique d'ambiance et donc voila pas trop le choix pour une bonne efficacité et que l'utilisateur puisse gérer ça directement dans la page.
QuentinC a écrit :
A moins de transformer tout le site en AJAX juste pour ça, mais alors là c'est une perte de temps puissance 100 en pluse de dégrader volontairement l'accessibilité.

Et Quentin décroche le badge «la voix du bon sens» pour décembre 2008. On n'a pas le temps d'organiser de cérémonie, mais le coeur y est.

C'est donc effectivement une possible perte de temps (il faut voir, si c'est un objectif relativement important l'investissement en temps peut se justifier), et à coup sûr une perte très nette d'accessibilité.

donfino a écrit :
Il s'agit ici d'une musique d'ambiance et donc voila pas trop le choix pour une bonne efficacité et que l'utilisateur puisse gérer ça directement dans la page.

Une musique d'ambiance pour un site où non seulement elle fait sens, elle ne surprendra pas le visiteur, mais en plus elle représente un contenu essentiel? Donc typiquement pour le site d'un musicien ou groupe de musique (et encore, pas sûr que ça soit très pertinent de mettre une musique en fond...).

S'il s'agit de rajouter du «bling» à un site, c'est probablement un avatar de ce que les experts nomment dans leur jargon une mauvaise idée. Smiley cligne

Pour 99,9% des sites web, la bonne efficacité d'une musique de fond c'est: pas de musique de fond. Et ce n'est pas un problème technique, c'est un problème ergonomique.
Modifié par Florent V. (09 Dec 2008 - 19:59)
Merci pour vos conseils mais j'aimerais particulièrement des avis techniques plutôt qu'ergonomique.

Le fait de savoir si le player a son sens ou pas c'est un autre problème.

Ici j'aimerais qu'on m'aiguille un minimum (pour ceux qui s'y connaissent dans le domaine) afin d'actualiser une ou plusieurs div d'une page sans la réactualiser.

Et ici j'ai l'exemple du player mais ça pourrait me servir pour autre chose et personnellement c'est pas la première fois que j'aimerais et que je cherche le moyen d'actualiser des div pour d'autres raisons qu'un player par exemple.

Merci
donfino a écrit :
Merci pour vos conseils mais j'aimerais particulièrement des avis techniques plutôt qu'ergonomique.

Eh bien l'avis technique a été donné... dans la FAQ du forum que je t'ai invité à lire, et ensuite via plusieurs suggestions qui t'ont été faites. Tu as pris le temps de lire l'article qui va bien dans la FAQ du forum?
J'ai bien lu ce lien... Je connais les différents moyens de réaliser un site sans coupures... Mais le site n'est pas en flash, je ne veux pas utiliser de frame et encore moins des pop up. Donc il me reste la solution en ajax. Mais via ton lien je ne vois pas vraiment comment ça pourrait m'aider en ce qui concerne l'Ajax proprement dit.

J'ai trouvé quelques infos via d'autres liens mais je ne sais pas trop vers ou me diriger et quelle bibliothèque utiliser etc.

C'est plutôt à ce niveau la que j'aurais besoin d'un coup de pouce.

Merci
donfino a écrit :
Mais via ton lien je ne vois pas vraiment comment ça pourrait m'aider en ce qui concerne l'Ajax proprement dit.

Pour utiliser Ajax, il faut:

1. Avoir des bases en JavaScript. Comprendre l'essentiel de la syntaxe, être capable de faire de choses simples. Des notions de DOM et de manipulation du DOM sont également utiles.
2. Se renseigner sur les principes de fonctionnement de ce que l'on nomme (de manière quelque peu abusive, et c'est normal car c'est surtout un terme fourre-tout/marketing) «AJAX».
3. Utiliser un script permettant d'utiliser des fonctions «Ajax» facilement. Ça peut être un script dédié à ça et relativement léger, ou bien une «bibliothèque JavaScript» telle que Prototype, jQuery, Mootools, etc.

Tu peux éventuellement griller les étapes en utilisant certains outils (parce que là c'est 50 heures de temps à investir en autoformation), mais c'est risqué car tu auras du mal à utiliser les outils en question, et au moindre pépin tu seras coincé car pas capable de comprendre le fonctionnement des outils en question.

Enfin bref, pour griller les étapes tu peux utiliser une bibliothèque JavaScript, par exemple jQuery qui est sans doute la plus abordable, et utiliser ses fonctions relativement faciles d'accès. Il faudra au moins lire tous les tutoriels d'introduction, et bien parcourir la documentation dès que nécessaire.
J'ai utilisé jquery il y a quelques temps en effet c'était sympa mais je n'ai pas vu le moyen d'actualiser des div sans ré actualiser la page entière via cette bibliothèque.

Enfin je vais laisser ça de coté parce que ça commence à me prendre sérieusement la tête et ces temps ci ça ne me réussi pas de trop.

Merci Smiley cligne
donfino a écrit :
J'ai utilisé jquery il y a quelques temps en effet c'était sympa mais je n'ai pas vu le moyen d'actualiser des div sans ré actualiser la page entière via cette bibliothèque.

Cette fonctionnalité est pourtant essentielle dans jQuery comme dans la plupart des bibliothèques JavaScript. Si tu lis la série de tutoriels de base, tu ne peux pas la louper.
Je confirme les propos de Florent, la base de jQuery c'est justement de modifier le DOM de façon très simple (et avec une écriture très instinctive), si tu n'a pas vu ça, c'est que n'a clairement pas lu assez de de tutos.

La syntaxe magique de jQuery te permet de cibler un élément (ou plusieurs) de la même façon que tu le fais avec CSS, par exemple $('#header a') pour les liens de ton header. Tu peux ensuite par exemple les remplacer par autre chose avec $('#header a').replaceWith('<div>Muhaha</div>') si le coeur t'en dit.

Avec ces principes de base et en cherchant un peu comment fonctionnent les appels externes AJAX, les callbacks, et tout le toutim, tu devrais réussir à faire ce que tu cherches.