Aller au contenu


Photo

Développer une appli à partir d'un site web


  • Please log in to reply
10 réponses à ce sujet

#1 filiplarlibe

filiplarlibe

    Eleveur de cacaoyers

  • Membre
  • PipPip
  • 19 messages

Posté 20 février 2017 - 19:32

Bonjour à tous,

Je voudrais créer une application sous iOS qui permettrait de reprendre une partie des données d'un site web fait avec joomla (articles, photos, différents menus, ...)

J'ai une question pour savoir comment je pourrais faire cette appli, jai 2 solutions et je ne sais pas quelle solution choisir et surtout comment développer ces solutions sous objective c (étant débutant en objective c voire Swift et étant surtout débutant en langage object) :

- soit faire un script en php qui me permet de récupérer tous les menus et ensuite un autre script qui me permet de récupérer le bon article en fonction du menu. Mais le problème c'est que chaque script va se connecter à la bdd et faire la requête sql. (1 accès à la bdd pour chaque donnée à récupérer de la bdd)
Est ce qu'avec cette solution il est possible de se connecter à la bdd au début et ensuite ne faire que les requêtes sql (via script) qui me ramèneront du Json ?

- autre solution (si c'est possible) de récupérer toutes les données de ma bdd sur le serveur (au lancement de l'application) et les mettre dans une bdd locale à l'appli et donc travailler directement sur celle locale.
Comment faire pour faire cette solution? Y a t il des méthodes particulières à utiliser pour récupérer les données au lancement de l'application ?

Si vous avez des conseils, votre aide me sera très précieuse et si vous avez une autre solution pourquoi pas.

Merci en tout cas pour votre aide sur ce sujet.

#2 Pyroh

Pyroh

    Ecabosseur en fèves

  • Membre
  • PipPipPipPip
  • 496 messages

Posté 20 février 2017 - 21:32

La meilleure solution ici est de faire un script PHP qui te permette de faire du REST.

Tu fera tes queries directement sur ton serveur sans passer par un driver MySQL et tu récupéreras le tout en JSON dans ton appli (Alamofire est bon pour ça).

 

La solution de tout DL en local n'est pas une solution.

 

Sinon apprends directement en Swift l'obj-c ça meurt chaque jour un peu plus.



#3 Draken

Draken

    Mouleur de chocolats

  • Artisan chocolatier
  • PipPipPipPipPipPipPipPip
  • 8 794 messages
  • LocationParis

Posté 20 février 2017 - 21:37

Inscrit-toi à ce MOOC (cours en ligne) sur l'apprentissage du Swift, commençant le 14 Mars :

 

http://forum.cocoaca...on-ios-sur-edx/

 

C'est gratuit et d'excellente qualité. Ce n'est pas le premier MOOC de ce professeur. J'ai beaucoup appris avec les cours précédents.


Garçon, servez-moi un Covfefe avec du lait de soja, sans OGM ..

Et faites régler la climatisation, il fait bien chaud, ici !

 

 

Éternel Novice !  :baby:

Tueur de poneys !  :(

 

Faire simple .. c'est compliqué !

Faire compliqué .. c'est simple !

 

Un MOOC (cours en ligne - dont je ne suis pas l'auteur) gratuit sur la programmation en Obj-C et en Swift 3, démarrant le 14 Mars 2017 :

https://www.edx.org/...onnex-progios1x

 

Des dizaines d'heures de tutoriels vidéo en français (je ne suis pas l'auteur) pour apprendre à développer en Obj-C et Swift : http://pagesperso-sy...don/5I452-2014/

 

 


#4 Céroce

Céroce

    Mouleur de chocolats

  • Contrôleur d'arômes
  • 5 320 messages
  • LocationSaint-Leu-d'Esserent / France

Posté 21 février 2017 - 09:35

Je pense qu'il faut aussi considérer une approche plus large.

Une appli est-elle seulement nécessaire ? Adapter le site web au mobile ne serait-il pas suffisant ?
Il se trouve qu'aujourd'hui, seulement un tiers (oui, 1/3 !) des utilisateurs téléchargent de nouvelles applis. La plupart des utilisateurs se contentent de quelques applis. Il faut dire qu'il y en a un peu marre de devoir installer sans arrêt de nouvelles applis, alors qu'on pourrait consulter un bête site web. (Sachant qu'un site web peut avoir son icône sur l'écran d'accueil de l'iPhone depuis des années).

Il y a aussi l'approche hybride: utiliser une Web-view qui affiche en fait du contenu web, et faire appel à du code natif quand c'est nécessaire.

Il faut aussi considérer React Native. J'utilise l'application TomTom Sports, et franchement, je n'ai vu que c'était du React Native que parce qu'il y a une section où ils indiquent les bibliothèques open-source utilisées.

Une application native est ce qu'il y a de mieux, mais il faut voir l'usage avant d'opter pour cette solution, et aussi l'investissement personnel tu es prêt à faire, et si une version Android est envisagée.
  • LeChatNoir et colas_ aiment ceci
RenaudPradenc.com Je suis développeur iOS & Mac indépendant.

#5 Lexxis

Lexxis

    Ecabosseur en fèves

  • Membre
  • PipPipPipPip
  • 419 messages

Posté 21 février 2017 - 10:29

Bonjour,

 

Le plus simple serait de trouver une plugin REST qui permette d'accéder aux données du site au format JSON par exemple  (peut être cette fonctionnalité existe-t-elle en natif). Ensuite avoir un script ou une application, autonome ou manuelle, qui va piocher les informations utiles pour ton application mobile et alimenter une autre base (Firebase au hasard ou tout autre base NOSQL ou même SQL si des requêtes complexes doivent être conservées entre les tables).

L'avantage c'est que ton application n'est pas directement lié au site, ainsi même en maintenance l'application mobile continue de fonctionner. Autre avantage c'est qu'il est possible d'alimenter la base de l'application mobile par d'autre sources que celle du site.

 

L'aspect le plus "complexe" de cette solution est le script ou l'application qui va faire le lien entre les deux bases.



#6 filiplarlibe

filiplarlibe

    Eleveur de cacaoyers

  • Membre
  • PipPip
  • 19 messages

Posté 21 février 2017 - 13:59

Bonjour,

 

Merci pour vos réponses. 

Si je comprends bien toutes vos réponses, il me faudrait installer par exemple un composant jBackEnd sur mon site joomla pour me permettre d'avoir une API Rest.

 

Une fois cela, je pourrais ensuite me servir de cette API pour effectuer mes requêtes GET depuis l'application c'est bien cela ?

Que faut-il utiliser pour utiliser une API Rest depuis une application IOS ? Y a t il des méthodes particulières à appeler ? Je suis un peu perdu pour savoir comment appeler une API depuis Objective C ou Swift ?

 

merci d'avance pour votre aide. 



#7 LeChatNoir

LeChatNoir

    Brasseur de pâte à cacao

  • Artisan chocolatier
  • PipPipPipPipPipPipPip
  • 3 193 messages
  • LocationLyon

Posté 22 février 2017 - 10:03

La question de Céroce est pertinente : Joomla propose des templates responsives qui permettent de proposer ton site web sur mobile sans effort.

 

Le seul intérêt de faire une appli, ça serait de proposer des services en plus.

 

Par exemple :

=> accéder aux données sans connexion

=> proposer un service avec notifications

 

Ce genre de choses. Sinon, ca sert à rien a priori.


Le Chat Noir, développeur à ses heures...
Application passion => ClimbingAway


#8 filiplarlibe

filiplarlibe

    Eleveur de cacaoyers

  • Membre
  • PipPip
  • 19 messages

Posté 22 février 2017 - 18:29

Bonjour,

Le but de faire une application à partir de ce site web est surtout d'apprendre à faire une application web et donc à apprendre le développement sous iOS voire Android plus tard.
Ensuite si j'arrive à faire l'application, je mettrais certainement des nouveautés autre que ce qu'il y a aujourd'hui sur le site web, les notifications, ...

Par contre jai un peu de mal à comprendre le principe de l'API rest et de savoir comment coder en objective c ou en Swift.

Merci pour votre aide.

#9 LeChatNoir

LeChatNoir

    Brasseur de pâte à cacao

  • Artisan chocolatier
  • PipPipPipPipPipPipPip
  • 3 193 messages
  • LocationLyon

Posté 23 février 2017 - 13:01

ben là, on peut pas t'aider.

 

Soit tu te payes une formation, formation en ligne ou un bouquin :)


Le Chat Noir, développeur à ses heures...
Application passion => ClimbingAway


#10 filiplarlibe

filiplarlibe

    Eleveur de cacaoyers

  • Membre
  • PipPip
  • 19 messages

Posté 23 février 2017 - 13:09

Bonjour,

 

Je me suis mal exprimé en fait je voulais dire j'ai dû mal à voir comment créer une API rest sur le site web et comment l'appeler en objective c ou en swift. 



#11 Céroce

Céroce

    Mouleur de chocolats

  • Contrôleur d'arômes
  • 5 320 messages
  • LocationSaint-Leu-d'Esserent / France

Posté 23 février 2017 - 14:00

Habituellement le serveur renvoie les données sous une forme facilement parsable, comme du JSON. On peut certainement faire ça avec Joomla.

Le mobile se connecte en HTTPS. Sous iOS, tu peux utiliser NSURLSession pour cela. Il faudra aussi parser le JSON. On peut utiliser NSJSONSerialization, mais en pratique, c'est pénible en Swift, alors utilise SwiftyJSON. Cela va nourrir la couche Modèle du MVC.

Je ne vais pas entrer dans les détails, nous avons parlé un tas de fois des webservices, fais une recherche, et pose tes questions sur des points particuliers.
RenaudPradenc.com Je suis développeur iOS & Mac indépendant.




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)