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

Android Discussion :

Obtenir la longitude et la latitude depuis une adresse


Sujet :

Android

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Laos

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Points : 23
    Points
    23
    Par défaut Obtenir la longitude et la latitude depuis une adresse
    Bonjour;

    je suis entrain de développer une application qui permet d'avoir une Longitude et une latitude depuis une adresse donnée.

    Voici le code que j'ai proposé mais ca ne marche pas!

    je veux bien récupérer la longitude et la latitude dans un editText.

    MainActivity
    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
    package com.example.gps;
     
    import java.io.IOException;
    import java.util.List;
    import java.util.Locale;
     
    import android.app.Activity;
    import android.content.Context;
    import android.location.Address;
    import android.location.Geocoder;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
     
    public class MainActivity extends Activity {
     
        Button btnShowLocation;
        EditText edt1= (EditText)findViewById(R.id.edtt1);
     
        // GPSTracker class
        GPSTracker gps;
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            btnShowLocation = (Button) findViewById(R.id.btnShowLocation);
            LocationManager locationManager;
            String context = Context.LOCATION_SERVICE;
            locationManager = (LocationManager)getSystemService(context);
            String provider = LocationManager.GPS_PROVIDER;
            Geocoder fwdGeocoder = new Geocoder(this, Locale.US);
            String streetAddress = "160 Riverside Drive, New York, New York";
            List<Address> locations = null;
            try {
                locations = fwdGeocoder.getFromLocationName(streetAddress, 10);
            } catch (IOException e) {}
           Toast.makeText(getApplicationContext(), "Your Location is - \nLat: " + locations.toString(),Toast.LENGTH_LONG).show();
           //edt1.setText(locations.toString());
     
           /* String streetAddress = "rabat";
            List<Address> locations = null;
            try {
                locations = fwdGeocoder.getFromLocationName(streetAddress, 2);
            } catch (IOException e) {}
             Toast.makeText(getApplicationContext(), "Your Location is - \nLat: " + locations.toString(),Toast.LENGTH_LONG).show();*/    
     
     
     
            // show location button click event
            btnShowLocation.setOnClickListener(new View.OnClickListener() {
     
                @Override
                public void onClick(View arg0) {        
                    // create class object
                    gps = new GPSTracker(MainActivity.this);
     
                    // check if GPS enabled     
                    if(gps.canGetLocation()){
     
                        double latitude = gps.getLatitude();
                        double longitude = gps.getLongitude();
     
                        // \n is for new line
     
                        Toast.makeText(getApplicationContext(), "Your Location is - \nLat: " + latitude + "\nLong: " + longitude, Toast.LENGTH_LONG).show();    
                    }else{
                        // can't get location
                        // GPS or Network is not enabled
                        // Ask user to enable GPS/network in settings
                        gps.showSettingsAlert();
                    }
     
                }
            });
        }
     
    }
    GPSTracker
    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
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
     
    package com.example.gps;
     
    import android.app.AlertDialog;
    import android.app.Service;
    import android.content.Context;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.os.IBinder;
    import android.provider.Settings;
    import android.util.Log;
     
    public class GPSTracker extends Service implements LocationListener {
     
        private final Context mContext;
     
        // flag for GPS status
        boolean isGPSEnabled = false;
     
        // flag for network status
        boolean isNetworkEnabled = false;
     
        // flag for GPS status
        boolean canGetLocation = false;
     
        Location location; // location
        double latitude; // latitude
        double longitude; // longitude
     
        // The minimum distance to change Updates in meters
        private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
     
        // The minimum time between updates in milliseconds
        private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute
     
        // Declaring a Location Manager
        protected LocationManager locationManager;
     
        public GPSTracker(Context context) {
            this.mContext = context;
            getLocation();
        }
     
        public Location getLocation() {
            try {
                locationManager = (LocationManager) mContext
                        .getSystemService(LOCATION_SERVICE);
     
                // getting GPS status
                isGPSEnabled = locationManager
                        .isProviderEnabled(LocationManager.GPS_PROVIDER);
     
                // getting network status
                isNetworkEnabled = locationManager
                        .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
     
                if (!isGPSEnabled && !isNetworkEnabled) {
                    // no network provider is enabled
                } else {
                    this.canGetLocation = true;
                    // First get location from Network Provider
                    if (isNetworkEnabled) {
                        locationManager.requestLocationUpdates(
                                LocationManager.NETWORK_PROVIDER,
                                MIN_TIME_BW_UPDATES,
                                MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
                        Log.d("Network", "Network");
                        if (locationManager != null) {
                            location = locationManager
                                    .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
                            if (location != null) {
                                latitude = location.getLatitude();
                                longitude = location.getLongitude();
                            }
                        }
                    }
                    // if GPS Enabled get lat/long using GPS Services
                    if (isGPSEnabled) {
                        if (location == null) {
                            locationManager.requestLocationUpdates(
                                    LocationManager.GPS_PROVIDER,
                                    MIN_TIME_BW_UPDATES,
                                    MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
                            Log.d("GPS Enabled", "GPS Enabled");
                            if (locationManager != null) {
                                location = locationManager
                                        .getLastKnownLocation(LocationManager.GPS_PROVIDER);
                                if (location != null) {
                                    latitude = location.getLatitude();
                                    longitude = location.getLongitude();
                                }
                            }
                        }
                    }
                }
     
            } catch (Exception e) {
                e.printStackTrace();
            }
     
            return location;
        }
     
        /**
         * Stop using GPS listener
         * Calling this function will stop using GPS in your app
         * */
        public void stopUsingGPS(){
            if(locationManager != null){
                locationManager.removeUpdates(GPSTracker.this);
            }       
        }
     
        /**
         * Function to get latitude
         * */
        public double getLatitude(){
            if(location != null){
                latitude = location.getLatitude();
            }
     
            // return latitude
            return latitude;
        }
     
        /**
         * Function to get longitude
         * */
        public double getLongitude(){
            if(location != null){
                longitude = location.getLongitude();
            }
     
            // return longitude
            return longitude;
        }
     
        /**
         * Function to check GPS/wifi enabled
         * @return boolean
         * */
        public boolean canGetLocation() {
            return this.canGetLocation;
        }
     
        /**
         * Function to show settings alert dialog
         * On pressing Settings button will lauch Settings Options
         * */
        public void showSettingsAlert(){
            AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);
     
            // Setting Dialog Title
            alertDialog.setTitle("GPS is settings");
     
            // Setting Dialog Message
            alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
     
            // On pressing Settings button
            alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,int which) {
                    Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                    mContext.startActivity(intent);
                }
            });
     
            // on pressing cancel button
            alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
                }
            });
     
            // Showing Alert Message
            alertDialog.show();
        }
     
        @Override
        public void onLocationChanged(Location location) {
        }
     
        @Override
        public void onProviderDisabled(String provider) {
        }
     
        @Override
        public void onProviderEnabled(String provider) {
        }
     
        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {
        }
     
        @Override
        public IBinder onBind(Intent arg0) {
            return null;
        }
     
    }
    Si vous avez des remarques ou des propositions n'hésitez pas! Merci d'avance!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    ca ne marche pas!
    Ce n'est pas une question !
    Détaille ton problème.
    Donne nous les codes d'erreurs qui apparaissent...

  3. #3
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Laos

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    Voici les erreurs du log en pièce jointes !
    Fichiers attachés Fichiers attachés

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Ecris le directement dans le post avec une balise CODE.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Laos

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    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
    09-17 15:08:04.361: I/Process(1724): Sending signal. PID: 1724 SIG: 9
    09-17 15:08:13.592: D/AndroidRuntime(1762): Shutting down VM
    09-17 15:08:13.663: W/dalvikvm(1762): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
    09-17 15:08:13.722: E/AndroidRuntime(1762): FATAL EXCEPTION: main
    09-17 15:08:13.722: E/AndroidRuntime(1762): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.gps/com.example.gps.MainActivity}: java.lang.NullPointerException
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at android.app.ActivityThread.access$600(ActivityThread.java:141)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at android.os.Looper.loop(Looper.java:137)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at android.app.ActivityThread.main(ActivityThread.java:5041)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at java.lang.reflect.Method.invokeNative(Native Method)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at java.lang.reflect.Method.invoke(Method.java:511)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at dalvik.system.NativeStart.main(Native Method)
    09-17 15:08:13.722: E/AndroidRuntime(1762): Caused by: java.lang.NullPointerException
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at android.app.Activity.findViewById(Activity.java:1839)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at com.example.gps.MainActivity.<init>(MainActivity.java:21)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at java.lang.Class.newInstanceImpl(Native Method)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at java.lang.Class.newInstance(Class.java:1319)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
    09-17 15:08:13.722: E/AndroidRuntime(1762): 	... 11 more
    09-17 15:08:16.811: I/Process(1762): Sending signal. PID: 1762 SIG: 9

  6. #6
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Merci. Là, nous pouvons t'aiguiller

    Un simple "ça ne marche pas" n'aide en rien.
    Tu as donc une NullPointerException, l'une des erreurs les plus communes dans le monde du Java.
    La plupart du temps, elle est très simple à corriger. Heureusement, tu es dans ce cas-là.

    Ton erreur vient simplement du fait que tu tentes de prendre une vue du layout associé à ton activité sans avoir associé de layout au préalable.

    L'ordre de création d'une classe est :
    • Création de la classe
    • Initialisation des divers statics
    • Initialisation des variables d'instances hors-constructeur
    • Déroulement des constructeurs (de la classe mère à la classe actuelle)


    Ceci
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
        EditText edt1= (EditText)findViewById(R.id.edtt1);
    est exécuté avant ça
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
            setContentView(R.layout.activity_main);
    ce qui résulte en une NPE.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Laos

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    Merci !! si c'est possible je savoir comment récupérer juste la longitude et la latitude dans un editText car apparemment ce code me donne Un résultat contenant bcp d'informations, j'arrive pas à vous le montrez car c'est un résultat de l'emulateur !!

    j'ai pas trouvé des tutoriels pouvant m'aider !!

  8. #8
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Laos

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    je spécifie que le problème est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Geocoder fwdGeocoder = new Geocoder(this, Locale.US);
    ce constructeur prends en 2 eme paramètre des adresses qui sont déjà prédéfinies. du cout je ne peut pas généraliser ce code pour n'importe quelle locale !!

    autre chose : dans cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    edt1.setText(locations.toString());
    locations est une liste de type Address qui est prédéfinie aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Address> locations = null
    donc je ne peut pas acceder directement à la longitude et la latitude !!

    Merci pour votre aide !!

  9. #9
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Citation Envoyé par infoworld2013 Voir le message
    je spécifie que le problème est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Geocoder fwdGeocoder = new Geocoder(this, Locale.US);
    ce constructeur prends en 2 eme paramètre des adresses qui sont déjà prédéfinies. du cout je ne peut pas généraliser ce code pour n'importe quelle locale !!
    J'ai du mal à comprendre ce que tu dis. Le second paramètre ici est une Locale (dans ton cas, la Locale des Etas-Unis). Ce n'est pas une adresse. Il permet de déterminer dans quelle Locale seront renvoyés les résultats.

    Citation Envoyé par infoworld2013 Voir le message
    autre chose : dans cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    edt1.setText(locations.toString());
    locations est une liste de type Address qui est prédéfinie aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Address> locations = null
    donc je ne peut pas acceder directement à la longitude et la latitude !!

    Merci pour votre aide !!
    La liste renvoyée est une liste d'Address potentielle correspondantes à ta requête, ordonnée du plus probable au moins probable. En générale, la première Address renvoyée correspond bien à la demande.

    En regardant plus en détail ton code, je pense que tu tests sur un terminal sous Android 2.3. Tu fais ta requête au Geocoder sur le Thread principal, ce qui doit résulter en une NetworkOnMainThreadException sur Android 3.0+. Il est nécessaire de passer par une tâche asynchrone (via Thread/Handler ou AsyncTask par exemple).

    Je te suggères très fortement de remplacer tout tes e.printStackTrace() par des Log.e(TAG, "un message", e);. On ne peut pas être sûr de l'endroit où envoi printStackTrace.
    De plus, ne laisses jamais de catch vide. C'est un véritable enfer de déboguer un code sans savoir ce qui pète.

  10. #10
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Laos

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    Merci c'est réglé le problème !

    maintenant j'ai besoin d'une méthode equivalente à BasicNameValuePair(String name, String value) mais avec une valeur de type double en paramète au lieu de String.

  11. #11
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Pourquoi faire ?

    Double.toString() ne convient pas ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/03/2012, 21h45
  2. Réponses: 4
    Dernier message: 12/12/2010, 03h31
  3. comment obtenir la longitude et la latitude d'une ville en java
    Par rwikus09 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 10/11/2010, 16h14
  4. Réponses: 2
    Dernier message: 06/10/2009, 14h22
  5. Télécharger un fichier Zip depuis une adresse internet
    Par jmjmjm dans le forum Web & réseau
    Réponses: 8
    Dernier message: 18/10/2005, 19h12

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