IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Affichage d'une liste dans JSP à partir d'une requête HQL


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut Affichage d'une liste dans JSP à partir d'une requête HQL
    Bonsoir tout le monde,
    Après recherche dans le forum, j'arrive toujours pas à résoudre mon problème malgrés qu'il y a des posts qui ressemble à mon problème, bref voici mes deux classes Personnel et PlanDeCharge:

    Personnel:
    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
     
    @Entity
    public class Personnel implements java.io.Serializable {
     
    	private static final long serialVersionUID = 930607645384966459L;
     
    	private Integer id_personnel;
    	private String civilite_personnel;
    	private String nom_personnel;
    	private String prenom_personnel;
    	private String nss_personnel;
    	private String date_naissance_personnel;
    	private String lieu_naissance_personnel;
    	private String nationalite_personnel;
    	private String email_personnel;
    	private String adresse_personnel;
    	private String ville_personnel;
    	private Integer code_postal_personnel;
    	private String pays_personnel;
    	private String date_recrutement_personnel;
    	private String date_sortie_personnel;
    	private String poste_personnel;
    	private String service_personnel;
    	private Integer salaire_base_personnel;
    	private String type_personnel;
    	private Boolean externe_personnel;
     
    //Getter & Setter...
    }
    PlanDeCharge:
    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
     
    @Entity
    public class PlanDeCharge implements java.io.Serializable {
     
    	private static final long serialVersionUID = 987730959483686419L;
     
    	private Integer id_plan_de_charge;
     
    	@OneToOne
    	@JoinTable(name="Personnel")
    	@JoinColumn(name="id_personnel")
    	private Integer id_personnel;
    	private String dim;
    	private String lun;
    	private String mar;
    	private String mer;
    	private String jeu;
    	private String ven;
    	private String sam;
    //Getter & Setter...
    }
    Ma fonction dans monDAOHibernateImpl.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	public List<PlanDeCharge> getAllPlanDeCharge()
    	{
    		Query query = sessionFactory.getCurrentSession().createQuery("select p.id_personnel, p.nom_personnel, p.prenom_personnel, p.poste_personnel, p.service_personnel from Personnel as p, PlanDeCharge as pl where pl.id_personnel=p.id_personnel");
    		return query.list();
    	}
    et voici mon controller:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	@RequestMapping("/emploi_du_temps")
    	public ModelAndView plan_charge(HttpServletRequest request)
    	{	
    		String mon_nom = amirDAO.getNameUser();
    		request.setAttribute("nom_utilisateur", mon_nom);
    		ModelAndView mav = new ModelAndView("personnel/emploi_du_temps");
    		List<PlanDeCharge> plandecharge = amirDAO.getAllPlanDeCharge();
    		mav.addObject("SEARCH_PLANDECHARGE_RESULTS_KEY", plandecharge);
    		return mav;
    	}
    Sur ma JSP, lorsque j'essai d'afficher les enregistrement, j'ai mis ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <c:if test="${! empty SEARCH_PLANDECHARGE_RESULTS_KEY}">
    	<c:forEach var="plandecharge" items="${SEARCH_PLANDECHARGE_RESULTS_KEY}">	
    		<tr>
    			<td><c:out value=""></c:out></td>
    			<td><c:out value="${plandecharge.id_personnel}"></c:out></td>
    			<td><c:out value="${plandecharge.prenom_personnel}"></c:out></td>
    			<td><c:out value="${plandecharge.poste_personnel}"></c:out></td>
    			<td><c:out value="${plandecharge.service_personnel}"></c:out></td>
    			<td><c:out value="${plandecharge.date_recrutement_personnel}"></c:out></td>
    		</tr>
    	</c:forEach>
    </c:if>
    Ceci ne marche pas, et me renvoi la ligne d'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.NumberFormatException: For input string: "id_personnel"
    Que dois-faire???
    Merci

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ta query hql n'a ni queue ni tête. Tu fais un jointure mais tu n'utilise pas la deuxième table, tu fait la liste des attributs à sélectionner, mais tu déclare retourner des objet, tu fait la query sur le personnel, mais tu déclare retourne des plans de charge. Si la méthode doit retourner une liste de plan de charge, c'est tout simplement cette query qu'il faut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public List<PlanDeCharge> getAllPlanDeCharge()
    	{
    		Query query = sessionFactory.getCurrentSession().createQuery("from PlanDeCharge");
    		return query.list();
    	}

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut
    Je souhaite afficher une liste de "Personnel" qui possède des plans de charge. Et donc voici ma reqête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public List<PlanDeCharge> getAllPlanDeCharge()
    {
    	Query query = sessionFactory.getCurrentSession().createQuery("from PlanDeCharge pl, Personnel p where pl.id_personnel=p.id_personnel");
    	return query.list();
    }
    Si j'utilise la requête que vous m'avez conseiller, je ne pourrai afficher que les informations de "PlanDeCharge" alors que je veux afficher la liste des "Personnel" qui ont déjà un enregistrement dans la table "PlanDeCharge"
    Dans les logs "Log4j" je vois bien les informations dont j'ai besoin, mais pour les récupérer et les afficher dans ma JSP je ne y arrive pas.

  4. #4
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Salut,

    - soit tu restes avec tes entités découplées et c'est à toi de gérer le mapping entre Personnel et PlanDeCharge et aussi virer ton annotation OneToOne qui est foireuse

    - soit tu modifies tes entités afin de pouvoir récupérer le Personnel depuis le plan de charge via @ManyToOne (plutot?) et un attribut de type Personnel plutôt que Integer

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut
    Merci pour la réponse Heimdal. Je suis vraiment novice dans ces technologies.
    Je crois que je vais choisir l'option n°2. Donc pour cela, je vais modifier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @OneToOne
    @JoinTable(name="Personnel")
    @JoinColumn(name="id_personnel")
    private Integer id_personnel;
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @ManyToOne
    @JoinTable(name="personnel")
    private Personnel personnel;
    Dois-je enlever le champ "id_personnel"?
    Mais ensuite qu'est ce que je dois mettre dans la base pour mapper "private Personnel personnel;"??? Comment je vais déclarer ce champs dans la base?

    Merci d'avance

  6. #6
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Tu n as pas besoin de JoinTable mais plutot de JoinColumn.

    Une fois cela fait la requête de Tchize sera suffisante et tu auras bien une List<PlanDeCharge> et tu accédera simplement à ton Personne via ton getter

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut
    Merci pour la réponse, alors voila, j'ai mis ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @OneToOne(cascade={CascadeType.ALL})
    @JoinColumn(name="plandecharge_personnel",referencedColumnName="id_personnel")
    private Personnel personnel;
    Mais lorsque j'essai de récuperer les valeurs dans mes jsp avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <c:if test="${! empty SEARCH_PLANDECHARGE_RESULTS_KEY}">
    	<c:forEach var="plandecharge" items="${SEARCH_PLANDECHARGE_RESULTS_KEY}">	
    		<tr>
    			<td><c:out value=""></c:out></td>
    			<td><c:out value="${plandecharge.id_personnel}"></c:out></td>
    			<td><c:out value="${plandecharge.prenom_personnel}"></c:out></td>
    			<td><c:out value="${plandecharge.poste_personnel}"></c:out></td>
    			<td><c:out value="${plandecharge.service_personnel}"></c:out></td>
    			<td><c:out value="${plandecharge.date_recrutement_personnel}"></c:out></td>
    		</tr>
    	</c:forEach>
    </c:if>
    J'ai ce code d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.el.PropertyNotFoundException: Property 'id_personnel' not found on type com.gestion.entity.PlanDeCharge
    Comment dois-je récupérer ces valeurs?
    Merci d'avance

  8. #8
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    @JoinColumn(name="id_personnel") suffit

    Tu devrais essayer de te documenter sur les ELs.
    Lorsque tu écris ${plandecharge.id_personnel} ça référence une méthode plandecharge.getId_personnel() qui n'existe pas je suppose.

    Vérifie tes différents getters mais ça devrait davantage ressembler à ${plandecharge.personnel.id_personnel}
    Idem pour les autres propriétés de Pesonnel nom prenom ect...

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut
    Merci encore pour ta précieuse réponse, je me suis documenté sur les Expressions Language, et j'y vois mieux.
    J'ai fais les modifications que tu m'a demandé, et le problème maintenant c'est que je viens de constater en mode debug qu'il ne me ramnène pas l'objet Personnel (personnel=null) mais les autres valeurs si.
    Dois-je ajouter quelque chose à la classe "Personnel"?
    Même après plusieurs tentatives, je reste bloqué .

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut
    J'ai réussit à le faire mais en utilisant la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query query = sessionFactory.getCurrentSession().createQuery("select p.id_personnel, p.nom_personnel, p.prenom_personnel, p.poste_personnel, p.service_personnel, p.date_recrutement_personnel, pl.id_plan_de_charge from Personnel as p, PlanDeCharge as pl WHERE pl.id_personnel=p.id_personnel");
    Et je récupère mes données avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:out value="${plandecharge[0]}"></c:out>
    J'aimerai bien le faire avec ta méthode Heimdal
    Et merci encore

  11. #11
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Il n y a pas de raison que ça ne marche pas. Quel provider JPA? Quel techno MVC?
    Je ne vois qu'une possibilité si tu as null, c'est que tes entités sont détachés lors du rendering de la vue et que ton provider JPA a un mode lazy sur du ManyToOne (ce qui serait bizarre).
    Essayes de forcer le fetching en eager comme ça : @ManyToOne(fetch=FetchType.EAGER)

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut
    Toujours "null"
    J'utilise JPA/Hibernate 3, Spring MVC 3.0.5
    Moi dans mon cas, normalement la relation entre les deux table c'est du @OneToOne, en tout cas j'ai essayé avec les deux (OneToOne et ManyToOne).
    Mais est ce que je dois changer quelque chose dans ma classe "Personnel.java", ou bien même changer autre chose dans ma classe "PlanDeCharge.java"?

  13. #13
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut
    Je viens de le faire marcher
    J'ai fait beaucoup de modifications et au final sa a marché, donc je sais pas ce que j'ai loupé avant mais voila ce que j'ai maintenant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @OneToOne(cascade={CascadeType.ALL})
    @JoinColumn(name="id_personnel", referencedColumnName="id_personnel")
    private Personnel personnel;
    J'ai enlever la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Integer id_personnel;
    En tout cas merci beaucoup Heimdal . Tu m'as éclairer beaucoup de points

  14. #14
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut
    Maintenant je galère pour faire une recherche (filtre) dans ma liste des "PlanDeCharge", je fais la recherche à partir de "nom_personnel" et en utilisant ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @Override
    public List<PlanDeCharge> searchPlanDeCharge(String key_search)
    {
    	Criteria criteria = sessionFactory.getCurrentSession().createCriteria(PlanDeCharge.class);
    	criteria.add(Restrictions.ilike("nom_personnel", "%"+key_search+"%"));	
    	return criteria.list();
    }
    ça ne marche pas, même si je met criteria.add(Restrictions.ilike("personnel.nom_personnel", "%"+key_search+"%")); C'est la même chose.
    Auriez vous une idée sur ça?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Je ne vois pas de champ "nom_personnel" dans ta classe PlanDeCharge

  16. #16
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut
    Il y a le champ "personnel" qui est l'objet Personnel et dans l'objet Personnel, il y a "nom_personnel".

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	Criteria criteria = sessionFactory.getCurrentSession().createCriteria(PlanDeCharge.class);
        criteria.createCriteria("personnel")
                       .add(Restrictions.ilike(
                             "nom_personnel", 
                             "%"+key_search+"%"
                             ));	
    	return criteria.list();
    }

  18. #18
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut
    C'est exactement ce dont j'avais besoin.
    Merci tchize_ ça marche nickel

  19. #19
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 49
    Points
    49
    Par défaut Suppression d'objet
    Désolé les gars, il y a juste un dernier soucis.
    Lorsque je supprime un "PlanDeCharge" il supprime aussi le "Personnel" qui lui est associé, alors que moi je souhaite uniquement supprimer le "PlanDeCharge"
    Voici comment j'ai relié les deux entitées:

    PlanDeCharge:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)	
    private Integer id_plan_de_charge;
    @OneToOne(cascade={CascadeType.ALL})
    @JoinColumn(name="id_personnel", referencedColumnName="id_personnel")
    private Personnel personnel;
    //...Suite des attributs avec getters & setters
    Personnel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id_personnel;
    //...Suite des attributs avec getters & setters
    J'ai pas mal essayé mais toujours le même soucis

  20. #20
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut
    Hello,
    La suppression se fait parce que tu as mis la mention "cascade={CascadeType.ALL}", il te suffit de l'enlever, ou de la modifier (par exemple: "cascade={CascadeType.MERGE, CascadeType.PERSIST}")...
    Si ça ne passe pas, met la relation personnel->plan à null avant de supprimer.

    Regards

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/01/2015, 12h14
  2. Réponses: 4
    Dernier message: 19/11/2014, 16h44
  3. Réponses: 1
    Dernier message: 11/07/2014, 08h58
  4. Réponses: 0
    Dernier message: 01/09/2012, 16h42
  5. Réponses: 3
    Dernier message: 14/08/2012, 10h24

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