Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

php + wiki = bidouille


c.junior

Messages recommandés

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> [email protected] </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?

Modifié par c.junior
Lien vers le commentaire
Partager sur d’autres sites

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 :P )

Feed Validator et Blog Express Reader agréent enfin news.xml normalement.

 

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

 

A) Pour index.xml avec les feuilles de style sur un browser:

Sur 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)...

Modifié par c.junior
Lien vers le commentaire
Partager sur d’autres sites

Tu as découvert le secret du XML : les balises doivent apparaitre dans un "ordre" précis ! ;-) C'est ce qu'on appelle la "structure" du document...

Autre astuce : le contenu n'est pas du HTML mais des données brutes (balise CDATA !) donc c'est normal que les balises <br /> apparaissent, et que les échappements automatiques générés par php (ou MySQL ?) également... Dans le cas précis du flux RSS il faudrait signaler à php qu'il ne faut pas faire les "magic quote"

 

Dernier point... Tu sembles vouloir gérer des news (donc plutôt un blog), pourquoi avoir opté pour un wiki (qui est une base de connaissances hiérarchiques et à contributeurs multiples) ?

Lien vers le commentaire
Partager sur d’autres sites

bonjour KewlCat. J'ai choisi la technologie wiki pour plusieurs raisons:

 

les caractères autres que occidentaux sont automatiquement présents sans devoir installer de langue supplémentaire même sur un PC sans ces dits caractères étrangers installés. Par exemple je peux faire un copier-coller d'un texte en arménien comme si c'était de l'anglais ou du français. La langue arménienne pourtant peu répandue, garde ses formes originales quels que soient l'opération effectuée.

 

j'ai choisi wiki aussi pour sa possibilité concise de mise en page idéale pour les documentations. La présentation n'a pas le style pro de certains sites mais il ne faut pas. Mon site wiki peut ainsi pallier au manque de certains livres ou manuels scolaires dans lesquels manquent malgré tout certaines notions (il s'agit quand même de quelque chose avec la première guerre mondiale).

 

De plus il y a dans le Menu boîte à outils la fonction Version Imprimable qui est primordiale. Cette fonction donne accès à une présentation encore plus concise du documentaire. Idéal pour des éleves ou simplement pour ceux qui veulent simplement en savoir un peu plus sur le sujet ou pour confectionner un dossier...

 

Il y a d'autres avantages mais j'avoue en avoir eu au passage un aperçu fugace sur le coup (c'est dû à mon niveau de connaissances wiki) et je suis donc ainsi persuadé de ces avantages sans pouvoir les citer encore... Avec l'usage je les retrouverai et m'habituerai mieux au wiki pour pouvoir concrètement les citer dans l'ordre.

Modifié par c.junior
Lien vers le commentaire
Partager sur d’autres sites

Ok, va pour le wiki (je n'avais pas compris que c'était pour de la documentation, c'est pour cela que je m'interrogeais) ;-)

Le support des caractères spéciaux vient, à mon avis, plus du support de l'UTF8 par le wiki que d'autre chose. Sur un système ne comportant aucun support UTF8 tu ne feras pas afficher d'arménien... D'ailleurs je remarque que ton flux RSS est défini en iso8859-1 il faudrait peut-être modifier cela si le contenu utilise des caractères spéciaux...

Lien vers le commentaire
Partager sur d’autres sites

c'est fait

j'ai changé en UTF-8 voir ici pourquoi

 

au début je mets le même message sur plusieurs forums mais le fil se spécifie différement sur chacun des forums selon les réponses.

 

Sur 6 forums il y en a 2 qui ont répondu, les autres restent avec la même question générique

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...