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

Symfony PHP Discussion :

Créer un fichier CSV [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre éclairé Avatar de blasil64
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 324
    Par défaut Créer un fichier CSV
    Bonsoir,
    Je teste le plugin sfCsvPlugin afin de lire et écrire un fichier CSV (import / export). J'ai réussi à lire les données d'un fichier, par contre pour créer un nouveau fichier CSV, je n'ai pas trouvé comment faire...
    J'ai regardé à cette page, mais je n'ai pas trouvé comment faire...

    J'attends votre aide si possible...

    Merci d'avance !

  2. #2
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    Salut,

    Ce plugin est sous Propel, Doctrine est plus ou moins recommandé au jour d'aujourd'hui.

    Détailles nous un peu plus ton problème :

    Depuis quel Modèle, quel champs...

    On pourras alors y voir plus clair et si c'est possible, t'aider dans ta recherche.

    A+

  3. #3
    Membre éclairé Avatar de blasil64
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 324
    Par défaut
    Oui je sais qu'il est sous Propel, mais c'est une consigne du maître de stage... Sinon il en existe pas pour le faire avec Doctrine ?
    En fait je devais juste faire des tests pour voir comment ça fonctionnait et si c'était facilement utilisable pour l'utiliser dans des sites web pour des entreprises qui le demande.

    Mon but fut de lire un fichier CSV. Cela, je l'ai réussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $reader = new sfCsvReader('C:\Users\Guillaume\Cours\workspace\testCSV\test.csv', ';');
       $reader->open();
     
       while ($data = $reader->read())
       {
    	 echo $data[0]." ";
    	 echo $data[1]." ";
    	 echo $data[2]."<br/>";
       } 
     
      $reader->close();
    Maintenant j'aimerais savoir s'il était possible à partir de variables, de tableaux... de créer un fichier CSV, et d'y insérer les valeurs d'un tableau ou autres et d'enregistrer le fichier sur le disque dur ou le serveur.
    Mais ça, je n'ai pas réussi à le faire...

    Merci pour ton aide !

  4. #4
    Membre éclairé Avatar de blasil64
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 324
    Par défaut
    Un petit up de passage si quelqu'un pouvait m'aider.

    Merci d'avance.

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Tu as utilisé sfCsvWriter ?

    Ou autre ?

    As tu commencer un bout de code ?

  6. #6
    Membre éclairé Avatar de blasil64
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 324
    Par défaut
    Bonsoir,
    Disons que j'ai regardé la documentation du plugin sfCsvPlugin, mais autant le lecture et la récupération de l'information fur facile, autant je ne comprends pas la création d'un fichier csv.
    J'avais mis ce bout de code qui provient de la documentation :
    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
    $writer = new sfCsvPropelWriter('MyClass', $myCriteria[, $delimiter[, $enclosure]]);
     
      header('Content-Type: application/msexcel;charset=ISO-8859-1');
      header('Content-Disposition: attachment;filename=contacts.csv');
     
      $c = new Criteria();
      $c->add(ContactPeer::EMAIL, null, Criteria::IS_NOT_NULL);
      $c->clearSelectColumns()
        ->addSelectColumn(ContactPeer::ID)
        ->addSelectColumn(ContactPeer::EMAIL);
     
      $pwriter = new sfCsvPropelWriter('Contact', $c, ";", '"');
      $pwriter->getWriter()->setCharset('ISO-8859-1'); // gets sfCsvWriter and configure it
     
      echo $pwriter->getHeader();
    J'obtiens un beau message d'erreur qui correspond à la première ligne de mon bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected ',', expecting ']'
    Je précise que je suis débutant en symfony, donc il y a peut-être des grossièretés que j'oublie... Cela est surement dû à mes lacunes encore...

    Merci d'avance pour votre aide !

  7. #7
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je ne connais pas le plugin en question, mais il me semble que tu as tu allez un peu vite dans l'utilisation du code type.

    Dans la première ligne de code :
    new sfCsvPropelWriter('MyClass', $myCriteria[, $delimiter[, $enclosure]]);
    Je pense que les [ et les ] indiquent des paramètres optionnels de l'objet sfCsvPropelWriter et non pas des parties de la syntaxe.

    Il faudrait donc l'écrire
    new sfCsvPropelWriter('MyClass', $myCriteri[, $delimiter, $enclosure);
    où $delimiter et $enclosure sont des paramètres optionnels.

    Soit tu n'en mets aucun, soit tu mets le $delimiter et pas le $ enclosure, soit tu mets les deux.

  8. #8
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Non, non c n'est pas ça
    J'ai fait une recherche et je suis tombé sur le code que tu as repris !

    Synopsis de la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    -### sfCsvPropelWriter ###
    -
    -
    -    $writer = new sfCsvPropelWriter('MyClass', $myCriteria[, $delimiter[, $enclosure]]);
    -
    -
    -Constructor can take four parameters:
    -
    - * `$className`: Propel object class name ('Book', 'Contact', ...).
    - * `$criteria`: Criteria object.
    - * `$delimiter` and `$enclosure`.
    C'est de l'info sur la définition de la fonction donc pas à écrire en direct (ça implique ton erreur)

    Exemple:
    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
     
        header('Content-Type: application/msexcel;charset=ISO-8859-1');
        header('Content-Disposition: attachment;filename=contacts.csv');
     
        $c = new Criteria();
        $c->add(ContactPeer::EMAIL, null, Criteria::IS_NOT_NULL);
        $c->clearSelectColumns()
          ->addSelectColumn(ContactPeer::ID)
          ->addSelectColumn(ContactPeer::EMAIL);
     
        $pwriter = new sfCsvPropelWriter('Contact', $c, ";", '"');
        $pwriter->getWriter()->setCharset('ISO-8859-1'); // gets sfCsvWriter and configure it
     
        echo $pwriter->getHeader();
        while ($csv = $pwriter->write())
        {
          echo "\n".$csv;
        }
    Ce sera déjà mieux

    Pour info, j'ai pas recherché plus mais d'expèrience, je peux te dire que delimiter, c le délimiteur dans le fichier CSV des données future cellules Excel (dans l'exemple ; ), l'enclosure le caractère qui entoure la donnée.

  9. #9
    Membre éclairé Avatar de blasil64
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 324
    Par défaut
    Bonjour,
    Je remets le sujet au gout du jour.
    Ça me génère un fichier contact.csv.XLS et non pas un simple fichier contact.csv. De plus, une fois ouvert, j'ai cela dans la cellule :

    <b>Fatal error</b>: Class 'Criteria' not found in <b>C:\Users\Guillaume\Cours\workspace\testCSV\apps\frontend\modules\testCSV\actions\actions.class.php</b> on line <b>51</b><br />
    Qui correspond à :
    Que faire pour avoir quelque chose de cohérent.

    De plus, n'étant pas à l'aise avec tout ce code, je ne comprends pas tout. En effet, voici mon code de mon executeIndex :
    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
     echo "Test de l'&eacute;criture en mode CSV<br/>";
     
    	  $myExampleData = array(
    							array('nom', 'truc', 'nom@truc.com'),
    							array('nom2', 'machin', 'nom2@machin.com')
    							);
    	  $writer = new sfCsvWriter();
    	  foreach ($myExampleData as $row)
    	  {
    		echo $writer->write($row).";";
    	  }
     
    	  echo "<hr>";
    	  echo "Test de l'&eacute;criture d'un fichier CSV";
     
    		header('Content-Type: application/msexcel;charset=ISO-8859-1');
    		header('Content-Disposition: attachment;filename=contacts.csv');
     
    		$c = new Criteria();
    		$c->add(ContactPeer::EMAIL, null, Criteria::IS_NOT_NULL);
    		$c->clearSelectColumns()
    		  ->addSelectColumn(ContactPeer::ID)
    		  ->addSelectColumn(ContactPeer::EMAIL);
     
    		$pwriter = new sfCsvPropelWriter('Contact', $c, ";", '"');
    		$pwriter->getWriter()->setCharset('ISO-8859-1'); // gets sfCsvWriter and configure it
     
    		echo $pwriter->getHeader();
    		while ($csv = $pwriter->write())
    		{
    		  echo "\n".$csv;
    		}
    Lorsque le fichier se créé, je l'ouvre et il m'affiche tout. C'est-à-dire qu'il affiche dans une même cellule
    Test de l'&eacute;criture en mode CSV<br/>"nom","truc","nom@truc.com";"nom2","machin","nom2@machin.com";<hr>Test de l'&eacute;criture d'un fichier CSV<br />
    Et c'est après qu'il m'affiche le message d'erreur criteria.
    A quoi correspond la partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $c = new Criteria();
    		$c->add(ContactPeer::EMAIL, null, Criteria::IS_NOT_NULL);
    		$c->clearSelectColumns()
    		  ->addSelectColumn(ContactPeer::ID)
    		  ->addSelectColumn(ContactPeer::EMAIL);

    Merci d'avance pour vos réponses.

  10. #10
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Peut-être hors sujet mais as-tu regardé ceci : sfCsvPlugin

  11. #11
    Membre éclairé Avatar de blasil64
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 324
    Par défaut
    Oui oui justement, je me suis inspiré du readme.
    Mais bon ils n'expliquent pas tout...

    Merci pour ta réponse.

  12. #12
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    Bonjour,

    J'ai trouvé ça sur le trac de symfony :

    http://trac.symfony-project.org/wiki...ortTabularData

    Peut être une piste ?

    Cordialement,

    Mathieu

  13. #13
    Membre éclairé Avatar de blasil64
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 324
    Par défaut
    Merci pour le lien, j'ai lu, j'ai appliqué ce qu'il fallait. Par contre j'ai une question. Dans le view.yml de mon module, il faut mettre myactionSuccess. En sachant que j'ai créé un module testcsv avec le template indexSuccess, je dois bien mettre indexSuccess à sa place ?

    Si oui, ça ne fonctionne toujours pas, mais merci de ton aide quand même !

  14. #14
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    En fait une même action Show peut avoir plusieurs template showSuccess.php mais aussi showSuccess.csv.php ou showSuccess.rss.php.

    Il y a un paramètre a préciser, soit dans la route, soit dans le contrôleur qui permet de préciser lequel charger. Tu trouveras plus d'informations sur dans le 14ème jour de Jobeet Job sur la gestion des flux.

  15. #15
    Membre éclairé Avatar de blasil64
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 324
    Par défaut
    Bonjour à tous,
    J'ai avancé sur le plugin, mais toujours pas de solution. J'avais installé une version doctrine et non Propel la première fois. J'ai donc repris un projet tout neuf, installé propel V1,2 dessus, téléchargé le plugin que j'ai placé dans le répertoire Plugin de l'arborescence Symfony. Ensuite j'ai repris le code, le Criteria fonctionne bien maintenant, mais j'ai une erreur en lecture et en écriture comme si le plugin n'était pas bien installé. En effet, quand je tente de faire appel à "sfCsvReader" ou "sfCsvPropelWriter", j'ai un message d'erreur :
    Fatal error: Class 'sfCsvReader' not found in C:\Users\Guillaume\Cours\workspace\csvpropel\apps\frontend\modules\csvpropel\actions\actions.class.php on line 21
    C'est comme si le plugin n'était pas installé...

    J'ai tenté de regardé la documentation dans le Readme, ils nous indiquent d'installer le plugin via : C'est ce que j'ai essayé de faire, mais j'ai l'erreur suivante dans ma console :
    You try to install a Symfony 1.0 plugin
    Please read the help message of this task to know how to install a plugin for the current version of Symfony.
    Voilà tout !
    Merci d'avance pur votre aide !

  16. #16
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Tu as fais l'include de la class: sfCsvWriter.class.php dans ton code ?

  17. #17
    Membre éclairé Avatar de blasil64
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 324
    Par défaut
    Non je ne l'avais pas fait...
    J'essaie de le faire, mais c'est bizarre, si je fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once(dirname(__FILE__).'/../../../../../plugins/lib/sfCsvReader.class.php');
    Il me renvoie l'erreur :
    Warning: include(C:\Users\Guillaume\Cours\workspace\csvpropel\apps\frontend\modules\csvpropel\actions/../../../../../plugins/lib/sfCsvReader.class.php) [function.include]: failed to open stream: No such file or directory in C:\Users\Guillaume\Cours\workspace\csvpropel\apps\frontend\modules\csvpropel\actions\actions.class.php on line 12
    .
    J'ai bien l'architecture 'worspace/csvpropel/apps/frontend/module/csvpropel/action/' et 'workspace/plugins/lib/'...

    Par contre, si je copie mon dossier lib contenant les 3 classes dans 'module/csvpropel/', il peut faire la lecture, sauf qu'il me l'ouvre dans un autre fichier xls avec pleins de caractère bizarre dedans... et se nommant csv.xls...
    Je fais le require comme ceci du coup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once(dirname(__FILE__).'/../lib/sfCsvReader.class.php');
    Voici mon 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
    echo "Test de la lecture d'un fichier CSV<br/>";
       $reader = new sfCsvReader('C:\Users\Guillaume\Cours\workspace\csvpropel\csvpropel.csv', ';');
       $reader->open();
     
       while ($data = $reader->read())
       {
     
    	 echo $data[0]." ";
    	 //echo $data[1]." ";
    	 //echo $data[2]."<br/>";
       } 
     
      $reader->close();
      echo "<hr>";

  18. #18
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Tu t'embêtes avec ton include ! Comme Workspace à l'air d'être ton répertoire utilisé par le serveur, tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    require_once('/plugins/sfCsvPlugin/lib/sfCsvWriter.class.php');
    Sinon tu utilises $_SERVEUR.

    Pour les caractères bizarre, celà doit venir de l'encodage, à vérifier.

  19. #19
    Membre éclairé Avatar de blasil64
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 324
    Par défaut
    Ok ben merci pour ton aide, j'ai réussi à utiliser ce plugin avec difficultés mais bon. Vaut mieux utiliser le plugin sfPhpExcelPlugin qui est beaucoup plus simple d'utilisation.

    Merci pour votre aide !

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

Discussions similaires

  1. créer un fichier csv dans un répertoire
    Par vodasan dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 10/03/2008, 08h58
  2. [CSV] Créer un fichier CSV sur le serveur
    Par sam01 dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2007, 15h10
  3. Créer un fichier CSV à partir d'un recordset
    Par mouaa dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/07/2007, 14h40
  4. [CSV] Créer un fichier csv depuis php
    Par jbidou88 dans le forum Langage
    Réponses: 5
    Dernier message: 07/05/2007, 17h41
  5. [CSV] Comment créer un fichier CSV
    Par yannbf dans le forum Langage
    Réponses: 2
    Dernier message: 27/02/2007, 20h14

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