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 :

Champ date dans formulaire et tris de date [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut Champ date dans formulaire et tris de date
    bonjour à tous

    Je débute en php et mysql et suis en train de faire un site pour mon club et je souhaite y intégrer un bloc avec 3 évènements qui sont défini dans une base de donnée.

    Mais j'ai plusieurs soucis et j'espère que vous pourrez m'aider à les résoudre.

    Pour commencer, dans mon formulaire, j'ai un champ pour la date.

    Le plus simple pour moi pour la maquette a été de mettre un champ text :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                   <p>Date</p>
                   <p><input type="text" name="date2" id="date2"  required/></p>
    Dans ma base de donnée, le champ date est en varchar(255). L'info sz'enregistre très bien et je sais la récupérée. Mais le problème vient quand je veux récupérer l'info sur ma page d'accueil car j'aimerai qu'elle apparaisse de la plus récente à la plus ancienne et les 3 dernières seront affichée. Mais avec un champ varchar ça ne fonctionne pas bien.

    Alors j'aimerai utiliser un champ date, mais je en comprend pas le système à mettre sur le formulaire pour qu'il rentre dans la base Mysql au bon format 0000-00-00. J'ai essayé avec le champ date (qui ne fonctionne pas encore sous IE et Firefox), mais il me met le format sur 6 caractère 00-00-00 et en français ce qui ne pemet pas de rentrer la date dans la base mysql...

    Que dois-je faire ?

    mon 2ème problème est naturellement lié. Sur ma page d'accueil, j'aimerai que les 3 dernières dates soient affichée suivant une date qui n'est pas encore passée. Et c'est là que je n'arrive pas à expliquer...

    Dans mon script actuel il me prend les 3 dernières dates entrée dans la base de donnée :
    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
     
                      <div class="tete_agenda">
     
                            <div class="titre_agenda"> AGENDA</div>
     
                            <img src="images/agenda/separation.jpg" alt="separation" />
                             <?php
                                    // Si tout va bien, on peut continuer
                                    // On récupère tout le contenu de la table news et on demande le dernier enregistrement écrit
                                    $reponse = $bdd->query('SELECT * FROM agenda ORDER BY date2 DESC LIMIT 1');
     
                                    // On affiche chaque entrée une à une
                                    while ($donnees = $reponse->fetch())
     
                                    { 
     
                                ?>
                           <div id="date1">
                            <h2><?php echo $donnees['tit']; ?><br /></h2>
                             <h3><?php echo $donnees['mait']; ?></h3> <br />
                                <?php echo $donnees['date']; ?><br />
                                <a href="<?php echo $donnees['lien']; ?>" > Renseignement ICI</a>
                            </div>
                                 <?php
                                    }
                                $reponse->closeCursor(); // Termine le traitement de la requête
                                ?>
               <!-- Agenda 2-->             
                           <img src="images/agenda/separation.jpg" alt="separation" />
                                <?php
                                // Si tout va bien, on peut continuer
     
                                // On récupère tout le contenu de la table news et on demande l'avant dernier enregistrement écrit
                                $reponse = $bdd->query('SELECT * FROM (SELECT * FROM agenda ORDER BY date2 DESC LIMIT 2) tmp ORDER BY date2 ASC LIMIT 1');
     
     
                                // On affiche chaque entrée une à une
                                while ($donnees = $reponse->fetch())
                                {
                                ?>
                           <div id="date2">
                            <h2><?php echo $donnees['tit']; ?><br /></h2>
                             <h3><?php echo $donnees['mait']; ?></h3> <br />
                                <?php echo $donnees['date']; ?><br />
                                <a href="<?php echo $donnees['lien']; ?>" > Renseignement ICI</a>
                            </div>
                                 <?php
                                                           }
                                $reponse->closeCursor(); // Termine le traitement de la requête
                                ?>
               <!-- Agenda 3-->
                            <img src="images/agenda/separation.jpg" alt="separation" />
                                 <?php
                                // Si tout va bien, on peut continuer
     
                                // On récupère tout le contenu de la table news et on demande l'avant dernier enregistrement écrit
                                $reponse = $bdd->query('SELECT * FROM (SELECT * FROM agenda ORDER BY date2 DESC LIMIT 3) tmp ORDER BY date2 ASC LIMIT 1');
     
     
                                // On affiche chaque entrée une à une
                                while ($donnees = $reponse->fetch())
                                {
                                ?>
                           <div id="date2">
                            <h2><?php echo $donnees['tit']; ?><br /></h2>
                             <h3><?php echo $donnees['mait']; ?></h3> <br />
                                <?php echo $donnees['date']; ?><br />
                                <a href="<?php echo $donnees['lien']; ?>" > Renseignement ICI</a>
                            </div>
                                 <?php
                                                           }
                                $reponse->closeCursor(); // Termine le traitement de la requête
                                ?>
     
                       </div>
    mais si j'ai 10 dates qui ne sont pas encore passée, il me prend quand même les 3 dernières , donc il y a 7 date qui passe à la trappe...

    Comment pourrai-je faire pour "limiter" au 3 dernières dates qui ne sont pas encore passées?

    Un grand merci d'avance

  2. #2
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 373
    Points
    19 373
    Par défaut
    Hello,

    Pour ton problème d'insertion, il faut continuer à utiliser un input type="text".
    C'est derrière, en PHP, que tu dois modifier la chaine reçue afin que son format coïncide à celui de ta colonne en base.

  3. #3
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    Alors j'aimerai utiliser un champ date, mais je en comprend pas le système à mettre sur le formulaire pour qu'il rentre dans la base Mysql au bon format 0000-00-00. J'ai essayé avec le champ date (qui ne fonctionne pas encore sous IE et Firefox), mais il me met le format sur 6 caractère 00-00-00 et en français ce qui ne pemet pas de rentrer la date dans la base mysql...
    j'ai une mauvaise nouvelle pour toi. Il faut que tu demandes la date via un champ texte et que tu la valides (pour interdire les dates comme 29/02/213) à la main en php puis du reformates en txt au format AAAA-MM-JJ.


    pour ta seconde question, il y a deux choses à savoir.

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Merci pour les informations,

    je vais chercher et vous dirai quoi

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Je suis dans la panade totale...

    j'ai cherché une méthode pour vérifier le format, il en existe plusieurs mais j'ai trouvé ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
        if (! ereg('^([0-9]{2})-([0-9]{2})-([0-9]{4})$', $_POST['body_date'], $regs))
              {
                 $error_msg = "Le format de la date est incorrect";
              }
    C'est bien jolis, mais j'ai pas compris comment l'intégrer à mon formulaire...

    Alors pour ce qui est du CURDATE(), j'ai compris plus ou moins sa fonction, mais je vois pas comment l'utiliser dans mon script ..

    Je sais j'en demande beaucoup, mais en php j'en suis a la base de la base ...

    Quelques pistes pour moi ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En PHP tu as la fonction checkdate() pour valider les dates, c'est plus fiable qu'une expression régulière.

  7. #7
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    +1
    sans compter que ereg est déprécié.

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Ok je regarderai ça demain,

    merci

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Rebonjour

    en cherchant comment transformer la date anglaise 0000-00-00 en française, j'ai trouvé se script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //Format US ( de Base ) en Francais
    $a = substr($data['DATE'], 0, 4); // conversion
    $m = substr($data['DATE'], 5, 2); // de la date
    $j = substr($data['DATE'], 8, 2); // au format
    $date = $j.'-'.$m.'-'.$a; // Français
    Que j'ai modifié pour qu'il prenne en compte les donnée sortie de ma base de donnée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php 
    //Format US ( de Base ) en Francais
    $a = substr($donnees['date'], 0, 4); // conversion
    $m = substr($donnees['date'], 5, 2); // de la date
    $j = substr($donnees['date'], 8, 2); // au format
    $donnees = $j.'-'.$m.'-'.$a; // Français
    echo $donnees;
    ?>
    Ca marche très bien, mais j'ai trouvé une solution pour transformer la date numérique en date "écrite".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")-1]." ".date("Y");
    echo $datefr;
    ?>
    Dans l'état actuel, il me marque bien la date du jour Samedi 10 Novembre 2012

    j'ai essayé de l'intégré dans le script précédent, pour qu'il prenne en compte la date de ma base de donnée. J'ai réussi avec le jour au format texte en modifiant la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $Jour[date("w")]
     
    En
     
    $Jour[$donnees[date("w")]]
    mais pour le jour chiffré, le mois et l'année, ça ne fonctionne pas..

    Comment pourrai-je faire pour que ça soit pris en compte ?

    Pour le checkdate, j'ai trouvé un script , mais le problème est encore de l'intégré dans mon script.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
      $result = checkdate(13, 10, 2002);
     
      if( $result == true )
      {
          echo 'la date est valide';
      }
      else
      {
          echo 'la date n\'est pas valide';
      }
     
    ?>
    si je ne me trompe c'est dans le fichier qui envoie les données à ma base que je dois rajouter se code.

    Mon code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                $req = $bdd->prepare('INSERT INTO agenda(tit, mait, date, renseignements, lien) VALUES(:tit, :mait, :date, :renseignements, :lien)');
                $req->execute(array(
                        'tit' => $_POST['tit'],
                        'mait' => $_POST['mait'],
                        'date' => $_POST['date'],
                        'renseignements'=> $_POST['renseignements'],
                        'lien' => $_POST['lien'],
                        ));
                echo 'L\'activitée à bien été ajoutée dans la base de donnée'
    à quel moment du script dois-je l'intégrer? Au début je pense, mais pour celà je dois recréer un variable pour la date et après le test, la ramettre dans mon array????

    Je pense que je me suis lancé dans un morceau trop gros pour mon site ..

    Merci d 'avance

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Pour moi le plus important c'est de pouvoir récupérer les 3 prochains évènements, le formatage de la date je m'en occuperai plus tard.

    Donc d'après vos renseignements j'ai cherché avec la "fonction" CURDATE.

    Beaucoup d'information en anglais,... mais j'ai réussi à trouver se code qui ressemble un peut à ce que je veux faire.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM agenda WHERE date >= CURDATE() ORDER BY rand() desc LIMIT 3
    Je voulais juste savoir si je me rapproche de ce qui est possible faire ?

    Merci

  11. #11
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Je pense me rapprocher de plus en plus.

    Si je fait une traduction littérale de ce que je veux:

    Prend tout dans la table agenda et donne les 3 prochaines infos à partir de la date actuelle.

    Voici ce que ça donne pour moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM agenda WHERE date >= CURDATE() LIMIT 3
    Ca me prend bien 3 infos. Il a l'air de bien pendre les 3 prochaines, mais elle ne sont pas dans l'ordre .

    Alors j'essaie d'intégrer ASC ou DESC mais ça fait planter mon code.

    Y a t'il un autre moyen de classer des infos au lieu d'utiliser ASC ou DESC.

    Merci

  12. #12
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Voilà, j'ai presque trouvé grâce à se site :
    http://dev.mysql.com/doc/refman/5.0/fr/select.html

    Je mélangeais les syntaxes, ce qui me donnait une erreur;
    donc j'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ('SELECT * FROM (SELECT * FROM agenda WHERE date >= CURDATE() LIMIT 3 ) tmp ORDER BY date ASC')
    Maintenant quand je limite à 3 j'ai deux date qui s'inverse. Dès que je rajoute une 4ème je n'ai pas de soucis


    3 dates
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    11-11-2012
    02-12-2012
    02-12-2013
     
    il manque 03-12-2012
    4 dates
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    11-11-2012
    02-12-2012
    03-12-2012
    02-12-2013
    Merci d'avance

  13. #13
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Points : 358
    Points
    358
    Par défaut
    la requête serait plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    'SELECT * FROM agenda WHERE date >= CURDATE() ORDER BY date ASC LIMIT 3

  14. #14
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Ha oui ça marche mieux,

    j'avais essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM agenda WHERE date >= CURDATE() ORDER BY ASC LIMIT 3
    et ça n'avais pas fonctionné vu que j'avais oublié (pas bien pensé et compris) qu'il fallait rajouter encore le champs sur lequel on devait faire le tris ;

    Un grand merci

  15. #15
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    il faut arrêter de cuisiner les dates avec des substr(). PHP offre tout ce qu'il faut nativement.
    Voici le code propre équivalent à toute ta batterie de cuisine sur les dates :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     
    $txt  = '20121111';
    $date = DateTime::createFromFormat('Ymd', $txt);
    echo 'fr_date : ', $date->format('d-m-Y'), '<br />';
    echo IntlDateFormatter::create('fr_FR', IntlDateFormatter::FULL, IntlDateFormatter::NONE)->format($date);
     
    ?>

  16. #16
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Merci pour cet élément de réponse;

    Ca fonctionne très bien quand je met une valeur dans la variable $txt (j'ai fait une modification pour que la date soit prise comme celle dans ma base de donnée (0000-00-00) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    createFromFormat('Y-m-d', $txt)
    Là où ça pose problème, c'est quand je veut prendre les dates dans ma base de donnée avec ma variable $donnees['mail'].

    Je remplace '2012-11-11' par ma variable ce que je trouve logique d'après mes maigre connaissance. Mais ça ne fonctionne pas.

    Voilà le code que j'ai modifié:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $txt  = $donnees['mail'];
    $date = DateTime::createFromFormat('Y-m-d', $txt);
    							$date->format('d-m-Y');
    echo IntlDateFormatter::create('fr_FR', IntlDateFormatter::FULL, IntlDateFormatter::NONE)->format($date);
    ?>
    et voici le code d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Undefined index: mail in F:\www\ctcdesigne\pages\test2.php on line 69 Fatal error: Call to a member function format() on a non-object in F:\www\ctcdesigne\pages\test2.php on line 71
    Comment mettre une valeur de table, ici date, dans une variable? C'est une chose que je n'arrive pas à comprendre .

    Merci d'avance

  17. #17
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Il faut que tu vérifies le contenu de $donnees avec un que tu places juste après avoir rempli la variable.

    La classe DateTime renvoie false si la date passée en argument n'est pas valide et false n'est pas un object mais un boolean d'où le message d'erreur.

  18. #18
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    On dit que quand on est con, c'est pour la vie, j'espère que cet adage n'est pas pour moi....

    Ça n'aurai jamais pu fonctionner vu je mélange plusieurs problèmes que j'ai pour la création de mon site. Dans le script que tu m'as donné, je place une infos qu'il n'y a pas dans la table agenda... et oui j'ai fait la grosse boulette de mettre mail à la place de date;

    C'est le print_r qui m'a fait l'effet d'un flash ^^.

    ...pas de mail...

    enfin merci pour tout

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/07/2009, 18h41
  2. Scinder champs date dans formulaire
    Par Sami Xite dans le forum IHM
    Réponses: 11
    Dernier message: 28/04/2008, 20h29
  3. [SQL-VBA]tri par date dans access
    Par Mickey_Mouse dans le forum VBA Access
    Réponses: 5
    Dernier message: 06/02/2007, 09h49
  4. Saisie automatique de dates dans formulaires
    Par yves89 dans le forum IHM
    Réponses: 11
    Dernier message: 17/05/2006, 00h04
  5. Tri de dates dans listview
    Par Le Djé dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 18/01/2006, 19h48

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