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

Struts 1 Java Discussion :

Struts+JSP+erreur bean,help!


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut Struts+JSP+erreur bean,help!
    je me casse la tête avec une erreur ke Tomcat 5.0.28 me génère, je developpe sous MyEclipse, bon voilà l pb:
    j'ai une page JSP dans lakelle il ya un lien qui m'affiche tous les éléments d'une table dans ma base de données, et en plus d'un lien de recherche par un attribut autre que l'identifiant même de la table; le code de la JSP est:
    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
    <body>
      <div id="body_wrapper">
          <div id="body">
            <div id="all">
    					 			<div class="top"></div>
    								<div class="content">
    <html:link action="viewSites.do?do=showSites">Afficher tous les Sites:</html:link>					
    <html:form action="viewSites.do?do=showSitesById" method="GET">
    <table border="0" align="center" width="50%" height="50%">
    	<tr>		
    			<td>Rechercher par Site: <td/>
    			<td><html:text property="id_site_los" size="8" value=""/><html:errors property="id_site_los"/><br/><td/>
    	<tr/>
    <tr>
    <td colspan="1">
    <html:submit>GO</html:submit>
    </td>
    </tr>
    </table>	
    </html:form> 								
      </body>
    aussi l'action struts relative à cette page est définie dans le fichier struts-config.xml comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     <action 
              attribute="siteLosResultatForm"
              name="siteLosResultatForm"
              parameter="do"
              path="/viewSites"
              input="/form/siteEdit.jsp"
              scope="request"
              type="com.monpfe.struts.action.SitesListAction"
      >
      		  <forward name="showList" path="/form/sitesList.jsp" />
      		  <forward name="showListAfterDelete" path="/viewSites.do?do=showSites" />
      		  <forward name="showListAfterDeleteId" path="/viewSites.do?do=showSitesById" />
      </action>
    dans mon package com.monpfe.struts.action
    j'ai défini la classe SitesListAction comme suit:
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    package com.monpfe.struts.action;
     
    import java.util.Collection;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.actions.DispatchAction;
     
    import com.monpfe.metier.SiteLosResultat;
    import com.monpfe.struts.form.SiteLosResultatForm;
     
    public class SitesListAction extends DispatchAction {
    	public ActionForward showSites(
    			ActionMapping mapping,
    			ActionForm form,
    			HttpServletRequest request,
    			HttpServletResponse response) {
    		SiteLosResultatForm siteLosResultatForm=(SiteLosResultatForm) form;
    		SiteLosResultat site=new SiteLosResultat();
    		Collection c;
    		try {
    			c = (Collection) site.Lister();
    			siteLosResultatForm.setSites(c);
    		}catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return mapping.findForward("showList");
    	}
    	public ActionForward deleteSite(
    			ActionMapping mapping,
    			ActionForm form,
    			HttpServletRequest request,
    			HttpServletResponse response) {
    		SiteLosResultatForm siteLosResultatForm=(SiteLosResultatForm) form;
    		Long Id =Long.parseLong(request.getParameter("Id"));
    		SiteLosResultat site=new SiteLosResultat();
    		site.deleteById(Id);
    		return mapping.findForward("showListAfterDelete");
    	}
    	public ActionForward showSitesById(
    			ActionMapping mapping,
    			ActionForm form,
    			HttpServletRequest request,
    			HttpServletResponse response) {
    		SiteLosResultatForm siteLosResultatForm=(SiteLosResultatForm) form;
    		String id_site_los =request.getParameter("id_site_los");
    		//Long Id =Long.parseLong(request.getParameter("Id"));
    		SiteLosResultat site=new SiteLosResultat();
    		Collection c;
    		try{
    			c=(Collection) site.findByIdLos(id_site_los);	
    			siteLosResultatForm.setSites(c);
    		}catch(Exception e){
    			e.printStackTrace();
    		}
     
    		return mapping.findForward("showList");
    	}
     
    }
    dans le package ...struts.form
    j'ai défini la classe SiteLosResultatForm comme suit:
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    package com.monpfe.struts.form;
     
    import java.util.Collection;
     
    import javax.servlet.http.HttpServletRequest;
     
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
     
    import com.monpfe.persistance.SiteLosResultatBean;
    import java.util.Date;
     
    public class SiteLosResultatForm extends ActionForm{
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	private SiteLosResultatBean siteLosResultatBean=new SiteLosResultatBean();
    	private Collection sites;
     
    	public void setSites(Collection c){
    		sites=c;
    	}
    	public Collection getSites(){
    		return sites;
    	}
    	public SiteLosResultatBean getSiteLosResultatBean(){
    		return siteLosResultatBean;
    	}
    	public void setSiteLosResultatBean(SiteLosResultatBean siteLosResultatBean){
    		this.siteLosResultatBean=siteLosResultatBean;
    	}
    	public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){
    		return null;
    	}
    	public void reset(ActionMapping mapping,HttpServletRequest request){
     
    	}
    	public boolean equals(Object arg0){
    		return siteLosResultatBean.equals(arg0);
    	}
     
    	public int getId(){
    		return siteLosResultatBean.getId();
    	}
    	public void setId(int Id){
    		siteLosResultatBean.setId(Id);
    	}
    	public String getId_Site_Los(){
    		return siteLosResultatBean.getId_Site_Los();
    	}
    	public void setId_Site_Los(String id_site_los){
    		siteLosResultatBean.setId_Site_Los(id_site_los);
    	}
    	public String getCandidatLos(){
    		return siteLosResultatBean.getCandidat_Los();
    	}
    	public void setCandidat_Los(String candidat_los){
    		siteLosResultatBean.setCandidat_Los(candidat_los);
    	}
    	public String getLongitude_Los(){
    		return siteLosResultatBean.getLongitude_Los();
    	}
    	public void setLongitude_Los(String longitude_los){
    		siteLosResultatBean.setLongitude_Los(longitude_los);
    	}
    	public String getLatitude_Los(){
    		return siteLosResultatBean.getLatitude_Los();
    	}
    	public void setLatitude_Los(String latitude_los){
    		siteLosResultatBean.setLatitude_Los(latitude_los);
    	}
    	public String getAdresseLos(){
    		return siteLosResultatBean.getAdresse_Los();
    	}
    	public void setAdresse_Los(String adresse_los){
    		siteLosResultatBean.setAdresse_Los(adresse_los);
    	}
    	public int getH_Los(){
    		return siteLosResultatBean.getH_Los();
    	}
    	public void setH_Los(int h_los){
    		siteLosResultatBean.setH_Los(h_los);
    	}
    	public Date getDate_Saisie(){
    		return siteLosResultatBean.getDate_Saisie();
    	}
    	public void setDate_Saisie(Date date_sasie){
    		siteLosResultatBean.setDate_Saisie(date_sasie);
    	}
    	public String toString(){
    		return siteLosResultatBean.toString();
    	}
     
    }
    dans mon package com.monpfe.metier
    j'ai défini la classe SiteLosResultat comme suit:
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    package com.monpfe.metier;
     
    import java.sql.*;
    import java.util.*;
     
    import com.monpfe.persistance.AgentBean;
    import com.monpfe.persistance.SiteLosResultatBean;
    import com.monpfe.SQL.Sql;
     
    public class SiteLosResultat {
     
    	public ArrayList Lister(){
    		ArrayList liste=null;
    		Sql sql=new Sql();
     
    		String message="select * from site_los_resultat";
    		ResultSet rst= sql.list(message);
    		liste = new ArrayList();
    		SiteLosResultatBean ligne =null;
    		try{
    			while(rst.next()) {
    				ligne=new SiteLosResultatBean();
    				ligne.setId(rst.getInt("Id"));
    				ligne.setId_Site_Los(rst.getString("id_site_los"));
    				ligne.setCandidat_Los(rst.getString("candidat_los"));
    				ligne.setLongitude_Los(rst.getString("longitude_los"));
    				ligne.setLatitude_Los(rst.getString("latitude_los"));
    				ligne.setAdresse_Los(rst.getString("adresse_los"));
    				ligne.setH_Los(rst.getInt("h_los"));
    				ligne.setComment_Los(rst.getString("comment_los"));
    				ligne.setState_Acquisition(rst.getString("state_acquisition"));
    				ligne.setDate_Saisie(rst.getDate("date_saisie"));
    				liste.add(ligne);
    			}}
    			catch(SQLException e){
    				System.out.println("erreur rst.next : "+e.getMessage());
    			}
    			sql.fermerConnection();
    			return liste;
    	}
    	public void inserer(SiteLosResultatBean s){
    		Sql sql=new Sql();
    		String message="insert into site_los_resultat values ("+s.getId()+",'"+s.getId_Site_Los()+"','"+s.getCandidat_Los()+"','"+s.getLongitude_Los()+"','"+s.getLatitude_Los()+"','"+s.getAdresse_Los()+"',"+s.getH_Los()+",'"+s.getComment_Los()+"','"+s.getState_Acquisition()+"','"+s.getDate_Saisie()+"');";
    		try {
    			sql.inserer(message);
    		}catch(SQLException e){
    			e.printStackTrace();
    		}
    		sql.fermerConnection();
    	}
    	public SiteLosResultatBean findByIdLos(String id_site_los)
    	{
    		Sql sql=new Sql();
    		ArrayList liste=null;
    		String message="select * from site_los_resultat where id_site_los= '" + id_site_los+"'";
    		ResultSet rst=sql.list(message);
    		liste = new ArrayList();
    		SiteLosResultatBean ligne=null;
    		try{
    			while(rst.next()) {
    				ligne=new SiteLosResultatBean();
    				ligne.setId(rst.getInt("Id"));
    				ligne.setId_Site_Los(rst.getString("id_site_los"));
    				ligne.setCandidat_Los(rst.getString("candidat_los"));
    				ligne.setLongitude_Los(rst.getString("longitude_los"));
    				ligne.setLatitude_Los(rst.getString("latitude_los"));
    				ligne.setAdresse_Los(rst.getString("adresse_los"));
    				ligne.setH_Los(rst.getInt("h_los"));
    				ligne.setComment_Los(rst.getString("comment_los"));
    				ligne.setState_Acquisition(rst.getString("state_acquisition"));
    				ligne.setDate_Saisie(rst.getDate("date_saisie"));
    				liste.add(ligne);
    			}
    		}catch(SQLException e){
    			System.out.println("erreur rst.next : "+e.getMessage());
    		}
    		sql.fermerConnection();
    		return ligne;
    	}
    	public SiteLosResultatBean findById(Long Id)
    	{
    		Sql sql=new Sql();
    		String message="select * from site_los_resultat where Id= " + Id;
    		ResultSet rst=sql.list(message);
    		SiteLosResultatBean ligne=null;
    		try{
    			while(rst.next()) {
    				ligne=new SiteLosResultatBean();
    				ligne.setId(rst.getInt("Id"));
    				ligne.setId_Site_Los(rst.getString("id_site_los"));
    				ligne.setCandidat_Los(rst.getString("candidat_los"));
    				ligne.setLongitude_Los(rst.getString("longitude_los"));
    				ligne.setLatitude_Los(rst.getString("latitude_los"));
    				ligne.setAdresse_Los(rst.getString("adresse_los"));
    				ligne.setH_Los(rst.getInt("h_los"));
    				ligne.setComment_Los(rst.getString("comment_los"));
    				ligne.setState_Acquisition(rst.getString("state_acquisition"));
    				ligne.setDate_Saisie(rst.getDate("date_saisie"));
    			}
    		}catch(SQLException e){
    			System.out.println("erreur rst.next : "+e.getMessage());
    		}
    		sql.fermerConnection();
    		return ligne;
    	}
    	public void deleteById(Long Id) {
    			Sql sql=new Sql();
    			String message="delete from site_los_resultat where Id = "+Id;
    			try {
    				sql.supprimer(message);
    			}catch (SQLException e){
    				e.printStackTrace();
    			}
    			sql.fermerConnection();
    		}
    	public void update(SiteLosResultatBean s){
    		Sql sql=new Sql();
    		String message="update site_los_resultat set id_site_los= "+s.getId_Site_Los()+",candidat_los= "+s.getCandidat_Los()+",longitude_los= "+s.getLongitude_Los()+",latitude_los= "+s.getLatitude_Los()+",adresse_los= "+s.getAdresse_Los()+",h_los= "+s.getH_Los()+",comment_los= "+s.getComment_Los()+",state_acquisition= "+s.getState_Acquisition()+",date_saisie= "+s.getDate_Saisie()+";";
    		try{
    			sql.modifier(message);
    		}
    		catch(SQLException e){
    			e.printStackTrace();
    		}
    		sql.fermerConnection();
    		}
    	}
    en fin dans le package com.monpfe.persistance j'ai défini la classe SiteLosResultatBean où il y a le bean:
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    package com.monpfe.persistance;
    import java.util.Date;
    public class SiteLosResultatBean implements java.io.Serializable{
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	private int Id;
    	private String id_site_los;
    	private String candidat_los;
    	private String longitude_los;
    	private String latitude_los;
    	private String adresse_los;
    	private int h_los;
    	private String comment_los;
    	private String state_acquisition;
    	private Date date_saisie=new Date();
     
    	public SiteLosResultatBean(int Id,String id_site_los,String candidat_los,
    			String longitude_los,String latitude_los,String adresse_los,
    			int h_los,String comment_los,String state_acquisition,Date date_saisie)
    	{
    		super();
    		this.Id=Id;
    		this.id_site_los=id_site_los;
    		this.candidat_los=candidat_los;
    		this.longitude_los=longitude_los;
    		this.latitude_los=latitude_los;
    		this.adresse_los=adresse_los;
    		this.h_los=h_los;
    		this.comment_los=comment_los;
    		this.state_acquisition=state_acquisition;
    		this.date_saisie=date_saisie;
    	}
    	public SiteLosResultatBean(){
    		super();
    	}
    	public int getId(){
    		return Id;
    	}
    	public void setId(int Id){
    		this.Id=Id;
    	}
    	public String getId_Site_Los(){
    		return id_site_los;
    	}
    	public String getCandidat_Los(){
    		return candidat_los;
    	}
    	public String getLongitude_Los(){
    		return longitude_los;
    	}
    	public String getLatitude_Los(){
    		return latitude_los;
    	}
    	public String getAdresse_Los(){
    		return adresse_los;
    	}
    	public int getH_Los(){
    		return h_los;
    	}
    	public Date getDate_Saisie(){
    		return date_saisie;
    	}
    	public String getComment_Los(){
    		return comment_los;
    	}
    	public String getState_Acquisition(){
    		return state_acquisition;
    	}
     
    	public void setId_Site_Los(String id_site_los){
    		this.id_site_los=id_site_los;
    	}
    	public void setCandidat_Los(String candidat_los){
    		this.candidat_los=candidat_los;
    	}
    	public void setLongitude_Los(String longitude_los){
    		this.longitude_los=longitude_los;
    	}
    	public void setLatitude_Los(String latitude_los){
    		this.latitude_los=latitude_los;
    	}
    	public void setAdresse_Los(String adresse_los){
    		this.adresse_los=adresse_los;
    	}
    	public void setH_Los(int h_los){
    		this.h_los=h_los;
    	}
    	public void setDate_Saisie(Date date_saisie){
    		this.date_saisie=date_saisie;
    	}
    	public void setComment_Los(String comment_los){
    		this.comment_los=comment_los;
    	}
    	public void setState_Acquisition(String state_acquisition){
    		this.state_acquisition=state_acquisition;
    	}
     
    }
    quand je fais appel à la page dans Tomcat j'ai l'erreur suivante quand je clik sur le lien :Afficher tous les sites:
    javax.servlet.ServletException: No getter method for property id_site_los of bean site
    et quand j'entre un id_site_los par exemple "CAS0012" qui figure dans ma base de donnée dans la table site_los_resultat:
    j'ai l'erreur suivante:
    type Rapport d'état

    message Request[/viewSites] does not contain handler parameter named do

    description La requête envoyée par le client était syntaxiquement incorrecte (Request[/viewSites] does not contain handler parameter named do).



    HELP PLEASE! je me suis cassé la tête assez longtemps!
    NB: je travaille avec Eclipse 3.2 et MyEclipse 5.1 aussi TOMCAT 5.0.28, en fin MySql Server.

    merci infiniment pour l'aide si possible!

  2. #2
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    et bien il te manque un getter pour id_site_los.

    Ca signifie que Struts recherche une methode getId_site_los dans ta classe SiteLosResultatBean et qu'il ne la trouve pas

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut struts+JSP+erreur bean
    non mais si tu regarde la classe SiteLosResultatBean tu trouvera bien le getter: getIdSiteLos(){ ...}et le setter: setIdSiteLos(String id_site_los){..}
    alors je vois pas pkoi il me mankerai ces deux fonctions! non?

  4. #4
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    sauf que c'est ca qu'il faut ecrire :

    car ta propriete s'appelle id_site_los

    Pour t'en assurer, utilises generate getters and setters

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    même les majiscules et les minuscules ça compte?même le "_"?
    je vais l'essayer et je te repondrai en tt cas merci!

  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    j'ai parcourus toutes mes classes et j'ai fais les modifications necessaires pour les nomination que tu m'a conseillé de faire, mnt l'erreur a changé : quand je clik sur le lien Afficher tous les sites j'ai comme erreur:No getter method for property Id of bean site

    et quand je fais la recherche par id_site_los j'obtien l'erreur:
    type Rapport d'état

    message Request[/viewSites] does not contain handler parameter named do

    description La requête envoyée par le client était syntaxiquement incorrecte (Request[/viewSites] does not contain handler parameter named do).

    pour le getter et le setter de Id :
    getId(){..}
    setId(int Id){..}

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 29/01/2014, 18h42
  2. Réponses: 2
    Dernier message: 09/08/2007, 16h36
  3. [jsp][struts] Acces au bean d'un <logic:iterate>
    Par Altherac dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 29/09/2004, 13h02
  4. [Struts][JSP] Format avec bean:write
    Par cowa dans le forum Servlets/JSP
    Réponses: 20
    Dernier message: 19/05/2004, 18h16
  5. [Struts][JSP] Sous-propriété de bean non rapatriée
    Par cowa dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/05/2004, 10h25

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