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

EDI/Outils Discussion :

Problème lors d'une interrogation de base de donnée


Sujet :

EDI/Outils

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Problème lors d'une interrogation de base de donnée
    Bonjour à tous,
    J'ai créé une page flex qui me permet de me connecter à une base de données mysql. Lors de la récupération des données d'une table de cette bdd (la table 'eleveurs') j'obtiens le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TypeError: Error #1034: Echec de la contrainte de type*: conversion de Object@4be4d81 en com.monProjet.vo.EleveursVO impossible.
    	at main/onResult_checkLogin()[E:\ProjetFlex\monProjet.flex\src\main.mxml:108]

    Voilà le code de ma fonction où l'erreur apparait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private function onResult_checkLogin( data:Object ):void {
     			if (User.checkLogin(data)) {
    				UtilisateurCollection = new ArrayCollection(ArrayUtil.toArray(data));
    				oUsr = UtilisateurCollection[UtilisateurCollection.length-1];
    				currentState = "newPWD";
    			} else  Alert.show(resourceManager.getString("i18n", "badLogin"));
    		}
    Dans ma table 'eleveurs', j'ai les types de données mysql suivants : Date, Datetime, Tinyint et Varchar , puisque le problème semble provenir d'une conversion.

    Si quelqu'un peut me dire quel types correspondent en flex à ceux de mysql cités au dessus.

    Merci pour votre aide.

  2. #2
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    L'erreur pointe un probleme de conversion avec ton Value Object EleveurVO, comment transforme tu ton retour sql en EleveurVO ?

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Excuses moi peux tu être plus clair dans ta question, je n'ai pas compris, je suis débutante en Flex.
    Merci

  4. #4
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    TypeError: Error #1034: Echec de la contrainte de type*: conversion de Object@4be4d81 en com.monProjet.vo.EleveursVO impossible.
    at main/onResult_checkLogin()[E:\ProjetFlex\monProjet.flex\src\main.mxml:108]
    je vois que le compilateur te dis qu'il n'arrive pas a voir la relation entre un objet de type Object et un autre de type EleveursVO (=Value Object).
    Je me demande alors comment et ou utilises tu ce VO

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    J'ai en quelque sorte résolu mon problème, le message d'erreur ne s'affiche plus, car ma variable 'oUsr' était de type EleveursVO et pour tester je l'ai mise en String.

    Le message n'apparait plus mais je ne suis pas sure d'avoir réellement résolu mon problème.

    J'aimerai savoir ce que cette ligne de code est censée renvoyer dans ma variable 'oUsr' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oUsr = UtilisateurCollection[UtilisateurCollection.length-1];
    Voila une partie de mon EleveursVO :
    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
    package com.monProjet.vo {
    	import flash.utils.Timer;
     
    	[RemoteClass(alias="com.monProjet.vo.EleveursVO")]
     
    	[Bindable]
    	public class EleveursVO extends Object{
     
    		public var EL_NUMELEV:String;
    		public var EL_NOM:String;
    		public var EL_COMMUNE:String;
     
    		public function EleveursVO(obj:Object = null) {
    			if ( obj != null ) {
     
    				this.EL_NUMELEV = obj["EL_NUMELEV"];
    				this.EL_NOM = obj["EL_NOM"];
    				this.EL_COMMUNE = obj["EL_COMMUNE"];
    			}
    		}
    		public function get label():String {
    			return null;
    		}
    	}
    }
    Merci.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Si ça peut aider je mets tout le code nécessaire.

    Mon 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
    180
    181
    182
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" themeColor="#009DFF" creationComplete="init();">
    	<mx:states>
    		<mx:State name="newPWD">
    			<mx:RemoveChild target="{PanelLogin}"/>
    			<mx:AddChild position="lastChild">
    				<mx:SetProperty target="{PanelLogin}" name="title" value="monProjet"/>
    				<mx:SetStyle target="{label1}" name="color" value="#0B333C"/>
    				<mx:SetStyle target="{btValider}" name="color" value="#0B333C"/>
    				<mx:SetStyle target="{label2}" name="color" value="#0B333C"/>
    				<mx:SetStyle target="{PanelLogin}" name="fontSize" value="16"/>
    				<mx:SetStyle target="{PanelLogin}" name="fontStyle" value="normal"/>
    				<mx:SetStyle target="{PanelLogin}" name="fontWeight" value="normal"/>
    				<mx:SetStyle target="{label3}" name="fontWeight" value="normal"/>
    				<mx:SetProperty target="{lbId}" name="y" value="90"/>
    				<mx:SetStyle target="{lbNB}" name="fontSize" value="10"/>
    				<mx:SetProperty target="{lbNB}" name="y" value="252"/>	
    			</mx:AddChild>		
    			<mx:AddChild position="lastChild">
    				<mx:Button x="490.75" y="285" label="Modifier" id="btModifer"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:Label x="158.5" y="102" text="Vous venez de saisir votre mot de passe provisoire." id="labelNP" width="372" fontSize="14"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:Label x="162.5" y="133" text="Choisissez puis validez votre mot de passe définitif" id="lbChoisissez" fontSize="14"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:TextInput x="285.75" y="220" id="txtOldPwd"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:TextInput x="285.75" y="285" id="txtNewPwd"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:Label x="114.75" y="285" text="Confirmer mot de passe" id="lbConfPwd" fontSize="13"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:Label x="121.75" y="220" text="Nouveau mot de passe" id="lbNewPwd" fontSize="13"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:Label x="253.5" y="164" text="(minimum 5 caractères) :" fontSize="14" id="label4"/>
    			</mx:AddChild>
    		</mx:State>
    		<mx:State name="ChoixAction" basedOn="newPWD">
    			<mx:RemoveChild target="{btModifer}"/>
    			<mx:RemoveChild target="{txtNewPwd}"/>
    			<mx:RemoveChild target="{txtOldPwd}"/>
    			<mx:RemoveChild target="{label4}"/>
    			<mx:RemoveChild target="{lbChoisissez}"/>
    			<mx:RemoveChild target="{labelNP}"/>
    			<mx:RemoveChild target="{lbConfPwd}"/>
    			<mx:RemoveChild target="{lbNewPwd}"/>
    			<mx:AddChild position="lastChild">
    				<mx:Label x="229" y="209" text="Que voulez-vous faire ?" width="231" fontSize="17" fontWeight="bold" height="25" id="label5"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:Button x="206.5" y="286" label="Faire une demande d'enlèvement" width="276" height="34" fontSize="12" id="BtDemande"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:Button x="206.5" y="339" label="Voir l'historique" width="276" textAlign="center" height="34" fontSize="12" id="BtHisto"/>
    			</mx:AddChild>
    		</mx:State>
    		<mx:State name="AffHisto" basedOn="ChoixAction">
    			<mx:RemoveChild target="{BtHisto}"/>
    			<mx:RemoveChild target="{BtDemande}"/>
    			<mx:RemoveChild target="{label5}"/>
    			<mx:AddChild position="lastChild">
    				<mx:Label x="217" y="141" text="Historique des animaux collectés :" fontSize="13" fontWeight="bold" textAlign="center"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:Label x="165" y="188" text="Du"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:Label x="165" y="214" text="Au"/>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:ComboBox x="202" y="186" width="51" id="CboDateDeb"></mx:ComboBox>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:ComboBox x="261" y="186" width="145" id="CboMoisDeb"></mx:ComboBox>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:ComboBox x="414" y="186" id="CboAnneeDeb" width="97"></mx:ComboBox>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:ComboBox x="202" y="210" width="51" id="CboDateFin"></mx:ComboBox>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:ComboBox x="261" y="210" width="145" id="CboMoisFin"></mx:ComboBox>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:ComboBox x="414" y="210" id="CboAnneeFin" width="97"></mx:ComboBox>
    			</mx:AddChild>
    			<mx:AddChild position="lastChild">
    				<mx:Button x="391" y="274" label="AFFICHER" width="120" height="38" fontStyle="italic" fontWeight="bold" fontSize="12" id="BtAfficher"/>
    			</mx:AddChild>
    		</mx:State>
    		<mx:State name="SelectLieuColl" basedOn="ChoixAction">
    			<mx:RemoveChild target="{BtHisto}"/>
    			<mx:RemoveChild target="{BtDemande}"/>
    			<mx:RemoveChild target="{label5}"/>
    		</mx:State>
    	</mx:states>
    	<mx:Panel width="478" height="326" layout="absolute" horizontalCenter="0" verticalCenter="-7" id="PanelLogin" title="monProjet" borderColor="#0E60AC" alpha="1.0" backgroundColor="#708FAC" color="#192136" fontSize="14" fontFamily="Georgia" backgroundAlpha="1.0">
    		<mx:Button x="305" y="123" label="Valider" width="117" height="32" id="btValider" fontSize="18" fontWeight="bold" click="this.checkLogin(lbId.text,lbMP.text);" color="#192136" textAlign="center"/>
    		<mx:TextInput x="121" y="95" id="lbId" editable="true"  enabled="true"/>
    		<mx:TextInput x="121" y="154" id="lbMP" displayAsPassword="true" editable="true" enabled="true"/>
    		<mx:Label x="30" y="94" text="Identifiant" fontSize="13" fontWeight="bold" textAlign="right" id="label2"/>
    		<mx:Label x="10" y="155" text="Mot de passe" fontSize="13" fontWeight="bold" textAlign="right" id="label1"/>
    		<mx:Label x="3.5" y="208" text="NB : Identifiant &amp; Mot de passe doivent être saisis en lettres majuscules" fontSize="11" fontWeight="bold" textAlign="right" fontStyle="italic" id="lbNB"/>
    		<mx:Label x="121" y="34" text="Identifiez vous :" width="160" fontStyle="italic" fontSize="18" color="#192136" fontWeight="bold" textAlign="center" textDecoration="normal" id="lbIdvs"/>
    		<mx:Label x="121" y="123" text="(exemple: 39001009 )" fontSize="9.5" fontStyle="italic" id="label3" color="#192136" height="17"/>
    	</mx:Panel>
     
    <mx:Script>
    <![CDATA[
     
    		import mx.binding.utils.BindingUtils;
    		import mx.collections.ArrayCollection;
    		import mx.controls.Alert;
    		import mx.events.CloseEvent;
    		import mx.managers.PopUpManager;
     
    		import mx.rpc.events.ResultEvent;
    		import mx.utils.ArrayUtil;
     
            import flash.events.*;
            import flash.net.FileReference;
            import flash.net.URLRequest;
            import flash.net.navigateToURL;
            import mx.rpc.http.HTTPService;
     
     
    		import com.monProjet.vo.EleveursVO;
    		import com.monProjet.vo.ElAdressesVO;
    		import com.monProjet.vo.EspecesVO;
    		import com.monProjet.vo.DetailsEspecesVO;
    		import com.monProjet.vo.TempAnimoVO;
     
    		import com.monProjet.user.User;
     
    /*****************  variables  *****************/
     
    [Bindable] public var EleveursCollection:ArrayCollection = new ArrayCollection;
    [Bindable] public var oUsr:EleveursVO;  // ici lorsque je mets oUsr:string je n'ai plus de message d'erreur, mais le but est de récupérer les informations sur l'éleveur qui se connecte de la table 'elveurs'(la récupération des données doit se faire dans la fonction onResult_checkLogin)  
     
    private var connection:NetConnection;
    private var NumEl:String;					//garde en mémoire le numéro de l'éleveur qui s'est connecté
     
     
     
    /******************  Constructeur      ********************/
    private function init():void {
    			connection = new NetConnection();
    			connection.connect("http://localhost/amfphp/gateway.php");
    }
     
     
    /******************  authentification  *******************/
     
    		private function checkLogin(username:String, password:String):void {
    				connection.call("EleveursService.connectEleveurs", new Responder(onResult_checkLogin, onFault_checkLogin), username, password);
    				NumEl = username;								
    		}
     
    		private function onResult_checkLogin( data:Object ):void {
     			if (User.checkLogin(data)) {
    				EleveursCollection = new ArrayCollection(ArrayUtil.toArray(data));
    				oUsr = EleveursCollection[0];
    				currentState = "newPWD";
    			} else  Alert.show(resourceManager.getString("i18n", "badLogin"));
     
    		}
     
    		private function onFault_checkLogin( data:Object ):void {
    			Alert.show("Erreur sur login");
    		}
     
     
    ]]>
    </mx:Script>
    </mx:Application>
    EleveursVO.as :
    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
    package com.monProjet.vo {
    	import flash.utils.Timer;
     
    	[RemoteClass(alias="com.monProjet.vo.EleveursVO")]
     
    	[Bindable]
    	public class EleveursVO extends Object{
     
    		public var EL_NUMELEV:String;
    		public var EL_NOM:String;
    		public var EL_COMMUNE:String;
    		public var EL_LIEUDIT:String;
    		public var EL_CP:String;
    		public var EL_VILLE:String;
    		public var EL_TYPEID:String;
    		public var EL_IDENTIFIANTCL:String;
    		public var EL_FACTATM:String;
    		public var DATEMAJ:String;
    		public var EL_MAIL:String;
    		public var EL_MPPROV:String;
    		public var EL_MP:String;
    		public var EL_ACTIF:int;
     
    		public function EleveursVO(obj:Object = null) {
    			if ( obj != null ) {
     
    				this.EL_NUMELEV = obj["EL_NUMELEV"];
    				this.EL_NOM = obj["EL_NOM"];
    				this.EL_COMMUNE = obj["EL_COMMUNE"];
    				this.EL_LIEUDIT = obj["EL_LIEUDIT"];
    				this.EL_CP = obj["EL_CP"];
    				this.EL_VILLE = obj["EL_VILLE"];
    				this.EL_TYPEID = obj["EL_TYPEID"];
    				this.EL_IDENTIFIANTCL = obj["EL_IDENTIFIANTCL"];
    				this.EL_FACTATM = obj["EL_FACTATM"];
    				this.DATEMAJ = obj["DATEMAJ"];
    				this.EL_MAIL = obj["EL_MAIL"];
    				this.EL_MPPROV = obj["EL_MPPROV"];
    				this.EL_MP = obj["EL_MP"];
    				this.EL_ACTIF = obj["EL_ACTIF"];
     
    				Alert.show(obj["EL_NUMELEV"]);
     
     
    			}
    		}
     
     
     
    		public function get label():String {
    			return null;
    		}
    	}
    }

  7. #7
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Citation Envoyé par Milie24 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oUsr = UtilisateurCollection[UtilisateurCollection.length-1];
    cette ligne de code affecte à ta variable oUsr l'item se trouvatn dans ton tableau UtilisateurCollection à l'index UtilisateurCollection.length-1. Par défaut un tableau te renvoi un Object, tu peux donc caster le retour si tu es sur du type d'objet qui est contenu dans ton tableau (a priori des EleveursVO si j'ai bien compris) donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oUsr = UtilisateurCollection[UtilisateurCollection.length-1] as EleveursVO;
    résoud ton erreur de compilation.
    Quand à ton problème en dehors de cette erreur de compil', peux tu nous le détailler, car je ne vois pas de quoi il s'agit.

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup, mon erreur venait de là!
    C'est bon c'était mon seul problème.
    Merci encore !!!

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Merci de penser au tag je le met cette fois ci mais pense y

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

Discussions similaires

  1. Erreur lors d'une insertion dans base de données
    Par MeryemDahan dans le forum JDBC
    Réponses: 2
    Dernier message: 14/05/2014, 09h39
  2. [Dump MYSQL] Erreur lors d'une sauvegarde de base de données.
    Par IronQuake dans le forum Administration
    Réponses: 3
    Dernier message: 21/09/2012, 14h56
  3. Problème lors d'une modification d'une base de données
    Par 4rocky4 dans le forum Modélisation
    Réponses: 2
    Dernier message: 08/01/2008, 16h04
  4. problème lors du démarrage de la base de donnée
    Par fouad77fr dans le forum Oracle
    Réponses: 5
    Dernier message: 06/02/2007, 16h56
  5. probléme pour faire une copie de base de donnée
    Par nours33 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 31/12/2005, 12h35

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