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 :

Androïd et Mysql


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut Androïd et Mysql
    Bonjour,

    Je souhaite créé un petite apply sous androïd en C#, dans laquelle je veux interagir avec un serveur Mysql extérieur. Donc ma question est comment faire?

    De plus j'aimerai si possible me connecter en ssh sur le serveur, donc si quelqu'un connait la méthode à employer..

    Merci pour votre lecture.

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Saches que les applications Android sont codées en Java. Mais tu souhaites tout de même coder en C#, voici 2 solutions possibles :


    Il est possible d'établir une connexion SSH à l'aide d'une librairie Java comme JSch par exemple, afin d'exécuter des commandes à distance. Sinon, tu dois interfacer ta base MySQL avec une couche Web (en PHP, JSP, ASP, etc) qui sera appelable depuis Android via HTTP.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    Merci déjà pour ta réponse. Je vais donc potasser ça.

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut
    Salut,

    Bon j'ai fais un petit code qui "marche". Le voici:
    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
    			Console.WriteLine ("preparation de la requete" + new Uri(url));
    			httpReq = (HttpWebRequest)HttpWebRequest.Create(new Uri(url));
    			// Requête http
    			httpReq.BeginGetResponse ((ar) => {
    				var request = (HttpWebRequest)ar.AsyncState;
    				using (var response = (HttpWebResponse)request.EndGetResponse (ar))     {                           
    					var s = response.GetResponseStream ();
    					Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
    					StreamReader readStream = new StreamReader( s, encode );
    					Char[] read = new Char[256];
    					int count = readStream.Read( read, 0, 256 );
    					while (count > 0) 
    					{
    						String str = new String(read, 0, count);
    						Console.Write(str);
    						count = readStream.Read(read, 0, 256);
    					}
    				}
    			} , httpReq);
    Mais je me pose une question pour la sécurité. Comment faites vous pour vérifier l'auteur de la demande? Je suis sur que la méthode je met le log/pass dans l'url est une très mauvaise idée. Est ce qu'il faut faire quelque chose avec un certificat?

    Et une autre petite question, vaut-il mieux que le code php me sorte un xml? ou autre chose? pour faciliter la récupération des informations pour les rentrer dans mes objets.

  5. #5
    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
    Il ne faut pas que l'application attaque d'elle-même la base de données, c'est un trou béant de sécurité, comme tu t'en rends compte.
    On passe généralement par une façade entre la BDD et l'appli', en mettant en place des WebServices. Ce sont ensuite eux qui attaquent la BDD. Chaque méthode du WS faisant exactement ce qui est demandé, et ne permettant normalement pas de faire d'opération non prévue, la mise en place est généralement plus sure.

    A côté de ça, pour les retours, sur mobile, on privilégie généralement le JSON au XML, mais ce dernier peut aussi être utilisé.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut
    J'ai un peu de mal à bien saisir, désolé.
    Pour le moment sur mon apply, je peux faire des requêtes http (ouvrir une page quoi..) dans laquelle sont noté des informations provenant de ma bdd externe.

    Exmple si je fais une requête http://ip/DBVersion/check/carnet me donne une page avec l'affichage de ma version.
    Donc déjà je me demande comment je peux vérifier l'utilisateur qui demande la version? je ne vois pas trop quels sont ces web services.

    Maintenant si je veux changer de version? Ce que je peux faire mais ce qui n'est pas bon c'est faire une requête du genre http/ip/DBVersion/change/2.0. Du coups les web services? C'est quoi exactement? Que font ils?

  7. #7
    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
    Ce sont des interfaces entre les applications et la BDD. Ce sont des URL's appelées avec des divers paramètres, qui sont ensuite transmis au script répondant à cette URL, celui-ci se chargeant d'attaquer la BDD en faisant la bonne requête, et qui retourne ensuite un format facilement exploitable pour l'application.

    Par exemple, je souhaite avoir l'historique de mes achats :
    http://mon.super.serveur.com/myAccou...istory?since=5
    La requête elle-même embarque des headers d'authentification personnel, correspondant à un token ou un chiffrage réalisé après l'authentification dans l'application. Ca ne correspond pas à cet exemple, mais ça peut simplement être un token d'authentification applicatif, et non lié à un compte.

    Ici, j'appelle l'URL avec un paramètre. "since" prend un entier représentant un jour (arbitraire pour l'exemple). Je vais avoir un script répondant à cette adresse myAccount/paymentHistory, faisant ensuite la requête de la BDD "utilisateur Hizin souhaite les transactions bancaire des 5 derniers jours", et convertissant ensuite en JSON/XML et faisant le retour ensuite à l'application.
    Ensuite, dans l'application elle-même, j'ai les informations brut, que je lis et met en place dans des objets métiers, que j'utilise ensuite pour créer mes joulies interfaces.

    La page Wiki est assez explicative, même si je déconseillerai de partir sur du SOAP : https://en.wikipedia.org/wiki/Web_service
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut
    Ah ouais.. C'est pas peut être un peu compliqué pour commencer? Et si mon apply est destiné a être utilisé uniquement en local, je peux me contenter de de protéger comme il faut mon réseau?

Discussions similaires

  1. [Kylix] Kylix attaque Mysql ?
    Par nahmsath dans le forum EDI
    Réponses: 9
    Dernier message: 12/08/2002, 19h37
  2. [Kylix] [cgi] pb déploiement appli avec connexion MySQL [rés
    Par Nepomiachty Olivier dans le forum EDI
    Réponses: 3
    Dernier message: 06/08/2002, 20h09
  3. Probleme C++Builder et Mysql
    Par noname dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 13h40
  4. connection a une BDD MySql
    Par delire8 dans le forum MFC
    Réponses: 7
    Dernier message: 19/06/2002, 18h18
  5. [Kylix] Pb connection à Mysql
    Par Anonymous dans le forum EDI
    Réponses: 3
    Dernier message: 25/04/2002, 15h26

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