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

JPA Java Discussion :

JPA - Impossible d'enregistrer en base (Java EE / Netbeans)


Sujet :

JPA Java

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut JPA - Impossible d'enregistrer en base (Java EE / Netbeans)
    Bonjour,

    Dans une application web, je souhaite enregistrer dans une base JDB un certain nombre d'enregistrements.
    Je n'arrive à insérer dans ma table !
    MERCI pour votre aide !

    J'ai l'erreur suivante qui porte sur l'id généré par une séquence (j'ai à peu prêt tout essayer mais rien ne marche !) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Exception Description: Syntax error parsing [Insert p Into Parametre p (:utilisateur, :nom, :valeur1, :valeur2, :valeur3, :valeur4, :valeur5)]. 
    [0, 96] The query does not start with a valid identifier, has to be either SELECT, UPDATE or DELETE FROM.
    	at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildException(HermesParser.java:155)
    	at org.eclipse.persistence.internal.jpa.jpql.HermesParser.validate(HermesParser.java:334)
    	at org.eclipse.persistence.internal.jpa.jpql.HermesParser.populateQueryImp(HermesParser.java:278)
    	at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildQuery(HermesParser.java:163)
    	at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:142)
    	at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:116)
    	at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:102)
    	at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:86)
    	at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1614)
    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
    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
     
    @Entity
    @Table(name = "Parametre")
    public class Parametre implements Serializable {
     
        @Id
        @GeneratedValue(strategy = GenerationType.TABLE, generator = "Parametre_Id_Table")
        @TableGenerator(name="Parametre_Id_Table", table="Parametre_Id_Table", allocationSize = 1, initialValue = 1)
        private int id;
     
        private String utilisateur;
     
        private String nom;
     
        private String valeur1;
     
        private String valeur2;
     
        private String valeur3;
     
        private String valeur4;
     
        private String valeur5;
     
        public Parametre() {
        }
     
        public Parametre(int i, String u, String n, String v1, String v2, String v3, String v4, String v5) {
     
            id = i;
            utilisateur = u;
            nom = n;
            valeur1 = v1;
            valeur2 = v2;
            valeur3 = v3;
            valeur4 = v4;
            valeur5 = v5;
     
        }
    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
     
    @Stateless
    public class ParametreFacade extends AbstractFacade<Parametre> {
     
        @PersistenceContext(unitName = "WebJODPU")
        private EntityManager em;
     
        @Override
        protected EntityManager getEntityManager() {
            return em;
        }
     
        public ParametreFacade() {
            super(Parametre.class);
        }
    ...
    ...
        public void creerParametre(Parametre parametre) {
     
            Query jQuery = em.createQuery("Insert p Into Parametre p (:utilisateur, :nom, :valeur1, :valeur2, :valeur3, :valeur4, :valeur5)");
     
            jQuery.setParameter("utilisateur", parametre.getUtilisateur());
            jQuery.setParameter("nom", parametre.getNom());
            jQuery.setParameter("valeur1", parametre.getValeur1());
            jQuery.setParameter("valeur2", parametre.getValeur2());
            jQuery.setParameter("valeur3", parametre.getValeur3());
            jQuery.setParameter("valeur4", parametre.getValeur4());
            jQuery.setParameter("valeur5", parametre.getValeur5());
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    ...
    Parametre parametre = new Parametre(0, "System", "TableauBordPanel" + j, "0", "0", "0", "false", "0");
     
    getParametreFacade().creerParametre(parametre);

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Query jQuery = em.createQuery("Insert p Into Parametre p (:utilisateur, :nom, :valeur1, :valeur2, :valeur3, :valeur4, :valeur5)");
    Exception Description: Syntax error parsing [Insert p Into Parametre p (:utilisateur, :nom, :valeur1, :valeur2, :valeur3, :valeur4, :valeur5)].
    [0, 96] The query does not start with a valid identifier, has to be either SELECT, UPDATE or DELETE FROM.
    C'est parce que tu ne peux pas faire un insert avec du JPQL.
    1- Soit tu utilises un native Query
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query jQuery = em.createNativeQuery("Insert Into Parametre(nomColonne1, nomColonne2...) values  (:utilisateur, :nom, :valeur1, :valeur2, :valeur3, :valeur4, :valeur5)");
    2- Ou tu utilises persist (à condition que tes mappings soient biens faits)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void creerParametre(Parametre parametre) {
            em.persist(parametre);
    }
    A+.

  3. #3
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    Bonjour et merci pour ta réponse.

    J'ai opté pour un persist et j'ai modifié ma séquence, mais ça ne marche toujours pas
    j'ai l'erreur suivante (à dire vrai je ne sais pas quoi de ma Pk Id) :

    Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLSyntaxErrorException: Tentative de modification de la colonne d'identité 'ID'.
    Error Code: 20000
    Call: INSERT INTO Parametre (ID, NOM, UTILISATEUR, VALEUR1, VALEUR2, VALEUR3, VALEUR4, VALEUR5) VALUES (?, ?, ?, ?, ?, ?, ?, ?)

    As-tu une idée ? MERCI

    voici mon code à présent :

    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
     
    @Entity
    @Table(name = "Parametre")
    public class Parametre implements Serializable {
     
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator ="PARAMETRE_SEQ")
        @SequenceGenerator(name = "PARAMETRE_SEQ", sequenceName = "PARAMETRE_SEQ", allocationSize = 1, initialValue = 1)
     
        private int id;
     
        private String utilisateur;
     
        private String nom;
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        public void creerParametre(Parametre parametre) {
     
            em.persist(parametre);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Parametre parametre = new Parametre(0, "System", "TableauBordPanel" + j, "0", "0", "0", "false", "0");
     
                        getParametreFacade().creerParametre(parametre);

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Retire l'initialisation de la valeur de id de ton constructeur.

    A+.

  5. #5
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    J'ai oté l'initialisation de ID mais dans ce cas j'ai l'erreur :

    Avertissement: DTX5014: Caught exception in beforeCompletion() callback:
    javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLSyntaxErrorException: Tentative de modification de la colonne d'identité 'ID'.
    Error Code: 20000
    Call: INSERT INTO Parametre (ID, NOM, UTILISATEUR, VALEUR1, VALEUR2, VALEUR3, VALEUR4, VALEUR5) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
    bind => [8 parameters bound]
    Query: InsertObjectQuery(model.Parametre@32300e72)

    MERCI

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Dans ton premier code, tu utilisais GenerationType.TABLE, dans le second GenerationType.SEQUENCE. Comment est créé ta table?

    A+.

  7. #7
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    Bonjour,

    Je suis débutant en java/web et il y a pas mal de choses qui m'échappent.

    Ma table est créée directement sous SQL.

    Pour la PK et JPA en général je me suis contenté de suivre un tuto.
    Comme ça ne fonctionne pas, j'en ai suivi un autre avec SEQUENCE qui convient mieux à ce que je veux faire.

    En fait je pensais que le type SEQUENCE marchait tout seul ! Ca ne semble pas être le cas.
    Je n'ai plus de préférence, tout ce que je veux c'est que ça marche...

    Merci

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Oui, mais on peut voir la requête de création?
    Et puis il ne suffit pas de modifier à tout va la façon de générer l'id pour que ça marche.
    Si c'est un auto-incrémente, GenerationType.IDENTITY est approprié.
    Regarde ici: http://docs.oracle.com/javaee/6/api/...ationType.html

    A+.

  9. #9
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    Voici le script pour ma table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    create table "WEBJOD".PARAMETRE
    (
    	ID INTEGER default AUTOINCREMENT: start 1 increment 1 not null,
    	UTILISATEUR VARCHAR(50) not null,
    	NOM VARCHAR(50) not null,
    	VALEUR1 VARCHAR(50) default '0' not null,
    	VALEUR2 VARCHAR(50),
    	VALEUR3 VARCHAR(50),
    	VALEUR4 VARCHAR(50),
    	VALEUR5 VARCHAR(50)
    )

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
         private int id;

  11. #11
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    Ca ne marche pas non plus

    J'ai l'erreur suivante :
    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
     
    Internal Exception: java.sql.SQLSyntaxErrorException: La clause VALUES doit contenir au moins un élément. Les éléments vides ne sont pas autorisés. 
    Error Code: 20000
    Call: Insert Into Parametre (utilisateur, nom, valeur1, valeur2, valeur3, valeur4, valeur5) values (:utilisateur, :nom, :valeur1, :valeur2, :valeur3, :valeur4, :valeur5)
    Query: DataReadQuery(sql="Insert Into Parametre (utilisateur, nom, valeur1, valeur2, valeur3, valeur4, valeur5) values (:utilisateur, :nom, :valeur1, :valeur2, :valeur3, :valeur4, :valeur5)")
    	at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)
    	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:684)
    	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560)
    	at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2055)
    	at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:306)
    	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
    	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
    	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:299)
    	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelect(DatasourceCallQueryMechanism.java:281)
    	at org.eclipse.persistence.queries.DataReadQuery.executeNonCursor(DataReadQuery.java:197)
    	at org.eclipse.persistence.queries.DataReadQuery.executeDatabaseQuery(DataReadQuery.java:152)
    	at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904)
    	at org.eclipse.persistence.queries.DataReadQuery.execute(DataReadQuery.java:137)
    	at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:803)
    	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896)
    	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857)
    	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839)
    	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)
    	at org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:258)
    	... 89 more
    Caused by: java.sql.SQLSyntaxErrorException: La clause VALUES doit contenir au moins un élément. Les éléments vides ne sont pas autorisés. 
    	at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
    	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
    	at org.apache.derby.client.am.ClientConnection.prepareStatement(Unknown Source)
    	at com.sun.gjc.spi.base.ConnectionHolder.prepareStatement(ConnectionHolder.java:514)
    	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1565)
    	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1514)
    	at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:778)
    	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:621)
    	... 106 more
    Caused by: ERROR 42X80: La clause VALUES doit contenir au moins un élément. Les éléments vides ne sont pas autorisés. 
    	at org.apache.derby.client.am.ClientStatement.completeSqlca(Unknown Source)
    	at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
    	at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
    	at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
    	at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
    	at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
    	at org.apache.derby.client.am.ClientStatement.readPrepareDescribeOutput(Unknown Source)
    	at org.apache.derby.client.am.ClientPreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
    	at org.apache.derby.client.am.ClientPreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
    	at org.apache.derby.client.am.ClientPreparedStatement.prepare(Unknown Source)
    	at org.apache.derby.client.am.ClientConnection.prepareStatementX(Unknown Source)
    	... 112 more

  12. #12
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Et les codes qui vont avec?

  13. #13
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    J'ai arrêté et redémarré NetBeans et maintenant ça march
    Y a t-il une logique à ça ????

  14. #14
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Ton application n'a pas été bien redéployée sur ton serveur.

    A+.

  15. #15
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    Ok. Merci beaucoup pour ton aide précieuse

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/03/2012, 11h24
  2. Aide EJB JPA Enregistrer en base de données
    Par Danicela dans le forum JPA
    Réponses: 6
    Dernier message: 01/01/2012, 12h34
  3. Réponses: 1
    Dernier message: 09/04/2009, 10h52
  4. [MySQL] impossible d'enregistrer dans la base
    Par car00x dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 12/02/2007, 13h25

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