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

API standards et tierces Android Discussion :

passer login et mot passe au serveur distant


Sujet :

API standards et tierces Android

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut passer login et mot passe au serveur distant
    bonjour , j ai vraiment besoin de votre aide , je reviens ici pour reposer la meme question que j ai deja poster sur le groupe sans reponse. je veux recuperer mes données via un serveur a distance , pour ce la je dois d'abord m authentifier , j ai trouver plein de truc sur ce problème dans le groupe mais sans ne résout pas mon problème . j essai de passer le login et mot de passe de la manière suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     List<BasicNameValuePair>  nvps = new ArrayList<BasicNameValuePair>();
    				nvps.add(new BasicNameValuePair("username", username));
    				nvps.add(new BasicNameValuePair("password", password));
    mais rien ne marche et j ai tenter une autre solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DefaultHttpClient client = new DefaultHttpClient();
    		client.getCredentialsProvider().setCredentials( new AuthScope(null, -1),new UsernamePasswordCredentials("username:password"));
    toujours rien ne marche .
    je vous rappelle que j utilise le serveur wcs(webpshere commerce server).
    j aimerai avoir un peu d'éclaircissement si je dois lui passer l'url de la page login ou juste je lui passe l'url de la page que je veux recuperer

    voici les erreurs qu il m affiche sur logcat
    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
     
    06-10 09:35:17.936: WARN/System.err(3244): org.json.JSONException: Value null at 0 of type org.json.JSONObject$1 cannot be converted to JSONObject
    06-10 09:35:17.936: WARN/System.err(3244):     at org.json.JSON.typeMismatch(JSON.java:96)
    06-10 09:35:17.947: WARN/System.err(3244):     at org.json.JSONArray.getJSONObject(JSONArray.java:484)
    06-10 09:35:17.947: WARN/System.err(3244):     at com.connexion.TestWebService.onCreate(TestWebService.java:118)
    06-10 09:35:17.956: WARN/System.err(3244):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    06-10 09:35:17.956: WARN/System.err(3244):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    06-10 09:35:17.967: WARN/System.err(3244):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    06-10 09:35:17.977: WARN/System.err(3244):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    06-10 09:35:17.977: WARN/System.err(3244):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    06-10 09:35:17.977: WARN/System.err(3244):     at android.os.Handler.dispatchMessage(Handler.java:99)
    06-10 09:35:17.987: WARN/System.err(3244):     at android.os.Looper.loop(Looper.java:123)
    06-10 09:35:17.996: WARN/System.err(3244):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    06-10 09:35:17.996: WARN/System.err(3244):     at java.lang.reflect.Method.invokeNative(Native Method)
    06-10 09:35:18.006: WARN/System.err(3244):     at java.lang.reflect.Method.invoke(Method.java:521)
    06-10 09:35:18.006: WARN/System.err(3244):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    06-10 09:35:18.016: WARN/System.err(3244):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    06-10 09:35:18.016: WARN/System.err(3244):     at dalvik.system.NativeStart.main(Native Method)
    06-10 09:35:18.037: WARN/dalvikvm(3244): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244): FATAL EXCEPTION: main
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.connexion/com.connexion.TestWebService}: java.lang.NullPointerException
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at android.os.Handler.dispatchMessage(Handler.java:99)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at android.os.Looper.loop(Looper.java:123)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at java.lang.reflect.Method.invokeNative(Native Method)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at java.lang.reflect.Method.invoke(Method.java:521)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at dalvik.system.NativeStart.main(Native Method)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244): Caused by: java.lang.NullPointerException
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at com.connexion.TestWebService.onCreate(TestWebService.java:124)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    06-10 09:35:18.057: ERROR/AndroidRuntime(3244):     ... 11 more
    06-10 09:35:18.077: WARN/ActivityManager(58):   Force finishing activity com.connexion/.TestWebService
    06-10 09:35:18.586: WARN/ActivityManager(58): Activity pause timeout for HistoryRecord{4501b858 com.connexion/.TestWebService}
    06-10 09:35:29.523: WARN/ActivityManager(58): Activity destroy timeout for HistoryRecord{4501b858 com.connexion/.TestWebService}

    et merci d'avance de votre

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 52
    Par défaut plus de detail
    y a quand même un truc qui m embête

    ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new AuthScope(null, -1)
    ??

    host the host the credentials apply to. May be set to null if credenticals are applicable to any host.
    port the port the credentials apply to. May be set to negative value if credenticals are applicable to any port.

    vaut mieux mettre l adresse du serveur et le port ...

    apres je trouve etrange que ce soit une erreur json...

    mets plus d elements ...

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    Citation Envoyé par a tunar with no tune Voir le message
    apres je trouve etrange que ce soit une erreur json...
    Je pense que c'est une erreur Json car le flux qu'il essaye de parser est vide à cause de l’échec de connexion

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    merci de vos réponse ,c est pas une erreur de json car si je veux récupérer mes pages qui ne demande pas l'authentification ça passe tres bien. si j essai de tester ma page sur un navigateur ça m'affiche un tableau null c est la que vient le nullpoint car je me suis pas authentifier et si je m authentifie ça m affiche les données.
    ce qui du port et du hostname j ai essai avec le port 80 et et localhost mais sans succès .

    je pense que mon erreur vient des la requete httpq car je travaille sur un serveur qui utilise des requête https et que mon certificat n est pas confiant. est ce que quelqu’un un a une idée pour contourner les certificats qui sont pas confiant ?
    merci d avance .

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    bonjour quelqu’un a une idée pour contourner les certifiant non confiant des requtes https comme on le fait avec les navigateurs chrome , IE ou firfox
    merci d avance.

  6. #6
    Membre très actif Avatar de _Xavier_
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2009
    Messages : 311
    Par défaut
    Citation Envoyé par diengkals Voir le message
    bonjour quelqu’un a une idée pour contourner les certifiant non confiant des requtes https comme on le fait avec les navigateurs chrome , IE ou firfox
    merci d avance.
    Si les pages sont sécurisées il n y a pas moyen de contourner la demande d'authentification, à moins de pirater. C'est à toi de voir quel est le protocole de sécurité utilisé au niveau du serveur et d'essayer d'y adapter ton code.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    merci de votre votre au fait j utilise le protocole ssl fournit par le client et let certifiant n est pas certifié et a chaque fois j essai d y acceder a partir de Android j ai un message sur mon certifiant n est confiant .
    j ai lu quelque chose sur le net qui parait tres flou que je doit ajouter mes certifiant sur le keystore je ne quoi . est ce que quelque peut me donner d explication merci d avance

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    bonjour j ai trouvais un lien http://blog.crazybob.org/2010/02/and...tificates.html qui permet de contourner les certificat non certifié . au fait il recupere les cle public du certficat serveur il ajoute au keystore , j ai essai de les suivre , j ai n est plus le message " certificat du serveur non confiant " mais une erreur me surivient . voici l erreur
    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
     
    06-15 15:43:22.182: WARN/ActivityManager(69): Activity destroy timeout for HistoryRecord{43f15cc8 com.connexion/.TestWebService}
    06-15 15:48:10.908: WARN/InputManagerService(69): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43f190a8
    06-15 15:52:13.359: WARN/PackageManager(69): Code path for pkg : com.connexion changing from /data/app/com.connexion-2.apk to /data/app/com.connexion-1.apk
    06-15 15:52:13.359: WARN/PackageManager(69): Resource path for pkg : com.connexion changing from /data/app/com.connexion-2.apk to /data/app/com.connexion-1.apk
    06-15 15:52:14.787: WARN/RecognitionManagerService(69): no available voice recognition services found
    06-15 15:52:19.059: WARN/dalvikvm(1409): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409): FATAL EXCEPTION: main
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409): java.lang.AssertionError: java.lang.NullPointerException
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at com.connexion.MyHttpClients.newSslSocketFactory(MyHttpClients.java:35)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at com.connexion.MyHttpClients.createClientConnectionManager(MyHttpClients.java:42)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:221)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:539)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at com.connexion.TestWebService.onCreate(TestWebService.java:75)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at android.os.Handler.dispatchMessage(Handler.java:99)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at android.os.Looper.loop(Looper.java:123)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at java.lang.reflect.Method.invokeNative(Native Method)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at java.lang.reflect.Method.invoke(Method.java:521)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at dalvik.system.NativeStart.main(Native Method)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409): Caused by: java.lang.NullPointerException
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     at com.connexion.MyHttpClients.newSslSocketFactory(MyHttpClients.java:27)
    06-15 15:52:19.105: ERROR/AndroidRuntime(1409):     ... 19 more
    06-15 15:52:19.127: WARN/ActivityManager(69):   Force finishing activity com.connexion/.TestWebService
    06-15 15:52:19.638: WARN/ActivityManager(69): Activity pause timeout for HistoryRecord{43f14810 com.connexion/.TestWebService}
    voici ma classe MyHttpClients

    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
    public class MyHttpClients extends DefaultHttpClient {
    
    	final  Context  context;
    	public MyHttpClients( Context  context) {
    	this.context = context;
    	}
    
    	 private SSLSocketFactory newSslSocketFactory() {
    		    try {
    		    	
    		      KeyStore trusted = KeyStore.getInstance("BKS");
     InputStream     in = context.getResources().openRawResource(R.raw.test);
    		      try {
    		        trusted.load(in, "diengkals".toCharArray());
    		      } finally {
    		        in.close();
    		      }
    		      return new SSLSocketFactory(trusted);
    		    } catch (Exception e) {
    		      throw new AssertionError(e);
    		    }
    		  }
      @Override protected ClientConnectionManager createClientConnectionManager() {
        SchemeRegistry registry = new SchemeRegistry();
        registry.register(
            new Scheme("http", PlainSocketFactory.getSocketFactory(), 8002));
        registry.register(new Scheme("https", newSslSocketFactory(), 443));
        return new SingleClientConnManager(getParams(), registry);
      }
     
    }
    ma ligne 27 est la ligne en gras


    mon Activité

    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
     
    public class TestWebService extends Activity {
    	/** Called when the activity is first created. */
    	String response;
    	final String username = "android";
    	String result;
    	final String password = "Android85";
     
    	String url = "https://10.0.2.2/webapp/wcs/stores/servlet/TrackOrderStatus?storeId=10101&catalogId=10101&langId=-2";
    	// 10.0.2.2
    	HttpEntity entity = null;
     
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    	//	DefaultHttpClient httpClient = new DefaultHttpClient();
    	   Context  context= null;
    		DefaultHttpClient client = new MyHttpClients(context);
     
     
             AuthScope authScope = new AuthScope(null, -1);
          	Credentials credential = new UsernamePasswordCredentials(username,password);
     
    		client.getCredentialsProvider().setCredentials(authScope, credential);
     
     
     
    		HttpGet httpGet = new HttpGet(url);
    	httpGet.addHeader("User-Agent", "Android");
    		HttpConnectionParams.setConnectionTimeout(client.getParams(), 15000);
     
     
    			HttpResponse httpresponse = null;
    			try {
    				httpresponse = client.execute(httpGet);
    			} catch (ClientProtocolException e4) {
    				// TODO Auto-generated catch block
    				e4.printStackTrace();
    			} catch (IOException e4) {
    				// TODO Auto-generated catch block
    				e4.printStackTrace();
    			}
     
     
    		HttpEntity entity = httpresponse.getEntity();
     
     
    			InputStream chaine = null;
    			try {
    				chaine = entity.getContent();
    			} catch (IllegalStateException e3) {
    				// TODO Auto-generated catch block
    				e3.printStackTrace();
    			} catch (IOException e3) {
    				// TODO Auto-generated catch block
    				e3.printStackTrace();
    			}
     
     
    			try {
    				result = stream2String(chaine);
    			} catch (UnsupportedEncodingException e2) {
    				// TODO Auto-generated catch block
    				e2.printStackTrace();
    			}
     
    		JSONArray jsonOrdArray = null;
     
    			try {
    				jsonOrdArray = new JSONArray(result);
    			} catch (JSONException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}
     
    		for (int i = 0; i < jsonOrdArray.length(); i++) {
    			Order order = new Order();
     
    			JSONObject commande = null;
    			try {
    				commande = jsonOrdArray.getJSONObject(i);
    			} catch (JSONException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			try {
    				order.reference = commande.getString("reference");
    			} catch (JSONException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
     
    		}
    	}
     
    	private String stream2String(InputStream stream)
    			throws UnsupportedEncodingException {
    		String charSet = "iso-8859-1";
    		InputStreamReader reader = new InputStreamReader(stream, charSet);
     
    		BufferedReader buffer = new BufferedReader(reader);
    		StringBuilder sb = new StringBuilder();
    		try {
    			String cur;
    			while ((cur = buffer.readLine()) != null) {
    				sb.append(cur);
    			}
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		try {
    			stream.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return sb.toString();
    	}
     
    }
    j ai besoin de votre aide si quelqu un pourrait me voir la source de l'erreur merci d avance

Discussions similaires

  1. Stocker ses mots de passe sur un serveur distant sécurisé
    Par JackBeauregard dans le forum Firefox
    Réponses: 0
    Dernier message: 23/07/2011, 09h20
  2. Réponses: 0
    Dernier message: 20/09/2007, 15h31
  3. Lecture Registre Distant avec login et mot de passe
    Par foimpou dans le forum Langage
    Réponses: 1
    Dernier message: 16/04/2007, 11h56
  4. Fenêtre avec login et mot de passe
    Par keawee dans le forum ASP
    Réponses: 5
    Dernier message: 29/08/2005, 14h30

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