Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer information sur internet

Réaliser une IHM récupérant des informations sur internet

    3 avril 2018 à 15:35:17

    Bonjour, l'une des étapes de mon projet de BTS SN est de réaliser une IHM permettant de récupérer des informations sur internet.
    Les information que je vais récupérees sont la puissance, le courant et la vitesse d'un moteur.
    On peut faire cette IHM avec n'importe quel langage de programmation, même si le prof me conseille une interface Tkinter en python. 
    Moi j'ai une petite préférence pour le html, je trouve que c'est plus facile de trouver ce que l'on cherche quand on programme en HTML.
    Faire l'interface ce n'est pas vraiment ce qui me pose problème, c'est surtout que je ne sais pas comment récupérer des information sur internet, je ne sais même pas exactement ce qu'ils veulent dire par là dans les feuilles de projet. 

    Je mets les feuilles : Fiche 1  -  Fiche 2

    J'avoue que ma demande n'est pas super claire, en gros j'aimerais savoir comment récupérer des informations sur internet pour les affichés sur une petite interface web, ceci dans n'importe quel langage, le plus simple possible s'il vous plaît.

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      3 avril 2018 à 16:26:04

      C'est tout bête, c'est juste télécharger des données, exactement comme quand tu tapes google.fr dans ton navigateur, ce dernier télécharge et affiche la page.

      Les langages ont tous des bibliothèques pour faire ça facilement.

      • Partager sur Facebook
      • Partager sur Twitter

      Blond, bouclé, toujours le sourire aux lèvres...

        5 avril 2018 à 8:48:32

        Merci de votre réponse.
        Avez vous un conseil pour un langage en particulier? J'ai trouver quelque chose qui permet de faire cela en Python sur ce site :

        import bs4
        import re
        import urllib.request
         
        actor_url = 'http://www.imdb.com/name/nm0000122/'
         
        with urllib.request.urlopen(actor_url) as f:
            data = f.read().decode('utf-8')
            soup = bs4.BeautifulSoup(data, 'html.parser')
         
            for d in soup.find_all(id=re.compile('^actor-.*')):
                year = d.find(class_='year_column').get_text(' ', strip=True)
                name = d.b.get_text(' ', strip=True)
                print(year, name)

        J'ai aussi trouver la même chose en PHP:

        <?php
        
        $file = "http://www.imdb.com/name/nm0000122/";
        
        $doc = new DOMDocument();
        $doc->loadHTMLFile($file);
        $xpath = new DOMXpath($doc);
        
        $elements = $xpath->query("//*/div[@id[starts-with(., 'actor-')]]");
        if (!is_null($elements)) {
          foreach ($elements as $e) {
            $year = trim($xpath->query('span[@class="year_column"]', $e)[0]->nodeValue);
            $name = trim($xpath->query('b', $e)[0]->nodeValue);
            echo $year . $name;
          }
        }

        Je ne sais pas si on peut intégrer du python dans une page HTML, alors qu'intégrer du PHP dans une page HTML, je l'ai déjà fait. mais le prof me conseille le python, je ne sais pas trop pour quelle raison, je crois qu'il connait mieux ce langage et trouve que c'est plus facile. Quel langage me conseillerez vous? 

        -
        Edité par ondine26 5 avril 2018 à 8:49:13

        • Partager sur Facebook
        • Partager sur Twitter
          5 avril 2018 à 9:05:13

          Hello,

          PHP en 2018 c'est un peu dommage ;) 

          Si tu veux le faire en python, je te conseille http://flask.pocoo.org/ 

          C'est très léger, et il te permet de developper assez vite.

          Sinon, pour des devs aussi facile j'aime beaucoup http://sinatrarb.com/ qui est en ruby.

          Simple aussi, et dans le paradigme fonctionnel, tu as https://github.com/elixir-plug/plug en Elixir (super langage d'ailleurs :D)

          D'autres solutions avec des outils simple existent comme https://github.com/go-martini/martini en go, http://kemalcr.com/ en crystal, ou bien https://expressjs.com/ en JS

          • Partager sur Facebook
          • Partager sur Twitter

          Architecte logiciel - Software craftsmanship convaincu.

            5 avril 2018 à 10:14:32

            Merci beaucoup pour tout ces conseils et ces liens. Je ne connaissais pas ces langages (Ruby, Elixir, Crystal, Go), je pense qu'il vaut mieux que je programme dans des langages vraiment connus pour que les profs comprennent bien à l dernière souennce de projet, et pour que je puisse trouver des réponses facilement sur internet si je bloque sur quelque chose. Donc je suppose que je vais utiliser le Python (on est en 2018 :D)
            Est ce que tout ces langages je peux les intégrés dans une page web HTML? Le Python je peux?
            • Partager sur Facebook
            • Partager sur Twitter
              5 avril 2018 à 10:19:24

              La du coup, une bonne chose à faire est de lire la doc.

              Ici celle de flask: http://flask.pocoo.org/docs/0.12/quickstart/ 

              On vois que tu peux créer un fichier HTML, et le templater de la sorte: 

              <!doctype html>
              <title>Hello from Flask</title>
              {% if name %}
                <h1>Hello {{ name }}!</h1>
              {% else %}
                <h1>Hello, World!</h1>
              {% endif %}
              

              Pour l'appel, un simple 

              from flask import render_template
              
              @app.route('/hello/')
              @app.route('/hello/<name>')
              def hello(name=None):
                  return render_template('hello.html', name=name)
              




              • Partager sur Facebook
              • Partager sur Twitter

              Architecte logiciel - Software craftsmanship convaincu.

                5 avril 2018 à 14:59:50

                ondine26 a écrit:

                Est ce que tout ces langages je peux les intégrés dans une page web HTML? Le Python je peux?

                Justement en 2018 on évite de faire ça, même les développeurs PHP ne le font plus, ils utilisent des framework web ou le mélange HTML/PHP est minimal. Exactement comme les exemples donnés par necros211 (qui sont en Python mais c'est le même principe).
                • Partager sur Facebook
                • Partager sur Twitter

                Blond, bouclé, toujours le sourire aux lèvres...

                  20 mai 2018 à 21:10:54

                  Je n'ai toujours pas avancer sur cela, j'ai fais une interface graphique, mais en fait je n'ai toujours pas compris comment je récupérer les informations puissance, courant et vitesse du moteur. Déjà ce qui n'est pas très claire pour moi, c'est que dans l'une des feuilles (fiche 2), il est écrit "Récupération des informations du contrat de l'étudiant 1 (puissance et vitesse pour déduire le moment du couple)", et la ligne d'en dessous encapsulation des informations en utilisant un convertisseur RS232-TCP/IP(CSE-M53N)" et on en arrive à cette ligne "Interface graphique pour afficher les résultats sur PC". Avec mon professeur j'ai fais une carte pour mettre le module CSE M53N. J'ai d'ailleurs configurer le module en lui attribuant l'adresse IP 10.1.0.1 et là je n'arrive plus à avancer, je ne comprends d'ailleurs pas très bien ce que veut dire "encapsulation" pour le convertisseur CSE M53N. Sur la carte que j'ai faite, j'ai mis un module FTDI, je suppose que c'est pour recevoir et envoyer des informations au PC, mais je ne sais pas quels branchement je dois faire ni ce que je dois faire d'un point de vue logiciel. J'ai fais un document Sway pour voir mon avancement du projet : https://sway.com/UMsqljFT5uLozrTv?ref=Link Comme vous aurez pu le marqué, je suis complètement perdue.Voici mon interface graphique si ça peut aidé:

                  Toute aide sera donc la bienvenue. Merci beaucoup pour vos réponses précédentes et pour celles avenir.

                  -
                  Edité par ondine26 20 mai 2018 à 21:13:54

                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 mai 2018 à 12:00:45

                    Lorsque ton module est modifié, il doit envoyer ces informations à un serveur distant.

                    J'aime beaucoup les serveur http, comme ça avec un simple Curl c'est fait, en tout cas, lorsque tu est bloqué à utiliser un module réseau sans bluetooth.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Architecte logiciel - Software craftsmanship convaincu.

                      21 mai 2018 à 12:14:00

                      necros211 a écrit:

                      Lorsque ton module est modifié, il doit envoyer ces informations à un serveur distant.

                      J'aime beaucoup les serveur http, comme ça avec un simple Curl c'est fait, en tout cas, lorsque tu est bloqué à utiliser un module réseau sans bluetooth.


                      Merci de votre réponse. Je ne suis vraiment pas douée, je n'avais pas compris que le module se modifier, d'ailleurs comment il se modifie? Je pensais qu'il servait à enregistrer des données et les convertirs, dans mon cas les données son la puissance et la vitesse du moteur. Et donc "encapsulation", avez vous compris ce que ça signifiait dans le cahier des charges?

                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 mai 2018 à 14:07:35

                        Pardons je me suis mal exprimé.

                        Je voulais dire, lorsque ton moteur est impacté par un changement d'état, dans ce cas il te faut notifier un serveur externe. 

                        L'encapsulation est juste le fait de cacher à ton utilisateur les rouages du fonctionnement interne.

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Architecte logiciel - Software craftsmanship convaincu.

                          21 mai 2018 à 15:49:42

                          Le moteur n'est pas branché au convertisseur CSE M53N, enfin je ne crois pas. Donc comment le convertisseur peut connaitre les changements d'états? Et sur la carte que j'ai faite, enfin plutot que le prof a faite, à quoi sert le module FTDI? Le RJ45 je suppose qu'il sert à relier avec un cable ethernet le CSE M53N au PC, c'est bien ça?

                          Merci c'est gentil de m'aider, je ne suis vraiment pas faite pour les études dans les systèmes numériques, l'année prochaine promis j'arrête ^^

                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 mai 2018 à 15:54:49

                            Alors la je suis perdu.

                            Quels sont les moyens que tu as pour influencer ton moteur? 

                            Il me semblais du coup que ton moteur et ta carte réseau étaient sur le même arduino.

                            Si c'était le cas, lorsque tu influence le moteur, tu envoie une notification au serveur. 

                            Merci c'est gentil de m'aider, je ne suis vraiment pas faite pour les études dans les systèmes numériques, l'année prochaine promis j'arrête^^

                            Pourquoi? 

                            -
                            Edité par necros211 21 mai 2018 à 15:55:22

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Architecte logiciel - Software craftsmanship convaincu.

                              21 mai 2018 à 16:22:40

                              En fait le moteur, je le fais tourner en générant une MLI avec la Raspberry Pi, je peux modifier sa vitesse en faisant varier la MLI avec un slider.

                              Je n'utilise pas d'Arduino mais une Raspberry Pi. Sur la Raspberry Pi un écran tactile est brancher, c'est comme ça que je peux faire bouger le slider qui controle la MLI, et le moteur est branché en sortie.

                              En fait depuis très longtemps je sais que je veux faire prof des écoles, mais comme BAC, le seul qui me plaisait, au moins un peu c'était STI2D, du coup j'ai fais ce bac là, et ensuite, je voulais faire une licence sciences de l'éducation ou psychologies, mais mes parents m'ont conséillé de faire d'abord un BTS au cas où je ne réussirais pas le concours de prof des écoles. Du coup j'ai fais un BTS systèmes numériques, dans le même lycée où j'ai passé mon BAC, mais ça ne me plaît pas tellement et surtout, je trouve ça vraiment difficile, et moins bien qu'en STI2D où j'avais pu choisir mon projet, là c'était imposait et il ne me plaît pas ce projet. Mais bon voila j'arrive à la fin de mes 2 ans de BTS et j'aimerais bien l'avoir ! Sinon j'aurais fait 2 ans vraiment pour rien. L'année prochaine, normalement je vais en L1 de psycho.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                29 mai 2018 à 8:58:30

                                J'ai compris quelques trucs de mon projet depuis la dernière fois. En fait les informations que je dois récupérées, c'est l’élève du contrat 1 du projet qui doit me les données au format RS232. En fait ce n'était pas forcément très ompréhensible la façon dont c'est marqué sur la carte mentale de mon contrat que le prof 'a donné mais c'est ce que j'étais censé comprendre :

                                L'élève du contrat 1 ne m'a pas encore données les informations au format RS232, mais quand il me les donneras j'aimerais savoir comment les récupérées dans le CSE M53N et les envoyées sur le net. Et après il faudra qu'une fois qu'elle soient sur le net je puisse les affichées dan mon interface. 

                                Je ne sais pas si j'ai mieux expliquer que les autres fois, mais si vous avez compris et que vous avez une solution pour faire cela, je vous remercie vivement de votre réponse !

                                -
                                Edité par ondine26 29 mai 2018 à 9:01:00

                                • Partager sur Facebook
                                • Partager sur Twitter

                                Récupérer information sur internet

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown