Partage
  • Partager sur Facebook
  • Partager sur Twitter

Base de données relié à une application IOS, swift

Sujet résolu
24 juillet 2017 à 23:44:02

Bonjour à tous,

Je programme depuis quelques mois sous ios en code swift, j'ai appris les base du code et j'ai commencé une idée d'application.

Mais j'ai rencontré un problème où je suis bloqué depuis quelques temps. Je n'arrive pas à connecter une base de donné à mon application, ce qui me servirait à un utilisateur de créer un compte, ou d'enregistrer des variables. J'ai essayé par moi-même, suivie des tutoriaux (mais ils ne sont pas à jour).

Je vous demande si vous pouvez me lancer sur une bonne voie, un tutoriel, une API, ou un code (qui serait tous compatible avec la dernière version ios et xcode).

Merci d'avance de vos réponses. Julien

-
Edité par JulienLair3 24 juillet 2017 à 23:46:36

  • Partager sur Facebook
  • Partager sur Twitter
25 juillet 2017 à 11:34:37

Bonjour,

Le problème est identique avec toutes les technologies (Android, Windows Mobile, etc ...)
Une "bonne" solution est de te créer/utiliser un webservice (API REST) qui fera l'interface entre ton application et ta base de données.
Et comme on trouve rarement quelque chose de tout fait qui correspond exactement à nos besoins, en général, on écrit ça soit même.

Côté Swift, la compétence nécessaire est de savoir réaliser des requêtes HTTP. Accessoirement, il te faudra savoir générer/parser du JSON ou de l'XML (formats d'échange bien pratiques pour communiquer avec les API).

Il te faudra une compétence en développement web côté serveur (PHP, ASP.NET, Node.JS, Python, etc ...).

A partir de là, le principe est assez simple :
On créé un site web qui, en fonction de l'adresse utilisée et des paramètres passés, est capable d'aller chercher/mettre à jour, des données dans la base de données.

Exemple : Je veux créer un utilisateur :

1. Proposer (en Swift) un formulaire de saisie (Nom, prénom, email, mot de passe, etc ...)

2. Lors de la validation, on sérialise les données (transformation en JSON), ce qui donne quelque chose comme : {"nom":"Spider","prenom":"man","email":"spiderman@.....com","password":"xxxx"}

3. On "poste" les données à une adresse web sur le serveur, exemple : https://monserveur.xyz/user

4. Le code serveur, reçoit le "post", valide les données reçues.

5. Si les données reçues sont OK, on inscrit l'utilisateur en base et on retourne un code http200 (on peut ajouter en retour un JSON qui contient une confirmation. ex:{"success":true}.
Si les données ne sont pas bonne, on retourne un code d'erreur HTTP (en fonction du problème). On peut joindre également un JSON qui contient des informations. ex:{"success":false,"message":"Cet utilisateur existe déjà"}

6. On récupère le JSON retourné par la page web. Et on fait évoluer l'interface de l'application en fonction des valeurs de retour.




  • Partager sur Facebook
  • Partager sur Twitter
25 juillet 2017 à 19:14:40

Je vous remercie de votre réponse qui m'a beaucoup aidé.

  • Partager sur Facebook
  • Partager sur Twitter
13 février 2018 à 9:19:10

Bonjour, étant nouveau dans le développement et rencontrant les mêmes problèmes, je dois Donc apprendre de A à Z un de ces Langages « (Php,asp.net,Node.js,python,etc...) ». 

Je viens donc à vous afin de vous demander quelle serait (d’apres Vous) le langage le plus simple à apprendre en partant du Swift (le seul que je ne connaisse) ? 

Merci 

  • Partager sur Facebook
  • Partager sur Twitter
4 avril 2018 à 14:10:22

Salut ! 

J'imagine que depuis le temps tu as trouvé mais en partant de Swift à mon sens le plus simple serait PHP. Node.js peut être très intéressant aussi dû à la forte popularité de JavaScript (étant donné que Node vient du JavaScript). Prends en considération que les deux sont vraiment beaucoup plus permissifs que Swift pour ton apprentissage, mais je pense que ça reste une bonne chose de garder un maximum de rigueur pour garder les choses maintenables et lisibles.

Bonne journée !

  • Partager sur Facebook
  • Partager sur Twitter
6 avril 2018 à 8:38:10

Déterrage de sujet en cascade. 

En tout cas, je ne suis pas d’accord, le plus simple en partant de Swift c‘est sûrement le Swift. 

  • Partager sur Facebook
  • Partager sur Twitter
6 avril 2018 à 14:27:30

C'est évident, mais s'il souhaite apprendre autre chose que Swift...
  • Partager sur Facebook
  • Partager sur Twitter
6 avril 2018 à 15:33:13

Il n'a jamais exprimé ce besoin.
  • Partager sur Facebook
  • Partager sur Twitter
29 avril 2018 à 8:30:16

Quand on parle du langage le plus simple à apprendre en partant du Swift, à mon avis, c'est qu'on veut apprendre autre chose.
  • Partager sur Facebook
  • Partager sur Twitter
29 avril 2018 à 10:23:54

A mon avis c'est plutôt qu'il ignore simplement que le Swift peut répondre à son besoin. Du coup il cherche autre chose par défaut. "Le plus simple à apprendre en partant du Swift" c'est bien qu'il n'a pas envie de perdre du temps à apprendre une syntaxe complètement différente.
  • Partager sur Facebook
  • Partager sur Twitter
19 août 2018 à 18:57:54

Bonsoir alors pour reprendre ces messages, comment le faire avec Swift ? 

Merci pour la réponse et meilleures salutation. 

  • Partager sur Facebook
  • Partager sur Twitter
19 août 2018 à 23:12:38

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. 

  • Partager sur Facebook
  • Partager sur Twitter