IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Créer un flux RSS


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut Créer un flux RSS
    Bonjour,
    D'habitude, je fais ceci pour faire un flux RSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    //fluxrss.php
    $flux = '<?xml version="1.0" encoding="ISO-8859-1"?>';
    $flux .= '<rss version="2.0">';
    $flux .= '<channel><title>Mon site web</title><link>'.SITE_URL.'</link><description>Les news de mon site web</description>';
    //les items
    //Start item
    $flux .= '<item>';
    $flux .= '<title>Enfin un flux RSS !</title>';
    $flux .= '<link>http://monsiteweb.com/rss.html</link>';
    $flux .= '<guid isPermaLink="true">http://monsiteweb.com/rss.html</guid>';
    $flux .= '<description>Un flux RSS a été installé sur mon site. Vous pouvez le consulter avec votre logiciel favori.</description>';
    $flux .= '<pubDate>Wed, 3 Aug 2005 15:17:00 GMT</pubDate>';
    $flux .= '</item>';
    //End item
    $flux .= '</channel>';
    $flux .= '</rss>';
    echo $flux;
    Et depuis le site, j'appelle le flux ainsi par un lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="fluxrss.php">Flux RSS</a>
    Avec cette méthode mon flux est toujours à jour avec les nouvelles news du site, car les items sont générés à la volée par MySQL.

    Par contre sur certains sites, je vois appelé les flux de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="fluxrss.xml">Flux RSS</a>
    J'attire votre attention sur l'extension du fichier représentant le flux. Le premier est fluxrss.php et le second fluxrss.xml.
    Ma question est de savoir comment faire dynamiquement pour que les items de fluxrss.xml soient toujours à jour avec les informations de ma table news du site à chaque appel de ce fichier.

    Merci d'avance...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tout simplement ton php qui marche, au lieu d'echo, devrait écrire dans ce fichier xml, c'est le b a ba

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par christele_r Voir le message
    Tout simplement ton php qui marche, au lieu d'echo, devrait écrire dans ce fichier xml, c'est le b a ba
    Si j'ai bien compris, le php devrait écrire dans fluxrss.xml. Si oui puis-je avoir un example de mise en oeuvre?

    Merci d'avance...

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    fait un htaccess avec une redirection

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file_put_contents('flux.xml',$flux)
    L'avantage de passer par un fichier xml plutôt que par un fichier php c'est le gain de performance.
    Avec un fichier xml tu vas générer le flux que lorsque cela est nécessaire.

    Par exemple un flux de news :

    - Soit je vais chercher dans la base a chaque fois que quelqu'un appel flux.php
    - Soit je modifie flux.xml lorsque j'ajoute/modifie/supprime une news et le serveur ne sert qu'un fichier statique au lecteur.

    Si tu as 10 000 lecteurs sur ton flux c'est incomparable.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    fait un htaccess avec une redirection
    J'essaie ceci ça ne marche pas. dans .htaccess,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Redirect permanent /fluxrss.xml http://localhost/flux/fluxrss.php
    Cela me renvoie comme erreur :
    Not Found

    The requested URL /voyages/fluxrss.xml was not found on this server.
    Je sèche où ?

    [EDIT] mon fichier htaccess est bien enregistré .htaccess à la racine du site

    Merci d'avance...

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par grunk Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file_put_contents('flux.xml',$flux)
    Selon vous mon code devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    //fluxrss.php
    $flux = '<?xml version="1.0" encoding="ISO-8859-1"?>';
    $flux .= '<rss version="2.0">';
    $flux .= '<channel><title>Mon site web</title><link>'.SITE_URL.'</link><description>Les news de mon site web</description>';
    //les items
    //Start item
    $flux .= '<item>';
    $flux .= '<title>Enfin un flux RSS !</title>';
    $flux .= '<link>http://monsiteweb.com/rss.html</link>';
    $flux .= '<guid isPermaLink="true">http://monsiteweb.com/rss.html</guid>';
    $flux .= '<description>Un flux RSS a été installé sur mon site. Vous pouvez le consulter avec votre logiciel favori.</description>';
    $flux .= '<pubDate>Wed, 3 Aug 2005 15:17:00 GMT</pubDate>';
    $flux .= '</item>';
    //End item
    $flux .= '</channel>';
    $flux .= '</rss>';
    file_put_contents('fluxrss.xml',$flux);
    Je prends soin de créer un fichier fluxrss.xml vide.

    Comment formater le lien d'appel du flux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="fluxrss.xml">Flux RSS</a>
    Dans ce cas si fluxrss.php n'est jamais appelé, fluxrss.xml sera toujours vide. Et faudra toujours mon intervention pour appeler fluxrss.php pour ravitailler fluxrss.xml. C'est pénible pour un site régulièrement mis à jour.

    Merci d'avance...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Ne mélanges pas tout !
    ton 'flux.xml' doit étre dans le header de tes pages html
    (celles que générent tes php)

    genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <link rel="alternate" type="application/rss+xml" title="Dernieres nouvelles du site" href="http://www.tonsite.com/flux.xml" />
    Donc plus besoins de lien puisque tu auras alors (et tout les visiteurs) l'icone orange en haut de ton navigateur !!

    Par ailleur ton PHP modifié tu le lance une a deux fois par jour en tache CRON

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par okoweb Voir le message
    J'essaie ceci ça ne marche pas. dans .htaccess,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Redirect permanent /fluxrss.xml http://localhost/flux/fluxrss.php
    Cela me renvoie comme erreur :


    Je sèche où ?

    [EDIT] mon fichier htaccess est bien enregistré .htaccess à la racine du site

    Merci d'avance...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine On
    RewriteRule /fluxrss.xml flux/fluxrss.php [L]

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine On
    RewriteRule /fluxrss.xml fluxrss.php [L]
    Erreur :
    Not Found

    The requested URL /voyages/fluxrss.xml was not found on this server.
    Merci d'avance...

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par okoweb Voir le message
    Erreur :


    Merci d'avance...
    corrige ton path seul toi sais comment est structuré ton appli

  12. #12
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    corrige ton path seul toi sais comment est structuré ton appli
    Voici mon path
    I:\wamp\www\voyages\fluxrss.php
    Et j'accède au site ainsi
    Suis sous WampServer Version 2.1

    Merci d'avance...

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    t'as le mod rewrite d'activé ?

  14. #14
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    t'as le mod rewrite d'activé ?
    Oui. Voici une capture de mon phpinfo() :
    Section Loaded Modules
    core mod_win32 mpm_winnt http_core mod_so mod_actions mod_alias mod_asis mod_auth_basic mod_authn_default mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dir mod_env mod_include mod_isapi mod_log_config mod_mime mod_negotiation mod_rewrite mod_setenvif mod_php5

  15. #15
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    c'est ok a ce niveau, met juste le bon rewrite par rapport a ton path

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Je ne sais pas vous, mais chez moi ça ne marche que sur mon site, pas en local.
    Je signales cela au cas ou

  17. #17
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    La réécriture n'étant pas l'objet de ce sujet, je mettre en résolu.

    Merci à vous tous pour vos pistes et solutions.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Créer un flux Rss dans Sharepoint 2013
    Par Jeff__06 dans le forum Développement Sharepoint
    Réponses: 1
    Dernier message: 09/09/2014, 13h33
  2. Créer un FLUX RSS Privé
    Par Shax30 dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 06/05/2014, 12h19
  3. [MySQL] Créer mon flux rss depuis ma BDD
    Par moudjahidine dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/08/2013, 18h12
  4. Réponses: 0
    Dernier message: 14/12/2011, 21h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo