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

Android Discussion :

Intégration de graphiques dans une application temps réel


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Intégration de graphiques dans une application temps réel
    Bonjour à tous,

    Je suis stagiaire, et suis en charge de développer une partie "statistiques" dans une application mobile. Les utilisateurs vont générer des données en temps réel (gérer avec des sockets) qui seront stockées dans une base mongoDB. Ma tâche est de développer un outil qui se connecte à la BD, et qui puisse fournir des stat' (graphiques, tableaux etc) à chaque utilisateur.

    Mon problème : Je ne sais pas du tout comment m'y prendre. En fouillant sur Internet, j'ai vu quelques idées comme D3.js, ou encore ElasticSearch et Kibana, mais je ne sais pas si ce sont des pistes viables ou non, ni comment les mettre en place.
    Egalement, est-ce qu'une solution comme Pentaho ferait l'affaire ? Créer un ETL, et utiliser PRD pour les graphiques et tableaux ?

    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Définit "une application mobile" s'il te plaît.
    Vu que tu es dans la section Android, j'imagine que l'on parle d'application Android, donc du Java.
    Tu parles ensuite de technologies plutôt orientées web (JavaScript), et tu montres des solutions orientées web.

    Quelle technologies utilise ton application ? Application hybride ? Application full Java ? Application web ?
    Partant de là déjà, tu auras une contrainte technique à respecter pour les choix technologiques.

    Ensuite, de mon point de vue, tu as deux pistes potentielles : réaliser une interface web qui sera sur les serveurs et qui sera interrogée par l'entremise d'une WebView dans l'application, ou réaliser les graphiques toi-même.

    Tu as une problématique particulière avec la mention "temps réel". Celle-ci signifie-t-elle que tu dois afficher des données mises à jour "tout le temps", ou ponctuellement mises à jour à intervalle court ? Histoire de savoir s'il y a eu un abus de langage.
    Parmi les technologies que tu présentes, ne sont-elles pas trop importantes par rapport au besoin exprimés ? Font-elles déjà ec qui est demandé ? Ensuite, ne font-elles pas trop ? S'il y a une mise en place d'un outil pour utiliser 5% de celui-ci sans véléité d'augmenter l'utilisation, cet outil est-il pertinent ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Tout d'abord, merci pour votre réponse et votre temps.

    Je ne suis pas spécialiste du domaine, mais de ce que j'ai compris, l'application sera développée nativement (Android et IOS). L'architecture serait la suivante :
    Serveur Node, lorsque l'utilisateur est connecté, communication des données temps réel avec socket.io (les données sont donc bien mises à jour tout le temps, et non pas à intervalle court), et stockage des données avec mongoDB.

    Au départ, on m'a donc demandé de créer un outil qui se connecte à mongoDB, et pour chaque utilisateur, sorte les indicateurs qui lui sont propres tout au long de l'utilisation de l'appli, et les affiche. A la fin de la session d'utilisation, affichage d'une page récapitulant les statistiques globales de la session. Le problème étant que je ne sais pas si c'est possible, optimisé etc. Il existe surement d'autres solutions plus simples que de créer un outil annexe j'imagine...

    Pour l'idée de la webView, étant donnée que l'appli sera développée pour Android et IOS, il faudrait donc en faire deux ? Et comment faire pour réaliser les graphiques moi-même ?

    Pour les dernières questions, je n'en ai aucune idée, et c'est bien ce qui m'embête :/

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Je pense que tu te stress et que tu mets la charrue avant les bœufs
    Analyse la situation et la problématique avant de partir sur des technologies, des architectures ou autre.

    Dans l'ordre :
    Citation Envoyé par StatInfo31
    l'application sera développée nativement (Android et IOS).
    Donc deux applications : une Java Android et une Objective-C/Swift iOS.
    Ces deux applications n'auront quasi-aucun point commun d'un point de vue purement technique.
    De plus, cela signifie que l'application est créée intégralement par tes soins, et non que tu dois juste rajouter un module à l'existant.

    Citation Envoyé par StatInfo31
    Au départ, on m'a donc demandé de créer un outil qui se connecte à mongoDB, et pour chaque utilisateur, sorte les indicateurs qui lui sont propres tout au long de l'utilisation de l'appli, et les affiche.
    Tu as donc des applications qui se connectent (et restent connectées) à un serveur. C'est ce mécanisme qui est à définir. Par principe et par sécurité, les applications ne sont connectent pas directement à des bases de données. La problématique ici est de savoir comment cette connexion sera assurée et maintenue. Une connexion constante est assez demandante en batterie et data.

    Citation Envoyé par StatInfo31
    A la fin de la session d'utilisation, affichage d'une page récapitulant les statistiques globales de la session.
    Il y a donc des indicateurs et des marqueurs liés à la session, ce n'est pas une simple visualisation de données. Il faut savoir où se trouveront ces marqueurs, sur l'application mobile ou sur le serveur, pour élaborer des pistes, ainsi que les données à afficher.

    Citation Envoyé par StatInfo31
    Le problème étant que je ne sais pas si c'est possible, optimisé etc.
    Tout est possible, malheureusement
    L'optimisation par contre... j'y répondrai par la citation "early optimisation is root of evil". Pense en pertinence et cohérence pour le moment, pas en benchmark ou autre. Pense en avantages/inconvénients/limites/évolutions.

    [quote="StatInfo31"] Il existe surement d'autres solutions plus simples que de créer un outil annexe j'imagine.../quote]

    Sans doute. Vu que je ne comprends pas ta problématique, je ne peux pas plus répondre.
    Créer des graphiques ? Tu as des pléthores de bibliothèque le permettant.
    Du temps réel ? Ca apporte son lot de contraintes, que je ne maîtrise pas vraiment.

    Pour l'idée de la webView, étant donnée que l'appli sera développée pour Android et IOS, il faudrait donc en faire deux ?
    Il y a déjà deux applications à réaliser selon ce que tu décris.
    Une WebView dans ce contexte ferait que le module serait développé sur le serveur et serait exactement le même pour les deux pans. Par contre, une WebView vient avec son propre lot de problème aussi
    Le développement serait unique sur le serveur et accédé par les deux app'.

    Citation Envoyé par StatInfo31
    Et comment faire pour réaliser les graphiques moi-même ?
    Il y a diverses bibliothèques de graphique pour Android. J'imagine qu'au moins autant existent pour iOS. Ce sera ensuite à toi de les utiliser et de leur fournir des données pour faire de "jolis graphiques".

    Citation Envoyé par StatInfo31
    Pour les dernières questions, je n'en ai aucune idée, et c'est bien ce qui m'embête :/
    Alors tu sais ce qu'il te reste à faire ?
    Poser des questions précises et compréhensible à ceux qui expriment le besoin, expérimenter les pistes possibles et arrêter ton choix ensuite.

    Ton travail n'est pas que programmer, mais aussi savoir où tu dois aller, et cela passe par beaucoup de réflexion, de questions et d'intuitions

    Ca m'étonne par contre que l'on te laisse cette charge et que tu ne sois pas épaulé par ton maître de stage sur un sujet aussi gros, surtout si tu ne connais pas déjà un peu le monde du mobile.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Je ne suis pas seul sur ce projet, une équipe de stagiaires y travaille également, et ma partie reste uniquement la création de statistiques sur les données générées par les utilisateurs.

    Tu as donc des applications qui se connectent (et restent connectées) à un serveur. C'est ce mécanisme qui est à définir. Par principe et par sécurité, les applications ne sont connectent pas directement à des bases de données.
    Si j'ai bien compris l'architecture générale, il y aura une API REST qui gérera ça.


    Poser des questions précises et compréhensible à ceux qui expriment le besoin, expérimenter les pistes possibles et arrêter ton choix ensuite.
    Il n'y a pas réellement de personnes exprimant le besoin à mon niveau. Je dois fournir des statistiques en me basant sur les données. Pour être plus précis, les données seront principalement des données de géolocalisation (donc format geoJSON il me semble). Les statistiques pourront donc être la vitesse instantanée, moyenne, le temps restant ou ce genre de choses. Et quand je parle de la page de fin de session, ce sera les même statistiques, mais portant sur l'ensemble des données générées.
    Libre à moi de choisir ce qui sera affiché, et sous quelle forme. Mon blocage reste le moyen de mettre ça en place ! De ce que vous m'expliquez, j'ai l'impression que la webView serait une solution viable, mais n'ayant jamais entendu parler de cela avant aujourd'hui, c'est à étudier plus profondément !

    Merci encore pour votre aide

  6. #6
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Je t'aurai bien aussi suggéré des webservices, mais la dimension "temps réel" va de base en contradiction. Je l'écris tout de même au cas où.

    Il n'y a pas réellement de personnes exprimant le besoin à mon niveau.
    De mon point de vue et de ce que je comprends, tu es dans une situation où on t'a dit "on a des données, fais ce que tu veux avec". C'est assez imprécis et casse-gueule.
    Le besoin vient bien de quelque part. On t'a fourni un cahier, des spécifications, quelque chose. Va voir la personne qui t'a fourni ça et pose-lui tes questions et interrogations

    "Équipe de stagiaires" ?
    Ok... dans ce cas, bon courage (sincèrement), fais très attention à toi, va lentement et méthodiquement, ne promet rien d'intenable et demande des écrits des demandes qui te paraissent étranges.
    Oui, de mon point de vue, une équipe de stagiaires sur un projet est une mauvaise idée et tu vas au devant de pas mal de problèmes.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exemple intégration JBPM 5 dans une application web JEE
    Par shrek35 dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 09/10/2012, 14h30
  2. intégration google map dans une application java
    Par marwakasmi dans le forum NetBeans
    Réponses: 0
    Dernier message: 28/03/2012, 12h29
  3. Intégration de Kernow dans une application Java
    Par sonson85 dans le forum Eclipse
    Réponses: 0
    Dernier message: 16/06/2011, 17h12
  4. Intégration de DirectSkin dans une application PowerBuilder
    Par superolove dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 19/02/2007, 12h27
  5. Java intégration browser web dans une application swing ....
    Par Manu35 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 23/03/2006, 08h47

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