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

Mobiles Discussion :

Architecture / Hébergement serveur application mobile


Sujet :

Mobiles

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Architecture / Hébergement serveur application mobile
    Bonjour,

    Pour une idée de projet, je m’intéresse sur toute l'architecture portée sur le développement d'une application mobile.

    Celle-ci serait développée en hybride en angularJS surement avec Ionic.

    Pour expliquer mes questions, je vais prendre l'exemple d'une application : "Happn" qui utilise donc la géolocalisation (sans doute beaucoup de requêtes ?), la messagerie instantanée, les notifications push etc.

    Si on suppose que leurs serveurs sont écris en Java, quel est selon vous la meilleure architecture à adopter pour ce genre d'application ? Comment gérer les messages instantanés ? Les serveurs doivent-ils vraiment être si puissant ? puisque ce ne sont que des messages et des images qui ne doivent pas dépasser les 30ko qui sont échangées. L'utilisation d'une simple base de données SQL est utilisée ou plutôt un service MBaaS (je viens de découvrir) comme firebase..?

    Mes questions sont nombreuses ... Je ne vois pas trop comment appréhender une architecture pour ce type d'application.. au début même s'ils n'avaient que quelques centaines d'utilisateurs, par où ont-ils commencé ?

    Quels genre d'hébergeur faut-il ? Par exemple en prenant un tout basique chez OVH, il est facilement possible d'évoluer vers un beaucoup plus puissant au fur et à mesure de l'augmentation du nombre d'utilisateurs sans tout réinstaller sur un autre serveur ?

    Merci d'avance.

    Maxime,

    Débutant mais intéressé qui ne trouve pas vraiment la clarté de tout ça sur le web x)

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Help

  3. #3
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut
    Tu as plusieurs façon de répondre à ce genre de problématique. L'idée c'est d'avoir une techno/produit scalable. Amazon propose des serveurs qui grossissent en fonction de la charge (requêtes simultanées et RAM par ex), et d'un autre coté, mongodb est un sgbd scalable, c'est à dire que peu importe la taille qu'il fait il ira toujours à la même vitesse.

    Avec ionic cordova, ça n'est pas ton "souci", le client doit juste pas être une usine à gaz, mais c'est au serveur que reviens toute la charge.
    happn doit sans doute être archi en mode API RESTful.

    Pour moi donc 2 points de risques niveau perf:
    - La bande passante et nombre de requêtes (ça faut choisir l'offre correspondante)
    - RAM de ton serveur pour vulgariser et donc tout ce qui est optim développement, techno pas gourmande, code rapide, base de donnée adéquate etc...
    Memento Quia Pulvis Es, Et In Pulverem ReverteriS

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Merci pour tes explications
    Est ce que tu sais comment sont gérés les messages instantanés sur une application mobile avec une archi API RESTful ? est-ce que ça passe par une sorte de push ou autre ? en partant sur une BDD SQL car j'ai besoin d'une BDD relationnelle (ce que n'est pas MongoDB à ce que j'ai compris).

    Merci

  5. #5
    Membre régulier
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Points : 71
    Points
    71
    Par défaut
    Bonjour Davok,

    Je réponds un peu tard, mais peut-être que cette réponse te sera encore utile...
    D'après tes spécifications (messagerie instantanée, notifications push...), la techno la plus adaptée est Websoket.
    WebSocket permet d'échanger des données de façon bidirectionnelle et asynchrone, entre un client et un serveur. La messagerie instantané et le push d'infos sont ses domaines typiques d'utilisation.
    C'est une technologie récente (protocole normalisé par l'IETF en 2011)
    Côté client, elle est prise en charge par tous les navigateurs depuis quelques années.
    Côté serveur, elle est implémentée pour Java, .NET, Ruby, Node.js….
    Personnellement, côté serveur, je te conseillerais node.js et le module socket.io.
    Côté client, l'implémentation de WebSocket en javascript est très simple grâce à la librairie socket.io.js qui va avec le module socket.io.

    Node.js et WebSocket ont l'avantage d'utiliser le minimum de ressources serveur, d'une part parce que node.js est basé sur le système évènementiel de javascript, et est donc capable de traiter un grand nombre de connexions simultanées, d'autre part parce que webSocket permet d'optimiser au maximum la quantité de données échangées entre le client et le serveur (pas d'encapsulations des données dans des messages complexes avec en-tête).
    L'inconvénient de node.js est qu'actuellement peu d'hébergeurs le proposent. Souvent ça passe par une offre d'hébergement avec serveur dédié, sur lequel tu peux installer toi-même ce que tu veux.
    Avec node.js, tu peux aussi stocker tes données dans une base de données, sans problème.

    Pour finir, Meteor est un framework pour applications web et mobiles qui utilise les technos dont je viens de parler. Il met en oeuvre également une base MiniMongo côté client et une base MongoDb côté serveur.
    Meteor est vraiment axé sur le temps réel. Il peut être utilisé conjointement avec Cordova pour faire des applications mobiles hybrides multi-plateformes.

    Voilà, j'espère que tout cela te sera utile. Il y a vraiment de quoi faire des choses très sympa avec ces technos !

Discussions similaires

  1. Architecture application mobile - serveur (java ou nodeJs) - firebase
    Par davok dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/03/2016, 16h38
  2. [Flex4] Architecture ViewNavigator pour application mobile
    Par thenaoh dans le forum Flex
    Réponses: 4
    Dernier message: 05/07/2013, 17h07
  3. Connexion serveur - application mobile
    Par elmagique dans le forum Général Java
    Réponses: 0
    Dernier message: 23/05/2010, 19h30
  4. Application avec architecture client/serveur
    Par loreleï85 dans le forum Développement
    Réponses: 4
    Dernier message: 09/05/2007, 08h16

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