 |
| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
Nox Pedasse

Sexe:  Inscrit le: 30 Juin 2005 Age : 23
Localisation: Paris Nation, Nice
|
Posté le: Jeu Aoû 18, 2005 18:40 Sujet du message: |
|
|
C'est vraiment pas clair la façon dont t'expose ton problème...
Je suppose que ce que tu cherches à faire c'est d'avoir la playlist complète de ta radio sur ton PC, sachant que la liste fournie par le serveur de radio FG (qui est au format XML) n'affiche que les derniers titres.
Bon déjà c'est possible, c'est un bon point. Il faut nécessairement un programme qui tourne en boucle en tache de fond.
1. Soit Javascript, donc en passant par une page HTML
2. Soit un programme (C++, PHP pur, ...)
Sauf que dans le premier cas on peut pas stocker les données ailleurs que dans une boite de texte si t'as pas un serveur sous PHP sur ton PC ou sur un site à toi (pas très pratique dans ce dernier cas). T'as pas de serveur PHP non ? _________________ Spread luv <3
Live, move, be, discover, go, take, play, construct. Get friendz, get fun, get love, get fucked, get life. Keep it. Fear sux. NOLIFING IS EVIL. |
|
| Revenir en haut de page |
|
 |
Nox Pedasse

Sexe:  Inscrit le: 30 Juin 2005 Age : 23
Localisation: Paris Nation, Nice
|
Posté le: Jeu Aoû 18, 2005 19:07 Sujet du message: |
|
|
Comme je l'ai dit tu peux faire sans, mais avec la première méthode tu ne peux pas stocker tes données dans un fichier, tu sera obligé de les prendre dans une boite de texte.
L'autre problème c'est que si a un moment de la journée ta playlist est inaccessible, le script plantera. _________________ Spread luv <3
Live, move, be, discover, go, take, play, construct. Get friendz, get fun, get love, get fucked, get life. Keep it. Fear sux. NOLIFING IS EVIL. |
|
| Revenir en haut de page |
|
 |
Nox Pedasse

Sexe:  Inscrit le: 30 Juin 2005 Age : 23
Localisation: Paris Nation, Nice
|
Posté le: Jeu Aoû 18, 2005 19:38 Sujet du message: |
|
|
Si ça plante souvent c'est déjà une mauvaise idée.
le fonctionnement d'une page ? Tu l'a en face de toi !
Le tas de fonctions javascript servent à se connecter au fichier XML chroniquement et ensuite de le formater pour qu'il affiche ça bien.
Il faudrait rajouter des petites fonctions en plein milieu mais en Javascript ce serait très moche, il gère assez mal les tableaux.
Vaut mieux un serveur PHP, au moins le script serait plus simple et efficace. _________________ Spread luv <3
Live, move, be, discover, go, take, play, construct. Get friendz, get fun, get love, get fucked, get life. Keep it. Fear sux. NOLIFING IS EVIL. |
|
| Revenir en haut de page |
|
 |
Coolio Queer-Master


Sexe:  Inscrit le: 30 Juin 2005
Localisation: au Tralalabar
|
Posté le: Jeu Aoû 18, 2005 21:33 Sujet du message: |
|
|
C'est beaaaaaaau l'informatique waaw
mais sa vaut pas d'la nik, j'le repeteré jamais assez
ok je sors  |
|
| Revenir en haut de page |
|
 |
PlaintecontriX Homo sapiens


Sexe:  Inscrit le: 24 Juil 2005 Age : 23
Localisation: là là là...
|
Posté le: Ven Aoû 19, 2005 20:53 Sujet du message: |
|
|
Salut
J'ai écrit un ptit script php qui sauve la playlist en local (en xml) et l'affiche aussi...
C'est une un truc comme ça dont tu as besoin ?
Je l'ai justé testé en local mais ca doit marcher sur n'importe quel hébergement gratuit qui permet d'écrire des fichiers (genre lycos)
Après tu as juste à garder une fenêtre de ton navigateur ouverte, et ce sera mis à jour toute les 5min. (et si le navigateur plante, ça ne pose pas de problème puisque c'est sauvé sur le serveur)
Me suis bien amusé à écrire ça moi
| Code: | <?
$Remote_PlayList ="http://www.radiofg.com/rcs/XMLSongs.xml";
$Local_PlayList = "FGPlaylist.xml";
$RefreshTime = 5*60;
?>
<html>
<head>
<title>FG Playlist</title>
<meta http-equiv="refresh" content="<? echo $RefreshTime ?>">
</head>
<body>
<?php
$SongInfo = array(array());
$id = 0;
function filesize_url($url){
return ($data = file_get_contents($url)) ? strlen($data) : false;
}
function Display_Array($a){
echo '<table>';
foreach ($a as $value){
echo '<tr>';
echo "<td><i>".$value["time"]."</i> <td>";
echo "<td><b><font color=\"#0099FF\">".$value["song"]."</font></b></td>";
echo "<td><b>".$value["artist"]."</b></td>";
echo '</tr>' ;
}
echo '</table>';
}
function startElement($parser, $name, $attrs)
{
global $id, $SongInfo;
if ($name=="EVENT") {
$SongInfo[$id]["time"] = $attrs["STARTTIME"];
}else if ($name=="S:SONG"){
$SongInfo[$id]["song"] = $attrs["TITLE"];
}else if ($name=="S:ARTIST"){
$SongInfo[$id]["artist"] = $attrs["NAME"];
}else if ($name=="M:MEDIA"){
$SongInfo[$id]["duree"] = $attrs["RUNTIME"];
$id++;
}
}
function endElement($parser, $name){}
function Parse_XML_Playlist($XML_File,$fp){
global $id, $SongInfo;
$id = 0;
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
xml_parser_free($xml_parser);
return $SongInfo;
}
function Create_New_List($current,$old){
$NewArr = array(array());
$id = 0;
while ($current[$id]!=$old[0]) {
$NewArr[$id]["time"] = $current[$id]["time"];
$NewArr[$id]["song"] = $current[$id]["song"];
$NewArr[$id]["artist"] = $current[$id]["artist"];
$NewArr[$id]["duree"] = $current[$id]["duree"];
$id++;
}
foreach ($old as $value){
$NewArr[$id]["time"] = $value["time"];
$NewArr[$id]["song"] = $value["song"];
$NewArr[$id]["artist"] = $value["artist"];
$NewArr[$id]["duree"] = $value["duree"];
$id++;
}
return $NewArr;
}
function SaveWholePlaylist($arr,$fp){
fwrite($fp,'<?xml version="1.0" encoding="iso-8859-1" ?>'."\n<Schedule>\n");
foreach ($arr as $value){
fwrite($fp,"<Event status=\"happened\" startTime=\"".$value["time"]."\" eventType=\"song\">\n");
fwrite($fp," <s:Song title=\"".$value["song"]."\">\n");
fwrite($fp," <s:Artist name=\"".$value["artist"]."\">\n");
fwrite($fp," <m:Media runTime=\"".$value["duree"]."\"/>\n");
fwrite($fp," </s:Artist>\n");
fwrite($fp," </s:Song>\n");
fwrite($fp,"</Event>\n");
}
fwrite($fp,"</Schedule>\n");
fclose($fp);
}
// debut du code:
if (!($fp_remote = fopen($Remote_PlayList,'r'))){
die('<BR>Playlist inacessible !<BR>');
}
if (file_exists($Local_PlayList)){
$fp_local = fopen($Local_PlayList,'r+');
$Updated_SongInfo = Create_New_List(Parse_XML_Playlist($Remote_PlayList,$fp_remote),Parse_XML_Playlist($Local_PlayList,$fp_local));
fclose($fp_local);
$fp_local = fopen($Local_PlayList,'w+');
}else{
$fp_local = fopen($Local_PlayList,'x');
$Updated_SongInfo = Parse_XML_Playlist($Remote_PlayList,$fp_remote);
}
SaveWholePlaylist($Updated_SongInfo,$fp_local);
Display_Array($Updated_SongInfo);
?>
</body>
</html> |
_________________ Le geek bio a une signature à 2€ et lit l'UTF-8 encodé en ISO-8859-1... plusieurs fois.
Dernière édition par PlaintecontriX le Sam Aoû 20, 2005 0:36; édité 1 fois |
|
| Revenir en haut de page |
|
 |
Nox Pedasse

Sexe:  Inscrit le: 30 Juin 2005 Age : 23
Localisation: Paris Nation, Nice
|
Posté le: Ven Aoû 19, 2005 21:57 Sujet du message: |
|
|
Il s'est quand même tapé 126 lignes de code pour toi...
Rha c'est beau l'amour  _________________ Spread luv <3
Live, move, be, discover, go, take, play, construct. Get friendz, get fun, get love, get fucked, get life. Keep it. Fear sux. NOLIFING IS EVIL. |
|
| Revenir en haut de page |
|
 |
PlaintecontriX Homo sapiens


Sexe:  Inscrit le: 24 Juil 2005 Age : 23
Localisation: là là là...
|
Posté le: Sam Aoû 20, 2005 0:35 Sujet du message: |
|
|
| bobby a écrit: | | ah en fait y a des erreurs dasn ton code ... j'ai essayé de regarder mais trop fatigué regarderais demain merki kan mm |
Des erreurs ? Non, non, y'a pas d'erreurs ^^ Mais efectivement ca marche pas avec lycos, mais j'ai testé et ca marche
| Nox a écrit: | Il s'est quand même tapé 126 lignes de code pour toi...
Rha c'est beau l'amour |
tsss, mon crayon ne dérape pas moi  _________________ Le geek bio a une signature à 2€ et lit l'UTF-8 encodé en ISO-8859-1... plusieurs fois. |
|
| Revenir en haut de page |
|
 |
PlaintecontriX Homo sapiens


Sexe:  Inscrit le: 24 Juil 2005 Age : 23
Localisation: là là là...
|
Posté le: Sam Aoû 20, 2005 14:53 Sujet du message: |
|
|
*viens de comprendre*
Non, en fait j'avais raison ça marchait quand j'ai posté, la mise a jour de la playlist a fait planter le script
C'est corrigé
edit: il restait un bug pour les noms de chansons/artistes avec caractères spéciaux, c'est corrigé ^^ _________________ Le geek bio a une signature à 2€ et lit l'UTF-8 encodé en ISO-8859-1... plusieurs fois.
Dernière édition par PlaintecontriX le Dim Aoû 21, 2005 14:28; édité 1 fois |
|
| Revenir en haut de page |
|
 |
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
| |