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

Hibernate Java Discussion :

Comment afficher les valeurs à la place des "?"


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 50
    Points
    50
    Par défaut Comment afficher les valeurs à la place des "?"
    Salut,

    Comment afficher les valeurs utilisées, à la place des points d'interrogation, dans les requêtes éxécutées par Hibernate (quand on fait <property name="show_sql">true</property> pour afficher les requêtes dans hibernate.xml) ?
    Apparemment c'est à paramétrer dans log4j.properties...

    Merci.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Exactement, c'est avec log4j qu'il faut le faire.
    Tu trouveras un exemple de fichier log4j dans l'archive hibernate, me semble-t-il.

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 45
    Points : 43
    Points
    43
    Par défaut
    effectivement c'est dans le fichier log4j de ton appliaction ; il faut simplement rajouter la ligne :
    log4j.logger.org.hibernate.type = DEBUG, stdout

    Attention car cette ligne génère beaucoup de log et rsique de ralentir quelque peu ton appli.

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2003
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 142
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par bumbo500
    effectivement c'est dans le fichier log4j de ton appliaction ; il faut simplement rajouter la ligne :
    log4j.logger.org.hibernate.type = DEBUG, stdout

    Attention car cette ligne génère beaucoup de log et rsique de ralentir quelque peu ton appli.
    Ca donnerait quoi dans un fichier xml (log4j.xml) ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Points : 543
    Points
    543
    Par défaut log4j ou p6spy
    1) log4j fait des traces dans un fichier qui n est pas au format xml.
    le fichier de conf de log4j est xml

    2) si tu veux savoir ce qu envoie hibernate a la base de donne je te conseille plutot p6spy
    Ca te fait un fichier log avec uniquement les commandes sql.
    en plus tu peux avoir une GUI qui te donne les temps d execution de tes commandes

    Tu mets dans ton hibernate.cfg quelque chose comme ca
    <!-- to log all the jdbc commands -->
    <property name="hibernate.connection.driver_class">com.p6spy.engine.spy.P6SpyDriver</property>

    <!-- oracle driver direct for ex
    <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
    -->


    config de p6spy (fichier spy.properties)
    #################################################################
    # P6Spy Options File #
    # See documentation for detailed instructions #
    #################################################################

    #################################################################
    # MODULES #
    # #
    # Modules provide the P6Spy functionality. If a module, such #
    # as module_log is commented out, that functionality will not #
    # be available. If it is not commented out (if it is active), #
    # the functionality will be active. #
    # #
    # Values set in Modules cannot be reloaded using the #
    # reloadproperties variable. Once they are loaded, they remain #
    # in memory until the application is restarted. #
    # #
    #################################################################

    module.log=com.p6spy.engine.logging.P6LogFactory
    #module.outage=com.p6spy.engine.outage.P6OutageFactory

    module.ibeam=com.irongrid.ibeam.server.IBeamFactory
    #change cd

    #change cd
    #monitorport=2000
    monitorport=3000

    #################################################################
    # REALDRIVER(s) #
    # #
    # In your application server configuration file you replace the #
    # "real driver" name with com.p6spy.engine.P6SpyDriver. This is #
    # where you put the name of your real driver P6Spy can find and #
    # register your real driver to do the database work. #
    # #
    # If your application uses several drivers specify them in #
    # realdriver2, realdriver3. See the documentation for more #
    # details. #
    # #
    # Values set in REALDRIVER(s) cannot be reloaded using the #
    # reloadproperties variable. Once they are loaded, they remain #
    # in memory until the application is restarted. #
    # #
    #################################################################

    # oracle driver
    realdriver=oracle.jdbc.driver.OracleDriver

    # mysql Connector/J driver
    # realdriver=com.mysql.jdbc.Driver

    # informix driver
    # realdriver=com.informix.jdbc.IfxDriver

    # ibm db2 driver
    # realdriver=COM.ibm.db2.jdbc.net.DB2Driver

    # the mysql open source driver
    #realdriver=org.gjt.mm.mysql.Driver

    #specifies another driver to use
    realdriver2=
    #specifies a third driver to use
    realdriver3=


    #the DriverManager class sequentially tries every driver that is
    #registered to find the right driver. In some instances, it's possible to
    #load up the realdriver before the p6spy driver, in which case your connections
    #will not get wrapped as the realdriver will "steal" the connection before
    #p6spy sees it. Set the following property to "true" to cause p6spy to
    #explicitily deregister the realdrivers
    deregisterdrivers=false

    ################################################################
    # P6LOG SPECIFIC PROPERTIES #
    ################################################################
    # no properties currently available

    ################################################################
    # EXECUTION THRESHOLD PROPERTIES #
    ################################################################
    # This feature applies to the standard logging of P6Spy. #
    # While the standard logging logs out every statement #
    # regardless of its execution time, this feature puts a time #
    # condition on that logging. Only statements that have taken #
    # longer than the time specified (in milliseconds) will be #
    # logged. This way it is possible to see only statements that #
    # have exceeded some high water mark. #
    # This time is reloadable. #
    #
    # executionthreshold=integer time (milliseconds)
    #
    executionthreshold=

    ################################################################
    # P6OUTAGE SPECIFIC PROPERTIES #
    ################################################################
    # Outage Detection
    #
    # This feature detects long-running statements that may be indicative of
    # a database outage problem. If this feature is turned on, it will log any
    # statement that surpasses the configurable time boundary during its execution.
    # When this feature is enabled, no other statements are logged except the long
    # running statements. The interval property is the boundary time set in seconds.
    # For example, if this is set to 2, then any statement requiring at least 2
    # seconds will be logged. Note that the same statement will continue to be logged
    # for as long as it executes. So if the interval is set to 2, and the query takes
    # 11 seconds, it will be logged 5 times (at the 2, 4, 6, 8, 10 second intervals).
    #
    # outagedetection=true|false
    # outagedetectioninterval=integer time (seconds)
    #
    outagedetection=false
    outagedetectioninterval=

    ################################################################
    # COMMON PROPERTIES #
    ################################################################

    # filter what is logged
    filter=false

    # comma separated list of tables to include when filtering
    include =
    # comma separated list of tables to exclude when filtering
    exclude =

    # sql expression to evaluate if using regex filtering
    sqlexpression =


    # turn on tracing
    autoflush = true

    # sets the date format using Java's SimpleDateFormat routine
    dateformat=

    #list of categories to explicitly include
    includecategories=

    #list of categories to exclude: error, info, batch, debug, statement,
    #commit, rollback and result are valid values
    #excludecategories=info,debug,result,batch
    excludecategories=

    #allows you to use a regex engine or your own matching engine to determine
    #which statements to log
    #
    #stringmatcher=com.p6spy.engine.common.GnuRegexMatcher
    #stringmatcher=com.p6spy.engine.common.JakartaRegexMatcher
    stringmatcher=

    # prints a stack trace for every statement logged
    stacktrace=false
    # if stacktrace=true, specifies the stack trace to print
    stacktraceclass=

    # determines if property file should be reloaded
    reloadproperties=false
    # determines how often should be reloaded in seconds
    reloadpropertiesinterval=60

    #if=true then url must be prefixed with p6spy:
    useprefix=false

    #specifies the appender to use for logging
    #appender=com.p6spy.engine.logging.appender.Log4jLogger
    #appender=com.p6spy.engine.logging.appender.StdoutLogger
    appender=com.p6spy.engine.logging.appender.FileLogger

    # name of logfile to use, note Windows users should make sure to use forward slashes in their pathname (e:/test/spy.log) (used for file logger only)
    logfile = spy.log

    # append to the p6spy log file. if this is set to false the
    # log file is truncated every time. (file logger only)
    append=true

    #The following are for log4j logging only
    log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
    log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
    log4j.appender.STDOUT.layout.ConversionPattern=p6spy - %m%n

    #log4j.appender.CHAINSAW_CLIENT=org.apache.log4j.net.SocketAppender
    #log4j.appender.CHAINSAW_CLIENT.RemoteHost=localhost
    #log4j.appender.CHAINSAW_CLIENT.Port=4445
    #log4j.appender.CHAINSAW_CLIENT.LocationInfo=true

    #log4j.logger.p6spy=INFO,STDOUT
    log4j.logger.p6spy=DEBUG,STDOUT

    #################################################################
    # DataSource replacement #
    # #
    # Replace the real DataSource class in your application server #
    # configuration with the name com.p6spy.engine.spy.P6DataSource,#
    # then add the JNDI name and class name of the real #
    # DataSource here #
    # #
    # Values set in this item cannot be reloaded using the #
    # reloadproperties variable. Once it is loaded, it remains #
    # in memory until the application is restarted. #
    # #
    #################################################################
    #realdatasource=/RealMySqlDS
    #realdatasourceclass=com.mysql.jdbc.jdbc2.optional.MysqlDataSource

    #################################################################
    # DataSource properties #
    # #
    # If you are using the DataSource support to intercept calls #
    # to a DataSource that requires properties for proper setup, #
    # define those properties here. Use name value pairs, separate #
    # the name and value with a semicolon, and separate the #
    # pairs with commas. #
    # #
    # The example shown here is for mysql #
    # #
    #################################################################
    #realdatasourceproperties=port;3306,serverName;ibmhost,databaseName;mydb


    #################################################################
    # JNDI DataSource lookup #
    # #
    # If you are using the DataSource support outside of an app #
    # server, you will probably need to define the JNDI Context #
    # environment. #
    # #
    # If the P6Spy code will be executing inside an app server then #
    # do not use these properties, and the DataSource lookup will #
    # use the naming context defined by the app server. #
    # #
    # The two standard elements of the naming environment are #
    # jndicontextfactory and jndicontextproviderurl. If you need #
    # additional elements, use the jndicontextcustom property. #
    # You can define multiple properties in jndicontextcustom, #
    # in name value pairs. Separate the name and value with a #
    # semicolon, and separate the pairs with commas. #
    # #
    # The example shown here is for a standalone program running on #
    # a machine that is also running JBoss, so the JDNI context #
    # is configured for JBoss (3.0.4). #
    # #
    #################################################################
    #jndicontextfactory=org.jnp.interfaces.NamingContextFactory
    #jndicontextproviderurl=localhost:1099
    #jndicontextcustom=java.naming.factory.url.pkgs;org.jboss.nameing:org.jnp.interfaces

    #jndicontextfactory=com.ibm.websphere.naming.WsnInitialContextFactory
    #jndicontextproviderurl=iiop://localhost:900

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Points : 543
    Points
    543
    Par défaut log4j ou p6spy
    1) log4j fait des traces dans un fichier qui n est pas au format xml.
    le fichier de conf de log4j est xml

    2) si tu veux savoir ce qu envoie hibernate a la base de donne je te conseille plutot p6spy
    Ca te fait un fichier log avec uniquement les commandes sql.
    en plus tu peux avoir une GUI qui te donne les temps d execution de tes commandes

    Tu mets dans ton hibernate.cfg quelque chose comme ca
    <!-- to log all the jdbc commands -->
    <property name="hibernate.connection.driver_class">com.p6spy.engine.spy.P6SpyDriver</property>

    <!-- oracle driver direct for ex
    <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
    -->


    config de p6spy (fichier spy.properties)
    #################################################################
    # P6Spy Options File #
    # See documentation for detailed instructions #
    #################################################################

    #################################################################
    # MODULES #
    # #
    # Modules provide the P6Spy functionality. If a module, such #
    # as module_log is commented out, that functionality will not #
    # be available. If it is not commented out (if it is active), #
    # the functionality will be active. #
    # #
    # Values set in Modules cannot be reloaded using the #
    # reloadproperties variable. Once they are loaded, they remain #
    # in memory until the application is restarted. #
    # #
    #################################################################

    module.log=com.p6spy.engine.logging.P6LogFactory
    #module.outage=com.p6spy.engine.outage.P6OutageFactory

    module.ibeam=com.irongrid.ibeam.server.IBeamFactory
    #change cd

    #change cd
    #monitorport=2000
    monitorport=3000

    #################################################################
    # REALDRIVER(s) #
    # #
    # In your application server configuration file you replace the #
    # "real driver" name with com.p6spy.engine.P6SpyDriver. This is #
    # where you put the name of your real driver P6Spy can find and #
    # register your real driver to do the database work. #
    # #
    # If your application uses several drivers specify them in #
    # realdriver2, realdriver3. See the documentation for more #
    # details. #
    # #
    # Values set in REALDRIVER(s) cannot be reloaded using the #
    # reloadproperties variable. Once they are loaded, they remain #
    # in memory until the application is restarted. #
    # #
    #################################################################

    # oracle driver
    realdriver=oracle.jdbc.driver.OracleDriver

    # mysql Connector/J driver
    # realdriver=com.mysql.jdbc.Driver

    # informix driver
    # realdriver=com.informix.jdbc.IfxDriver

    # ibm db2 driver
    # realdriver=COM.ibm.db2.jdbc.net.DB2Driver

    # the mysql open source driver
    #realdriver=org.gjt.mm.mysql.Driver

    #specifies another driver to use
    realdriver2=
    #specifies a third driver to use
    realdriver3=


    #the DriverManager class sequentially tries every driver that is
    #registered to find the right driver. In some instances, it's possible to
    #load up the realdriver before the p6spy driver, in which case your connections
    #will not get wrapped as the realdriver will "steal" the connection before
    #p6spy sees it. Set the following property to "true" to cause p6spy to
    #explicitily deregister the realdrivers
    deregisterdrivers=false

    ################################################################
    # P6LOG SPECIFIC PROPERTIES #
    ################################################################
    # no properties currently available

    ################################################################
    # EXECUTION THRESHOLD PROPERTIES #
    ################################################################
    # This feature applies to the standard logging of P6Spy. #
    # While the standard logging logs out every statement #
    # regardless of its execution time, this feature puts a time #
    # condition on that logging. Only statements that have taken #
    # longer than the time specified (in milliseconds) will be #
    # logged. This way it is possible to see only statements that #
    # have exceeded some high water mark. #
    # This time is reloadable. #
    #
    # executionthreshold=integer time (milliseconds)
    #
    executionthreshold=

    ################################################################
    # P6OUTAGE SPECIFIC PROPERTIES #
    ################################################################
    # Outage Detection
    #
    # This feature detects long-running statements that may be indicative of
    # a database outage problem. If this feature is turned on, it will log any
    # statement that surpasses the configurable time boundary during its execution.
    # When this feature is enabled, no other statements are logged except the long
    # running statements. The interval property is the boundary time set in seconds.
    # For example, if this is set to 2, then any statement requiring at least 2
    # seconds will be logged. Note that the same statement will continue to be logged
    # for as long as it executes. So if the interval is set to 2, and the query takes
    # 11 seconds, it will be logged 5 times (at the 2, 4, 6, 8, 10 second intervals).
    #
    # outagedetection=true|false
    # outagedetectioninterval=integer time (seconds)
    #
    outagedetection=false
    outagedetectioninterval=

    ################################################################
    # COMMON PROPERTIES #
    ################################################################

    # filter what is logged
    filter=false

    # comma separated list of tables to include when filtering
    include =
    # comma separated list of tables to exclude when filtering
    exclude =

    # sql expression to evaluate if using regex filtering
    sqlexpression =


    # turn on tracing
    autoflush = true

    # sets the date format using Java's SimpleDateFormat routine
    dateformat=

    #list of categories to explicitly include
    includecategories=

    #list of categories to exclude: error, info, batch, debug, statement,
    #commit, rollback and result are valid values
    #excludecategories=info,debug,result,batch
    excludecategories=

    #allows you to use a regex engine or your own matching engine to determine
    #which statements to log
    #
    #stringmatcher=com.p6spy.engine.common.GnuRegexMatcher
    #stringmatcher=com.p6spy.engine.common.JakartaRegexMatcher
    stringmatcher=

    # prints a stack trace for every statement logged
    stacktrace=false
    # if stacktrace=true, specifies the stack trace to print
    stacktraceclass=

    # determines if property file should be reloaded
    reloadproperties=false
    # determines how often should be reloaded in seconds
    reloadpropertiesinterval=60

    #if=true then url must be prefixed with p6spy:
    useprefix=false

    #specifies the appender to use for logging
    #appender=com.p6spy.engine.logging.appender.Log4jLogger
    #appender=com.p6spy.engine.logging.appender.StdoutLogger
    appender=com.p6spy.engine.logging.appender.FileLogger

    # name of logfile to use, note Windows users should make sure to use forward slashes in their pathname (e:/test/spy.log) (used for file logger only)
    logfile = spy.log

    # append to the p6spy log file. if this is set to false the
    # log file is truncated every time. (file logger only)
    append=true

    #The following are for log4j logging only
    log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
    log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
    log4j.appender.STDOUT.layout.ConversionPattern=p6spy - %m%n

    #log4j.appender.CHAINSAW_CLIENT=org.apache.log4j.net.SocketAppender
    #log4j.appender.CHAINSAW_CLIENT.RemoteHost=localhost
    #log4j.appender.CHAINSAW_CLIENT.Port=4445
    #log4j.appender.CHAINSAW_CLIENT.LocationInfo=true

    #log4j.logger.p6spy=INFO,STDOUT
    log4j.logger.p6spy=DEBUG,STDOUT

    #################################################################
    # DataSource replacement #
    # #
    # Replace the real DataSource class in your application server #
    # configuration with the name com.p6spy.engine.spy.P6DataSource,#
    # then add the JNDI name and class name of the real #
    # DataSource here #
    # #
    # Values set in this item cannot be reloaded using the #
    # reloadproperties variable. Once it is loaded, it remains #
    # in memory until the application is restarted. #
    # #
    #################################################################
    #realdatasource=/RealMySqlDS
    #realdatasourceclass=com.mysql.jdbc.jdbc2.optional.MysqlDataSource

    #################################################################
    # DataSource properties #
    # #
    # If you are using the DataSource support to intercept calls #
    # to a DataSource that requires properties for proper setup, #
    # define those properties here. Use name value pairs, separate #
    # the name and value with a semicolon, and separate the #
    # pairs with commas. #
    # #
    # The example shown here is for mysql #
    # #
    #################################################################
    #realdatasourceproperties=port;3306,serverName;ibmhost,databaseName;mydb


    #################################################################
    # JNDI DataSource lookup #
    # #
    # If you are using the DataSource support outside of an app #
    # server, you will probably need to define the JNDI Context #
    # environment. #
    # #
    # If the P6Spy code will be executing inside an app server then #
    # do not use these properties, and the DataSource lookup will #
    # use the naming context defined by the app server. #
    # #
    # The two standard elements of the naming environment are #
    # jndicontextfactory and jndicontextproviderurl. If you need #
    # additional elements, use the jndicontextcustom property. #
    # You can define multiple properties in jndicontextcustom, #
    # in name value pairs. Separate the name and value with a #
    # semicolon, and separate the pairs with commas. #
    # #
    # The example shown here is for a standalone program running on #
    # a machine that is also running JBoss, so the JDNI context #
    # is configured for JBoss (3.0.4). #
    # #
    #################################################################
    #jndicontextfactory=org.jnp.interfaces.NamingContextFactory
    #jndicontextproviderurl=localhost:1099
    #jndicontextcustom=java.naming.factory.url.pkgs;org.jboss.nameing:org.jnp.interfaces

    #jndicontextfactory=com.ibm.websphere.naming.WsnInitialContextFactory
    #jndicontextproviderurl=iiop://localhost:900

  7. #7
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Je me répète un peu, mais avec l'archive Hibernate est (ou était mais je doute que ce ne soit plus le cas) fourni un exemple de fichier de conf log4j pour afficher les logs.
    Il suffit de choisir le degré de détail que l'on souhaite voir affiché.
    Il y a un paramètre bien précis pour les variables de requêtes mais je ne le connais pas de tête. Il est cependant suffisamment explicite.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Points d'interrogations sous Hibernate
    Bonjour à tous,

    J'utilise Spring Hibernate..Aprés avoir essayé dans log4j.properties, "log4j.logger.org.hibernate=debug,stdout", pour afficher les valeurs à la place des points d'interrogations pour afficher ma requête,celà ne fonctionne PAS.

    Pourquoi?Comment y remédier?

    Merci

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    bonjour, je me trouve devant le même soucis...

    je souhaierais afficher les valeurs à la place des ?, mais l'ajout de ligne log4j.logger.org.hibernate=debug,stdout dans le fichier log4j.properties ne change pas les ? et ajoute toutefois plus de lignes de debug...

    est-ce que quelqu'un pourrait me donner un exemple ou encore dire où se trouve l'exemple dans l'archive hibernate (j'ai bien regardé un peu, mais moyennement envie de passer tous les dossiers un par un...)

    merci d'avance

    tatia34

  10. #10
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    C'est sur que c'est plus facile quand la réponse arrive sans effort :
    http://www.hibernate.org/hib_docs/v3...ration-logging

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/10/2014, 09h23
  2. Réponses: 1
    Dernier message: 23/12/2010, 16h52
  3. Réponses: 8
    Dernier message: 16/05/2007, 16h27
  4. comment afficher les valeurs d'un jslider?
    Par max25b dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 05/06/2006, 20h05
  5. comment afficher les valeurs d'une semaine
    Par duck54 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/05/2006, 22h57

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