Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/07/2011, 21h52   #1
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
Par défaut Site perso deezer-like

Bonsoir,

j'ai pour projet perso d'essayer de faire un site du genre de deezer (musique en streaming, fonction de recherche suivant le titre, ...).

Par contre j'ai une première question pour commencer :
  • pour l'enregistrement des chansons dans la base de données (nom de l'artiste, nom de la chanson, album, ...), faut-il tout rentrer manuellement ?
  • Ou y aurait-il une sorte de requête SQL qui permet de parcourir un dossier pour récupérer les différentes informations ?
Parce que si je dois rentrer des milliers de chansons à la main, je suis pas prêt d'avoir fini mon site :/

Merci !
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 01h00   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour, j'ai trouvé ca sur le web :
- www.id3.org
- Fonctions ID3
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 10h17   #3
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
OK, donc si j'ai bien compris :
  • chaque musique possède un tag ID3 qui contient le nom de l'artiste, le titre, ... et on utilise ensuite les fonctions id3_get_tag (par exemple) pour récupérer ce qui nous intéresse ?

Mais les musiques doivent alors juste être uploadés dans un dossier 'musiques' du site alors pour pouvoir y accéder ? J'ai pas l'impression que ça a été dit dans ce que tu m'as filé.
Mais merci quand même, ça m'aidera surement pour la suite.
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 00h04   #4
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Ca dépend comment tu veux procéder.

Je pense que tu ne prends pas ton problème dans le bon sens.

Première chose à faire c'est réfléchir à comment stocker et lire par le player tes morceaux.

Tu auras déjà une meilleure vue sur comment tu stockes tes morceaux sur le serveur.

Ensuite, réfléchis à comment tu vas ajouter de nouveaux morceaux à ton site. De là tu pourras réfléchir à comment ajouter les données comme le nom de l'artiste et groupe dans la base.
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 10h47   #5
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
Peut être que ça manquait d'explications.
Ce que j'aimerais faire, c'est un site qui affiche toutes les musiques que j'aurais uploadées ou stockées dans un dossier musique sur mon site et en cliquant sur le nom d'une musique, le player lancerait la musique.

Un exemple :
http://www.deezer.com/fr/music/playlist/55744151
J'aimerais faire un site de cette façon (grossièrement hein, pas aussi développé).

Et je retrouve toujours le même problème : pour pouvoir afficher les musiques que l'utilisateur désire sélectionner, faut-il que je les stocke dans une BDD ou un simple upload permettra de récupérer les infos via l'ID3 tag ?


PS : désolé si je ne suis pas très clair. Je sais ce que je veux faire mais je ne sais pas trop comment l'expliquer.
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 10h59   #6
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par feldi Voir le message
PS : désolé si je ne suis pas très clair. Je sais ce que je veux faire mais je ne sais pas trop comment l'expliquer.
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Si tu n'arrives pas à t'expliquer, c'est que tes idées sont encore vagues ...

Marc3001 t'a mis sur la piste : réfléchis encore, étudie ton projet plus précisément, ok ?

Si je réfléchis "à ta place", je commence par me poser ces questions :
1/ (front office) comment proposer de la musique aux visiteurs du site ?
2/ (back office) comment ajouter/modifier/supprimer des musiques ?
-> Il me faut alors répondre à ces questions (souvent entrainant d'autres questions, auxquelles je dois répondre, etc)
UNE BONNE CONCEPTION FACILITE GRANDEMENT LA PROGRAMMATION

J'ai fait récemment un site pour un musicien.
J'ai utilisé ce player (paramétrable) : flash-mp3-player
Et j'avais trouvé cette class bien utile pour "sortir" des infos d'un fichier musique : classAudioFile.php
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/08/2011, 15h24   #7
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
Merci pour les conseils. J'ai regardé la classe php que tu m'as donné mais j'ai pas compris grand chose. :/
Pour le player, j'utilise Dewplayer d'Alsacreations.

J'ai commencé le codage pour pouvoir m'y retrouver plus facilement.
Pour l'instant, j'essaye avec la méthode d'enregistrer les informations dans une base MySql.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
--
-- Structure de la table `musique`
--
 
CREATE TABLE IF NOT EXISTS `musique` (
  `idMusique` int(11) NOT NULL auto_increment,
  `nomMusique` varchar(100) collate latin1_general_ci NOT NULL,
  `nomArtiste` varchar(100) collate latin1_general_ci NOT NULL,
  `nomAlbum` varchar(100) collate latin1_general_ci NOT NULL,
  `genre` varchar(100) collate latin1_general_ci NOT NULL,
  `cheminAcces` varchar(100) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`idMusique`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=4 ;
 
--
-- Contenu de la table `musique`
--
 
INSERT INTO `musique` (`idMusique`, `nomMusique`, `nomArtiste`, `nomAlbum`, `genre`, `cheminAcces`) VALUES
(1, 'The Hell Song', 'Sum 41', 'Does This Look Infected', 'Alternative & Punk', 'musiques/The Hell Song.mp3'),
(2, 'Dance, Dance', 'Fall Out Boy', 'Believers Never Die', 'Pop Rock', ''),
(3, 'Bad Romance', 'Lady Gaga', 'The Fame Monster', 'Pop', '');
A priori ça serait de cette forme la. Peut être qu'il me manque des infos, si je suis ici c'est pour rechercher des conseils.

Ce que j'ai fait pour le moment :

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
<?php
	include 'connection.php';
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf_8" />
		<meta http-equiv="X-UA-Compatible" content="IE=8" />
		<title>Ecoute ta musique !</title>
    </head>
	<body>
		<br/>
		<div>
			<img src="enceinte.jpg" align=left>
			<!--<img src="play.jpg" align=center>-->
			<img src="enceinte.jpg" align=right>
		</div>
		<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
		<object type="application/x-shockwave-flash" data="dewplayer-multi.swf" align=center width="200" height="20" id="dewplayer" name="dewplayer">
			<param name="movie" value="dewplayer.swf" />
			<param name="flashvars" value="mp3=<?php echo "".$_POST['mp3'].""; ?>" />
			<param name="wmode" value="transparent" />
		</object>
		<form method="post" id="test" action="index.php">
			<input type="hidden" name="mp3" />
		</form>
		<br />
			<table align=center>
				<tr>
					<th align=center>Nom de la chanson</th>
					<td align=center>  </td>
					<th align=center>Nom de l'artiste</th>
					<td align=center>  </td>
					<th align=center>Nom de l'album</th>
					<td align=center>  </td>
					<th align=center>Genre musical</th>
				</tr>
		<?php
			$critere = "idMusique";
			$requete = "SELECT * FROM musique Order By ".$critere." ";
			mysql_query($requete) or die ('Aucune musique dans la base de données');
			$resultat = mysql_query($requete, $base);
			while ($row = mysql_fetch_assoc($resultat))
				{
					echo  
							("
								<tr>
									<td align=center><a href='index.php' onclick='document.getElementById('test').submit()'>".$row['nomMusique']."</a></td> 
									<td align=center></td>
									<td align=center>".$row['nomArtiste']."</td>
									<td align=center></td>
									<td align=center>".$row['nomAlbum']."</td>
									<td align=center></td>
									<td align=center>".$row['genre']."</td>
								</tr>"
							);
					echo "<br/>";
				}
		?>
		</table>
	</body>
</html>

et ça donne ceci : http://nicolas.felder.free.fr

On va dire que ça commence à ressembler à quelque chose. Je n'arrive pas à lire la musique mais je pense qu'il ne me manque pas grand chose.
C'est quand même un bon début non ?

Concernant ces fameux ID3 tag, en codant de cette manière, je devrais quand même les utiliser ? Parce que j'avoue qu'avec toute la doc en anglais, j'ai pas réussi à tout comprendre :s

Merci quand même et si vous avez des conseils, je les accepte volontiers !
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 15h41   #8
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Dans l'idée :

1) Tu envoi une musique ou un dossier
2) une fois l'envoi terminer tu lance le scan du dossier ou de la musique pour lire les tag id3
3) Le résultat du scan permet de remplir la base de données.

De cette manière la seule actionrequise par l'utilisateur est l'envoi de fichier. En revanche ça impose que les fichiers soient correctement tagués

L'affichage et la lecture sont un autre problème.
Si l'idée du projet est d'expérimenter , opter pour de l'html5 pour la lecture peut êter sympa. Si tu as le chemin vers le fichier sonore y'a pas de difficulté.

Note : Attention tout de même aux droits d'auteurs , rien que sur ton exemple tu t'expose à des ennuis avec des gens pas très sympa
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/08/2011, 15h44   #9
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Code :
1
2
3
		<form method="post" id="test" action="index.php">
			<input type="hidden" name="mp3" />
		</form>
C'est normal que tu ne puisses pas lire la musique !
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 16h00   #10
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
Citation:
Envoyé par grunk Voir le message
En revanche ça impose que les fichiers soient correctement tagués
C'est effectivement un des problèmes principal.
Citation:
L'affichage et la lecture sont un autre problème.
Si l'idée du projet est d'expérimenter , opter pour de l'html5 pour la lecture peut être sympa. Si tu as le chemin vers le fichier sonore y'a pas de difficulté.
Eh bien le chemin, c'est celui une fois uploadé dans le dossier non ?
Donc dans mon exemple : musique/nomdelamusique.mp3 ?

Sympa dans le sens novateur ou dans le sens facile ? Parce que je recherche un truc assez simple d'utilisation tout de même.

Citation:
Note : Attention tout de même aux droits d'auteurs , rien que sur ton exemple tu t'expose à des ennuis avec des gens pas très sympa

Hum, donc l’hébergé en local ne me posera aucun soucis donc ? Mais en même temps, c'est nul si je suis le seul qui peux en profiter :/


@jreaux62 :
Citation:
C'est normal que tu ne puise pas lire la musique !
Euh ok mais pourquoi ?
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 16h08   #11
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Essaye comme ca :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
	include ('connection.php');
?>
<?php // recuperation de la musique
if(isset($_POST['choixidMusique']) {
	$idMusique = mysql_real_escape_string(intval($_POST['choixidMusique'])); // id dans la BdD
	$mus_requete = "SELECT * FROM musique WHERE idMusique = '".$idMusique."';";
	$mus_resultat = mysql_query($mus_requete, $base) or die ('Aucune musique');
	$row = mysql_fetch_assoc($mus_resultat);
	// infos sur la musique choisie
	$nom_chanson = $row['nomMusique'];
	$nom_artiste = $row['nomArtiste'];
	$nom_album = $row['nomAlbum'];
	$genre = $row['genre'];
	$chemin_mp3 = $row['cheminAcces'];
	unset($_POST);
}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf_8" />
	<meta http-equiv="X-UA-Compatible" content="IE=8" />
	<title>Ecoute ta musique !</title>
</head>
<body>
 
<div id="bandeau">
	<img src="enceinte.jpg" align="left">
	<!--<img src="play.jpg" align="center">-->
	<img src="enceinte.jpg" align="right">
</div>
 
<div id="corpspage">
 
	<div id="lecteurmp3">
<?php if($chemin_mp3!='') { ?>
		<object type="application/x-shockwave-flash" data="dewplayer-multi.swf" align="center" width="200" height="20" id="dewplayer" name="dewplayer">
			<param name="movie" value="dewplayer.swf" />
			<param name="flashvars" value="mp3=<?php echo $chemin_mp3; ?>" />
			<param name="wmode" value="transparent" />
		</object>
		<p>Nom de la chanson : <?php echo $nom_chanson; ?></p>
		<p>Nom de l'artiste : <?php echo $nom_artiste; ?></p>
		<p>Nom de l'album : <?php echo $nom_album; ?></p>
		<p>Genre musical : <?php echo $genre; ?></p>
<?php } ?>
	</div>
 
	<div id="listeartistes">
		<table style="text-align:center; border:1px solid #ccc;">
		<thead>
			<tr>
				<th>Nom de la chanson</th>
				<th>Nom de l'artiste</th>
				<th>Nom de l'album</th>
				<th>Genre musical</th>
			</tr>
		</thead>
		<tbody>
<?php		// requete
			$critere = "idMusique";
			$requete = "SELECT * FROM musique ORDER BY ".$critere.";";
			$resultat = mysql_query($requete, $base) or die ('Aucune musique dans la base de données');
			while ($row = mysql_fetch_assoc($resultat))
			{
?>
				<tr>
					<td>
					<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
						<input type="hidden" name="choixidMusique" value="<?php echo $row['idMusique']; ?>"/>
						<button type="submit" title="Ecouter le morceau"><?php echo $row['nomMusique']; ?></button>
					</form>
					</td> 
					<td><?php echo $row['nomArtiste']; ?></td>
					<td><?php echo $row['nomAlbum']; ?></td>
					<td><?php echo $row['genre']; ?></td>
				</tr>
<?php
			} // fin while
?>
		</tbody>
		</table>
	</div>
 
</body>
</html>
Regarde bien le code pour bien le comprendre ...
Citation:
Envoyé par grunk Voir le message
Note : Attention tout de même aux droits d'auteurs , rien que sur ton exemple tu t'expose à des ennuis avec des gens pas très sympa
Ce n'est pas un problème de "gens pas très sympa" ! C'est un problème légal !
Si la loi n'a pas changé (!) :
- on peut faire écouter jusqu'à 30 secondes de musique SANS devoir quoi que ce soit.
- au delà de 30 secondes, on est redevable des droits d'auteur (Code de la propriété intellectuelle) auprès de la SACEM.
Sans oublier la loi Hadopi contre le piratage et les téléchargements illégaux ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/08/2011, 17h01   #12
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Citation:
Sympa dans le sens novateur ou dans le sens facile ? Parce que je recherche un truc assez simple d'utilisation tout de même.
Les deux. Novateur car c'est une techno très en vogue en ce moment , même si les vieux navigateur ne le gère pas encore.

Et facile car pour une lire un mp3 il suffit de faire quelque chose du genre :
Code :
<audio src="audio.mp3" controls preload></audio>
Après il existe plein de player html5/javascript si tu veux des truc un peu recherché (http://www.jplayer.org par exemple )
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/08/2011, 17h33   #13
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
Citation:
Envoyé par jreaux62 Voir le message
Essaye comme ca
Merci beaucoup pour ton aide jreaux62 ! Je vais étudier ce code plus en détail et je ferais un feedback quand j'aurais pu le tester.


@grunk : j'essayerais de trouver un tuto sur le HTML 5 (on a pas vu ça en cours, déjà qu'on a fait du "cours" sur le PHP pendant 2heures seulement...). Merci pour les conseils !

Et merci à vous deux pour les conseils sur la législation également. C'est vrai que ça peut être embêtant d'avoir des emmerdes la dessus.
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 14h40   #14
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
J'ai bien regardé ton code jreaux62, je l'ai un peu modifié par rapport à la présentation mais je n'arrive quand même pas à lire la musique.

La comme ça, je pense que c'est en rapport avec le chemin d'accès.
Je fait les test en local, pour éviter les problèmes de droits d'auteur. J'ai donc mis les musiques dans le dossier de mon site (avec les pages php et les images) et voila la structure de la table avec 2 essais :

INSERT INTO `musique` (`idMusique`, `nomMusique`, `nomArtiste`, `nomAlbum`, `genre`, `cheminAcces`) VALUES
(1, 'A.N.I.C', 'Sum 41', 'Does This Look Infected', 'Punk/Rock', 'A.N.I.C.mp3'),
(2, 'All Messed Up', 'Sum 41', 'Does This Look Infected', 'Punk/Rock', 'All Messed Up.mp3');

J'ai un doute pour le chemin d'accès, je pense que c'est le seul élément qui puisse poser problème. En cliquant sur le bouton symbolisant le nom de la chanson, les informations s'affichent donc le script arrive à récupérer les info dont il a besoin.

Le code que j'ai, peut être que j'ai mal modifié un truc, je ne sais pas.
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 
<?php
	include 'connection.php';
?>
<?php // recuperation de la musique
if(isset($_POST['choixidMusique'])) {
	$idMusique = mysql_real_escape_string(intval($_POST['choixidMusique'])); // id dans la BdD
	$mus_requete = "SELECT * FROM musique WHERE idMusique = '".$idMusique."';";
	$mus_resultat = mysql_query($mus_requete, $base) or die ('Aucune musique');
	$row = mysql_fetch_assoc($mus_resultat);
	// infos sur la musique choisie
	$nom_chanson = $row['nomMusique'];
	$nom_artiste = $row['nomArtiste'];
	$nom_album = $row['nomAlbum'];
	$genre = $row['genre'];
	$chemin_mp3 = $row['cheminAcces'];
	unset($_POST);
}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf_8" />
	<meta http-equiv="X-UA-Compatible" content="IE=8" />
	<title>Ecoute ta musique !</title>
</head>
<body>
 
<div id="bandeau">
	<img src="enceinte.jpg" align="left">
	<p><h1 align=center>Ecoute les musiques de ton choix !</h1></p>
	<img src="enceinte.jpg" align="right">
</div>
 
<div id="corpspage">
	<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
	<div id="lecteurmp3" align=center>
<?php if($chemin_mp3!='') { ?>
		<object type="application/x-shockwave-flash" data="dewplayer-multi.swf" align="center" width="200" height="20" id="dewplayer" name="dewplayer">
			<param name="movie" value="dewplayer.swf" />
			<param name="flashvars" value="mp3=<?php echo $chemin_mp3; ?>"&amp;autostart="true" />
			<param name="wmode" value="transparent" />
		</object>
		<p>Nom de la chanson : <?php echo $nom_chanson; ?>
		de <?php echo $nom_artiste; ?>
		</p>
<?php } ?>
	</div>
 
	<div id="listeartistes" align=center>
		<table style="text-align:center; border:1px solid #ccc;">
		<thead>
			<tr>
				<th>Nom de la chanson</th>
				<th>Nom de l'artiste</th>
				<th>Nom de l'album</th>
				<th>Genre musical</th>
			</tr>
		</thead>
		<tbody>
<?php		// requete
			$critere = "idMusique";
			$requete = "SELECT * FROM musique ORDER BY ".$critere.";";
			$resultat = mysql_query($requete, $base) or die ('Aucune musique dans la base de données');
			while ($row = mysql_fetch_assoc($resultat))
			{
?>
				<tr>
					<td>
					<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
						<input type="hidden" name="choixidMusique" value="<?php echo $row['idMusique']; ?>"/>
						<button type="submit" title="Ecouter le morceau"><?php echo $row['nomMusique']; ?></button>
					</form>
					</td> 
					<td><?php echo $row['nomArtiste']; ?></td>
					<td><?php echo $row['nomAlbum']; ?></td>
					<td><?php echo $row['genre']; ?></td>
				</tr>
<?php
			} // fin while
?>
		</tbody>
		</table>
	</div>
 
</body>

Merci pour l'aide !
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 17h22   #15
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par feldi Voir le message
J'ai donc mis les musiques dans le dossier de mon site ...
INSERT INTO `musique` (`idMusique`, `nomMusique`, `nomArtiste`, `nomAlbum`, `genre`, `cheminAcces`) VALUES
(1, 'A.N.I.C', 'Sum 41', 'Does This Look Infected', 'Punk/Rock', 'A.N.I.C.mp3'),
(2, 'All Messed Up', 'Sum 41', 'Does This Look Infected', 'Punk/Rock', 'All Messed Up.mp3');
J'ai un doute pour le chemin d'accès, je pense que c'est le seul élément qui puisse poser problème.
Bonjour,
- Dans quel dossier sont enregistrées les musiques ?
- quel est le chemin VERS ce dossier DEPUIS ta page (qui contient le script) ?
- si tu fais echo $chemin_mp3; ca donne quoi ?

Remarque : EVITER de mettre des ESPACEs dans les noms de fichier.
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/08/2011, 17h38   #16
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
Citation:
Envoyé par feldi Voir le message
La comme ça, je pense que c'est en rapport avec le chemin d'accès.
Je fait les test en local, pour éviter les problèmes de droits d'auteur. J'ai donc mis les musiques dans le dossier de mon site (avec les pages php et les images) et voila la structure de la table avec 2 essais :

J'ai un dossier site, sous wamp (c:\wamp\www\site) qui contient les pages PHP, les images ainsi que les 2 musiques de test.
La musique est donc au même niveau que les pages PHP d'ou le chemin dans la base de données qui reprend simplement le nom.

Concernant la variable $chemin_mp3, au lancement du site j'ai une erreur de notice :
Citation:
Notice: Undefined variable: chemin_mp3 in C:\wamp\www\deezer-like\index.php on line 38
qui est la ligne
Code php :
1
2
 
<?php if($chemin_mp3!='') { ?>

Par contre, une fois que je sélectionne une musique, $chemin_mp3 prend bien la valeur du chemin d'accès enregistré dans la base. :/



Edit : OMG ! je ne sais pas ce qu'il c'est passé mais ça fonctionne ! Le player fonctionne pour les 2 musiques !
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 17h53   #17
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
(OMG ???) Tant mieux.

Pour la suite je te conseille quand même de mettre toutes tes musiques dans un dossier dédié (dossier "musiques" par exemple !)
Sinon, ca va être vite le souk !
Voire meme avoir des sous-dossiers classés par genre musical (par exemple encore)
Le tout étant d'en retrouver facilement le chemin ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/08/2011, 17h56   #18
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
Citation:
Envoyé par jreaux62 Voir le message
Pour la suite je te conseille quand même de mettre toutes tes musiques dans un dossier dédié (dossier "musiques" par exemple !)
Sinon, ca va être vite le souk !
Voire meme avoir des sous-dossiers classés par genre musical (par exemple encore)
Le tout étant d'en retrouver facilement le chemin ...
Oui je m'en doute, surtout quand on a plus de 2000 musiques :/

par contre, tu n'aurais pas une idée pour "scanner" le contenu de mon dossier musique de mon PC pour les enregistrer dans la base de donnée automatiquement ?
c'est ce que fais la classe php que tu m'as proposé plus haut ?
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 17h57   #19
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par feldi Voir le message
c'est ce que fais la classe php que tu m'as proposé plus haut ?
Non. Mais elle peut servir.
Citation:
Envoyé par feldi Voir le message
tu n'aurais pas une idée pour "scanner" le contenu de mon dossier musique de mon PC pour les enregistrer dans la base de donnée automatiquement ?
Si.
Crée un script php qui va :
- parcourir le dossier
- parcourir les fichiers du dossier
- si ce sont des fichier mp3 : les traiter (un par un)
- si possible, extraire les infos contenues (titre, artiste) grâce à la class php classAudioFile.php
- enregistrer les infos dans ta bdd

Un petit exemple d'utilisation de la class :
Code :
1
2
3
4
5
6
7
<?php 
	$fileName = $rep_GaldisMusic.$disMusic; // chemin/nom du fichier musique
	$mp3 = new AudioFile(); // initialisation
	$mp3->loadFile($fileName); // chargement
	$mp3->printSampleDuree(); // affiche la durée
	//$mp3->printSampleInfo(); // ...
?>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/08/2011, 18h05   #20
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
En cherchant un petit peu, j'ai trouvé cette fonction :
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
function ScanDirectory($Directory){
 
  $MyDirectory = opendir($Directory) or die('Erreur');
	while($Entry = @readdir($MyDirectory)) {
		if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..') {
                         echo '<ul>'.$Directory;
			ScanDirectory($Directory.'/'.$Entry);
                        echo '</ul>';
		}
		else {
			echo '<li>'.$Entry.'</li>';
                }
	}
  closedir($MyDirectory);
}
 
ScanDirectory('.');
à utiliser avec :
Code php :
1
2
3
4
5
6
7
8
 
<?php
function get_file_ext($file)
{
  $ext = substr(strtolower(strrchr(basename($file), ".")), 1);
  return $ext;
}
?>
Alors, j'ai pas encore tout saisi, mais je pourrais utiliser cette fonction et insérer un truc du genre :
Code php :
1
2
3
4
 
if ($ext == 'mp3') {
$requete = "INSERT INTO `musique` (`nomMusique`, `nomArtiste`, `nomAlbum`, `genre`, `cheminAcces`) VALUES (...)";
}

et pour récupérer les informations relatives à chaque musique via la classe que tu m'as donné + les id3 tag ?



Edit : ok donc en gros c'est cette manière de faire. Maintenant, il ne me reste plus qu'à trouver la motivation d'essayer de faire ce script.
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h53.


 
 
 
 
Partenaires

Hébergement Web