Transfert de données

Résolu
Bonjour,

Est-il possible de transférer par internet, une idonnée calculée par un logiciel, vers un autre PC.

Merci pour vos réponses

Alain
Configuration: Windows XP
Internet Explorer 7.0

9 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonsoir Seb,

    Tu as l'air de bien t'y connaitre et avec ton accord, j'aimerai profiter de ta science.

    Supposons un logiciel qui calcul une valeur "x" et met cette valeur dans la case d'un tableau.
    Quelle est la procédure pour envoyer le contenu de cette case vers un ou plusieurs PC distant du 1er.

    Merci pour ton aide

    Alain
    1. Modérateur
      On peut imaginer que le PC qui a fini le calcul l'envoi à un autre avec une requête HTTP:

      http://serveur/resultat?x=5&y=8&valeur=523

      Le serveur recevra cette requête HTTP, et saura qu'il faut mettre 523 dans la colonne 5, ligne 8.
      Il faut juste installer un serveur web, et mettre un programme (resultat) qui traitera les valeurs reçues.

      Mais on peut procéder d'autres façons, avec du XML-RPC (webservices), par exemple en Python:
      https://sebsauvage.net/python/snyppets/index.html#xmlrpc

      Dans ce cas, la machine qui a fini le calcul ferai simplement quelquechose du genre:
      server = xmlrpclib.ServerProxy("http://serveur/")
      server.resultat(x=5,y=8,valeur=523)


      On peut aussi utiliser des frameworks (couches logicielles) qui s'occupent de répartir automatiquement les calculs sur plusieurs machine, comme par exemple http://discoproject.org/
      1. dans le premier cas en envoyant l'info au serveur par requete HTTP, 2 questions :
        - comment on fait alors, une fois que le serveur a reçu l'info, pour que les pc aillent récupérer cette info ?
        - question un peu con, mais comment installe t on un serveur web ? c'est juste du stockage des données sur un hébergeur ?
    2. Modérateur
      - comment on fait alors, une fois que le serveur a reçu l'info, pour que les pc aillent récupérer cette info ?

      Tu peux très bien mettre une autre URL sur le même serveur pour servir ces résultats aux autres PC.

      question un peu con, mais comment installe t on un serveur web ? c'est juste du stockage des données sur un hébergeur ?

      Un serveur web c'est un logiciel (apache ou autre). Tu peux utiliser celui de ton hébergeur, ou bien un installé sur ton ordinateur.

      Ensuite, il faut programmer pour créer les programmer qui vont recevoir les données et les stocker.
      Par exemple en php (qui est très répandu chez les hébergeurs).
      http://www.commentcamarche.net/faq/sujet 94 php page doc et tutoriaux officiels
      1. pour le programme, je l'ai déjà

        on a en fait développé de petits logiciels avec windev qu'on voudrait maintenant mettre en réseau
        et ainsi s'envoyer des info entre les différents utilisateurs
    3. Modérateur
      Je ne connais pas bien WinDev, mais je suis persuadé qu'ils ont ce qu'il faut pour la communication réseau.
      --> voir dans les docs.
      Ceci dit, un webservice ou même un simple serveur web peut parfaitement faire l'affaire pour l'échange de données.

      Mais quel est le besoin exactement ?
      échange de fichiers ? planning ? signalement évènement ? chat ?
      1. je dirai échanges de données (variables de type entier et booleen)

        l'application gère de nombreuses variables, et il faudrait pour améliorer encore l'appli, que 5-10 variables de chaque utilisateur soient connues des autres

        et donc je voudrai que tres régulièrement (toutes les 10 sec par exemple), chaque application de chaque utilisateur envoie aux autres utilisateurs ces 5-10 variables afin qu'ils en prennent connaissance
        Apres, je ne sais pas si c'est important mais on oscille entre 4 et 7 utilisateurs, donc il faudrait mettre au maxi les 7 "en réseau"

        je regardearai sinon dans l'aide de windev....
        mais c'est que sur windev je n'ai développé que de petits programmes, et jamais fait de réseau, donc je me renseigne avant....
    4. Modérateur
      Je vois.

      Un serveur web fera très bien l'affaire, surtout qu'il n'y a pas beaucoup de clients.

      J'imagine donc deux pages web (en php ou autre):

      /enregistre.php?user=toto&variable=titi&valeur=53

      Chaque poste envoie la valeur d'une de ses variables au serveur, et le serveur les mémorise.
      (là il mémorise tiiti=53 pour l'utilisateur toto)

      /liste.php
      Affiche toutes les variables des différents utilisateurs.
      Les cilents viennent régulièrement récupérer cette liste.

      Ceci dit, ma solution marche mais elle est très basique.
      Il existe des protocoles spécialisés dans la diffusion d'informations réseaux (XMPP, multicast, etc.).
      1. ok je commence à saisir
        une solution tres basique me convient car ca me permet de comprendre :D

        et pour la récupération, je comprends pas trop la page web "liste.php"...
        car à la rigueur, sur la page web sont affichées toutes les données, mais comment les récupérer ?
        n'est il pas possible de lire la valeur avec une fonction analogue à l'enregistrement
        (avoir "lire" à la place d'"enregistre" par exemple)
    5. Modérateur
      je comprends pas trop la page web "liste.php"..

      Le serveur a mémorisé toutes les données.
      Chaque client doit pouvoir lire les valeurs stockées sur le serveur.

      Cette page pourrait resservrir toutes les valeurs:

      toto: titi=53 tutu=25
      Janine: titi=24 tutu=78 vava=775
      etc.

      Les différents clients peuvent venir chercher toutes les 10 secondes les données renvoyées par liste.php.

      n'est il pas possible de lire la valeur avec une fonction analogue à l'enregistrement
      (avoir "lire" à la place d'"enregistre" par exemple)


      tout à fait !
      On peut très bien imaginer une page qui permette de lire une seule valeur d'un seul utilisateur:
      /lisvaleur.php?user=toto&variable=titi
      qui renverrait 53
      1. oui ca "renverrait" le 53,
        mais mon pb c'est que comment mettre cette valeur dans l'appli ?

        car j'ai bien compris la premiere partie d'enregistrement des varaibles sur une page php...
        maintenant, faut se pencher sur la récupération de ces variables :s
    6. Modérateur
      mais mon pb c'est que comment mettre cette valeur dans l'appli ?

      Ah ben c'est toi qui développe: tu stock comment tes données ?
      Dans des fichiers, des bases de données ?
      1. oui c'est moi qui développe mon appli :)

        mais j'ai trouvé :
        - pour envoyer les variables, je fais comme tu as dit
        - pour les récupérer, j'envoie une requette sur une autre page .php qui me renvoie un résultat
        et c'est ce résultat qui contient toutes les variables ^^

        donc a priori, ca marche, on a fait qq tests avec une appli toute simple à 2 user et 2 variables
        je vais continuer, et si besoin je reviens ;)

        sinon pour répondre à tes questions, mes données dans l'appli ce sont des variables qui sont stockees dans la memoire de l'appli, et quand on l'arrete, elle enregistre tout dans un .xml

        merci de ton aide qui a été un bon point de départ ;)