IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Site perso deezer-like


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    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 !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour, j'ai trouvé ca sur le web :
    - www.id3.org
    - Fonctions ID3

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    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.

  4. #4
    Membre Expert Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Par défaut
    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.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    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.

  6. #6
    Invité
    Invité(e)
    Par défaut
    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
    Dernière modification par Invité ; 29/07/2011 à 11h19.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    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.

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    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
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !
    Dernière modification par Invité ; 02/08/2011 à 16h00.

  10. #10
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    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.
    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.

    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 :
    C'est normal que tu ne puise pas lire la musique !
    Euh ok mais pourquoi ?

  11. #11
    Invité
    Invité(e)
    Par défaut
    Essaye comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ...
    Dernière modification par Invité ; 02/08/2011 à 16h20.

  12. #12
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <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 )
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    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.

  14. #14
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  15. #15
    Invité
    Invité(e)
    Par défaut
    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.

  16. #16
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    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 :
    Notice: Undefined variable: chemin_mp3 in C:\wamp\www\deezer-like\index.php on line 38
    qui est la ligne
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  17. #17
    Invité
    Invité(e)
    Par défaut
    (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 ...

  18. #18
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    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 ?

  19. #19
    Invité
    Invité(e)
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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(); // ...
    ?>

  20. #20
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    En cherchant un petit peu, j'ai trouvé cette fonction :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

Discussions similaires

  1. [Forum] Comment installer un forum sur un site perso ?
    Par young077 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 14/05/2006, 18h33
  2. Avis sur mon ptit site perso
    Par mastercartman dans le forum Mon site
    Réponses: 21
    Dernier message: 13/05/2006, 20h43
  3. [MySQL] Probleme Php site perso
    Par mastercartman dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 08/03/2006, 22h46
  4. Images n'apparaissent sur site perso chez Free
    Par kcizth dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 01/02/2006, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo