01net    Web


Actuellement en ligne : 855 Utilisateurs dont 28 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> php + wiki = bidouille
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
croston
  
   
      ?   @     Posté le 04/08/2007 08:45:21  
Voter pour ce message
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("&eacute;", "é", $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<--
croston
  
   
      ?   @     Posté le 04/08/2007 18:01:03  
Voter pour ce message
bon, tout va moins mal parce que:

l'ordre des balises et l'endroit où on les met a une certaine importance... dans indexnews.php pour news.xml j'ai changé l'ordre de certaines balises (et je peux faire ma valise )
Feed Validator et Blog Express Reader agréent enfin news.xml normalement.

Problèmes subsistants: (je pars pas encore...)

A) Pour news.xml avec les feuilles de style sur un browser:
sur http://www.wikihay.info/wikihay/news.xml on peut remarquer que
1) les lignes ne se mettent pas à la ligne (on voit des tags <br />)
2) les mots en apostrophe se voient insérés d'un backslash (exemple: blabla d\'insertion etc...)

B) Pour news.xml sur certains agrégateurs:
par exemple avec ThinFeeder
1) la Nouvelles ne se met pas à jour quand on clique sur Rafraîchir. Pourquoi?

C) après ces problèmes bientôt résolus viendront les problèmes pour insérer le flux sur une page du site wiki (et faire allumer la petite icône de la barre d'outils)...



-->Message édité par croston le 04/08/2007 18:04:35<--
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> php + wiki = bidouille

Aller à :

Page générée en : 0.215s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Essais automobiles 
Essai Vidéo :
Le Corvette C6 2008, une concurrente de choc pour Porsche.
Essais automobiles 
Essai vidéo : Subaru Impreza STI, le rallye à portée de main. Voir la vidéo sur 01men !