5568 sujets

Sémantique web et HTML

Est-il difficile de créer un flux rss ?
Existe-t-il des outils tout prêts ?
Je me suis lancé sans grand succès :

<?php
// On modifie l'entête du document pour dire que c'est du xml
header("Content-type: application/xml");  
//fonction pour tronquer un texte
function afficher($texte)
{
    return $texte;
}
$url="http://www.ubaye-verdon.net/provence/";
include ('connectbase.php');
 
//Entête du flux rss. A complèter selon vos besoins
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n
<rss version=\"2.0\">\n
<channel>\n
<title>Provençal </title>\n
<link>$url</link>\n
<description>Français </description>\n
//Connexion à la base de données
@mysql_select_db('mabase,$cnx'); 
//Vérification d'accès à la base de données
mysql_select_db("mabase") or die("Impossible d'ouvrir la base de données ");
 
//On sélectionne les données
$result = mysql_query("SELECT ID,Provencal, Francais FROM mabase ORDER BY ID DESC LIMIT 20");
while ($sql = mysql_fetch_array($result)) 
{
//On affiche les flux
echo '<item>
<title>'$Prov = ($sql['Provencal'])';
  echo($Prov\n</title>);
echo(<link>$url="http://www.ubaye-verdon.net/provence/='$affiche['ID']'"</link>);
// la description
<description>'
$Franc=($sql['Francais']);
echo ("<br>$Franc<br>\n")</description>';
echo '</item>';
}
// Fermeture de la connexion à la base de données
mysql_close();
//On ferme le flux rss
echo "</channel>\n</rss>";
?>
Je n'en peux plus§
 ça fait des heures que je tourne en rond avec des erreurs du type :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /./././provence/CreationFluxRSS.php on line 61
Puis-je espérer de l'aide de quelque bienfaiteur expert ...?
Merci d'avance.
Smiley rolleyes
Bonjour,

y a plusieurs choses curieuses. ton premier echo, je vois pas où il se termine....

à titre de comparaison, dans ton code :


echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n
<rss version=\"2.0\">\n
<channel>\n
<title>Provençal </title>\n
<link>$url</link>\n
<description>Français </description>\n
//Connexion à la base de données
@mysql_select_db('mabase,$cnx');


tu fais donc un echo d'une commande SQL? Smiley eek

pourtant vers la fin, c'est correct :


echo "</channel>\n</rss>";


là, cela ne va pas fonctionner non plus :


echo ("<br>$Franc<br>\n")</description>';


tu termines ton echo avec un simple apostrophe. oui, bon, où est celui du début? y a plein de petits détails comme cela dans ton code.
Modifié par FloydinBremen (18 Feb 2013 - 19:44)
J'ai tenu compte des remarques.
Je ne suis pas loin du but, mais je ne sais pas pourquoi...
Voici le résultat actuellement :
This page contains the following errors:

error on line 21 at column 62: Opening and ending tag mismatch: br line 0 and Francais
Below is a rendering of the page up to the first error.

Provençal lien Français APROUMETTRE, http://www.ubaye-verdon.net/provence/=5385 Affirmer,assurer. APROSMAT,(ada), http://www.ubaye-verdon.net/provence/=5384 Vieux Langage(ant.XVIème).:

Ce qui est curieux, c'est qu'ne faisant source de la page, on obtient la totalité :
<?xml version="1.0" encoding="iso-8859-1" ?>

<rss version="2.0">

<channel>

<Provencal>Provençal</Provencal>

<link>lien</link>

<Francais>Français</Francais>

<item>
<Provencal>APROUMETTRE,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5385</link>
<Francais>Affirmer,assurer.</Francais>
</item>
<item>
<Provencal>APROSMAT,(ada),</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5384</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Approché.</Francais>
</item>
<item>
<Provencal>APROSMAR,<br>APRUSMAR,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5383</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Approcher.</Francais>
</item>
<item>
<Provencal>APROPRIATIO,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5382</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Appropriation, ressemmblance, similitude.</Francais>
</item>
<item>
<Provencal>APROPRIAR,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5381</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Approprier, attribuer, rendre propre, en parlant d'un nom.</Francais>
</item>
<item>
<Provencal>APROPRIAR s',</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5380</link>
<Francais>Vieux Langage(ant.XVIème).:<br>S'approcher.</Francais>
</item>
<item>
<Provencal>APROPRIAR,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5379</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Approcher.</Francais>
</item>
<item>
<Provencal>APROPRIAMEN,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5378</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Propriété.</Francais>
</item>
<item>
<Provencal>APROPRIADAMENS</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5377</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Convenablement.</Francais>
</item>
<item>
<Provencal>APROPJAR,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5376</link>
<Francais>Vieux Langage(ant.XVIème).:<br>approcher</Francais>
</item>
<item>
<Provencal>APROPINQUAT,(ada),</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5375</link>
<Francais>Approché,(ée).</Francais>
</item>
<item>
<Provencal>APROPINQUAR,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5374</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Approcher.</Francais>
</item>
<item>
<Provencal>APROPINQUACIO,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5373</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Proximité, voisinage.</Francais>
</item>
<item>
<Provencal>APROPIAMENT,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5372</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Approche, venue accès.</Francais>
</item>
<item>
<Provencal>APROPCHAR,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5371</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Approcher.</Francais>
</item>
<item>
<Provencal>APROPCHADOR,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5370</link>
<Francais>Vieux Langage(ant.XVIème).:<br><i>Approcheur</i>, en parlant d'un guerrier qui marche hardiment à l'ennemi.</Francais>
</item>
<item>
<Provencal>APROP,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5369</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Préposition : Près, après, depuis, auprès, proche.</Francais>
</item>
<item>
<Provencal>APROOMAR s',<br>APROSMAR s',</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5368</link>
<Francais>Dial.bas-Limousin.:<br>S'approcher</Francais>
</item>
<item>
<Provencal>APROOMAR,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5367</link>
<Francais>Dial.bas-Limousin.:<br>Approcher.</Francais>
</item>
<item>
<Provencal>APROHAR,</Provencal>
<link>http://www.ubaye-verdon.net/provence/=5366</link>
<Francais>Vieux Langage(ant.XVIème).:<br>Approuver.</Francais>
</item>
</channel>
</rss>

Je ne comprends pas pourquoi, l'affichage ne se fait pas !
Merci pour les conseils concernant les erreurs sur les echo !
humm, du rss, à la base c'est du xml. 3 ou 4 voire 5 remarques simples de bon matin pour simplifier l'affaire :

- les <br> et <i>, humm, ça va pas le faire, pas de balises de mises en forme, please.

- les e accents aigus, graves, etc. en iso-8859-1?

-
<link>lien</link>
oui....mais non.

- tu as un outil de validation en ligne, c'est pratique :

Feed validation service

- pour du vrai rss, il te manque quand même, 2 ou 3 petits détails : guid, ispermalink...
FloydinBremen a écrit :
humm, du rss, à la base c'est du xml. 3 ou 4 voire 5 remarques simples de bon matin pour simplifier l'affaire :

- les &lt;br&gt; et &lt;i&gt;, humm, ça va pas le faire, pas de balises de mises en forme, please.

Il me semble qu'on peut en mettre à condition de transformer les < et > en entités XML. M'enfin dans un premier temps c'est peut-être mieux d'éviter oui.


a écrit :
pour du vrai rss, il te manque quand même, 2 ou 3 petits détails : guid, ispermalink

C'est peut-être pas la peine de rajouter des difficultés tout de suite Smiley lol
D'autant que d'après la spécification aucun champ de item n'est obligatoire, il suffit d'avoir au moins un titre ou une description... Ce qui n'est pas le cas ici.
lavercq je suis quasiment sur que <Provencal> et <Francais> ne sont pas des balises RSS. Peut-être qu'en utilisant <title> et <description> à la place ça passerait mieux ?
Modifié par BlueScreenJunky (19 Feb 2013 - 07:32)
C'est sûr qu'il faudrait au moins relire la doc sur le site du w3c ou regarder comment sont faits des fluxs existants.

P.s.: l'entête http pour un flux rss est application/rss+xml, pas application/xml.
Patidou a écrit :
C'est sûr qu'il faudrait au moins relire la doc sur le site du w3c ou regarder comment sont faits des fluxs existants.

P.s.: l'entête http pour un flux rss est application/rss+xml, pas application/xml.


Merci "Pati-doux", ce qui gênait l'affichage était certainement dû à la mauvais définition dans l'en tête...
J'ai suivi le conseil et ça marche maintenant : application/rss+xml
Merci infiniment !
Toutes ces heures à chercher...
Merci encore, le problème est réglé !
Mais, pour répondre à une autre remarque : les libellés que j'ai mis à la place de "titre" et "description" ne semblent pas gêner... Smiley cligne
lavercq a écrit :

Mais, pour répondre à une autre remarque : les libellés que j'ai mis à la place de &quot;titre&quot; et &quot;description&quot; ne semblent pas gêner... Smiley cligne


Mais c'est toujours mieux de suivre les standards, ils sont faits pour ça : tu n'es pas certain que ton flux est lisible partout. Smiley cligne
Merci à vous deux ! Smiley biggrin
Prochainement, j'envisage de mettre en place un cache en php pour accélérer la lecture des pages. Smiley murf
Il se peut que j'ai encore recours à vos services... Smiley cligne
Aurais-je encore la chance de bénéficier de votre compétence et générosité ? Smiley rolleyes




Modération de 4 adresses
Modifié par Tony Monast (20 Feb 2013 - 01:06)