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

API standards et tierces Android Discussion :

Connexion à un flux


Sujet :

API standards et tierces Android

  1. #1
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 787
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 787
    Par défaut Connexion à un flux
    Bonjour,

    je sais que ma question va être une peu floue, c'est à ce jour tout ce que mon niveau de connaissance sur le sujet me permet de faire, désolé.
    Soit des applications du type "météo en temps réel" ou "accès au tableau des trains d'un gare de la SNCF", "gmail" etc.
    Une caractéristique commune de ces applications est de rafraichir les données en continu ou du moins de façon assez fréquente en se basant sur les données d'un serveur distant; une sorte de flux d'informations continu.

    J'aimerais en savoir un peu plus sur la façon de mettre cela en place dans une application Android ... je me doute qu'il doit y avoir plusieurs façons mais il doit bien y avoir une architecture, des classes etc. qu'on retrouve régulièrement ?

    Merci de votre aide !

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Salut,

    A question floue, réponse flou :
    Je t'invite à lire cet article :
    http://android-developers.blogspot.c...-location.html

    Certe, comme tu pourras vite t'en rendre compte, cela parle principalement du GPS. Mais si tu synthétise un peu tout ce qui est dit, derrière tout ça, ton besoin a environ le même genre de contrainte : ne pas bouffer toute la batterie, et faire ça le plus intelligemment possible.

    Si tu suis cet exemple, tu pourrais t'en inspiré et trouver quelques réponses à tes questions.

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Par défaut
    En fait pour des données en temps réel, mise à jour, (actualité, meteo....),ce n'est pas Android qui s'occupe de cela, il faut voire coté server.

    En effet il arrivera dans ta tete de lancer un service qui va consulté le server pour recuperer les nouvelles données par exemple à chaque 15mn or ça c'est très dangereux...Ca fatigue le server, et le mobile.

    On appelle ce genre de cas : pull,

    Pour remedier à cela, il faut persister la connection, de façon que le server push l'information au client mobile dès qu'il sont disponibles comme l'application twitter.
    Le mobile n'appelera plus le server c'est le server qui envoie les donnes au mobiles quand ils sont disponibles.
    Chaque mobile sera identifié par un identifiant (T'inquiete c'est pas IP)..que le server utilisera pour les pusher l'information:

  4. #4
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 787
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 787
    Par défaut
    Merci à tous les 2 pour votre aide.

    Donc j'ai :
    - Des terminaux qui se connectent à un serveur
    - Des données que je mets à jour sur ce serveur
    - A chaque mise à jour ce serveur transmet les données aux terminaux qui sont connectés au serveur
    - A chaque réception d'une mise à jour, les applications rafraichissent leurs pages avec les informations recues.

    Est-ce que tu aurais des exemples de ce type d'applications ?
    Je voudrais voir comment se passe cet échange de données entre le server et les terminaux ?
    PAr exemple un système de météo open source qui fonctionne comme ca ?

  5. #5
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 787
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 787
    Par défaut
    J'ai trouvé le système qui semble correspondre à cela et qui s'appelle C2DM Framework comme Cloud to Device Messaging Framework.
    En terme d'architecture :
    - l'application sur le smartphone demande à un serveur C2DM de Google un identifiant unique
    - l'appllication communique avec un second serveur applicatif (celui qui va pusher les données) en lui disant "coucou, j'ai obtenu une identifiant de google, ca te dirait de m'ajouter à ta liste pour que je reçoive tes push messages ? (donc il faut gérer un serveur applicatif nous meme)
    - le serveur retient les infos de connexion du Smartphone
    - le serveur fait appel à un webservice du Serveur C2DM google en lui demandant de transférer un push message à un ensemble de smartphones sur la base de l'ID google
    - le serveur C2DM Google envoie le message en question à la liste de Smartphones
    - l'application sur le smartphone se met à jour avec les infos

    Ca ne semble pas très compliqué, ca correspond exactement à ce que je recherche sauf ... sur 1 petit détail qui est catastrophique s'agissant de mon projet :
    - google limite la taille des push messsages (ca c'est logique) mais également le nombre de devices auxquels un serveur peut envoyer des push messages ainsi que ... le nombre de push messages qu'un serveur donné est en droit d'envoyer à un device donné sur la base de leur ID.

    Un peu comme un forfait de téléphonie vu par un opérateur de français ... Bon vous allez me dire quand on le sait ca va ... bah non parce que Google a la bonne idée de ne pas du tout communiquer sur le nombre de devices ou le nombres de messages vers un device donc bonjour la qualité de service :
    - coucou les gars, ca vous dit de recevoir des infos en continue ?
    - oui c'est chouette merci
    - ok mais je vous préviens ca peut couper à tout moment et c'est comme la loterie, tout les inscrits ne gagneront pas ... pas sérieux !

    Bref est-ce que vous savez si dans les récentes communication (je crois qu'il y a eu des confs de google en mai 2011 alors que C2DM Framework date de 2010) il y aurait eu une modification, une amélioration de ce système ?

    Ou s'il existe autre chose d'équivalent mais sans cette limitation ?
    Voire en mode dégradé : quelles sont les vraies limites que google met aux transmissions C2DM ?

    Plus prosaiquement : dans l'hypothèse ou toutes les applications de ce type fonctionnent en push, comment font les gens qui ont développé ce type d'application ? (ils ont sans doute trouvé à s'affranchir de ces limitations ?)

    Merci pour votre aide

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Par défaut
    Tu as bien lu le contrainte technique de cette solution : 1ko maximum

  7. #7
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Personnellement je vois le push plus pour "notifier" de la disponibilité d'une information. Charge à l'application de la traiter, et à son initiative, d'aller récupérer l'information.
    Tu ne surcharge pas ainsi tes communications push, et celà pourrait éviter de faire passer des données (confidentielles?) par les serveurs de google.

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Par défaut
    Le push ne sert qu'a envoyer des notification mais cette notification c'est aussi une information avant d'etre percu comme notification.

    Regarde bien l'application Tweeter...

  9. #9
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 787
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 787
    Par défaut
    SI le push notifie sans contenir d'info, il perd tout son intéret pour moi.
    En effet, ca voudrait dire que pour éviter que des terminaux se connectent tous en meme temps par souci de gain de performances, on leur dit à quel moment il faut qu'il se connectent tous en meme temps ... ca ne change pas beaucoup mes affaires.

    Concretement donc ca semble ne pas coller mais du coup dans une appli de ce type la on fait comment ?

  10. #10
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 787
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 787
    Par défaut
    Citation Envoyé par jahbromo Voir le message
    Le push ne sert qu'a envoyer des notification mais cette notification c'est aussi une information avant d'etre percu comme notification.

    Regarde bien l'application Tweeter...
    Ca y est j'ai enfin percuté que tiwtter est open source ... je vais regarder ca

  11. #11
    Membre chevronné

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Par défaut
    En fait le push c'est au niveau server, pas au niveau client... Donc l'application twitter son code ne te servira à rien juste à voire mais c'est plutot le code du server twitter qui aura beaucoup à te servir...

  12. #12
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Je ne sais pas si cela pourra te servir mais il y a eu une présentation sur ce au sujet Google I/O.


  13. #13
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 787
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 787
    Par défaut
    Merci, je vais regarder cela en détail !
    Par contre s'agissant de Twitter, j'ai vu tout un tas de postes de 2010 indiquant que le client officiel de twitter pour Android passerait à terme ne open source, j'ai trouvé du code d'applications twitter like, le client officiel du client twitter pour Android ... mais toujours pas le code source de l'application de client twitter pour Android.

    Est-elle réellement passée en open source ? Savez vous où je peux récupérer le code ?

Discussions similaires

  1. Connexion imap impossible d'ouvrir le flux
    Par lecra dans le forum Langage
    Réponses: 0
    Dernier message: 26/11/2013, 09h38
  2. [Débutant] echec connexion en localhost pour consommer un flux xml
    Par megaloplex dans le forum C#
    Réponses: 10
    Dernier message: 08/04/2013, 16h36
  3. Connexion https par certificats à un flux RSS
    Par dareman dans le forum Langage
    Réponses: 0
    Dernier message: 27/12/2010, 23h22
  4. séparer les flux de connexions
    Par mathlouthi dans le forum Développement
    Réponses: 0
    Dernier message: 19/01/2009, 09h56
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

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