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

Développement Web en Java Discussion :

EJBContainer et initialisation de context


Sujet :

Développement Web en Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 70
    Points
    70
    Par défaut EJBContainer et initialisation de context
    Bonjour,

    J'utilise Glassfish 3.1 et eclipse 3.6.2. Je souhaite faire une appli en associant JPA + EJB 3 + GWT.
    Mon problème est que j'arrive pas à accéder aux EJBs. J'essaie d'initialiser mon context avec un EJBContainer comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Map<String, Object> properties = new HashMap<String, Object>();
    properties.put(EJBContainer.MODULES, new File("target/classes"));
    ejbContainer = EJBContainer.createEJBContainer( properties );
    Context ctx = ejbContainer.getContext();
     
    try {
     
            sg1AffaireService = (AffaireBeanLocal) ctx.lookup( "java:global/ejb/" + AffaireBean.class.getSimpleName() );
    } catch (NamingException e) {
    	e.printStackTrace();
    }
    Mais j'obtiens l'erreur :

    com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.lang.String org.jboss.tools.gwt.client.GreetingService.greetServer(java.lang.String) throws java.lang.IllegalArgumentException' threw an unexpected exception: java.lang.NullPointerException
    at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: java.lang.NullPointerException
    at org.glassfish.web.loader.WebappClassLoader.findResources(WebappClassLoader.java:1073)
    at org.glassfish.web.loader.WebappClassLoader.getResources(WebappClassLoader.java:1312)
    at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:323)
    at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:415)
    at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:125)
    at org.jboss.tools.gwt.server.GreetingServiceImpl.greetServer(GreetingServiceImpl.java:50)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
    ... 30 more

    Je n'arrive pas à comprendre ce que l'on doit mettre au niveau du new Files :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    properties.put(EJBContainer.MODULES, new File("target/classes"));
    et au niveau du lookup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ctx.lookup( "java:global/ejb/" + AffaireBean.class.getSimpleName() );
    Est ce que quelqu'un pourrait m'aider svp!

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 36
    Points
    36
    Par défaut
    je ne sais pas ci je peux t'aider car jutilise Jboss mais en ce qui me concerne

    pour l 'Ejb je mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Context ctx = new InitialContext();
    SessionRemote  session = (SessionRemote)ctx.lookup("java:global/jboss-as-Devise/SessionStatFull");
    ici SessionRemote c'est mon interface Remote

    jboss-as-Devise c'est le nom de mon projet au deployement déclaré dans le pom.xml

    et sessionStatFull c'est mon Ejb stateful

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    Je vais surement poser une question bête pour les chevronné de JEE mais personnellement je n'ai pas fait de fichier pom.xml.
    Est-il obligatoire pour n'importe quel projet =?

    Pourrais-tu me copier-coller le tien dans ce post ou en privé en m'expliquant vite fait chaque partie?

    Merci d'avance

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 36
    Points
    36
    Par défaut
    Avec plaisir
    meme si je suis encore débutant en JEE

    voila mon pom.xml qui se trouve dans la racine du projet et si pour JBoss je pense que pour les autre tu aurra quelque chose qui lui resemble on ce qui me concerne il suffit de modifier la valeur de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <artifactId>jboss-as-Devise</artifactId>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <finalName>jboss-as-Devise</finalName>
    par le nom de ton projet bon voila le code complet de mon fichier pom.xml


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
     
    <?xml version="1.0" encoding="ISO-8859-1"?> 
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
       <modelVersion>4.0.0</modelVersion>
     
       <groupId>org.jboss.as.quickstarts</groupId>
       <artifactId>jboss-as-Devise</artifactId>
       <version>7.0.0.Final</version>
       <packaging>war</packaging>
       <name>JBoss AS Quickstarts: Login</name>
     
       <url>http://jboss.org/jbossas</url>
       <licenses>
          <license>
             <name>GNU Lesser General Public License</name>
             <url>http://www.gnu.org/copyleft/lesser.html</url>
             <distribution>repo</distribution>
          </license>
       </licenses>
     
       <properties>
          <!-- Explicitly declaring the source encoding eliminates the following 
             message: -->
          <!-- [WARNING] Using platform encoding (UTF-8 actually) to copy filtered 
             resources, i.e. build is platform dependent! -->
          <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
       </properties>
     
       <!-- Include the JBoss Maven repository so we can access JBoss artifacts -->
       <repositories>
          <repository>
             <id>jboss-public-repository</id>
             <name>JBoss Repository</name>
             <url>https://repository.jboss.org/nexus/content/groups/public</url>
             <releases>
                <enabled>true</enabled>
             </releases>
             <snapshots>
                <enabled>false</enabled>
             </snapshots>
          </repository>
       </repositories>
     
       <pluginRepositories>
          <pluginRepository>
             <id>jboss-public-repository</id>
             <name>JBoss Repository</name>
             <url>https://repository.jboss.org/nexus/content/groups/public</url>
             <releases>
                <enabled>true</enabled>
             </releases>
             <snapshots>
                <enabled>false</enabled>
             </snapshots>
          </pluginRepository>
       </pluginRepositories>
     
       <dependencyManagement>
          <dependencies>
             <!-- Define the version of JBoss' Java EE 6 APIs we want to import. 
                Any dependencies from org.jboss.spec will have their version defined by this 
                BOM -->
             <!-- JBoss distributes a complete set of Java EE 6 APIs including 
                a Bill of Materials (BOM). A BOM specifies the versions of a "stack" (or 
                a collection) of artifacts. We use this here so that we always get the correct 
                versions of artifacts. Here we use the jboss-javaee-web-6.0 stack (you can 
                read this as the JBoss stack of the Java EE Web Profile 6 APIs), and we use 
                version 2.0.0.Beta1 which is the latest release of the stack. You can actually 
                use this stack with any version of JBoss AS that implements Java EE 6, not 
                just JBoss AS 7! -->
             <dependency>
                <groupId>org.jboss.spec</groupId>
                <artifactId>jboss-javaee-web-6.0</artifactId>
                <version>2.0.0.Final</version>
                <type>pom</type>
                <scope>import</scope>
             </dependency>
          </dependencies>
       </dependencyManagement>
     
       <dependencies>
     
          <!-- Import the CDI API, we use provided scope as the API is included 
             in JBoss AS 7 -->
          <dependency>
             <groupId>javax.enterprise</groupId>
             <artifactId>cdi-api</artifactId>
             <scope>provided</scope>
          </dependency>
     
          <!-- Import the Common Annotations API (JSR-250), we use provided scope 
             as the API is included in JBoss AS 7 -->
          <dependency>
             <groupId>org.jboss.spec.javax.annotation</groupId>
             <artifactId>jboss-annotations-api_1.1_spec</artifactId>
             <scope>provided</scope>
          </dependency>
     
          <!-- Import the JSF API, we use provided scope as the API is included 
             in JBoss AS 7 -->
          <dependency>
             <groupId>org.jboss.spec.javax.faces</groupId>
             <artifactId>jboss-jsf-api_2.0_spec</artifactId>
             <scope>provided</scope>
          </dependency>
     
          <!-- Import the JPA API, we use provided scope as the API is included 
             in JBoss AS 7 -->
          <dependency>
             <groupId>org.hibernate.javax.persistence</groupId>
             <artifactId>hibernate-jpa-2.0-api</artifactId>
             <scope>provided</scope>
          </dependency>
     
          <!-- Import the JPA API, we use provided scope as the API is included 
             in JBoss AS 7 -->
          <dependency>
             <groupId>org.jboss.spec.javax.transaction</groupId>
             <artifactId>jboss-transaction-api_1.1_spec</artifactId>
             <scope>provided</scope>
          </dependency>
     
          <!-- Import the EJB API, we use provided scope as the API is included 
             in JBoss AS 7 -->
          <dependency>
             <groupId>org.jboss.spec.javax.ejb</groupId>
             <artifactId>jboss-ejb-api_3.1_spec</artifactId>
             <scope>provided</scope>
          </dependency>
     
    <dependency>
             <groupId>org.jboss.spec.javax.servlet</groupId>
             <artifactId>jboss-servlet-api_3.0_spec</artifactId>
             <scope>provided</scope>
          </dependency>
    <!-- <dependency>
             <groupId>jboss.web</groupId>
             <artifactId>servlet-api</artifactId>
             <version>3.0.0.alpha-7</version>
          </dependency>
     
    -->
       </dependencies>
     
       <build>
          <!-- Set the name of the war, used as the context root when the app 
             is deployed -->
          <finalName>jboss-as-Devise</finalName>
          <plugins>
             <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                   <!-- Java EE 6 doesn't require web.xml, Maven needs to catch 
                      up! -->
                   <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
             </plugin>
             <!-- JBoss AS plugin to deploy war -->
             <plugin>
                <groupId>org.jboss.as.plugins</groupId>
                <artifactId>jboss-as-maven-plugin</artifactId>
                <version>7.0.0.Final</version>
             </plugin>
             <!-- Compiler plugin enforces Java 1.6 compatibility and activates 
                annotation processors -->
             <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.1</version>
                <configuration>
                   <source>1.6</source>
                   <target>1.6</target>
                </configuration>
             </plugin>
          </plugins>
       </build>
     
    </project>

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    Est ce un projet Maven que tu as fait pour avoir un fichier pom.xml ou un projet "normal" et le pom.xml a été généré qd même?

    Merci de ton aide.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 36
    Points
    36
    Par défaut
    C'est un projet que je déploie avec mvn afain d'avoir le .war qui sera éxecuter dans le serveur Jboss

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    Bon je n'ai tjs pas résolu mon problème.

    Ce que je souhaite faire, c'est faire un projet EJB/JPA et un projet GWT qui fait appel aux EJB du premier projet.
    Le problème est que dans le GWT, il n'arrive pas à travailler avec les EJB :

    Ma sessionBean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @Stateless( mappedName = "ejb/monBean", name = "ejb/monBean" )
    public class SessionBean implements SessionBeanLocal {
     
    @PersistenceContext
    private EntityManager em;
     
    @Override
    public Sg1Affaire findAffaire( int id ) {
    	Sg1Affaire affaire = em.find( Sg1Affaire.class, 1 );
    	return affaire;
    }
    }
    le GWT faisant appel à la sessionBean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try {
            sessionBeanLocal = (SessionBeanLocal) new InitialContext().lookup( "ejb/monBean" );
    } catch (NamingException e) {
    	e.printStackTrace();
    }
    Et j'obtiens l'erreur :
    GRAVE: WebModule[/gwtProject]Exception while dispatching incoming RPC call
    com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.lang.String jey.gwt.client.GreetingService.greetServer(java.lang.String) throws java.lang.IllegalArgumentException' threw an unexpected exception: java.lang.NoClassDefFoundError: ejb/SessionBeanLocal
    at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: java.lang.NoClassDefFoundError: ejb/SessionBeanLocal
    at jey.gwt.server.GreetingServiceImpl.greetServer(GreetingServiceImpl.java:50)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
    ... 30 more
    Est ce que quelqu'un a une idée du problème svp?

    Merci d'avance

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    Une question de plus :
    Comment intégrer un projet GWT dans un projet EAR?

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/09/2014, 17h27
  2. Recuperer les champs d'un tMap pour initialiser des variable de contexte
    Par tazoune dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 09/05/2012, 10h54
  3. Initialisation d'une variable de contexte de type 'Date'
    Par NicolasTT dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 30/11/2011, 10h45
  4. [JMS] [openJMS] erreur lors de l'initialisation du contexte
    Par bo7mid dans le forum Java EE
    Réponses: 3
    Dernier message: 31/03/2010, 11h49
  5. [JMS] NameNotFoundException lors de l'initialisation du context
    Par GLSpirit dans le forum Java EE
    Réponses: 2
    Dernier message: 11/05/2009, 12h10

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