Application Utilisant une Base mySQL OVH ???

momos73momos73 Membre
17:41 modifié dans Vos applications #1
Bonjour à  tous,

Je suis tout nouveaux sur le forum. Je suis développeur principalement PHP et JAVA et je voudrais me mettre à  développer une apllication iPhone.

Je voudrais savoir s'il est possible d'accéder à  des données d'une base distante MySQL hébergé chez OVH par exemple.

Je m'explique : j'ai fait un site web pour une agence immobillière qui propose des offres immobillières (Maison, Appart, ....).

Moi je veux une application qui me permets d'accéder à  cette base pour afficher toutes les annonces qui s'y trouve.


Dans un premier temps je veux juste de l'affichage pour ne pas me compliquer la vie, mais je tiens également à  développer une application pour la partie administrateur (Gérer les annonces, ajout, modif et suppr).


Cela vous semble t - il faisable ? Est surtout par où commencer ?


Je possède un iMac et j'ai déjà  le SDK de Apple.


Merci pour vos réponses

Réponses

  • CéroceCéroce Membre, Modérateur
    17:41 modifié #2
    Chez OVH (et chez la plupart des hébergeurs sérieux, pour des questions de sécurité), la base mySQL n'est pas accessible en dehors de ton serveur.
    Il faut donc créer un web service pour échanger les données entre l'appli iPhone et le serveur web.
    Cela prend typiquement la forme d'appel à  des URL du côté de l'iPhone, et de réponses au format XML ou mieux, JSON du côté serveur.

    Nous en avons parlé plusieurs fois ici, je te laisse faire une recherche.
  • momos73momos73 Membre
    17:41 modifié #3
    Merci pour ta réponse aussi rapide,

    Je vais regarder du côté XML dans ce cas.

    Sinon y aurais pas des Tutos simplicites qui traite ce genre de sujet ?
  • wiskywisky Membre
    17:41 modifié #4
    dans 1287408287:

    Merci pour ta réponse aussi rapide,

    Je vais regarder du côté XML dans ce cas.

    Sinon y aurais pas des Tutos simplicites qui traite ce genre de sujet ?


    Je ne veux pas semer le trouble ni te forcer à  utilise une technologie ou une autre mais d'après beaucoups de témoignage il est plus avantageux d'utiliser le JSON à  la place de l'XML. Google est ton amis ;)
    Ceci parce qu'il existe un frameworks simple et pratique pour JSON et que l'XML a tendance à  être lourd à  gérer pour un appareil mobile tel que l'iphone. L'autre avantage que je vois (cette fois je suis de la partie) c'est que pour transformer un objet PHP tel qu'un Array en texte JSON cela ne demande qu'une ligne (echo json_encode($array); ) comparé au traitement lourd demandé par XML.
  • momos73momos73 Membre
    17:41 modifié #5
    Effectivement le XML n'a vraiment pas l'air terrible.

    Je plutôt prendre le JSON.

    Alors j'ai lu pas mal de chose et j'ai bien compris le fonctionnement.

    En gros il faut un fichier PHP qui récupère nos infos de notre base le transforme en fichier json et c'est ce fichier que l'appli iphone fera appelle pour visualiser les infos sur le téléphone ?

    Ok ça me semble clair, mais y a pas un petit pb de sécurité là ?

    Si j'héberge ce fichier JSON sur mon serveur WEB c'est la porte ouverte à  toutes les fenêtres, Non ?


    Merci de vos réponses

  • wiskywisky Membre
    octobre 2010 modifié #6
    Il existe différent système de sécurisation. Dans un premier temps tu parle de lecture seul tel que le site we je suppose. Donc là  pas de problème. Par la suite il est évident que pour plus de sécurité l'utilisation d'un certificat SSL est une bonne idée et un système d'identification par nom et mot de passe est a prévoir. En suite l'identification réussi génère un jeton qui autorisera les requêtes. De plus un jeton supplémentaire peux être ajouté lorsque tu entre en mode édition disant au serveur que tu va editer tel fiche. Le serveur refusera la demande de modification si elle n'est pas complété par le jeton attribué pour la modification. En somme le système de jeton secret des sites web !
    En somme tu réalise un syte web qui affiche du JSON à  la place de l'HTML !

    Si tu souhaite plus d'infos sur la sécurité d'un tel service tu peux me contacter par MP.
  • momos73momos73 Membre
    17:41 modifié #7
    Salut,

    Bon j'ai commencé à  développer une API qui me permet d'apeller une page php (getUsers.php) pour récupérer les informations d'une personne dans une table mysql.

    Mon idée est très clair maintenant :

    Je veux faire une IHM avec système de connexion par login et mot de passe sur l'iphone. Lorsque l'utilisateur se connecte ça appelle mon fichier PHP getUser.php, et ce fichier PHP me créé un fichier JSON avec les informations de cette utilisateur. (getUsers_IDUSER.json).

    J'ai pensé dans un premier temps à  crypter mes données en MD5 (C'est juste pour tester pour l'instant...lool).

    En gros maintenant je me pose la question inverse Comment l'appli iphone va savoir sur quelle fichier JSON pointer sachant que l'utilisateur saisit juste son login et son mot de passe et que je pensait faire plusieurs fichiers JSON vu la taille de la base de données que je veux utiliser ???

    Je te file un ZIP de tout ce que j'ai fais si t'a le temps de regarder ça.

    http://dl.free.fr/getfile.pl?file=/5XZ6RqId

    Merci
  • wiskywisky Membre
    17:41 modifié #8
    Oulà  ! Tu part du mauvais côté.
    Premièrement ne jamais envoyé un mot de passe depuis la base de donnée vers l'iphone. Même chiffrer avec MD5 (ont dit chiffrer pas crypter). D'autre part, MD5 n'est utilisable que pour une signature car il est indéchiffrable. Ensuite MD5 n'est plus assez sûr pour être utilisé. Il existe des collisions ce qui pousse la plus part des développeurs à  passer sur SHA1.

    Ensuite, pour identifier l'utilisateur il faut que l'iPhone appel une URL du genre https://monsite.com/api/login.php?user=monuser&key=SHA1(mot de passe)
    Derrière le fichier login.php se connecter à  la base de donnée et retourne OK avec d'autre infos sur l'utilisateur (genre nom et prénom et le type d'accès (utilisateur, admin, etc...), numéro de session, etc...) si le nom et mot de passe sont correcte. Il est préférable de simplement réponde KO si une erreur surviens (sauf en dev ou tu peux ajouter des détails).
    La réponse doit se faire avec un type mime "application/json" et tu n'as pas besoin des balises HTML ni même du TYPEDOC.

    Il y a de nombreuses erreurs qu'il ne faut pas faire dans ce genre de site et API. Tu peux trouver les remèdes disponibles selon le type d'attaque sur internet. cependant, il existe des Frameworks qui t'aide à  garder un niveau de sécurité correct (ex : symfony).
  • momos73momos73 Membre
    17:41 modifié #9
    Quand tu dis "retourne OK avec d'autre infos", ça consiste en quoi clairement ça renvoit directe mon fichier JSON créé on ça renvoit par URL directe.

    Excuse moi mais je crois que c'est pas encore trop clair dans ma tête surtout qu'il ya pas trop d'aide sur le NET.
  • wiskywisky Membre
    17:41 modifié #10
    dans 1287494057:

    Quand tu dis "retourne OK avec d'autre infos", ça consiste en quoi clairement ça renvoit directe mon fichier JSON créé on ça renvoit par URL directe.

    Excuse moi mais je crois que c'est pas encore trop clair dans ma tête surtout qu'il ya pas trop d'aide sur le NET.


    T'es en stage pour cette entreprise ?
Connectez-vous ou Inscrivez-vous pour répondre.