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

Maven Java Discussion :

Récupérer les properties d'une dépendance


Sujet :

Maven Java

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut Récupérer les properties d'une dépendance
    A partir d'un projet P1, j'utilise un assembly.xml et le plugin maven-resources-plugin + son goal copy-resources pour:

    • exclure du .jar final, tous les fichiers properties du projet P1 (avec un <exclude>properties/*.properties</exclude> dans assembly.xml)
    • créer un dossier externe au .jar et contenant les properties qui étaient exclus (avec des include dans le plugin maven-resources-plugin).


    Seulement voilà, si cette opération fonctionne bien, les fichiers properties d'une des dépendances (projet P2) sont exclus du jar final.

    1. Pourquoi le wildcard *.properties a-t-il des répercussions sur la dépendance?

    1. A la limite l'exclusion des properties de la dépendance projet P2 ne me gêne pas alors comment faire dans le pom.xml pour inclure les properties de P1 et aussi ceux de P2?


    N'hésitez pas à me poser des questions si ce n'est pas clair... mais j'aurais bien voulu de l'aide

    D

  2. #2
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut hello
    Bonjour,

    Est ce quelqu'un aurait une idée?
    Je voudrais savoir si quelqu'un avait déjà eu ce cas où un assembly.xml agit sur des properties au-delà du projet cible, sur une dépendance?

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    si vous commenciez par donner votre assembly

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut assembly.xml et pom.xml
    Oui effectivement tu as raison: ça peut aider.

    Je mets ici l'assembly.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
     
    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
      <id>executable</id>
      <formats>
        <format>jar</format>
      </formats>
      <includeBaseDirectory>false</includeBaseDirectory>
     
      <dependencySets>
         <dependencySet>
             <scope>runtime</scope>
             <unpack>true</unpack>
     	 <excludes>
     	   <exclude>avalon*:*</exclude>
               <exclude>com*:*</exclude>
               <exclude>commons*:*</exclude>
               <exclude>dozer*:*</exclude>
               <exclude>log4j*:*</exclude>
               <exclude>logkit*:*</exclude>
               <exclude>org*:*</exclude>
               <exclude>pdf*:*</exclude>
               <exclude>saxon*:*</exclude> 
               <exclude>xalan*:*</exclude>
               <exclude>xpp*:*</exclude>
               <exclude>xml-apis*:*</exclude>  
              </excludes>
           <unpackOptions>
          	<excludes>
    			<exclude>help.properties</exclude>
    			<exclude>log4j.xml</exclude>			
    			<exclude>properties/*.properties</exclude>	
           	</excludes>
          </unpackOptions>
        </dependencySet>
       </dependencySets>
    </assembly>
    Maintenant le profil que j'utilise pour assembly:assembly
    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
     
    <profile>
      <id>avecextern</id>
      <build>		
      <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2-beta-5</version>
        <configuration>
        <descriptors>
          <descriptor>src/main/assembly/assembly.xml</descriptor>
        </descriptors>
        <archive>
          <manifest>
    	<mainClass>fr.myMainClass</mainClass>
    	<addClasspath>true</addClasspath>
    	<classpathPrefix>lib/</classpathPrefix>
          </manifest>
          <manifestEntries>
             <Class-Path>${ClassPath}</Class-Path>	
          </manifestEntries>
         </archive>
         <finalName>P1-${maven.build.timestamp}</finalName>
         <outputDirectory>${Depot}\${env}</outputDirectory>				
        </configuration>	
       </plugin>		
     
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-dependency-plugin</artifactId>
         <version>2.1</version>
         <executions>
    	<execution>
    	  <id>copy-dependencies</id>
    	  <phase>package</phase>
    	  <goals>
    	    <goal>copy-dependencies</goal>
    	  </goals>
    	  <configuration>
    	    <outputDirectory>${Depot}\${env}</outputDirectory>
    	    <stripVersion>false</stripVersion>
    	    <excludeArtifactIds>P2,P3,P4</excludeArtifactIds>
      	    <includeScope>runtime</includeScope>
    	   </configuration>
            </execution>
         </executions>
       </plugin>
     
       <plugin>
         <artifactId>maven-resources-plugin</artifactId>
         <version>2.4.3</version>
    	<executions>
    	  <execution>
    	    <id>copy-resources</id>
    	    <phase>package</phase>
    	    <goals>
    		<goal>copy-resources</goal>
    	    </goals>	
    	    <configuration> 
    		<outputDirectory>${Depot}\${env}</outputDirectory>
    		<resources> 
    		  <resource>
    		    <targetPath>properties</targetPath>
    		    <directory>
                            ${basedir}/src/main/resources/properties
                        </directory> 
    		   <filtering>true</filtering> 
    		   <includes>
    		     <include>propriete1A.properties</include>
    		     <include>propriete1B.properties</include>
    		   </includes>	
    		  </resource>
    		  <resource>
    		    <directory>${basedir}/src/main/resources</directory> 
    		    <includes>
    		      <include>help.properties</include>																					
    		      <include>log4j.xml</include>	
    		    </includes>
    		  </resource>
    		</resources> 
    	      </configuration> 
    	    </execution>
    	   </executions>
    	</plugin>					
         </plugins>
       </build>
    </profile>

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    ce n'est pas de votre projet, mais uniquement des dépendances de votre projets que vous retirez explicitement les properties:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
           <unpackOptions>
          	<excludes>
    			<exclude>help.properties</exclude>
    			<exclude>log4j.xml</exclude>			
    			<exclude>properties/*.properties</exclude>	
           	</excludes>
          </unpackOptions>
    Pour filtrer votre projet principal, c'est quelque chose dans ce gout la

    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
    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
      <id>distribution</id>
      <formats>
        <format>jar</format>
      </formats>
      <fileSets>
        <fileSet>
          <directory>src/main/resources</directory>
          <excludes>
            <exclude>properties/*.properties</exclude>
          </excludes>
        </fileSet>
      </fileSets>
    </assembly>

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Merci pour la proposition. J'ai essayé cette solution mais l'exclusion n'a pas d'effet. Lorsque j'ouvre le jar exécutable ces fichiers properties sont toujours inclus.
    Quelle version du plugin assembly utilisez-vous? Peut-être que c'est ça le problème?

    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
     
     
    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
      <id>executable</id>
      <formats>
        <format>jar</format>
      </formats>
      <includeBaseDirectory>false</includeBaseDirectory>
       <fileSets>
        <fileSet>
          <directory>src/main/resources/properties</directory>
          <excludes>
            <exclude>*.properties</exclude>
          </excludes>
        </fileSet>
      </fileSets>
      <dependencySets>
         <dependencySet>
             <scope>runtime</scope>
             <unpack>true</unpack>
     	 <excludes>
     	   <exclude>avalon*:*</exclude>
               <exclude>com*:*</exclude>
               <exclude>commons*:*</exclude>
               <exclude>dozer*:*</exclude>
               <exclude>log4j*:*</exclude>
               <exclude>logkit*:*</exclude>
               <exclude>org*:*</exclude>
               <exclude>pdf*:*</exclude>
               <exclude>saxon*:*</exclude> 
               <exclude>xalan*:*</exclude>
               <exclude>xpp*:*</exclude>
               <exclude>xml-apis*:*</exclude>  
             </excludes>
        </dependencySet>
       </dependencySets>
    </assembly>

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    vous avez autre chose que des fichiers properties dans votre src/main/resources/properties? Parce que votre assembly est curieux. vous dite à maven "je veux inclure src/main/resources/properties" mais dedans, ne pas prendre les *.properties.


    En général, on a plutot tendans à vouloir "toutes les ressources sauf celles de type X" et pas "toutes les ressources X sauf celles de type X"

    aussi, n'oubliez pas
    <useProjectArtifact>false</useProjectArtifact> dans le dependencySet Sinon il va prendre le jar principal de votre projet (qui contient des properties) et l'y mettre

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Excellent, merci beaucoup.

    Maintenant je comprends mieux: je faisais n'importe quoi et ça marchait plus ou moins bien jusqu'alors.

    A la base, je n'utilisais pas <useProjectArtifact>false</useProjectArtifact> mais j'utilisais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <unpackOptions>
          	<excludes>
    			<exclude>help.properties</exclude>
    			<exclude>log4j.xml</exclude>			
    			<exclude>properties/*.properties</exclude>	
           	</excludes>
    </unpackOptions>
    Je supprimais effectivement les fichiers du dossier properties, le help.properties et le log4j.xml de mon projet principal (étant donné mon jar principal était vu comme une dépendance). Mais le wildcard avait un impact sur les autres dépendances: leurs fichiers properties qui correspondaient étaient exclus du jar.

    L'utilisation de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      <useProjectArtifact>false</useProjectArtifact> 
       <fileSets>
        <fileSet>
          ...
        </fileSet>
      </fileSets>
    suffisait pour résoudre le problème. Et bien sûr: je faisais n'importe quoi sur les exclusions, pour ne pas aider.

    Merci tchize_

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    J'ai posté une question assembly d'un module avec plusieurs nommages de package
    avant de me rendre compte que c'était totalement lié à ce poste.. que je pensais résolu .

    Dans mon projet parent je déclare un module comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            <modules>
                    <module>../projet1</module>
                    ...
            </modules>
     
            <dependencyManagement>
                    <dependencies>
                            <dependency>
                                    <groupId>fr.util</groupId>
                                    <artifactId>projet1</artifactId>
                                    <version>1.0.0</version>
                            </dependency>
            </dependencies>
            </dependencyManagement>
    Dans le projet1, les packages sont:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    projet1
            --src
              --main
                --java 
                  -- fr.util.interface
                  -- fr.util.view
                  -- org.service

    J'utilise cet assembly.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
     
    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
      <id>executable</id>
      <formats>
        <format>jar</format>
      </formats>
      <includeBaseDirectory>false</includeBaseDirectory>
      <fileSets>
        <fileSet>
          	<directory>target/classes/fr/util/interface</directory>
          	<outputDirectory>fr/util/interface</outputDirectory>
           	<includes>
            	<include>**</include>
         	</includes>
        </fileSet>
        <fileSet>
          <directory>target/classes/org/eclipse</directory>
                  <outputDirectory>org/eclipse</outputDirectory>
                  <includes>
                    <include>**</include>
                </includes>
        </fileSet>
        <fileSet>
          	<directory>target/classes/fr/util/view</directory>
          	<outputDirectory>fr/util/view</outputDirectory>
           	<includes>
            	<include>**</include>
         	</includes>
        </fileSet>
        <fileSet>
          	<directory>src/main/resources</directory>
          	<outputDirectory></outputDirectory>
           	<includes>
            	<include>*.*</include>
         	</includes>
         	<excludes>
                    <exclude>server.properties</exclude>
                    <exclude>help.properties</exclude>
                    <exclude>TeckMenu.xml</exclude>
                    <exclude>log4j.xml</exclude>
            </excludes>
        </fileSet>
        <fileSet>
          	<directory>src/main/resources/images</directory>
          	<outputDirectory>images</outputDirectory>
           	<includes>
            	<include>**</include>
         	</includes>
        </fileSet>
      <dependencySets>
         <dependencySet>
          	<scope>runtime</scope>
          	<unpack>true</unpack>
         	 <useProjectArtifact>false</useProjectArtifact>
     	  	<excludes>
     	   		<exclude>avalon*:*</exclude>
           		<exclude>com*:*</exclude>
           		<exclude>commons*:*</exclude>
           		<exclude>dozer*:*</exclude>
          		<exclude>log4j*:*</exclude>
          		<exclude>logkit*:*</exclude>
           		<exclude>org*:*</exclude>
           		<exclude>pdf*:*</exclude>
           		<exclude>saxon*:*</exclude> 
           		<exclude>xalan*:*</exclude>
           		<exclude>xpp*:*</exclude>
           		<exclude>xml-apis*:*</exclude>  
          		</excludes>
        </dependencySet>
       </dependencySets> 
    </assembly>
    J'ai constaté que je n'ai pas les sources .class du projet1 sans déclarer:

    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
     
    <fileSet>
          	<directory>target/classes/fr/util/interface</directory>
          	<outputDirectory>fr/util/interface</outputDirectory>
           	<includes>
            	<include>**</include>
         	</includes>
        </fileSet>
        <fileSet>
          <directory>target/classes/org.service</directory>
                  <outputDirectory>org.service</outputDirectory>
                  <includes>
                    <include>**</include>
                </includes>
        </fileSet>
        <fileSet>
          	<directory>target/classes/fr/util/view</directory>
          	<outputDirectory>fr/util/view</outputDirectory>
           	<includes>
            	<include>**</include>
         	</includes>
        </fileSet>
    J'ai cru un moment que c'était seulement org.service qui n'était pas inclu, donc un problème de package (d'où le mauvais poste ). J'ai essayé bien sûr sans l'exclusion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <exclude>org*:*</exclude>
    Cette exclusion n'a pas d'effet sur org.eclipse car avec la balise useProjectArtifact le module projet n'est pas considéré comme une dépendance.

    Mais en fait ce sont tous les .class du module projet1 qui ne sont pas inclus...

    Pouvez-vous me dire ce qui manque à cet assembly.xml?
    Merci pour votre aide.

  10. #10
    Membre confirmé

    Inscrit en
    Septembre 2006
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 466
    Points : 515
    Points
    515
    Par défaut
    Bonjour,

    Pour pouvoir bien répondre, il faudrait en premier lieu comprendre ce que tu cherches à faire.

    En effet, ici, tu nous présentes la solution que tu as actuellement (que tu sembles reprendre de quelqu'un d'autres) et pas ce tu souhaites faire. Je ne suis pas sûr que la solution actuelle correspond vraiment au besoin.

    Rémy

  11. #11
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Hello,

    Ce que je veux faire:
    1. exclure dans le .jar exécutable, certains fichiers .properties du module projet1 et certaines dépendances utilisées au runtime
    2. créer à la même racine que le .jar un dossier contenant les fichiers .properties qui furent exclus et un dossier avec les dépendances
    3. avoir un jar contenant le reste du module projet1 ainsi que les autres modules


    Après mes postes je pensais qu'avec l'assembly et le pom.xml de projet1 tout fonctionnerait.

    Sauf que je n'avais pas vu, bizarrement, que les sources du module projet1 (contenant cet assembly.xml) n'étaient pas inclus dans le .jar

    Donc j'obtiens bien pour le moment:

    1. l'exclusion dans le .jar exécutable des fichiers properties du module projet1 et des dépendances
    2. la création de mes dossiers lib et properties avec les fichiers .properties qui furent exclus et un autre avec les dépendances
    3. l'inclusion dans le .jar exécutable des autres modules autre que projet1


    Résultat, j'ai complété mon assembly.xml en rajoutant provisoirement les target/classes pour reconstituer le projet1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        <fileSet>
          <directory>target/classes/...</directory>
           ...
         </fileSet
    Je sais que ce n'est pas propre et que il y a forcément quelque chose de mieux.

    D

  12. #12
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Je reviens vers vous parce que je n'ai vraiment pas trouvé la solution... est ce quelqu'un aurait un exemple d'assembly.xml pour faire les points que j'ai marqué dans mon dernier poste?

    Bonne journée à tous;

    D

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/12/2011, 16h02
  2. Récupérer les sources d'une dépendance
    Par verbose dans le forum Maven
    Réponses: 1
    Dernier message: 08/03/2010, 15h52
  3. [VB.NET] Récupérer les caractéristiques d'une couleur
    Par leSeb dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/08/2004, 15h03
  4. [Servlet] récupérer les champs d'une jsp
    Par phoebe dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 12/05/2004, 16h32

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