Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Questions » » Flux RSS  
AuteurFlux RSS
coolzen0
43    

coolzen0
  Posté : 03-12-2008 12:01

Quelqu'un aurait un module qui permette de créer automatiquement un flux RSS à partir des articles ?
Merci d'avance

  Profil  www  Citation   
Hotfirenet
1738       
 

Hotfirenet
  Posté : 03-12-2008 12:09

backend.php

  Profil  E-mail  www  Citation   
coolzen0
43    

coolzen0
  Posté : 03-12-2008 16:33

Ok merci.
Je vais me l'étudier avec d'autres trucs que j'ai trouvé sur le net parce que moi je veux que ce soit des articles pris au hasard et je veux pouvoir paramétrer le nombre d'article.
Encore merci.

  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 03-12-2008 17:39

Bon voilà !
Du coup j'ai reliée la fonction qui permet de créer un flux rss (fichier nommé rss.xml à la racine) à la fonction qui permettait d'afficher le bloc des articles aléatoire... voir là bas pour l'historique : http://www.npds.org/viewtopic.php?topic=24038&forum=9

Je découpe ma réponse en plusieurs post parce que ça ne passe pas sinon...


Message édité par : coolzen0 / 03-12-2008 17:40


  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 03-12-2008 17:44

Donc au final ça me donne un fichier que j'ai appellé blocAleart.php et qui contient ça :

Début du fichier : la fonction aleart.



<?PHP
#autodoc aleart(x) : Bloc de liste de x articles pris de façon aléatoire <br />=> syntaxe : function#aleart puis params#5
#autodoc aleart_rss(x) : idem aleart() mais avec la création d'un flux rss en plus juste après...

//fonction aleart qui affiche dans le bloc x articles pris au hasard ; le x articles étant défini par le params#5 dans l'appel => 5 ici...
function aleart(&$nb) {
   global 
$articles$language;

   
$result mysql_query("select sid, title from stories order& nbsp;by rand() limit 0,$nb");
   
   $numrows = mysql_num_rows($result);

   if ($numrows == 0) 
{
      return;
   
} else {
      $boxstuff .= 
"<ul>";   
      while (list($article_id, $artic le_titre) = mysql_fetch_row($result)) 
{
              ;  $boxstuff .= 
"<li><a href=\"article.php?sid=$article_id\">$article_titre</a></li>";
      
}
      $boxstuff .= 
"</ul>";         
      
      global $block_title;
      if ($block_title==
"")
         $title=translate(
"Hasard");
      else
         $title=$block_title;
      themesidebox($title, $boxstuff);
   
}
}




  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 03-12-2008 17:48

Suite du fichier : La fonction aleart_rss.



//fonction aleart + buildRss (idem que précédemment, le nombre d'article est défini par params#5 ; exemple pour 5 articles...)
function aleart_rss(&$nb) {
   aleart($nb);
   buildRSS($nb);
}




  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 03-12-2008 17:59

Suite du fichier : la fonction confXML


//fonction pour remplacer les caractères génants
function conf_XML($text)
{
$text = str_replace("&","&amp;",$text);
$text = str_replace("&lt;","&lt;",$text);
$text = str_replace("&gt;","&gt;",$text);
$text = str_replace("\"","&quot;",$text);

return $text;
}



  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 08-12-2008 09:43

Bon, je n'avais pas fini la dernière fois. Il faut aussi que je mette la fonction buildRSS($nb) mais j'ai du mal à la poster et ça m'énerve un peu.. aller, je retente.

  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 08-12-2008 09:43



function buildRSS($nb) {

// En-tête du flux RSS version 2.0
$xml = '<?xml version="1.0" encoding="ISO-8859-1"?><rss version="2.0">';
$xml .= '<channel><title>WESRA - Web ESRA</title><link>http://wesra.free.fr/</link>';
$xml .= '<description>WESRA - Web Encyclopedie  du Savoir Relatif et Absolu</description><la nguage>fr-fr</language><copyright>Copyright 2008 wesra .free.fr</copyright>';

// Ajout de la date actuelle de publicatio n (suivant la DTD RSS)
$xml .= '<lastBuildDate>'.date(
"D, d M Y H:i:s").' GMT</lastBuildDate>';



  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 08-12-2008 09:47



// paramêtres de connection à votre base de donnée (inutile ici car déjà fait en amont par NPDS)
//$host = 'sql.free.fr';
//$login = 'monLogin';
//$password = 'monPassword';
//$bdd = 'maBaseDeDonnée';


  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 08-12-2008 09:48



//mysql_connect($host,$login,$password);
//mysql_select_db($bdd);


  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 08-12-2008 09:48



// Sélection de 10 articles aléatoires
$Result = mysql_query("select sid, title, DATE_FORMAT(time, '%a, %d %b %Y %H:%i:%s') as date_heure, hometext from stories order by rand() limit 0,$nb");

// Creation des items : titre + lien + description + date de publication
while($val=mysql_fetch_array($Result)) {
    $xml .= '<item>';
    $xml .= '<title>'.conf_XML($val["title"]).'</title>';
    $xml .= '<link>http://wesra.free.fr/article.php?sid='.$val["sid"].'</link>';
    //$xml .= '<description>'.conf_XML($val["hometext"]).'</description>';
    //$xml .= '<description>en savoir plus sur '.conf_XML($val["title"]).'...</description>';
    $xml .= '<description><![CDATA['.$val["hometext"].']]></description>' ;
    //$xml .= '<pubDate>'.date("D, d M Y H:i:s",$val["time"]).' GMT</pubDate>';
    $xml .= '<pubDate>'.$val["date_heure"].' GMT</pubDate>';
    $xml .= '</item>';
}


  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 08-12-2008 09:49



// Déconnexion (inutile ici)
//mysql_close();

// Fin du flux
$xml .="</channel></rss>";

// Ecriture du flux dans un fichier xml
$fp = fopen("rss.xml", 'w+');
      fputs($fp, $xml);
fclose($fp);

}

?>



  Profil  www  Citation   
coolzen0
43    

coolzen0
  Posté : 08-12-2008 09:49

Et j'appelle mon bloc comme ça :


!include!#blocAleart.php
function#aleart_rss
params#5



ATTENTION : Sans le ! qui se mettent tout seul ici de chaque côté de l'includ
pour aficher 5 articles aléatoire dans le bloc et créer le fichier rss avec 5 articles aléatoire... Ce qui fait qu'à chaque fois que quelqu'un va sur le site un flux RSS est créé sans que je n'ai rien à faire...
Bon, c'était pour répondre à mon besoin mais vous devriez trouver votre bonheur dans ces fonctions si vous vous intéressez aux flux RSS

  Profil  www  Citation   
Hotfirenet
1738       
 

Hotfirenet
  Posté : 08-12-2008 09:49

arrete de poster ton code comme ca met le dans un fichier et envoi le moi, ou sur module

  Profil  E-mail  www  Citation   
  
Sauter à :

Temps : 0.0191 seconde(s)