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 :

android device-->web service-->base de donnée


Sujet :

API standards et tierces Android

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut android device-->web service-->base de donnée
    Bonjour à tous.

    j'ai terminé la partie client de mon application .elle consiste à afficher des marqueurs de position sur une carte google.
    chaque marqueur est décrit par un titre et un texte descriptif.

    pour le moments toutes les données sont statiques.
    je veux que mon application reçoit les donnée (longitude,latitude,titre,texte) d'une base de donnée distante.

    j'ai réalisé des recherches,j'ai vu que je doit créer une base de donnée et un web service pour acquérir ses données. bien sur la base de donnée doit être dynamique(qu'on peut la modifier).

    1)comment créer un web service
    2)comment créer une base de donnée dynamique ?
    3) comment on acquit des données de la base de donnée?


    si qlq1 a une idée ou un tuto qui peut m'aider.

  2. #2
    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
    Bonjour,
    En faisant un recherche sur le forum tu aurais trouver plein de sujets traitant de cette problématique :
    http://www.developpez.net/forums/d10...r-web-service/ (Et la le plus drôle c'est que tu es l'auteur de celui ci ^^)

    http://www.developpez.net/forums/d10...rvice-android/

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Par défaut
    1 ) Il faut que tu choisisses ton langage Web ASP, PHP...
    Apres il faut choisir l'architecture de ton webservice SOAP, REST, XML-RPC

    Pour ton cas je pense que PHP et REST seront adapté, plus simple plus facile a faire.

    Par contre si t'as jamais fait un site en PHP il faudra ce pencher sur la question du PHP tout court au début (c'est du script, c'est facile mais bon)

    2 )T'as base de donnée est sur ton serveur, c'et ton PHP qui l'appel. Toi du coté java tu fais que appeler des adresses (contenant des parametres) qui vont faire que ton serveur agisse sur la BD.

    Par exemple : http://www.tonsite.fr/tafunction/tesparametres

    Pour ca tu pourra rediriger tout tes appels sur l'index.php ce qui fait qu'en parsant ton adresse tu a ton nom de methode et tes parametres.

    3 ) ton script php va faire un echo du resultat et du coté de ton app en java tu lit la reponse, tu la parse et t'affiche

    4 ) tu peux choisir un format de message pour faciliter tes transfert de données par Example Json XML, mais pour ton cas je te conseille Json car il et plus léger que XML et trés bien intégré dans les deux langages

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    Salut à tous

    j'ai testé la méthode donnée sur ce lien par l'un des membres.

    ok , ça ce que j'ai fait:

    -j'ai créer ma base de donnée, en insérant une ligne

    -j'ai creer mon fichier php comme suit :

    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
    <?php
     
      mysql_connect("localhost","root"," mot de passe");
     
      mysql_select_db("GUIDE");
     
      $sql=mysql_query("SELECT * FROM sites );
     
      while($row=mysql_fetch_assoc($sql))
     
      $output[]=$row;
     
      print(json_encode($output));
     
      mysql_close();
     
    ?>


    -mon code java est

    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
    package com.android.test;
     
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    import android.app.Activity;
    import android.os.Bundle;
     
    public class sitesMain extends Activity {
     
     
     
    	TextView txt;
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
     
            LinearLayout rootLayout = new LinearLayout(getApplicationContext()); 
     
                    txt = new TextView(getApplicationContext()); 
     
                    rootLayout.addView(txt); 
     
                    setContentView(rootLayout); 
     
     
     
                    // Définir le texte et appeler la fonction de connexion. 
     
                    txt.setText("Connexion...");
     
                    // Appeler la méthode pour récupérer les données JSON
     
                    txt.setText(getServerData(strURL));
     
        }
     
     
     
        // Mettre l'adresse du script PHP
     
            // Attention localhost ou 127.0.0.1 ne fonctionnent pas. Mettre l'adresse IP local.
     
            public static final String strURL = "http://192.168.1.79/www.spectrum.tn/vitualtour/fichierphp.php";
     
     
            private String getServerData(String returnString) {
     
            	        InputStream is = null;
     
            	        String result = "";
     
            	        // Envoyer la requête au script PHP.
     
            	        // Script PHP : $sql=mysql_query("select * from tblVille where Nom_ville like '".$_REQUEST['ville']."%'");
     
            	        // $_REQUEST['ville'] sera remplacé par L dans notre exemple.
     
            	        // Ce qui veut dire que la requête enverra les villes commençant par la lettre L
     
            	        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
     
            	        nameValuePairs.add(new BasicNameValuePair("fichierphp", null));
     
            	        // Envoie de la commande http
     
            	                try{
     
            	                    HttpClient httpclient = new DefaultHttpClient();
     
            	                    HttpPost httppost = new HttpPost(strURL);
     
            	                    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
     
            	                    HttpResponse response = httpclient.execute(httppost);
     
            	                    HttpEntity entity = response.getEntity();
     
            	                    is = entity.getContent();
     
     
     
            	                }catch(Exception e){
     
            	                    Log.e("log_tag", "Error in http connection " + e.toString());
     
            	                }
     
     
     
            	                // Convertion de la requête en string
     
            	                try{
     
            	                    BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
     
            	                    StringBuilder sb = new StringBuilder();
     
            	                    String line = null;
     
            	                    while ((line = reader.readLine()) != null) {
     
            	                        sb.append(line + "\n");
     
            	                    }
     
            	                    is.close();
     
            	                    result=sb.toString();
     
            	                }catch(Exception e){
     
            	                    Log.e("log_tag", "Error converting result " + e.toString());
     
            	                }
     
            	             // Parse les données JSON
     
            	                        try{
     
            	                            JSONArray jArray = new JSONArray(result);
     
            	                            for(int i=0;i<jArray.length();i++){
     
            	                                JSONObject json_data = jArray.getJSONObject(i);
     
            	                                // Affichage ID_ville et Nom_ville dans le LogCat
     
            	                                Log.i("log_tag","Titre: "+json_data.getInt("titre")+
     
            	                                        ", desc: "+json_data.getString("texte")+", lat: "+json_data.getString("latitude")+", long: "+json_data.getString("longitude")
     
            	                                );
     
            	                                // Résultats de la requête
     
            	                                returnString += "\n\t" + jArray.getJSONObject(i);
     
            	                            }
     
            	                        }catch(JSONException e){
     
            	                            Log.e("log_tag", "Error parsing data " + e.toString());
     
            	                        }
            	                        	                        return returnString;
     
            	                    }
     
     
     
     
     
     
     
    }


    mon logcat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    05-02 12:27:40.643: INFO/ActivityManager(58): Displayed activity com.android.test/.sitesMain: 2535 ms (total 2535 ms)
    05-02 12:30:06.513: ERROR/log_tag(473): Error in http connection java.net.SocketException: Permission denied
    05-02 12:30:06.513: ERROR/log_tag(473): Error converting result java.lang.NullPointerException
    05-02 12:30:06.543: ERROR/log_tag(473): Error parsing data org.json.JSONException: End of input at character 0 of

    merci de m'aider

  5. #5
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Ton application a t'elle la persmission de se connecter à internet ?

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    je l'ai oubliée.

    mais en l'ajoutant rien de nouveaux !

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Par défaut
    Si t'on site est hebergé en localhost ET que tu teste ton programme sur l'émulateur alors l'adresse localhost a utiliser est
    05-02 12:30:06.513: ERROR/log_tag(473): Error in http connection java.net.SocketException: Permission denied
    Cette erreur est du au fait que tu n'avais pas l'authorisation, elle ne doit plus apparaitre, peux tu vérifier stp ?


    05-02 12:30:06.513: ERROR/log_tag(473): Error converting result java.lang.NullPointerException
    05-02 12:30:06.543: ERROR/log_tag(473): Error parsing data org.json.JSONException: End of input at character 0 of
    Ces deux erreurs découle de la première. Converting result car is est null (puisque pas de connection internet)
    Parsing error car il n'y a pas de données dans la string puisque tu n'a jamais récupérer les données


    Peux tu donc refaire un copier/coller du logcat ici stp

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    05-02 13:13:07.119: ERROR/log_tag(458): Error in http connection org.apache.http.client.ClientProtocolException
    05-02 13:13:07.119: ERROR/log_tag(458): Error converting result java.lang.NullPointerException
    05-02 13:13:07.149: ERROR/log_tag(458): Error parsing data org.json.JSONException: End of input at character 0 of

    toujours le meme probleme

    est ce que le code php est correcte ?

    je suis nouveau en php.

  9. #9
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    commence par tester ta page via un navigateur pour voir quelle tête à la réponse. Si tu n'as pas de réponse / une erreur, il faut déjà traiter ses cas là avant de vouloir espérer passer à la suite.

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    oui il y un erreur.la page ne se charge pas.

    quelle est le probleme ?

  11. #11
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Je suis pas expert php, mais bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql=mysql_query("SELECT * FROM sites );
    Je pense qu'il manque un guillemet.
    Sinon sans erreur, très dur de t'aider.

  12. #12
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    Bonjour à tous

    j'ai corrigé mon code php et il m'affiche comme ça :

    mon code php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
    $dbhost='localhost';
    $dbuser='root';
    $dbpass='';
    $db='GUIDE';
     
    $conn = mysql_connect($dbhost,$dbuser,$dbpass);
     
    mysql_select_db($db);
     
    ?>
    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
    <?php
     
         include 'includes/connexion.php';
     
     
     
         $query = "SELECT * FROM sites";
     
         $result = mysql_query($query);
     
    while( $row = mysql_fetch_assoc ($result) ) {
    							$output[]=$row;
    					}
     
    					print(json_encode($output));
     
     
    ?>

    l'affichage est :
    [{"id":"1","titre":"Anthonin de Carthage","description":null,"longitude":"10.3348","latitude":"36.8541"},{"id":"2","titre":"Anthonin de Carthage","description":null,"longitude":"10.3348","latitude":"36.8541"},{"id":"3","titre":null,"description":null,"longitude":"10.3242","latitude":"36.8534"}]


    mon code java est le suivant :

    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
    package com.android.test;
     
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    import android.app.Activity;
    import android.os.Bundle;
     
    public class sitesMain extends Activity {
     
     
     
    	TextView txt;
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
     
            LinearLayout rootLayout = new LinearLayout(getApplicationContext()); 
     
                    txt = new TextView(getApplicationContext()); 
     
                    rootLayout.addView(txt); 
     
                    setContentView(rootLayout); 
     
     
     
                    // Définir le texte et appeler la fonction de connexion. 
     
                    txt.setText("Connexion...");
     
                    // Appeler la méthode pour récupérer les données JSON
     
                    txt.setText(getServerData(strURL));
     
        }
     
     
     
        // Mettre l'adresse du script PHP
     
            // Attention localhost ou 127.0.0.1 ne fonctionnent pas. Mettre l'adresse IP local.
     
            public static final String strURL = "http://10.0.2.2/www/guide/index.php";
     
     
            private String getServerData(String returnString) {
     
            	        InputStream is = null;
     
            	        String result = "";
     
            	        // Envoyer la requête au script PHP.
     
            	        // Script PHP : $sql=mysql_query("select * from tblVille where Nom_ville like '".$_REQUEST['ville']."%'");
     
            	        // $_REQUEST['ville'] sera remplacé par L dans notre exemple.
     
            	        // Ce qui veut dire que la requête enverra les villes commençant par la lettre L
     
            	        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
     
            	        nameValuePairs.add(new BasicNameValuePair("titre", "A"));
     
            	        // Envoie de la commande http
     
            	                try{
     
            	                    HttpClient httpclient = new DefaultHttpClient();
     
            	                    HttpPost httppost = new HttpPost(strURL);
     
            	                    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
     
            	                    HttpResponse response = httpclient.execute(httppost);
     
            	                    HttpEntity entity = response.getEntity();
     
            	                    is = entity.getContent();
     
     
     
            	                }catch(Exception e){
     
            	                    Log.e("log_tag", "Error in http connection " + e.toString());
     
            	                }
     
     
     
            	                // Convertion de la requête en string
     
            	                try{
     
            	                    BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
     
            	                    StringBuilder sb = new StringBuilder();
     
            	                    String line = null;
     
            	                    while ((line = reader.readLine()) != null) {
     
            	                        sb.append(line + "\n");
     
            	                    }
     
            	                    is.close();
     
            	                    result=sb.toString();
     
            	                }catch(Exception e){
     
            	                    Log.e("log_tag", "Error converting result " + e.toString());
     
            	                }
     
            	             // Parse les données JSON
     
            	                        try{
     
            	                            JSONArray jArray = new JSONArray(result);
     
            	                            for(int i=0;i<jArray.length();i++){
     
            	                                JSONObject json_data = jArray.getJSONObject(i);
     
            	                                // Affichage ID_ville et Nom_ville dans le LogCat
     
            	                                Log.i("log_tag","Titre: "+json_data.get("titre")+
     
            	                                        ", desc: "+json_data.get("description")+", lat: "+json_data.get("latitude")+", long: "+json_data.get("longitude")
     
            	                                );
     
            	                                // Résultats de la requête
     
            	                                returnString += "\n\t" + jArray.getJSONObject(i);
     
            	                            }
     
            	                        }catch(JSONException e){
     
            	                            Log.e("log_tag", "Error parsing data " + e.toString());
     
            	                        }
            	                        	                        return returnString;
     
            	                    }
     
     
     
     
     
     
     
    }


    mais sur l’émulateur il ne m'affiche que l'URL.


    mon LogCat

    05-04 10:02:56.812: ERROR/log_tag(507): Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONArray

    quel est mon erreur selon vous ?

  13. #13
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115

  14. #14
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    je n'ai rien compris. pouvez vous m'expliquer ?

    je travail avec wamp server


    l'url que j'ai tapé est elle juste.
    sachant que le chemin réel de l fichier est C:/Wamp/www/index1.php

  15. #15
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Par défaut
    a tu vérifier ce qui se trouvais dans la string result ? peut tu nous le montré ici stp

Discussions similaires

  1. Web services et Bases de donnees
    Par BARBIESS dans le forum NetBeans
    Réponses: 1
    Dernier message: 15/11/2010, 21h35
  2. Probleme service web :accès à une base de données
    Par Dine_Med dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/01/2010, 23h11
  3. web service et base de donnée
    Par clouddd dans le forum Services Web
    Réponses: 1
    Dernier message: 22/12/2009, 23h17
  4. Réponses: 2
    Dernier message: 25/12/2008, 13h23
  5. Connexion web services et base de données
    Par prince_antonio dans le forum Services Web
    Réponses: 4
    Dernier message: 09/08/2007, 13h06

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