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

Interfaçage autre langage Python Discussion :

XPath et Python


Sujet :

Interfaçage autre langage Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur systemes et reseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut XPath et Python
    bonjour,
    Avant tout je tiens à dire que je ne connais ni XPath NI Python!!!

    A) j'ai un fichier TEXT.XML que je voudrais transformer en un fichier utilisable par un programme.
    j'utilise les commandes Python :

    with open('/text.xml') as f:
    t = etree.parse(f)


    malheureusement mon fichier TEXT.XML comporte plusieurs lignes : <?xml version="1.0" encoding="UTF-8" ?>

    et j'ai donc des erreurs : lxml.etree.XMLSyntaxError: XML declaration allowed only at the start of the document, line 15, column 6

    comment résoudre ce problème?


    B)

    je fais une découverte réseau avec un outil qui crée un fichier XML
    je veux extraire de ce fichier les noms et les adresses IP des devices
    je veux écrire ces données dans un fichier paramètre d'un outil de monitoring (en l'occurence Alignak)

    je ne veux donc rien faire à la main

    voila le fichier XML que je reçois :

    <?xml version="1.0" encoding="UTF-8" ?>
    <REQUEST>
    <CONTENT>
    <DEVICE>
    <IP>192.168.33.1</IP>
    <MAC>00:50:56:c0:00:08</MAC>
    <NETPORTVENDOR>VMware</NETPORTVENDOR>
    </DEVICE>
    <MODULEVERSION>2.3</MODULEVERSION>
    <PROCESSNUMBER>1</PROCESSNUMBER>
    </CONTENT>
    <DEVICEID>foo</DEVICEID>
    <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>
    <?xml version="1.0" encoding="UTF-8" ?>
    <REQUEST>
    <CONTENT>
    <DEVICE>
    <DNSHOSTNAME>gateway</DNSHOSTNAME>
    <IP>192.168.33.2</IP>
    <MAC>00:50:5650:d0</MAC>
    <NETPORTVENDOR>VMware</NETPORTVENDOR>
    </DEVICE>
    <MODULEVERSION>2.3</MODULEVERSION>
    <PROCESSNUMBER>1</PROCESSNUMBER>
    </CONTENT>
    <DEVICEID>foo</DEVICEID>
    <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>

    comme vous le voyez, il y a plusieurs lignes <?xml version
    je veux récupérer ce qu'il y a en gras :

    <DNSHOSTNAME>gateway</DNSHOSTNAME>
    <IP>192.168.33.2</IP>
    <MAC>00:50xx:d0</MAC>
    <NETPORTVENDOR>VMware</NETPORTVENDOR>

    dans chaque balise <DEVICE>

    une idée?

    merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Salut,

    Ce que vous montrez n'est pas un document XML mais la concaténation de plusieurs documents XML. Soit vous pouvez configurer l'engin qui les construit pour qu'il produise un document XML par fichier, soit il va vous falloir découper cela en plusieurs documents pour pouvoir utiliser un analyseur XML...
    Mais un document XML étant un fichier texte, vous pouvez aussi y rechercher les informations "à la main".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur systemes et reseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    désolé mais c'est une seule commande qui produit ce fichier XML avec plusieurs lignes <?xml
    j'ai utilisé une commande shell pour supprimer ces lignes et maintenant je voudrais utiliser XPath pour travailler mon fichier fichier.xml

    je passe la commande sous python :

    with open('/fichier.xml') as f:
    x = etree.parse(f)


    mais j'ai une erreur :

    lxml.etree.XMLSyntaxError: Extra content at the end of the document, line 14, column 1

    ou est l'erreur? je vois pas!!!!
    merci

    Voici mon fichier .xml :

    <REQUEST>
    <CONTENT>
    <DEVICE>
    <IP>192.168.33.1</IP>
    <MAC>00:50:56:c0:00:08</MAC>
    <NETPORTVENDOR>VMware</NETPORTVENDOR>
    </DEVICE>
    <MODULEVERSION>2.3</MODULEVERSION>
    <PROCESSNUMBER>1</PROCESSNUMBER>
    </CONTENT>
    <DEVICEID>foo</DEVICEID>
    <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>
    <REQUEST>
    <CONTENT>
    <DEVICE>
    <DNSHOSTNAME>gateway</DNSHOSTNAME>
    <IP>192.168.33.2</IP>
    <MAC>00:50:5650:d0</MAC>
    <NETPORTVENDOR>VMware</NETPORTVENDOR>
    </DEVICE>
    <MODULEVERSION>2.3</MODULEVERSION>
    <PROCESSNUMBER>1</PROCESSNUMBER>
    </CONTENT>
    <DEVICEID>foo</DEVICEID>
    <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>
    <REQUEST>
    <CONTENT>
    <DEVICE>
    <DNSHOSTNAME>CentOS-Virtual</DNSHOSTNAME>
    <IP>192.168.33.128</IP>
    </DEVICE>
    <MODULEVERSION>2.3</MODULEVERSION>
    <PROCESSNUMBER>1</PROCESSNUMBER>
    </CONTENT>
    <DEVICEID>foo</DEVICEID>
    <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>
    <REQUEST>
    <CONTENT>
    <DEVICE>
    <IP>192.168.33.254</IP>
    <MAC>00:50:56:e0:53:4d</MAC>
    <NETPORTVENDOR>VMware</NETPORTVENDOR>
    </DEVICE>
    <MODULEVERSION>2.3</MODULEVERSION>
    <PROCESSNUMBER>1</PROCESSNUMBER>
    </CONTENT>
    <DEVICEID>foo</DEVICEID>
    <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Citation Envoyé par trazomtg Voir le message
    mais j'ai une erreur :

    lxml.etree.XMLSyntaxError: Extra content at the end of the document, line 14, column 1

    ou est l'erreur? je vois pas!!!!
    L'erreur vient de ce que vous avez la concaténation de plusieurs document XML et lorsque le parseur arrive à la fin du premier document, il râle d'y trouver autre chose que rien. Dit autrement, si vous voulez utiliser un parseur XML, il faut vous assurer que vous lui donner du XML bien formé.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur systemes et reseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    m'enfin!!!! y'a qu'un document dans ce fichier.xml!

    j'ai plusieurs balises : <REQUEST> c'est ça le problème?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Citation Envoyé par trazomtg Voir le message
    m'enfin!!!! y'a qu'un document dans ce fichier.xml!

    j'ai plusieurs balises : <REQUEST> c'est ça le problème?
    Si cela vous fait plaisir de traduire le problème ainsi...
    En XML, on parle de document construits avec un prologue ("<?xml version="1.0"..." en fait partie) et un élément "racine"...
    Et avant de jouer avec des fichiers qui ressemblent a du XML, prendre le temps de chercher sur Internet un tuto qui vous raconte à quoi çà ressemble n'est pas un luxe. Cà déjà de comprendre les messages d'erreurs comme: "XML declaration allowed only at the start of the document" qui parle de bien de "document".
    Donc si vous ne savez pas ce que c'est, çà ne vous aide pas. Mais ouvrir un tuto. histoire de se retrouver moins bête, c'est pas si compliqué.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre confirmé
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur systemes et reseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut XML XPath et Python
    Bonjour,

    j'ai un fichier XML
    je voudrais extraire des données de ce fichier à l'ai de XPath dans un programmer Python, pour construire un autre fichier texte.
    est ce possible?

    comment faire?
    je ne connais rien à XPath ..... ni à Python
    merci
    T

  8. #8
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    comment faire?
    je ne connais rien à XPath ..... ni à Python
    wiztricks a été suffisamment clair pourtant, nous ne donnons pas de code tout fait, il faut faire votre recherche...

    Apprenez python, puis l'existence de modules permettant d'analyser un fichier XML, seul moyen de créer quelque chose.

    Si vous ne souhaitez faire aucune recherche, il faut rendre visite à un professionnel, le coût du travail sera d'une autre forme.

  9. #9
    Membre confirmé
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur systemes et reseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut Python et Xpath
    bonjour,

    j'ai un fichier text issu d'un fichier XML et je eux récupérer certains champs.
    j'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    from lxml import etree
        with open('/fichier.xml') as f:
            t = etree.parse(f)
     
    for HOSTS in t.xpath("/HOSTS/REQUEST/CONTENT/DEVICE/*"):
        print HOSTS


    et j'ai cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [root@CentOS-Virtual Informatique]# python hello.py
      File "hello.py", 
        with open('/fichier.xml') as f:
        ^
    IndentationError: unexpected indent
    je n'arrive pas à trouver l'erreur!!!!merci pour votre aide

  10. #10
    Membre confirmé
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur systemes et reseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    j'ai avancé car j'ai modifié mon fichier python:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import os
    os.system('grep -v "^<?xml" /text.xml > /fichier.xml')
     
    os.system('sed -i ""1i"<"Ligne">""" /fichier.xml')
    os.system('echo """<"/Ligne">""" >>/fichier.xml')
     
    from lxml import etree
    with open('/fichier.xml') as f:
        t = etree.parse(f)
     
    for ip in t.xpath('/REQUEST/CONTENT/DEVICE/*'):
        print ip
    je n'ai plus d'erreur MAIS je n'ai rien qui s'affiche à l'écran avec le print ip

    merci pour votre aide.
    T.

  11. #11
    Membre confirmé
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur systemes et reseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    si je mets : print(ip) à la place j'obtiens:

    <Element IP at 0x7fe7370b2370>
    <Element MAC at 0x7fe7370b23c0>
    <Element NETPORTVENDOR at 0x7fe7370b2410>
    <Element DNSHOSTNAME at 0x7fe7370b2460>
    <Element IP at 0x7fe7370b24b0>
    <Element MAC at 0x7fe7370b2500>
    <Element NETPORTVENDOR at 0x7fe7370b2550>
    <Element DNSHOSTNAME at 0x7fe7370b25a0>
    <Element IP at 0x7fe7370b25f0>
    <Element IP at 0x7fe7370b2640>
    <Element MAC at 0x7fe7370b2690>
    <Element NETPORTVENDOR at 0x7fe7370b26e0>

    ce n'est pas ce que je veux. je veux récupérer la valeur de ip

    merci pour votre aide

  12. #12
    Membre confirmé
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur systemes et reseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    voila mon petit prog :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import os
    os.system('grep -v "^<?xml" /text.xml > /fichier.xml')
     
    os.system('sed -i ""1i"<"Ligne">""" /fichier.xml')
    os.system('echo """<"/Ligne">""" >>/fichier.xml')
     
    from lxml import etree
    with open('/fichier.xml') as f:
        t = etree.parse(f)
     
    for ip in t.xpath('/Ligne/REQUEST/CONTENT/DEVICE/*'):
        print(ip)
    voila le fichier fichier.xml:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <Ligne>
    <REQUEST>
      <CONTENT>
        <DEVICE>
          <IP>192.168.33.1</IP>
          <MAC>00:50:56:c0:00:08</MAC>
          <NETPORTVENDOR>VMware</NETPORTVENDOR>
        </DEVICE>
        <MODULEVERSION>2.3</MODULEVERSION>
        <PROCESSNUMBER>1</PROCESSNUMBER>
      </CONTENT>
      <DEVICEID>foo</DEVICEID>
      <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>
    <REQUEST>
      <CONTENT>
        <DEVICE>
          <DNSHOSTNAME>gateway</DNSHOSTNAME>
          <IP>192.168.33.2</IP>
          <MAC>00:50:56:f1:50:d0</MAC>
          <NETPORTVENDOR>VMware</NETPORTVENDOR>
        </DEVICE>
        <MODULEVERSION>2.3</MODULEVERSION>
        <PROCESSNUMBER>1</PROCESSNUMBER>
      </CONTENT>
      <DEVICEID>foo</DEVICEID>
      <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>
    <REQUEST>
      <CONTENT>
        <DEVICE>
          <DNSHOSTNAME>CentOS-Virtual</DNSHOSTNAME>
          <IP>192.168.33.128</IP>
        </DEVICE>
        <MODULEVERSION>2.3</MODULEVERSION>
        <PROCESSNUMBER>1</PROCESSNUMBER>
      </CONTENT>
      <DEVICEID>foo</DEVICEID>
      <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>
    <REQUEST>
      <CONTENT>
        <DEVICE>
          <IP>192.168.33.254</IP>
          <MAC>00:50:56:e0:53:4d</MAC>
          <NETPORTVENDOR>VMware</NETPORTVENDOR>
        </DEVICE>
        <MODULEVERSION>2.3</MODULEVERSION>
        <PROCESSNUMBER>1</PROCESSNUMBER>
      </CONTENT>
      <DEVICEID>foo</DEVICEID>
      <QUERY>NETDISCOVERY</QUERY>
    </REQUEST>
    </Ligne>
    et voila le resultat!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [root@CentOS-Virtual Informatique]# python hello.py
    <Element IP at 0x7f29ebaa1370>
    <Element MAC at 0x7f29ebaa13c0>
    <Element NETPORTVENDOR at 0x7f29ebaa1410>
    <Element DNSHOSTNAME at 0x7f29ebaa1460>
    <Element IP at 0x7f29ebaa14b0>
    <Element MAC at 0x7f29ebaa1500>
    <Element NETPORTVENDOR at 0x7f29ebaa1550>
    <Element DNSHOSTNAME at 0x7f29ebaa15a0>
    <Element IP at 0x7f29ebaa15f0>
    <Element IP at 0x7f29ebaa1640>
    <Element MAC at 0x7f29ebaa1690>
    <Element NETPORTVENDOR at 0x7f29ebaa16e0>
    comment récupérer les valeurs de IP MAC NETPORTVENDOR etc......
    merci

  13. #13
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Bonjour

    tu auras besoin d'exploiter la valeur du tag de l'Element récupéré (distinguer IP de MAC de ...) et savoir lire la valeur du texte de l'Element.

    Comme bien souvent, tout est dans le manuel !

  14. #14
    Membre confirmé
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur systemes et reseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    pourquoi demander au x gens compétents plutot que de chercher pendant 2 jours en vain.? on se le demande!!!
    vous donnez déjà trop d'explications!!

  15. #15
    Membre confirmé
    Homme Profil pro
    administrateur systemes et reseaux
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur systemes et reseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    merci plxpi!!! j'ai tout ce qu'il me faut!!

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

Discussions similaires

  1. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 12h32
  2. [XPath] Position d'un élément
    Par ovh dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 07/04/2003, 15h26
  3. sum(XPATH) retourne NaN
    Par TOM-Z dans le forum XMLRAD
    Réponses: 4
    Dernier message: 19/03/2003, 13h48
  4. XPath: intersection de chemins
    Par aldo047 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 13/03/2003, 10h30
  5. Cours en Français sur XML-XSL et XPath
    Par Community Management dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 25/04/2002, 15h46

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