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

Développement iOS Discussion :

Besoin d'un avis concernant la stratégie des données de carte pour mon app


Sujet :

Développement iOS

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Besoin d'un avis concernant la stratégie des données de carte pour mon app
    Bonjour,
    Je remercie d'avance ceux qui prendront un peu de leur temps pour m'orienter et m'aider dans le démarrage de mon projet

    Je vais développer une (première) application ios. J'ai des bases en C++ et j'ai fait plusieurs recherches concernant l'environnement de programmation apple, donc coder l'application sera un petit challenge mais je pense que je peux y arriver. Là où je coince, c'est plutôt au niveau de la stratégie que je vais utiliser pour que mon app fonctionne comme je le souhaite, et c'est ici que j'aurais besoin de quelques pistes pour m'orienter.



    *Supposons* que mon application permette d'afficher, sur une carte ou sous forme de liste, les friteries les plus proches du lieu où on se trouve (ce n'est pas le cas, mais cet exemple fonctionne à merveille).
    Tout d'abord, vu que les friteries ne sont généralement pas référencées dans Apple maps, Google maps etc, l'application utiliserait sa propre base de donnée. Ensuite, si un utilisateur se trouve à une friterie non répertoriée, il pourrait la soumettre à la base de donnée.

    Afficher une dizaine de repères sur une apple carte etc, point de vue programmation, OK. Mais, à partir du moment ou il y aurait plusieurs centaines de repères, comment gérer la base de donnée ? Où et de quelle manière stocker celle-ci et comment la rapatrier ?

    Je ne m'y connais pratiquement pas en base de données, je n'ai donc même aucune idée du format que je devrais utiliser (mais je me dis que pour des coordonnées et des noms, ça ne doit pas être trop compliqué).
    Je ne sais pas non plus comment stocker ma base de donnée:
    - je pensais d'abord la stocker quelque part sur Internet (dropbox public,...) et que l'app télécharge la nouvelle version toutes les 2 semaines, mais ça risque vite de consommer beaucoup de bande passante et surtout d'être lent.
    - Utiliser une base de données distante, sur un serveur, interrogée à chaque affichage de la carte, mais cela signifie que je dois trouver une solution d'hébergement efficace, donc sûrement payer (alors que mon app serait gratuite...) et de plus je doute que j'ai les compétences requises.
    - Stocker la bdd dans mon app, mais ça vaut dire que je ne peux mettres à jour les points de la carte que via une mise à jour sur l'app store, c'est lourd.

    ... Comme vous le voyez, je suis un peu paumé sur la partie "gestion de mes repères carte" si vous voyez ce que je veux dire ...
    Quel serait le moyen le plus simple pour afficher tous ces repères tout en étant en mesure d'actualiser régulièrement ces lieux ?
    Un début de solution ou quelques liens humainement compréhensibles seraient vraiment plus que les bienvenus, car mes recherches m'ont mené vers des explications très compliquées voire hors sujet...



    En fait, cette partie là du développement de mon application me décourage beaucoup... Est-ce réellement très difficile à mettre en place ? Est-ce que je ne me rend pas compte des difficultés auxquelles je vais être confronté ? :/


    Merci beaucoup d'avance !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 680
    Points : 10 697
    Points
    10 697
    Par défaut
    1) J'avais vu un article sur Internet en 2012. Je n'arrive pas à le retrouver

    Mais en gros, en fonction du niveau du zoom (plus tu zoomes, moins tu auras de marqueurs), il faut faire des statistiques (quelques formules de mathématiques) pour découper ta carte et calculer des zones plus ou moins égales de marqueurs et ensuite n'afficher qu'un marqueur spécial avec le nombre de marqueurs réels au centre de chaque zones calculées.


    2) Il faut faire des mises à jours incrémentales
    CoreData le permet, mais plus tu auras de mises à jour plus cela va être compliqué (à moins que tu obliges l'utilisateur à faire certaines mises à jour dans un ordre précis)

  3. #3
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    1) J'avais vu un article sur Internet en 2012. Je n'arrive pas à le retrouver

    Mais en gros, en fonction du niveau du zoom (plus tu zoomes, moins tu auras de marqueurs), il faut faire des statistiques (quelques formules de mathématiques) pour découper ta carte et calculer des zones plus ou moins égales de marqueurs et ensuite n'afficher qu'un marqueur spécial avec le nombre de marqueurs réels au centre de chaque zones calculées.
    Il existe pas mal de chose trouvable sur le net, de plus ou moins bonne qualité (et plus ou moins soumis à licence)..
    Voici 2 / 3 exemples trouvé rapidement, je pense qu'en cherchant un peu plus on peut trouver de belles choses :

    lien 1
    lien 2
    lien 3

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par LeBzul Voir le message
    Il existe pas mal de chose trouvable sur le net, de plus ou moins bonne qualité (et plus ou moins soumis à licence)..
    Voici 2 / 3 exemples trouvé rapidement, je pense qu'en cherchant un peu plus on peut trouver de belles choses :

    lien 1
    lien 2
    lien 3
    Merci pour vos reponses !
    En réalité, je me disais que mon app afficherait, pour reprendre mon exemple, toutes les friteries "dans un rayon de 1km", ce qui veut dire qu'il n'y aurait qu'un ou deux éléments a afficher sur la carte, et que donc, en tout cas pour le moment, je peux me permettre d'afficher les reperes "normalement", sans les rassembler.
    N'empêche, je retiens pour plus tard !

    Ma question concernait en fait surtout la base de donnée en elle-même...

    Citation Envoyé par foetus Voir le message
    2) Il faut faire des mises à jours incrémentales
    CoreData le permet, mais plus tu auras de mises à jour plus cela va être compliqué (à moins que tu obliges l'utilisateur à faire certaines mises à jour dans un ordre précis)
    Merci de me mettre sur la piste de CoreDate. Je vais faire quelques recherches car je ne le connais absolument pas. J'ai deja jeté une oeil sur google et ca a l'air tout de même compliqué... Moi qui espérais sur ce point quelque chose de plus simple...
    Et aussi, j'ai pas trop compris la dernière phrase: pourquoi les utilisateurs devraient-ils faire leur màj dans un ordre precis ??

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 680
    Points : 10 697
    Points
    10 697
    Par défaut
    Citation Envoyé par Mexson Voir le message
    Et aussi, j'ai pas trop compris la dernière phrase: pourquoi les utilisateurs devraient-ils faire leur màj dans un ordre precis ??
    J'avais lu un bouquin sur CoreData et justement la partie incrémentale n'était pas très claire
    Mais avec 2-3 cas concrets cela doit se clarifier

    Ce que j'avais compris c'est: ta base de données est à la version 5, tes utilisateurs de la version 1 à la version 4.
    Mais ta version incrémentale numéro 5 ne s'applique qu'à la version 4, et non pas à la version 1, 2, et 3.
    C'est le principe incrémental
    C'est au développeur de coder les mises à jour successives de la version de l'utilisateur à la dernière version 5.

    Après tu peux sûrement faire en sorte qu'une version (par exemple la version 4) soit une grosse mise à jour, et que cela évite de mettre à jour la version 1, ensuite la 2 et enfin la 3.

    D'où ma phrase : si ta base de données est à la version 11 et tu as quand même 2 grosses mises à jour (par exemple, la 5 et la 10), il faut, au plus, appliquer la mise à jour n°5 et ensuite la n°10 pour passer à la version 11.

  6. #6
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Je pense que le top, simplicité/efficacité, c'est d'avoir une BDD externe et un petit webservice pour permettre a ton app de récupérer les informations dont elle a besoin facilement et de façons sécurisé.
    Ca dépend du volume de données, mais s'il reste faible, en cherchant un peu sur le net, il y a des services gratuits d'hébergement de site et de BDD.

    Sinon, une autre solution est de mettre de la pub et espérer que ca paye l'hébergement.
    Google et Amazon propose ce genre de service en payant uniquement au volume d'utilisation/stockage, il me semble.

    - Utiliser une base de données distante, sur un serveur, interrogée à chaque affichage de la carte, mais cela signifie que je dois trouver une solution d'hébergement efficace, donc sûrement payer (alors que mon app serait gratuite...) et de plus je doute que j'ai les compétences requises.
    En optimisant un peu, avec un petit système de cache par exemple, tu peux grandement diminuer le nombre de requête.
    Appelé un webservice qui va faire les requêtes à la BDD externe, ou avoir une BDD interne et du coup faire les requêtes en interne, c'est quasiment la même difficulté.

Discussions similaires

  1. Besoin de vos avis concernant des formations
    Par teddyalbina dans le forum Etudes
    Réponses: 1
    Dernier message: 13/11/2008, 22h59
  2. Besoin d'aide sur langage SQL. Extraire des données
    Par FaTaL25 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/12/2007, 14h47
  3. [VS 2003]Envoyer des données à la carte son
    Par NiamorH dans le forum Visual Studio
    Réponses: 4
    Dernier message: 06/05/2006, 13h27
  4. Réponses: 4
    Dernier message: 11/04/2006, 14h22
  5. Avis sur la vérification des données d'une fiche
    Par AlexB59 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/07/2005, 21h55

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