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

Conception Web Discussion :

[techno] fil rss ds un site


Sujet :

Conception Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Par défaut [techno] fil rss ds un site
    Bonjour
    je suis en train de faire des essais pour introduire des fils rss sur un site en construction.
    mes essais sont presques concluants (pour l'instant sans style) mais avant chaque bloc d'informations récupéré convenablement j'ai des lignes innoprtunes:
    ex:
    Notice: Undefined index: enclosure in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 43

    Notice: Undefined index: enclosure in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 43

    Notice: Undefined index: enclosure in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 43

    Notice: Undefined index: enclosure in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 43

    Notice: Undefined index: enclosure in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 43


    Liberation.fr - A la une
    Les titres de la une de Liberation.fr


    En Irak, la Constitution est adoptée
    25/10/05 - Près de quatre électeurs sur cinq ont dit oui au texte soumis à référendum le 15 octobre dernier • Tandis que le nombre de soldats américains victimes du conflit atteindrait 2.000 •

    Les poulets derrière les barreaux
    25/10/05 - La France a décidé le confinement des élevages de volailles de plein air dans les 21 départements les plus exposés au contact avec les oiseaux migrateurs mais autorisé la conservation des labels de qualité.


    Téléphone mobile : le prix des SMS pourrait baisser
    25/10/05 - Les SMS en France sont parmi les plus chers d'Europe • L'autorité des télécoms a décidé mardi d'intervenir pour contraindre Orange, SFR et Bouygues Télécom à revoir leurs tarifs •

    Décès de Rosa Lee Parks, pionnière des droits civiques
    25/10/05 - Il y a tout juste cinquante ans, en Alabama, la jeune femme avait refusé de céder sa place dans le bus à un blanc, un moment clé de la lutte anti-ségrégation.

    Pneus, qualifications, moteurs: la Formule 1 version 2006
    25/10/05 - Plusieurs changements du réglement, destinés à améliorer le suspense et à réduire les coûts, doivent être adoptés mercredi à Rome.


    Notice: Undefined index: enclosure in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 43

    Notice: Undefined index: enclosure in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 43

    Notice: Undefined index: enclosure in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 43

    Notice: Undefined index: enclosure in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 43

    Notice: Undefined index: enclosure in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 43


    Futura-Sciences.com - Actualités quotidiennes sur les Sciences et les Technologies
    Actualités quotidiennes sur les Sciences et les Technologies


    France Télécom : 2 Mbits symétrique pour les entreprises
    25/10/05 - La généralisation du 2 Mbits symétrique à toutes les entreprises marque une nouvelle étape dans l'extension par France Télécom des technologies Haut Débit sur l'ensemble du territoire...

    Le hacker DVD Jon est embauché par MP3tunes
    25/10/05 - Pirater peut ouvrir grandes les portes de l'entreprise... Jon Lech Johansen alias DVD Jon, jeune norvégien connu pour avoir conçu et diffusé en 1999 un programme permettant de craquer la protection anti-copie des Dvd via...

    La tectonique des plaques sur Mars
    25/10/05 - Des scientifiques de la NASA ont tracé une carte du magnétisme martien et découvert à l'évidence que la planète Mars a dans son histoire été affectée par une activité tectonique des plaques...

    Dangers ou bienfaits de l'accès libre à la connaissance sur la toile
    25/10/05 - Faut-il rendre accessible le génome de la grippe espagnole de 1918 ? Francis Pisani a raison de donner de l'audience à ce débat, car il est emblématique de celui qui traverse l'internet depuis quelques...

    Einstein avait-il raison ? Encore 15 mois d'attente avant la réponse !
    25/10/05 - La sonde Gravity Probe-B a été placée en orbite terrestre en Avril 2004 pour vérifier deux prévisions de la théorie de la relativité générale d'Einstein : l'effet de précession...

    voici le code ds mon fichier feedparser.php:

    <?php
    // inclusion de la classe magpierss
    require_once("magpierss/rss_fetch.inc");

    // Fonction d'extraction des données du flux
    // 2 paramètres, l'url du flux et le nombre d'informations à afficher (5 par défaut)
    function FeedParser($url_feed, $nb_items_affiches=5) {

    // lecture du fichier distant (flux XML)
    $rss = fetch_rss($url_feed);

    // si la lecture s'est bien passée, on lit les élements
    if (is_array($rss->items)) {

    // On ne garde que les $nb_items_affiches premières informations
    $items = array_slice($rss->items, 0, $nb_items_affiches);

    // Récupération des informations sur le site et sur la vignette
    $site_titre = $rss->channel["title"];
    $site_lien = $rss->channel["link"];
    $site_description = $rss->channel["description"];
    $logo_titre = $rss->image["title"];
    $logo_description = $rss->image["description"];
    $logo_url = $rss->image["url"];
    $logo_lien = $rss->image["link"];

    // Création de la chaine de résultat

    // Vignette cliquable
    $html = "<span style=\"float:left;margin:5px 0 0 5px\"><a href=\"".$logo_lien."\"><img src=\"".$logo_url."\" border=\"0\" alt=\"".$logo_description."\" title=\"".$logo_titre."\"></a></span>\n";

    // Titre cliquable
    $html .= "<a href=\"".$site_lien."\" title=\"".$site_description."\" target=\"_blank\">".$site_titre."</a><br>\n";

    // Description
    $html .= "<span style=\"font-size:10px\">".$site_description."</span><br clear=\"left\"><br>\n";

    // Boucle sur les informations et récupérations du contenu des balises
    foreach($items as $item) {
    $titre = $item["title"];
    $lien = $item["link"];
    $description = $item["description"];
    $photo = $item["enclosure"];
    // Convertion de la date au format Timestamp (secondes depuis le 01/01/70)
    // Formatage de la date (jj/mm/aa). Utilisez le formatage de votre choix.
    $date = date("d/m/y",strtotime($item["pubdate"]));

    // Il n'y a pas systématiquement une photo, on test donc sa présence
    if($photo!="")
    $html .= "<img src=\"".$photo."\" alt=\"".$titre."\" style=\"float:left;margin-right:5px\">\n";

    // Affichage du titre
    $html .= "<a href=\"".$lien."\" title=\"".$titre."\" target=\"_blank\">".$titre."</a><br>\n";

    // Affichage de la date et de la description
    $html .= "<span class=\"tiny\">".$date." - ".$description."</span><br clear=\"left\"><br>\n";
    } // Boucle sur les infos

    // retourne le code HTML à inclure dans la page
    return $html;
    } // Condition de récupération des données
    } // Fin de la fonction


    ?>


    voici le code ds ma page PHPexemple)

    <?php require_once("feedparser.php"); echo FeedParser("http://www.liberation.fr/rss.php", 5);?>

    je dois faire une bètise qq part

    qq veut-il aider un jeune débutant de 54 balises???

    Grand merci

  2. #2
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut
    Bonjour,
    tout d'abord, merci d'utiliser les balises Code (lors de la rédactions du messages). Voir les règles du forum.

    Sinon, pour ton problème, il se situe au niveau de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $photo = $item&#91;"enclosure"&#93;;
    NB : c'est ça les balises Code !

    Tous les fils ne doivent pas forcément contenir de photo.
    Dans le cas où il n'en contiennent pas, le tableau $item n'a pas d'index "enclosure" et provoque donc ton erreur.
    Pour éviter cela, tu peux tester d'abord l'existence de enclosure avec la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if &#40;isset&#40;$item&#91;"enclosure"&#93;&#41;&#41; &#123;
      $photo = $item&#91;"enclosure"&#93;; 
    &#125; else &#123;
      $photo = ''; // ou null ou autre chose, ça dépend.
    &#125;
    a+

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Par défaut
    merci pour la réponse; j'avais bien lu les règles mais les balises codes m'ont échappé.
    si j'ai bien compris je remplace la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $photo = $item&#91;"enclosure"&#93;;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if &#40;isset&#40;$item&#91;"enclosure"&#93;&#41;&#41; &#123; 
      $photo = $item&#91;"enclosure"&#93;; 
    &#125; else &#123; 
      $photo = ''; 
    &#125;
    ça ne change rien mais peut être dois je suprimer ou modifier cette ligne
    // Il n'y a pas systématiquement une photo, on test donc sa présence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if&#40;$photo!=""&#41;
           $html .= "<img src=\"".$photo."\" alt=\"".$titre."\" style=\"float&#58;left;margin-right&#58;5px\">\n"
    merci

  4. #4
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut
    Est-ce que la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $photo = $item&#91;"enclosure"&#93;;
    est bien la ligne 43 ?
    Parce que si oui, ça vient de là.
    L'erreur générée te dit que tu essaie d'accéder à enclosure et qu'enclosure n'existe pas.

    Sinon, pas sûr : mais en changeant le '' en "" dans le else ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if &#40;isset&#40;$item&#91;"enclosure"&#93;&#41;&#41; &#123; 
      $photo = $item&#91;"enclosure"&#93;; 
    &#125; else &#123; 
      $photo = ""; 
    &#125;
    a+

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Par défaut
    en fait j'avais mal mis mon " et le résultat est identique avec " ou"".
    je récupère bien, beaucoup mieux les fils, les logos mais j'ai encore qq problèmes avec les lignes 22,23, 25 et 47 sur certains journaux.

    ex:

    Notice: Undefined index: description in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 23

    Notice: Undefined index: link in f:\creation site internet\site internet global en cours\projet_rss\feedparser.php on line 25

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Par défaut
    Complément d'info

    22=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $logo_titre = $rss->image&#91;"title"&#93;;
    23=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $logo_description = $rss->image&#91;"description"&#93;;
    25=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $logo_lien = $rss->image&#91;"link"&#93;;
    47=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date = date&#40;"d/m/y",strtotime&#40;$item&#91;"pubdate"&#93;&#41;&#41;;

Discussions similaires

  1. [Techno] Comment est fait ce site
    Par skual dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 19/05/2006, 23h52
  2. plantage fils RSS
    Par rozow dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 24/03/2006, 15h41
  3. plantage fils RSS avec adresse dynamique PHP et RSS
    Par rozow dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 22/03/2006, 16h31
  4. Integration de flux rss dans un site
    Par ikeaboy dans le forum Général Conception Web
    Réponses: 13
    Dernier message: 23/01/2006, 14h51
  5. Recuperation de flux RSS sur un site
    Par Merkutio dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 17/08/2005, 21h01

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