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 :

Comment faire dialoguer une App Android avec script serveur


Sujet :

API standards et tierces Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Mars 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Mars 2014
    Messages : 35
    Points : 27
    Points
    27
    Par défaut Comment faire dialoguer une App Android avec script serveur
    Bonjour,

    j'ai créée un app sous android , avec déverrouillage de l'app par mot de passe (ex: 1234). Mais algorithme de déverrouillage étant en dur dans l'appli, je souhaiterai la déporter sur un serveur de maniére a pour administrer ce mot de passe à distance pour tous les utilisateurs. Donc mes recherches m'orientent vers un serveur PHP avec l’exécution d'un script pour le code. Mais la, je ne sais pas par quoi commencer (je pars de ZERO) et étant néophyte dans le monde des serveurs, je demande votre aide.
    Merci de donner la marche a suivre, voici ci dessous l'algorithme tres simple sous android :

    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
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
     
    public class MainActivityBootKey extends AppCompatActivity {
     
        EditText texte1;
     
        Button button;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_mainbootkey);
     
     
            texte1 = (EditText) findViewById(R.id.editText4);
     
     
     
            button = (Button) findViewById(R.id.button34);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.append("1");}});
     
            button = (Button) findViewById(R.id.button36);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.append("2");}});
     
            button = (Button) findViewById(R.id.button35);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.append("3");}});
     
            button = (Button) findViewById(R.id.button37);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.append("4");}});
     
            button = (Button) findViewById(R.id.button38);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.append("5");}});
     
            button = (Button) findViewById(R.id.button39);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.append("6");}});
     
            button = (Button) findViewById(R.id.button40);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.append("7");}});
     
            button = (Button) findViewById(R.id.button42);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.append("8");}});
     
            button = (Button) findViewById(R.id.button43);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.append("9");}});
     
            button = (Button) findViewById(R.id.button41);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.append("0");}});
     
            button = (Button) findViewById(R.id.button46);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    texte1.setText("");}});
     
     
     
            button = (Button) findViewById(R.id.button44);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
     
                    if ("1234".equals(texte1.getText().toString()))
                    {Intent intent = new Intent(getApplicationContext(),MainActivityHOME.class);
                        startActivity(intent);}
     
     
                    else
                    {Toast.makeText(getApplicationContext(),"Mauvais mot de passe !", Toast.LENGTH_SHORT).show();}}});
     
     
               }
        }
    -

  2. #2
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Des idées qui me passent par la tête lol:

    - communication SSH client (android) - serveur (internet) => authentification, handshaking et communication cryptée
    - service qui détecte la prise de contrôle ou modification d'état
    - nodejs embedded dans ton appli Android dans un webView ou bien une hybrid application avec Cordova
    - Et pourquoi pas via Cloud? (firebase qui push une notif cryptée par exemple)

    Perso, je testerais ce dernier point, si c'est crypté et que les clés changent/se synchronisent automatiquement... ce qui revient à faire du SSH
    Si la réponse vous a aidé, pensez à cliquer sur +1

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Mars 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Mars 2014
    Messages : 35
    Points : 27
    Points
    27
    Par défaut
    Bonjour,
    merci pour la réponse !! Mais bon, la c'est comme me parlé en mandarin !! Y a t'il des exemple concret sur le web ?

  4. #4
    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
    De ce que je vois, un simple WS d'authentification côté serveur suffirait à ton besoin : tu envoies ton MDP chiffré et salé via HTTP (S si possible), ton serveur compare avec le hash stocké en BDD, et tu fais un retour HTTP 200 ou 403, suivant si le MDP est bon ou non.
    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

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Il faut choisir une techno serveur avec laquelle tu sera à l'aise.
    On choisi souvent PHP car c'est facile à héberger n'importe où , et que c'est assez facile d'accès pour les débutants mais c'est pas forcément la solution qui te convient.

    Ensuite quelques soit la solution serveur choisi , le fonctionnement reste le même :

    - Ton utilisateur saisie sont mdp
    - L'application envoi une requête protégée (on choisi souvent http avec ssl -https- pour la simplicité de mise en oeuvre). Le but étant que la donnée ne puisse pas être interceptée et rejouée par un tiers.
    - Le serveur traite la requête reçue et vérifie le mot de passe
    - Le serveur répond à la requête positivement ou avec un code d'erreur selon la donnée reçue
    - L'application reçoit la réponse et agit en conséquence.

    Donc coté android la seul notion que tu as besoin d'implémenter est celle de client (http, socket , ... en fonction de ton choix)

    Tu as un exemple de ce procédé ici :
    http://dsilvera.developpez.com/tutor...es-script-php/

    C'est pas forcément sécure , mais c'est un premier pas.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Faire communiquer une application lourde avec un serveur Web
    Par oneagaindoguys dans le forum Développement Web en Java
    Réponses: 7
    Dernier message: 15/08/2011, 11h36
  2. Réponses: 0
    Dernier message: 02/03/2011, 23h26
  3. Réponses: 3
    Dernier message: 03/02/2007, 00h12
  4. Réponses: 3
    Dernier message: 27/07/2006, 09h17
  5. Réponses: 1
    Dernier message: 06/04/2006, 15h35

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