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 :

preremplir un formulaire en local


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 112
    Points : 48
    Points
    48
    Par défaut preremplir un formulaire en local
    Bonjour tous d'abord meilleurs voeux pour cette année 2016
    Voilà ma question.
    J’essaie de faire fonctionner le script de http://www.seoblackout.com/2008/02/1...ue-formulaire/ mais j'ai l'impression que sa ne fonctionne pas j'ai tout mis en local, mais je n'ai pas le résultat escompté.
    Pouvez-vous m'aider, merci

    page cible
    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
    <html xmlns="http://www.w3.org/1999/xhtml">
    <form id="soumet" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" name="form2submit">
    <fieldset>
    <legend>Tous les champs sont obligatoires !</legend>
    <input type="hidden" name="action" value="submit" />
    <select name="id_cat">
    <option value=0>Liste catégories</option>
    <option value=0>--------------------------</option>
    <option label="Annuaires référencement " value=7>Annuaires référencement</option>
    <option label="Blogs référencement " value=6>Blogs référencement</option>
    <option label="Concours de référencement " value=4>Concours de référencement</option>
    <option label="Forums référencement " value=2>Forums référencement</option>
    <option label="Inclassables " value=8>Inclassables</option>
    <option label="Outils référencement " value=1>Outils référencement</option>
    <option label="Prestataires référencement " value=5>Prestataires référencement</option>
    <option label="Sites web Référencement " value=3>Sites web Référencement</option></select>
    <br /><br />
    <label>Votre nom :   </label>
    <input type="text" name="nom_proprio" maxlength="50" size="53" value="" /><br />
    <label>Votre email :   </label>
    <input type="text" name="email_proprio" maxlength="75" size="53" value="" /><br />
    <label>Titre du site : &nbsp; </label>
    <input type="text" name="titre" maxlength="50" size="53" value="" /><br />
    <label>Url du site :   </label>
    <input type="text" name="url" maxlength="150" size="53" value="http://" /><br />
    <label>Url image :</label>
    <input type="text" name="url_image" maxlength="150" size="53" value="http://" /><br /> 
    <br /> 
    <label>Description du site<br />
    </label>
    <textarea name="description" cols="50" rows="5"></textarea>
    <br />
    <input id ="go" type="submit" value="Soumettre le site" />
    </fieldset>
    </form>
     
    </body>
    </html>
    Page controle
    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
    <?php
    $postfields = array();
    $postfields["action"] = "submit";
    $postfields["nom_proprio"] = "Tiger";
    $postfields["email_proprio"] = "none@none.com";
    $postfields["titre"] = "Techniques referencement";
    $postfields["url"] = "http://www.seoblackout.com/";
    $postfields["url_image"] = "http://www.seoblackout.com/ascreen.jpg";
    $postfields["description"] = "SEO BlackOut est dédié aux techniques de référencement et de positionnement de sites web.";
    $postfields["id_cat"] = "6";
    $postfields["add2newsletter"] = "1";
    var_dump($postfields);
    //url de la page de soumission
    //ici mon annuaire (qui a un captcha donc inutile de tenter la soumission auto, c'est pour l'exemple)
    $url = "http://localhost/seo/essais.php";
    $useragent = "Mozilla/5.0";
    $referer = $url; 
     
    //Initialise une session CURL
    $ch = curl_init($url);
    echo($ch); 
    //CURL options
    curl_setopt($ch, CURLOPT_POST, 1);
    //On poste les données du tableau $postfields
     
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
    //On définit un useragent ici Mozilla/5.0
    //souvent les bots se font passés pour googlebot ce qui finalement est stupide
    //On passe donc un useragent banal
     
     
     
    curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    //On passe un referrer ici on passe la même page $url
    curl_setopt($ch, CURLOPT_REFERER, $referer);
    //on récupère le contenu de la page de résultat de la soumission dans une chaine
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // en cas de redirection (facultatif ici)
    //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    //Page de résultats et fermeture de session
    $result = curl_exec($ch);
    curl_close($ch);
     
    //on peut faire un echo du résultat obtenu
    echo $result;
    ?>
    Fichiers attachés Fichiers attachés

  2. #2
    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
    Qu'attends-tu comme résultat ? Qu'obtiens-tu ?

    Encore une fois, ce script ne rempli pas les champs d'un formulaire, il envoi une requête comme si elle venait d'un formulaire rempli.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    Bonjour merci de ton aide j’étais persuadé que sa changer les valeurs dans les formulaires, tu as une méthode pour contrôle que la requête s'est bien déroulé?
    Parce que même si tous ce fait de façon distante http://localhost/seo/essais.php le bouton soumettre devrait au moins nous indiquer un message d'erreur
    Cordialement

  4. #4
    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
    De quelle requête parles-tu ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    Bonjour SABOTAGE et tous d'abord merci de prendre du temps pour m'aider
    je m'attendais que quand on lance la fonction curl un fichier aller ce lancer(télécharger)
    je me suis tromper, et je commence à comprendre cette fonction
    maintenant mon problèmes et que j'ai un message d'erreur lors de la création de mon script
    de plus ce script fonction sur le PHP 5.5 et la je suis sur du 5.4
    merci d'avance pour ton aide

    Voila mon erreur
    Notice: Trying to get property of non-object in C:\Users\g17356\Documents\php\UwAmp\UwAmp\www\jacob\index2.php
    ligne en erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($login->success == 1)
    reste du code
    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
     
           public function login() {
     
     
    			$postValues = http_build_query(
                    array(
                        'username' => $emailAddress,
                        'password' => $password,
                        'RememberMe' => 'true',
                        'IsAjaxRequest' => 'false'
                    )
                );
     
                $request = $this->curlPostFields($this->loginUrl, $postValues);   
     
                $login = json_decode($request); 
     
                if ($login->success == 1) {
                    // Successful login
                        $message = 'Successful login.'; 
                    echo $message;
                } elseif ($login->success == 0) {
                    $message = $login->error;    
                    echo $message;
                    exit(); // Ending program
                } else {
                    $message = 'Unknown login error.';  
                    echo $message;
                    exit(); // Ending program
                }
            }

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    après plusieurs essais
    de plus sur la version PHP 5.5 cela fonction et sur 5.4 et 5.3 nous avons cette erreur
    personne ne peux m'aide

    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
    <?php
        class NCRSilverScraper {
     
            // Class constructor method
            function __construct() {
     
                $this->useragent = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3';    // Setting useragent of a popular browser
     
                $handle = fopen('cookie.txt', 'w') or exit('Unable to create or open cookie.txt file.'."\n");   // Opening or creating cookie file
                fclose($handle);    // Closing cookie file
                $this->cookie = 'cookie.txt';    // Setting a cookie file to store cookie
                $this->timeout = 30; // Setting connection timeout in seconds
     
                $this->loginUrl = 'https://mysite.php';
     
            }
     
     
            // User login method
            public function login() {
     
                // Login values to POST as array
                $emailAddress = "user";
    			$password="passs";
    			$postValues = http_build_query(
                    array(
                        'username' => $emailAddress,
                        'password' => $password,
                        'RememberMe' => 'true',
                        'IsAjaxRequest' => 'false'
                    )
                );
     
                $request = $this->curlPostFields($this->loginUrl, $postValues);   // Faire demande cURL POST
     
                $login = json_decode($request); // Decoding the JSON response
     
                if ($login->success == 1) {
                    // Successful login
                        $message = 'Successful login.'; // Assigning successful message
                    echo $message;
                } elseif ($login->success == 0) {
                    $message = $login->error;    // Assigning login error message returned by server
                    echo $message;
                    exit(); // Ending program
                } else {
                    $message = 'Unknown login error.';  // Assigning unknown login error message
                    echo $message;
                    exit(); // Ending program
                }
            }
     
            // User logout method
            public function logout() {
                $request = $this->curlPostFields('https://mysite.php/app/Account/LogOff?CancelLogin=true&isAjaxRequest=true', null);  // Logging out
            }
     
            // Method to search and scrape existing members details
            public function scrapePersons($searchString = '') {
     
                $searchUrl = 'https://mysite.php';
     
                $postValues = array(
                    'PageRowCount' => 1000,
                    'RequestedPageNum' => 1,
                    'TotalRowCount' => -1,
                    'SearchArg' => $searchString,
                    'SortDirection' => 'ASC',
                    'SortColumn' => 'Name',
                    'page' => 1,
                    'start' => 0,
                    'limit' => 1000,
                    'sort' => '[{"property":"Name","direction":"ASC"}]',
                    'isAjaxRequest' => true,
                );
     
                $search = $this->curlPostFields($searchUrl, $postValues);
     
                return $search;
            }
     
            // Method to make a POST request using form fields
            public function curlPostFields($postUrl, $postValues) {
                $_ch = curl_init(); // Initialising cURL session
     
                // Setting cURL options
                curl_setopt($_ch, CURLOPT_SSL_VERIFYPEER, FALSE);   // Prevent cURL from verifying SSL certificate
                curl_setopt($_ch, CURLOPT_FAILONERROR, TRUE);   // Script should fail silently on error
                curl_setopt($_ch, CURLOPT_COOKIESESSION, TRUE); // Use cookies
                curl_setopt($_ch, CURLOPT_FOLLOWLOCATION, TRUE);    // Follow Location: headers
                curl_setopt($_ch, CURLOPT_RETURNTRANSFER, TRUE);    // Returning transfer as a string
                curl_setopt($_ch, CURLOPT_COOKIEFILE, $this->cookie);    // Setting cookiefile
                curl_setopt($_ch, CURLOPT_COOKIEJAR, $this->cookie); // Setting cookiejar
                curl_setopt($_ch, CURLOPT_USERAGENT, $this->useragent);  // Setting useragent
                curl_setopt($_ch, CURLOPT_URL, $postUrl);   // Setting URL to POST to
                curl_setopt($_ch, CURLOPT_CONNECTTIMEOUT, $this->timeout);   // Connection timeout
                curl_setopt($_ch, CURLOPT_TIMEOUT, $this->timeout); // Request timeout
     
                curl_setopt($_ch, CURLOPT_POST, TRUE);  // Setting method as POST
                curl_setopt($_ch, CURLOPT_POSTFIELDS, $postValues); // Setting POST fields (array)
     
                $results = curl_exec($_ch); // Executing cURL session
                curl_close($_ch);   // Closing cURL session
     
                return $results;
            }
     
     
            // Class destructor method
            function __destruct() {
                // Empty
            }
        }
     
     
        // Let's run this baby and scrape us some data!
        $testScrape = new NCRSilverScraper();   // Instantiating new object
     
        $testScrape->login();    // Logging into server
     
        $data = json_decode($testScrape->scrapePersons());   // Scraping people records
        print_r($data);
     
        $testScrape->logout();   // Logging out
     
    ?>

  7. #7
    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
    Utilise var_dump pour debuguer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       $request = $this->curlPostFields($this->loginUrl, $postValues);   // Faire demande cURL POST
     var_dump($request);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    Salut, Encore merci sabotage pour ton aide
    mais quand j'utilise la fonction var_dump il y a a juste
    par contre je ne comprend pourquoi il n'affiche que sa
    d'avance merci

  9. #9
    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
    Il semble qu'il y ait un problème avec l'execution de cURL, il faut debuguer encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $results = curl_exec($_ch); // Executing cURL session
    var_dump($results);
    echo curl_error();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 112
    Points : 48
    Points
    48
    Par défaut
    Bonjour sabotage
    après de longue recherche j'ai utilisé un code qui fonctionne par contre comment faire une capture d'ecran
    j'ai tenté imagegrabscreen() mais sa m'affiche juste une page noir et je ne comprend pas pourquoi
    Cordialement

    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
    128
    129
    <?php
    $im = imagegrabscreen();
        class NCRSilverScraper {
     
            // Class constructor method
            function __construct() {
     
                $this->useragent = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3';    // Setting useragent of a popular browser
     
                $handle = fopen('cookie.txt', 'w') or exit('Unable to create or open cookie.txt file.'."\n");   // Opening or creating cookie file
                fclose($handle);    // Closing cookie file
                $this->cookie = 'cookie.txt';    // Setting a cookie file to store cookie
                $this->timeout = 30; // Setting connection timeout in seconds
     
                $this->loginUrl = 'https://mystore.ncrsilver.com/app/Account/LogOn';
     
            }
     
     
            // User login method
            public function login() {
     
                // Login values to POST as array
                $emailAddress = "login";
    			$password="password";
    			$postValues = http_build_query(
                    array(
                        'username' => $emailAddress,
                        'password' => $password,
                        'RememberMe' => 'true',
                        'IsAjaxRequest' => 'false'
                    )
                );
     
                $request = $this->curlPostFields($this->loginUrl, $postValues);   // Faire demande cURL POST
     
                $login = json_decode($request); // Decoding the JSON response
     
                if ($login->success == 1) {
                    // Successful login
                        $message = 'Successful login.'; // Assigning successful message
                    echo $message;
                } elseif ($login->success == 0) {
                    $message = $login->error;    // Assigning login error message returned by server
                    echo $message;
                    exit(); // Ending program
                } else {
                    $message = 'Unknown login error.';  // Assigning unknown login error message
                    echo $message;
                    exit(); // Ending program
                }
            }
     
            // User logout method
            public function logout() {
                $request = $this->curlPostFields('https://mystore.ncrsilver.com/app/Account/LogOff?CancelLogin=true&isAjaxRequest=true', null);  // Logging out
            }
     
            // Method to search and scrape existing members details
            public function scrapePersons($searchString = '') {
     
                $searchUrl = 'https://mystore.ncrsilver.com/app/Customer/GetCustomers';
     
                $postValues = array(
                    'PageRowCount' => 1000,
                    'RequestedPageNum' => 1,
                    'TotalRowCount' => -1,
                    'SearchArg' => $searchString,
                    'SortDirection' => 'ASC',
                    'SortColumn' => 'Name',
                    'page' => 1,
                    'start' => 0,
                    'limit' => 1000,
                    'sort' => '[{"property":"Name","direction":"ASC"}]',
                    'isAjaxRequest' => true,
                );
     
                $search = $this->curlPostFields($searchUrl, $postValues);
     
                return $search;
            }
     
     
            // Method to make a POST request using form fields
            public function curlPostFields($postUrl, $postValues) {
                $_ch = curl_init(); // Initialising cURL session
     
                // Setting cURL options
                curl_setopt($_ch, CURLOPT_SSL_VERIFYPEER, FALSE);   // Prevent cURL from verifying SSL certificate
                curl_setopt($_ch, CURLOPT_FAILONERROR, TRUE);   // Script should fail silently on error
                curl_setopt($_ch, CURLOPT_COOKIESESSION, TRUE); // Use cookies
                curl_setopt($_ch, CURLOPT_FOLLOWLOCATION, TRUE);    // Follow Location: headers
                curl_setopt($_ch, CURLOPT_RETURNTRANSFER, TRUE);    // Returning transfer as a string
                curl_setopt($_ch, CURLOPT_COOKIEFILE, $this->cookie);    // Setting cookiefile
                curl_setopt($_ch, CURLOPT_COOKIEJAR, $this->cookie); // Setting cookiejar
                curl_setopt($_ch, CURLOPT_USERAGENT, $this->useragent);  // Setting useragent
                curl_setopt($_ch, CURLOPT_URL, $postUrl);   // Setting URL to POST to
                curl_setopt($_ch, CURLOPT_CONNECTTIMEOUT, $this->timeout);   // Connection timeout
                curl_setopt($_ch, CURLOPT_TIMEOUT, $this->timeout); // Request timeout
     
                curl_setopt($_ch, CURLOPT_POST, TRUE);  // Setting method as POST
                curl_setopt($_ch, CURLOPT_POSTFIELDS, $postValues); // Setting POST fields (array)
     
                $results = curl_exec($_ch); // Executing cURL session
                curl_close($_ch);   // Closing cURL session
     
                return $results;
            }
     
     
     
            // Class destructor method
            function __destruct() {
                // Empty
            }
        }
     
    $exec = exec ('boxcutter -f image.png');  // -f est l' option plein écran 
        // Let's run this baby and scrape us some data!
        $testScrape = new NCRSilverScraper();   // Instantiating new object
     
        $testScrape->login();    // Logging into server
     
        $data = json_decode($testScrape->scrapePersons());   // Scraping people records
        print_r($data);
     
        $testScrape->logout();   // Logging out
     
    ?>

Discussions similaires

  1. [AC-2010] BDD En ligne - Formulaires en local
    Par GuillaumeC32 dans le forum Access
    Réponses: 1
    Dernier message: 30/05/2013, 16h42
  2. [Encodage] Formulaire html local (sans php) problème d'encodage des caractères
    Par DubeiserTM dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 01/06/2011, 10h34
  3. Réponses: 11
    Dernier message: 22/03/2009, 16h37
  4. Comment visualiser mes formulaire en local
    Par izeba dans le forum Apache
    Réponses: 2
    Dernier message: 02/06/2008, 21h23
  5. [MySQL] Formulaire d'identification ok en local mais pas sur le serveur
    Par hoangeric dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 24/04/2006, 20h49

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