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

Servlets/JSP Java Discussion :

Probleme Liste Deroulante


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 22
    Points
    22
    Par défaut Probleme Liste Deroulante
    Bonjour tout le monde,

    Dans mon projet actuel, je travail sur une application web en java, et dans laquelle j'utilise des pages JSP biensur.
    Dans ma page j'utilise trois listes deroulantes, et dans la premiere je prends les valeurs d'une seule colonne d'une table "maTable" ds la BD, et que dans la deuxieme liste, je voudrais mettre la deuxieme colonne (mais en foction de la valeur choisi ds la premiere liste deroulante).
    exp:
    dans "maTable" j'ai deux colonne "col1" et "col2"

    "col1" "col2"
    A | AA
    A | AAA
    B | BBB
    C | C
    C | CCC

    et je veux ds ma page jsp, quand je selectionne la Valeur "A" ds la 1er list deroulante, ---> Avoir les valeurs "AA" et "AAA" ds la deuxieme liste deroulante.

    Merci de me dire comment peux-je le faire.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 70
    Points : 72
    Points
    72
    Par défaut
    Une petite recherche aurait pu t'aider plusieurs discussion ont ce sujet comme par exemple celle-ci
    http://www.developpez.net/forums/sho...d.php?t=354143
    La prochaine fois n'oublie pas que est ton ami

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    Bonjour,
    Mais moi je ne travail pas avec le framwork struts, donc j'ai d'action ??

    Merci beaucoup

  4. #4
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Bonjour,

    Meme sans utiliser struts, le probleme reste le meme. L'idée est que lorsque l'on clique sur un champs de la premiere liste, cette valeur soit renvoyé au serveur (onchange à mettre dans la balise select de la premiere liste, pour ceci, regarder du coté de javascript comme ca marche). Il suffit alors de recuperer la liste associée à la valeur qui a été saisie et la renvoyer à la JSP pour remplir le deuxième select avec.
    Il existe tout un tas de topic qui explique comment faire ceci, avec ou sans struts à mon avis. Il va valloir chercher un peu.

    Bonne chance

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Pour compléter, tu as deux alternatives à l'aller-retour serveur "classique" (parfois lourd car il faut recharger correctement tout ce qui a déjà été saisi, ca peut être fastidieux à mettre en oeuvre sur certains formulaires compliqués) :

    - Si ta table est de taille raisonnable (disons moins de 500 lignes par exemple), tu peux faire tout ce traitement en javascript. Les balises option peuvent être mises en style.display='hidden', tu peux donc simplement charger intégralement tes deux listes, ainsi que ta table sous forme de tableau javascript, puis parser toutes les options de ta seconde liste à chaque fois que tu changes la valeur de ta première (onchange). Ces derniers temps j'ai tendance à choisir cette solution, qui a l'avantage de la rapidité, tant dans le codage qu'à l'utilisation.

    - Si ta table est très grosse, ou si pour une raison ou une autre tu préfères passer par le serveur, tu peux aussi faire ca en Ajax. Mais vu que je ne m'y connais pas en la matière, je ne peux pas te dire concrètement comment faire ça.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    Mon probelem c'est que lors de mon recuperation des parametres que je voulais prendre, je perd toutes les valeurs des champs qui sont deja été modifiée (les valeurs de mes champs, sont de ma table, mais ils sont pas encore mis à jours).

    Dans mon formulaire j'ai plusieurs champs corresponds aux differrent tables, et des listes deroulantes aussi, et pour cela j'ai fais un code pour recuperer les valeurs selectionnés, --> mais je perd toujours les autres valeurs des champs txt.
    voici la fonction :
    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
    function getMyParam(){
     
    var numDoc = <%=request.getParameter("numeroDocument")%>;
    var dateCreation = document.FormEditDB.DateCreation.value;
    var typeDoc = document.FormEditDB.TypeDocument.value;
    var demandeur = document.FormEditDB.Demandeur.value;
    var nomGene = document.FormEditDB.NomGenerateur.value;
    var constructeur = document.FormEditDB.Constructeur.value;
    var officine = document.FormEditDB.Officine.value;
    var commandeSO = CommandeSO.value
     
    document.FormEditDB.action = "/jsp/agr_consult/agr_edit.jsp?operation=Modifier"+"&numeroDocument="+numDoc 
    									+"&typeDocument="+typeDoc+"&demandeur="+demandeur+"&nomGenerateur="+nomGene
    									+"&constructeur="+constructeur+"&dateCreation="+dateCreation+"&officine="+officine 
                                                                            +"&commandeSO="+commandeSO;
    document.FormEditDB.target = "mainFrame";
    		document.FormEditDB.submit();
    	}
    et mes listes sont :
    1- liste type doc:

    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
     
    <select name="TypeDocument">
              	<%
                DB_TableTypeDocument tTypeDocument = new DB_TableTypeDocument();
                    Vector listTypeDocument = tTypeDocument.getTousTypeDocument();
                    ListIterator iterTypeDocument = listTypeDocument.listIterator();
                            while (iterTypeDocument.hasNext()) {
                                    Agr_TypeDocument aTypeDocument = (Agr_TypeDocument) iterTypeDocument.next();
                            %>
        			<OPTION value="<%= aTypeDocument.getType()%>"><%= aTypeDocument.getType()%></OPTION>
        		<%
                            }
                    %>
              </select>
              	<%
                            typeDocument = request.getParameter("typeDocument");
                            if (typeDocument != null){  %>
      				<script language="javascript">
        				document.FormEditDB.TypeDocument.value = "<%=typeDocument%>";
      				</script>
    			<%
                            }
                            %>
    2- liste Generateurs (--> definie son constructeur)

    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
     
    <select name="NomGenerateur" onchange="getMyParam()">
     
              <%
                Vector listNomGeneAutorise = tGeneAutorise.getListeNomGeneAutorise();
                    ListIterator iterNomGeneAutorise = listNomGeneAutorise.listIterator();
                            while (iterNomGeneAutorise.hasNext()) {
                                    String nomGene = (String) iterNomGeneAutorise.next();
                       %>
        			<OPTION value="<%= nomGene %>"><%= nomGene %></OPTION>
        	  <%
                            }
                    %>	
              </select>
              <%
              if (nomGenerateur!=null) {
              %>
              <%= nomGenerateur %> <BR>
              <% } %>
    3- liste constructeur (en fonction du generateur)
    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
    <select name="Constructeur" >
              <%
              
    	          nomGenerateur = request.getParameter("nomGenerateur");
    	          Vector listConstructeur = tGeneAutorise.getListeConstructeur(nomGenerateur);
    	          ListIterator iterConstructeur = listConstructeur.listIterator();
    			  while (iterConstructeur.hasNext()) {
    				String cons = (String) iterConstructeur.next();
              %>
        			<OPTION value="<%= cons %>"><%= cons %></OPTION>
        	  <%
    		  }
              %>	
              </select>
    grace au nom du generateur, j'ai pu trouver ces constructeurs, mais lors de la recuperation des parametres de mes listes, je perds les infos ds d'autres champs.
    Comment peux-je faire stp ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    J'ai pas eu le courage d'analyser tout ton code, mais dès le début il y a quelque chose de bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    document.FormEditDB.action = "/jsp/agr_consult/agr_edit.jsp?operation=Modifier"+"&numeroDocument="+numDoc 
    									+"&typeDocument="+typeDoc+"&demandeur="+demandeur+"&nomGenerateur="+nomGene
    									+"&constructeur="+constructeur+"&dateCreation="+dateCreation+"&officine="+officine 
                                                                            +"&commandeSO="+commandeSO;
    document.FormEditDB.target = "mainFrame";
    document.FormEditDB.submit();
    De 2 choses l'une, soit tu submit ton form, et dans ce cas les valeurs de tes champs seront ajoutées automatiquement à la requête, soit tu crées une requête à la main en js, et dans ce cas ce n'est pas un submit que tu doit appeler, mais un document.location (vu que tu passes par une URL, et plus par un submit de formulaire).
    Mais faire un submit avec un action "/machin.jsp?parm1=xxx&param2=yyy", ca ne sert à rien, il ne tiendra pas compte de tes paramètres "?parm1=xxx&param2=yyy".

    Autre remarque, ton code JSP est vraiment peu lisible, notamment à cause de tout ton code java qui récupère les données et les affiche. Si tu ne veux pas, ou ne peux pas passer par un framework comme Struts, tu devrais au moins utiliser les balises JSTL, qui font beaucoup de bien à la lisibilité du code.

    Dernière chose ... as-tu envisagé d'implémenter l'une des solutions que je proposais ?

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    Bonjour,
    Oui, je suis debutant en Java.

    Dernière chose ... as-tu envisagé d'implémenter l'une des solutions que je proposais ?
    Je prefere la premiere solution, mais quand je fais que submit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function getMyParam(){
    document.FormEditDB.target = "mainFrame";
    document.FormEditDB.submit();
    	}
    Dans ma liste (avec un evennement OnChange="getMyParam()"), J'ai la meme valeur que la valeur initiale (selectionnés avant submit).

    Avez vous une idée pour ce probleme ?

    Merci d'avance

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Qu'est-ce que tu entends par "la premiere solution", celle de zorm, ou ma première ?

    Si c'est "ma" première, je crois que je ne me suis pas bien fait comprendre.
    Dans le cas où tu optes pour un traitement entièrement côté client, via javascript, il n'y a pas à poster le formulaire, tout se fait du côté client. La méthode à appeler dans le onchange se contente d'afficher ou de cacher les éléments de ta deuxième liste.

    Si c'est la solution de zorm (que je trouve moins adaptée, mais bon, chacun sa façon de faire) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dans ma liste (avec un evennement OnChange="getMyParam()"), J'ai la meme valeur que la valeur initiale (selectionnés avant submit)
    Je n'ai pas compris cette phrase. Quel champ veux-tu récupérer ? Ton select ne renvoie visiblement pas une liste mais une valeur unique. Peux-tu préciser ?

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    Non, c'est pas ça.
    Vous m'avez mal compris.
    En fet, moi je voudrais faire exactement comme :
    Apartir de la 1er colonne (Generateur) --> Remplir la 2eme colonne (Constructeur). et pour faire ça, je pense que c'est obligatoire de rafraichir la page (je pense, si tu as d'autre idée n'hesitez pas de me le proposer).
    Et moi j'ai du mal pour faire ce rafraichissemnt, c'est pour ça j'ai fais la fonction getMyParam()
    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
    function getMyParam(){
     
    var numDoc = <%=request.getParameter("numeroDocument")%>;
    var dateCreation = document.FormEditDB.DateCreation.value;
    var typeDoc = document.FormEditDB.TypeDocument.value;
    var demandeur = document.FormEditDB.Demandeur.value;
    var nomGene = document.FormEditDB.NomGenerateur.value;
    var constructeur = document.FormEditDB.Constructeur.value;
    var officine = document.FormEditDB.Officine.value;
    var commandeSO = CommandeSO.value
     
    document.FormEditDB.action = "/jsp/agr_consult/agr_edit.jsp?operation=Modifier"+"&numeroDocument="+numDoc 
    									+"&typeDocument="+typeDoc+"&demandeur="+demandeur+"&nomGenerateur="+nomGene
    									+"&constructeur="+constructeur+"&dateCreation="+dateCreation+"&officine="+officine 
                                                                            +"&commandeSO="+commandeSO;
    document.FormEditDB.target = "mainFrame";
    		document.FormEditDB.submit();
    	}
    c'est exactement comme les listes (Pays) --> (Ville)et que moi j'utilise pas le framwork Struts

    M'avez vous compris ?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Citation Envoyé par wayle
    Apartir de la 1er colonne (Generateur) --> Remplir la 2eme colonne (Constructeur). et pour faire ça, je pense que c'est obligatoire de rafraichir la page (je pense, si tu as d'autre idée n'hesitez pas de me le proposer).
    Qu'est-ce que je fais depuis ce matin ? C'est exactement ce dont je parle, relis mes posts (c'est peu agréable de passer du temps à répondre à un post et de ne pas être lu) ! Ceci dit, comme je le disais, si tu as beaucoup de données, et que tu dois de toute façon coder l'affichage de données existantes dans ta JSP, autant faire un appel serveur.
    Mais si ta page est toujours vierge au départ, ce serait à mon avis idiot de s'embeter à coder la "persistence" des données saisies après modif de la première combo, et bien plus malin de faire ca uniquement côté client, en javascript.

    Et, pour ton problème en lui-même, je t'avoue que je ne suis pas très motivé pour le fouiller, ton code est sincèrement un peu repoussant.

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    Mais si ta page est toujours vierge au départ, ce serait à mon avis idiot de s'embeter à coder la "persistence" des données saisies après modif de la première combo, et bien plus malin de faire ca uniquement côté client, en javascript
    Mais non, ma page JSP est appelée pour une création (page vierge au debut), et pour une modification aussi.

    Si tu n'as pas envie d'aider les autres, laisses tomber.

    En tout cas Merci.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Citation Envoyé par wayle
    Si tu n'as pas envie d'aider les autres, laisses tomber.
    Ca fait toujours plaisir. J'ai du passer pas loin d'1/2 heure aujourd'hui à répondre à tes messages et à faire les recherches qui vont avec, c'est le signe évident d'un manque d'envie de t'aider. J'ai également posté plus de 100 réponses cette dernière semaine sur ce forum, le summum de l'égocentrisme !
    J'ajouterais que tu as tort de m'envoyer balader comme ça, vu que je suis probablement le seul ici à avoir la patience de répondre à quelqu'un comme toi.
    La vérité c'est que tu ignores tout message explicatif et que tu n'attends que "la" ligne de code libératrice qui fera marcher ton code pourri sans que tu aies à bosser un peu plus.

    Wayle, tu représentes le cancer de ce genre de site altruiste, j'invite tout le monde à ignorer ce topic pour éviter la métastase.

  14. #14
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    Wayle, tu représentes le cancer de ce genre de site altruiste, j'invite tout le monde à ignorer ce topic pour éviter la métastase.
    Au contraire Monsieur, avec tt mes respects pour toi, moi je suis sur ce forum, c'est par ce que j'ai besoin de gens comme toi et tout les autres gens que je vois leur discution dans ce formidable forum.

    Mon cas, c'est que j'ai des bonne idées ds la tete pour faire un bon programme, mais en tant qu'un débutant et sans guide, expert et professionnel ds ce domaine je ne peux pas avancer.
    j'ai fais mon de mon mieux au niveau code (à mon niveau), et j'ai besoin de quelqu'un qui m'explique (comme toi d'ailleur) et qu'il me donne le bon exemple(ce que toi tu n'as pas volus faire).

    Je le dis, et je repete Merci bc pour ton explication.

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Ok, merci de cette humilité, calmons le jeu dans ce cas ...

    Pour ce qui est d'un exemple, ca m'est difficile, parce que le code que j'ai à disposition et qui pourrait te convenir est basé sur Struts (qui te faciliterait la vie mais bon...), et que c'est un peu fastidieux à poster. Et la solution plus simple que je préconisais ne te séduit guère visiblement.

    Alors voici mes préconisations, libre à toi de les suivre ou non :
    Ce que je te conseille, c'est de créer une servlet qui "gérera" ta JSP, et un JavaBean qui te permettra de stocker toutes tes données pour les afficher (ou réafficher) dans ta JSP et que tu remplira depuis ta servlet. Tu arrives alors à une architecture plus proche de MVC, qui sera vraiment plus pratique.

    Désolé, mon post ne t'aide pas beaucoup en soi, mais il te manque pas mal de notions, et en essayant à tout prix de faire marcher ton truc sans changer ton architecture, tu risques d'arriver à un truc imbitable que tu auras du mal à maintenir toi-même. Je te conseille vivement de rechercher un tutoriel ou une doc sur les bonnes facon de coder des formulaires sans framework, avec JSP + servlet + javabean, je pense que tu ne perdras pas ton temps, sincèrement. Il ne s'agit pas de refondre toute ton appli, mais juste de faire un peu autrement pour cette page. (ca me déprime, mais je sais que tu ne le feras pas...)

    P.S. : Quand même ...
    et qu'il me donne le bon exemple (ce que toi tu n'as pas volus faire)
    Tu crois que je suis le Gardien du Secret du Grand Complot des Développeurs ? Si on ne te donne pas un exemple, c'est qu'on n'en a pas à disposition, et/ou que ton code n'est pas assez clair pour adapter une solution à ton cas. Tu penses bien que si j'avais eu un code sous la main pour me débarrasser de toi ...

  16. #16
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    Bonjour mixouille,

    Je vous remercie bc pour tes conseils, et là j'avoue que j'ai pas les bonnes manieres pour developper.
    Ce que j'ai retenue dans cette discution, c'est qu'il faut programmer mon appli en model MVC, càd : separer les 3 couches (JavaBean, JSP, Servlet)

    j'ai commencé à codé ma nouvelle servlet hier soir.



    Merci
    Wayle,

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Citation Envoyé par wayle
    Ce que j'ai retenue dans cette discution, c'est qu'il faut programmer mon appli en model MVC, càd : separer les 3 couches (JavaBean, JSP, Servlet)
    Je pouvais pas rêver mieux

    Tu verras, ca simplifie vite la vie une fois que tu as une architecture qui tient la route. Tout coder dans les JSP c'est tentant, mais ca devient vite infernal à maintenir.

    De toute façon tu n'as pas besoin visiblement de beaucoup de choses. Une petite servlet qui crée et remplit un javabean, le met dans ton contexte request ou session et forward vers ta JSP. Et dans ta JSP un submit vers une servlet (éventuellement la même) qui va récupérer les données postées, voir ce qu'il doit faire (dans ton cas, pour ta combo, tu peux mettre à jour en javascript la valeur d'un champ caché indiquant qu'il faut recharger ta secconde combo), le faire, et renvoyer soit sur la même JSP en cas de refresh de ta combo (ou d'un échec de validation de tes données par exemple), soit rediriger sur une autre page.

Discussions similaires

  1. probleme liste deroulante
    Par enimnez dans le forum Struts 1
    Réponses: 1
    Dernier message: 17/05/2008, 14h14
  2. Probleme liste deroulante
    Par lelapinrusse dans le forum IHM
    Réponses: 2
    Dernier message: 13/01/2008, 10h34
  3. probleme listes deroulantes dependantes
    Par neoboy dans le forum IHM
    Réponses: 5
    Dernier message: 20/07/2007, 15h43
  4. Probleme liste deroulante
    Par lemagicien dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/01/2006, 17h24
  5. [javascript] Probleme liste deroulante
    Par samtheh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2005, 14h13

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