|
|
bonjour
je suis amateur pas professionnel et j'ai fait un site wikimedia sur OVH en mutualisé (en tant qu'amateur... ) donc
pas facile de créer et gérer des news comme on veut parce que bien qu'il il y ait du RSS natif wiki disponible sur certaines pages (par exemple sur "Modifications récentes") l'effet n'est pas du tout convaincant... quelle cacophonie visuelle cela donne !!! Et on n'a pas envie de lire de telles news. D'ailleurs je n'ai encore jamais vu de VRAIES news avec un site en wiki... je suis peut-être un pionnier (amateur) en la matière??
je dois donc essayer d'arranger pour le wiki une solution habituelle autrement.
j'ai au départ des fichiers que nous appellerons indexnews.php (ici je donne les noms
originaux par défaut du début quand je les ai téléchargés avant de les personnaliser) ,
news.php et insert-news.php
1) avec insert-news.php qui est en fait un formulaire en ligne j'ajoute des news dans
la db MySQL de l'hébergeur
2) avec indexnews.php (qui grâce à un include fait appel à news.php qui connaît les paramètres de
connexion à la db) on crée news.xml (qui peut se mettre en page sur le web browser
grâce à fic.xsl et fic.css)
3) sur le web browser le résultat commence à être bon (c'est un avis d'amateur ) bien que je n'ai pas fini tout ça
4) un des derniers problèmes (j'ai réussi à résoudre tous les problèmes antécédents mais
celui-ci c'est pour ça que je viens sur votre forum...) se manifeste avec certains agrégateurs.
Par exemple avec Thin Feeder ça marche bien mais pas avec Blog Express Reader qui me
dit qu'il y a des éléments manquants dans mon news.xml
Feed Validator décèle aussi une erreur (je ne sais pas si c'est la même erreur que avec
Blog Express reader) et annonce:
Missing channel element: link
ci-après le copier coller de news.xml incriminé pour déjà voir...
<?xml version="1.0" encoding="iso-8859-1"?><?xml-stylesheet type="text/xsl" href="rss2html.xsl"?><rss version="2.0"><channel><title>News WikiHay</title><description> Armenia, ou le Hayastan </description><language>fr</language><image> <title>WikiHay: étapes de son évolution</title> <url>http://www.wikihay.info/wikihay/feed-icon.png</url> <link>http://www.wikihay.info/wikihay/indexnews.php</link></image><pubDate>Thu, 02 Aug 2007 23:10:05 +0100</pubDate><item><title>chronologie de la construction de WikiHay</title><link>http://www.wikihay.info/wikihay</link><guid>http://www.wikihay.info/wikihay</guid><description><![CDATA[
02/08/2007 à 14:55:18 mise en place du suivi des news<br /> 02/08/2007 à 14:43:20 amélioration de Faune (développement ornithologique) et Fruits (tableau graphique)<br />
]]></description></item></channel></rss>
Voila et le fichier indexnews.php (qui créée le code de news.xml) est certainement améliorable pour autant que on garde l'effet recherché qui est de simplement afficher une seule nouvelle remise de temps en temps à jour. En effet il s'agit au départ d'un site en wiki et cela est différent car je ne veux donner à l'abonné au RSS que une liste chronologique des modifications de mon site avec la dernière modif stipulée ajoutée en tête de liste. Cette liste des modifs vient entre les balises description. C'est là qu'apparaissent les news à lire en fait... Elles sont ajoutées quand j'utilise insert-news.php que j'ai réduit au minimum (le formulaire électronique en ligne n'a qu'un champ à remplir et c'est ce que j'entre dans ce champ qui sera la nouvelle nouvelle ajoutée au dessus des anciennes nouvelles, toutes affichées par exemple dans un agrégateur)
Voici le code d'indexnews.php
<?php
include ('ouvrirdb.php');
$document="";
$fp=@fopen("http://www.wikihay.info/wikihay/indexnews.php","r");
while ($b=@fgets($fp,1024))
{ $document.=$b; }
$document = ereg_replace("<html>", "", $document);
$document = ereg_replace("<head>", "", $document);
$document = ereg_replace("<title>", "", $document);
$document = ereg_replace("<body>", "", $document);
$document = ereg_replace("</html>", "", $document);
$document = ereg_replace("</head>", "", $document);
$document = ereg_replace("</title>", "", $document);
$document = ereg_replace("</body>", "", $document);
$document = ereg_replace("é", "é", $document);
$xml = '<?xml version="1.0" encoding="iso-8859-1"?>';
$xml .= '<?xml-stylesheet type="text/xsl" href="rss2html.xsl"?>';
$xml .= '<rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title> News de WikiHay </title>';
$xml .= '<description> Armenia, ou le Hayastan </description>';
$xml .= '<managingEditor> archagcolian@yahoo.fr </managingEditor>';
$xml .= '<language> fr </language>';
$xml .= '<image>';
$xml .= ' <title>WikiHay: étapes de son évolution</title>';
$xml .= ' <url>http://www.wikihay.info/wikihay/feed-icon.png</url>';
$xml .= ' <link>http://www.wikihay.info/wikihay/lui-meme.php</link>';
$xml .= '</image>';
$today= date("D, d M Y H:i:s +0100");
$xml .= '<pubDate>'.$today.'</pubDate>';
$titre= ("chronologie de la construction de WikiHay");
$adresse= ("http://www.wikihay.info/wikihay/index.php");
$un= ("<![CDATA[");
$une= ("]]>");
$xml .= '<item>';
$xml .= '<title>'.$titre.'</title>';
$xml .= '<link>'.$adresse.'</link>';
$xml .= '<guid>'.$adresse.'</guid>';
$xml .= '<description>';
$xml .= ( $un );
$xml .= ( $document );
$xml .= ( $une );
$xml .= '</description>';
$xml .= '</item>';
$xml .= '</channel>';
$xml .= '</rss>';
$fp = fopen("news.xml", 'w+');
fputs($fp, $xml);
fclose($fp);
?>
j'ai donné un max d'éléments sur le forum pour être clair mais ça fait beaucoup... qui peut s'intéresser à mon cas?
-->Message édité par croston le 04/08/2007 09:01:08<--
|