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

Shell et commandes GNU Discussion :

Insérer des éléments dans une colonne spécifique d'un fichier csv.


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Insérer des éléments dans une colonne spécifique d'un fichier csv.
    Bonjour la communauté.

    J'ai un petit soucis depuis hier que je n'arrive pas à résoudre.

    J'ai fichier csv "pg_database" qui a en son sein plusieurs colonnes dont respectivement hostname, datname, datdba,...
    J'ai créé une colonne is_database_system dans le fichier dans laquelle je devrais inscrire si oui ou non la database est une database système.
    Et aussi je voudrais pouvoir créer la colonne à la fin, si quelqu'un a la solution.

    Je vous mets le code pour que vous voyez plus clair.

    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
    while read ligne; do     
    	dbname=$(echo "$ligne" | cut -d';' -f2); 
    	if [ $dbname = "datname" ]; then
    		sed -i "1s/^/is_database_system$delim/" $script_path_result/pg_database.csv
    	else
    		for i in "${list_of_database_system[@]}"; do
    			if [ "$i" = "$dbname" ]; then 
            			sed -i "2,$ s/^/True$delim/" $script_path_result/pg_database.csv
     
    				#break;
    			else
    				sed -i "2,$ s/^/False$delim/" $script_path_result/pg_database.csv
    	       		fi
    		done
    	fi	         
    done < $script_path_result/pg_database.csv
    }
    Je voudrais pouvoir insérer pour chaque ligne de la colonne is_database_system que j'ai créée l'information True ou False selon le cas.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    La liste "list_of_database_system" contient quelque noms de database.

  3. #3
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Bonjour,

    Pourrais-tu penser à utiliser la balise code [#] pour tout ce qui code ou exemple ?
    Il serait bien d'avoir quelques input d'exemple ainsi que le avant et après.

    Car, la comme ça, un bout de code (non complet) et le peut d'explication du problème, c'est difficile d'aider.
    Cordialement.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Je vous remercie pour votre réaction.

    Je veux juste préciser que tout le code est là.

    Peux être devrais-je parler du contenu du fichier pg_database.

    Dans ce cas je dirai est structuré comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    hostname;datname;datdba;...
                                                                   debian;postgre;10;...
                                                                   debian;ecole;10;...
                                                                   debian;template0;...
                                                                   debian;template1;...
    Sachant que je voudrais sélectionner la colonne datname j'ai fait ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while read ligne; do
     
                              dbname=$(echo "$ligne" | cut -d';' -f2); 
     
    done < $script_path_result/pg_database.csv
    Maintenant, il est question de comparer le nom de la base dans le fichier pg_database à celui de la liste et de dire si ou ou non c'est une base sytème.

  5. #5
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Perso,
    Je trouve ça un peu lent...
    Ce que je ferais, se serai de généré, depuis ta liste de database system, un fichier sed qui se chargerait de faire:
    1)mettre false à la fin de la ligne en cours de traitement
    2)verifié si le deuxieme champs est une database system, alors remplacer le false par true
    Et refaire 2 pour tout les database system (on pourrait aussi dire a sed de passer à la ligne suivante dés qu'il a trouvé une database system ok).

    Donc plus vraiment de script shell, sauf pour fabriquer le script sed qui ressemblerait a ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    s/$/;false/
    /^[^;]*;datname;/s/false$/true/;t
    /^[^;]*;datsys1;/s/false$/true/;t
    /^[^;]*;datsys2;/s/false$/true/;t
    ...
    Cordialement.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Perso,
    Je trouve ça un peu lent...
    Ce que je ferais, se serai de généré, depuis ta liste de database system, un fichier sed qui se chargerait de faire:
    1)mettre false à la fin de la ligne en cours de traitement
    2)verifié si le deuxieme champs est une database system, alors remplacer le false par true
    Et refaire 2 pour tout les database system (on pourrait aussi dire a sed de passer à la ligne suivante dés qu'il a trouvé une database system ok).

    Donc plus vraiment de script shell, sauf pour fabriquer le script sed qui ressemblerait a ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    s/$/;false/
    /^[^;]*;datname;/s/false$/true/;t
    /^[^;]*;datsys1;/s/false$/true/;t
    /^[^;]*;datsys2;/s/false$/true/;t
    ...

    Je dois avouer que je suis un peu perdu dans votre code du fait évidement que je suis GRAND DEBUTANT en bash.

    Néanmoins si j'ai bien compris votre raisonnement je devrais préciser que le fichier pg_database dont il est question, c'est lui qui doit impérativement contenir la colonne is_database_system.

  7. #7
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Voici un exemple complet:
    Le fichier que l'on souhaite modifier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ cat pg_db.csv 
    hostname;datname;datdba;...
    debian;postgre;10;...
    debian;ecole;10;...
    debian;template0;...
    debian;template1;...
    La liste de database systeme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo ${liste[@]} 
    postgre mysql
    Le code qui crée à la volé le script sed que l'on fourni directement au sed:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ { printf 's/$/;false/\n/^[^;]*;datname;/{s/false$/is_database_system/;t;}\n' ; printf '/^[^;]*;%s;/{s/false$/true/;t;}\n' ${liste[@]} ;} | sed -f - pg_db.csv 
    hostname;datname;datdba;...;is_database_system
    debian;postgre;10;...;true
    debian;ecole;10;...;false
    debian;template0;...;false
    debian;template1;...;false
    Comme tu peux le voir, il y a juste 2 printf encadré par des {} afin de fournir leur sortie à sed en tant que fichier de commande (le -f - de la commande sed)
    Cordialement.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Bonjour Monsieur disedorgue,

    Encore une fois, je vous remercie pour votre aide.

    J'ai exécuté le code que vous m'avez fourni et ça ceci comme résultant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ./testAgent.sh: ligne 83: ${ 's/$/;false/\n/^[^;]*;datname;/{s/false$/is_database_system/;t;}\n'; '/^[^;]*;%s;/{s/false$/true/;t;}\n' ${list_of_database_system[@]};} : mauvaise substitution
     
    datname;datdba;encoding;datcollate;datctype;datistemplate;datallowconn;datconnlimit;datlastsysoid;datfrozenxid;datminmxid;dattablespace;datacl
    template0;10;6;fr_FR.UTF-8;fr_FR.UTF-8;t;f;-1;12136;675;1;1663;{=c/postgres,postgres=CTc/postgres}
    postgres;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-
    mabase;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-
    template1;10;6;fr_FR.UTF-8;fr_FR.UTF-8;t;t;-1;12136;675;1;1663;{postgres=CTc/postgres,=c/postgres}
    developer;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-
    Comme je ne maîtrise à la perfection le bash, je n'ai pas compris l'erreur.

  9. #9
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Je pense que c'est le premier '$' qui ne devrait pas exister (dans mon exemple, celui-ci représente mon prompt, il ne fait pas partie du code)
    Cordialement.

  10. #10
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Utilise la balise code [#] , les message serait plus claire...
    Et donne des input sur lesquels on peut tester, car ici, dans ce que je vois de ton dernier post, le fichier à modifier ne semble pas être dans le même format que celui que tu donnais au début (il manque la colonne hostname)...
    Cordialement.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup pour votre réponse
    Je crois que j'ai compris comment faire pour la balise # mais je ne sais encore pas mettre des input.
    Pour ce qui est du fichier, c'est le même, il y a le hostname mais lorsque j'exécute le code qu'il s'enlève
    Le nouveau résultat que j'ai obtenu est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    datname;datdba;encoding;datcollate;datctype;datistemplate;datallowconn;datconnlimit;datlastsysoid;datfrozenxid;datminmxid;dattablespace;datacl;false
    template0;10;6;fr_FR.UTF-8;fr_FR.UTF-8;t;f;-1;12136;675;1;1663;{=c/postgres,postgres=CTc/postgres};false
    postgres;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-;false
    mabase;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-;false
    template1;10;6;fr_FR.UTF-8;fr_FR.UTF-8;t;t;-1;12136;675;1;1663;{postgres=CTc/postgres,=c/postgres};false
    developer;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-;false
    En plus du fait qu'il enlève le hostname, il n'insère pas la colonne is_database_system dans le fichier.

  12. #12
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Peux-tu montrer ton script, car là, juste l'erreur, c'est compliquer de comprendre le problème ?
    Cordialement.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    { printf 's/$/;false/\n/^[^;]*;datname;/{s/false$/is_database_system/;t;}\n'; printf '/^[^;]*;%s;/{s/false$/true/;t;}\n' ${list_of_database_system[@]};} | sed -f - $script_path_result/pg_database.csv
    En fait, j'ai juste repris votre code.

  14. #14
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Comment dire,...:
    -Le script nous dit qu'il y a une erreur ligne 83 et tu ne donnes qu'une ligne du script...
    -Je te demande des inputs réaliste, on a que des portions de lignes.
    -On n'a pas le contenu du tableau, on a juste une vague idée.

    Ce que je peux dire, c'est que cela fonctionne très bien sur l'exemple donné, après faut adapter ou affiner selon tes input réels.
    Cordialement.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    - Je ne comprends pas de quels inputs vous parlez, mais ce n'est pas une portion de ligne, c'est une ligne entière et c'est la seule à être exécutée.

    - Pour le tableau et le fichier pg_database, je vous mets en copie leurs contenus:

    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
    
    list_of_database_system=(
    postgres
    template0
    template1
    )
    
    le fichier pg_database avant l'exécution du script
    
    hostname;datname;datdba;encoding;datcollate;datctype;datistemplate;datallowconn;datconnlimit;datlastsysoid;datfrozenxid;datminmxid;dattablespace;datacl
    debian;template0;10;6;fr_FR.UTF-8;fr_FR.UTF-8;t;f;-1;12136;675;1;1663;{=c/postgres,postgres=CTc/postgres}
    debian;postgres;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-
    debian;mabase;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-
    debian;template1;10;6;fr_FR.UTF-8;fr_FR.UTF-8;t;t;-1;12136;675;1;1663;{postgres=CTc/postgres,=c/postgres}
    debian;developer;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-
    - Il n'y a que cette ligne qui est exécutée, toutes les autres ont été commentées car ne concernant pas du tout avec ce que je suis entrain de faire.
    Après suppression des lignes commentées, voici le code et le résultat obtenu:

    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
    
    Script
    #!/bin/bash
    
    script_path=`dirname $0`;
    script_path_config=$script_path/config;
    
    source $script_path_config/config.conf;
    
    { printf 's/$/;false/\n/^[^;]*;datname;/{s/false$/is_database_system/;t;}\n'; printf '/^[^;]*;%s;/{s/false$/true/;t;}\n' ${list_of_database_system[@]};} | sed -f - $script_path_result/pg_database.csv
    
    Résultat de l'exécution du script
    
    hostname;datname;datdba;encoding;datcollate;datctype;datistemplate;datallowconn;datconnlimit;datlastsysoid;datfrozenxid;datminmxid;dattablespace;datacl;is_database_system
    debian;template0;10;6;fr_FR.UTF-8;fr_FR.UTF-8;t;f;-1;12136;675;1;1663;{=c/postgres,postgres=CTc/postgres};true
    debian;postgres;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-;true
    debian;mabase;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-;false
    debian;template1;10;6;fr_FR.UTF-8;fr_FR.UTF-8;t;t;-1;12136;675;1;1663;{postgres=CTc/postgres,=c/postgres};true
    debian;developer;10;6;fr_FR.UTF-8;fr_FR.UTF-8;f;t;-1;12136;675;1;1663;-;false
    ça marche maintenant, c'est très cool.

    Mais le résultat attendu ne s'affiche que sur le shell et ne s'insère pas dans le fichier.

    Moi, mon soucis est surtout de mettre cette dernière colonne qui a très bien marché ici dans le fichier pg_database.

    Encore une fois Merci beaucoup !

    Si vous avez une idée pour ça aussi, je vous en serai très reconnaissant.

  16. #16
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Pour un changement directement dans le fichier, il suffit de rajouter l'option -i à la commande sed, donc remplacer sed -f - par sed -i -f -
    Cordialement.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Décembre 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Encore une fois, un grand merci à vous.

    Vous avez résolu mon problème, c'est vraiment gentil de votre part.

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

Discussions similaires

  1. [WD20] Griser des éléments dans une colonne de table de type Combo
    Par matheous dans le forum WinDev
    Réponses: 3
    Dernier message: 08/09/2016, 09h33
  2. insérer des éléments dans une string
    Par salyiohh dans le forum Langage
    Réponses: 2
    Dernier message: 23/06/2015, 12h07
  3. Réponses: 5
    Dernier message: 14/06/2013, 15h09
  4. insérer et décaler des élèments dans une ArrayList
    Par biljava dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 21/07/2011, 10h05
  5. insérer des élément dans une base de donné
    Par wiss20000 dans le forum JDBC
    Réponses: 5
    Dernier message: 01/03/2007, 14h49

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