Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/10/2011, 11h34   #1
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 711
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

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

Informations forums :
Inscription : juillet 2006
Messages : 711
Points : 328
Points : 328
Par défaut Créer un flux RSS

Bonjour,
D'habitude, je fais ceci pour faire un flux RSS :
Code :
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 :
<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 :
<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...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 11h40   #2
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Tout simplement ton php qui marche, au lieu d'echo, devrait écrire dans ce fichier xml, c'est le b a ba
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 11h49   #3
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 711
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

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

Informations forums :
Inscription : juillet 2006
Messages : 711
Points : 328
Points : 328
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...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 11h52   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 156
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 156
Points : 8 524
Points : 8 524
fait un htaccess avec une redirection
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 25/10/2011, 11h55   #5
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
devient
Code :
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.
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 12h09   #6
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 711
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

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

Informations forums :
Inscription : juillet 2006
Messages : 711
Points : 328
Points : 328
Citation:
Envoyé par stealth35 Voir le message
fait un htaccess avec une redirection
J'essaie ceci ça ne marche pas. dans .htaccess,
Code :
1
2
 
Redirect permanent /fluxrss.xml http://localhost/flux/fluxrss.php
Cela me renvoie comme erreur :
Citation:
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...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 12h26   #7
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 711
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

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

Informations forums :
Inscription : juillet 2006
Messages : 711
Points : 328
Points : 328
Citation:
Envoyé par grunk Voir le message
Code :
file_put_contents('flux.xml',$flux)
Selon vous mon code devient :
Code :
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 :
<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...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 12h48   #8
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
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 :
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
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 13h16   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 156
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 156
Points : 8 524
Points : 8 524
Citation:
Envoyé par okoweb Voir le message
J'essaie ceci ça ne marche pas. dans .htaccess,
Code :
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 :
1
2
RewriteEngine On
RewriteRule /fluxrss.xml flux/fluxrss.php [L]
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 13h36   #10
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 711
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

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

Informations forums :
Inscription : juillet 2006
Messages : 711
Points : 328
Points : 328
Citation:
Envoyé par stealth35 Voir le message
Code :
1
2
RewriteEngine On
RewriteRule /fluxrss.xml fluxrss.php [L]
Erreur :
Citation:
Not Found

The requested URL /voyages/fluxrss.xml was not found on this server.
Merci d'avance...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 13h41   #11
Modérateur
 
Inscription : septembre 2010
Messages : 7 156
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 156
Points : 8 524
Points : 8 524
Citation:
Envoyé par okoweb Voir le message
Erreur :


Merci d'avance...
corrige ton path seul toi sais comment est structuré ton appli
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 18h03   #12
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 711
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

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

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

Merci d'avance...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 18h15   #13
Modérateur
 
Inscription : septembre 2010
Messages : 7 156
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 156
Points : 8 524
Points : 8 524
t'as le mod rewrite d'activé ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 18h53   #14
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 711
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

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

Informations forums :
Inscription : juillet 2006
Messages : 711
Points : 328
Points : 328
Citation:
Envoyé par stealth35 Voir le message
t'as le mod rewrite d'activé ?
Oui. Voici une capture de mon phpinfo() :
Section Loaded Modules
Citation:
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
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 18h59   #15
Modérateur
 
Inscription : septembre 2010
Messages : 7 156
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 156
Points : 8 524
Points : 8 524
c'est ok a ce niveau, met juste le bon rewrite par rapport a ton path
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 19h02   #16
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
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
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 12h55   #17
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 711
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

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

Informations forums :
Inscription : juillet 2006
Messages : 711
Points : 328
Points : 328
La réécriture n'étant pas l'objet de ce sujet, je mettre en résolu.

Merci à vous tous pour vos pistes et solutions.
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h15.


 
 
 
 
Partenaires

Hébergement Web