Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ouvrir mon site sur d'autres appareils du réseau

[php -S localhost] diffèrent de [symfony serve]

Sujet résolu
    5 décembre 2024 à 9:20:53

    Bonjour, 

    Je développe des applications mobiles (avec Flutter) et l'api de ces dernières avec Symfony d'habitude. En local, après avoir lancé le serveur (symfony serve) j'accède à mon api en utilisant l'adresse de ma machine sur le réseau (192.158.x.x pour accéder à 127.0.0.1) et tout marche bien.

    Mais je crée actuellement une api pour un site WordPress, pour lancer le serveur je fais un php -S localhost:3000. Sachant que localhost pointe vers 127.0.0.1 je me disais qu'il n'y avait pas de soucis mais hélas quand je tape l'adresse IP de ma machine sur mon téléphone rien n'est trouvé. Une solution aurait été de faire un php -S 127.0.0.1:3000 mais j'ai peur que ça change beaucoup de choses, dans les paramètres du site WordPress c'est localhost un peu partout et non 127.0...

    Je me demande pourquoi l'adresse IP de ma machine ouvre bien mon serveur lorsque c'est du style 127.0.0.1... mais ne marche pas avec localhost. Je loupe probablement un détail, vos avis s'il vous plait ?

    Actuellement j'utilise ngrok mais les légères variations de débit me font ça dur.

    Edit

    Je viens de faire un test. J'ai lancé une app Symfony sur 127.0.0.1:8000 et mon site Wordpress sur 127.0.0.1:3000 (pas localhost cette fois) et les deux s'ouvrent sur PC. Sur mobile 192.168.1.52:8000 ouvre bien le site Symfony mais 192.168.1.52:3000 n'ouvre pas le site WordPress :ERR_CONNECTION_TIMED_OUT.

    -
    Edité par Asmitta 10 décembre 2024 à 16:54:47

    • Partager sur Facebook
    • Partager sur Twitter
      5 décembre 2024 à 11:41:10

      Salut !

      Quel navigateur utilises-tu ? Je sais que Firefox force 127.0.0.1 pour localhost, là où d'autres utilisent plus volontiers l'IPv6, et cela peut avoir une influence.

      • Partager sur Facebook
      • Partager sur Twitter
        5 décembre 2024 à 12:54:36

        J'utilise Edge de Microsoft. As tu pris en compte mon autre remarque ? J'ai modifié le premier message.
        • Partager sur Facebook
        • Partager sur Twitter
          5 décembre 2024 à 17:58:55

          Oui. mais je pense maintenant que ça peut venir de la manière dont le port est ouvert aux divers points de ton réseau, "en local uniquement" ou "béant", et une fois de plus aussi selon l'adresse IP résolue par le réseau / les machines.

          -
          Edité par Ymox 5 décembre 2024 à 18:00:38

          • Partager sur Facebook
          • Partager sur Twitter
            6 décembre 2024 à 8:35:00

            >ça peut venir de la manière dont le port est ouvert aux divers points de ton réseau

            Comment en savoir plus ici ? Il y'a des manipulations à faire à quel niveau ?

            • Partager sur Facebook
            • Partager sur Twitter
              6 décembre 2024 à 10:13:45

              Je ne connais pas assez en réseau, mais il pourrait y avoir moyen de faire des redirections de port dans le routeur/la box selon le vocabulaire utilisé par le fournisseur.

              Mais je pense que ma première hypothèse est aussi à creuser. Malheureusement, je ne connais pas assez les réseaux, et il faut dire que c'est rapidement dépendant du matériel et de la surcouche firmware.
              SI tu lances avec localhost, il va y avoir résolution sur adresse IPv4 ou v6 selon l'hôte. En local, tant que tu utilises 127.0.0.1 ou localhost, si j'ai bien compris, peu de souci — je serais néanmoins curieux de savoir si [::1]:8000 et [::1]:3000 fonctionnent.

              Si ton réseau local supporte IPv6, essaie avec les IP locales en v6, c'est plus complexe, mais c'est imaginable.

              Autres possibilité : rediriger le trafic arrivant sur le port 8000 de ton routeur vers le même port de ta machine hôte — il ne devrait pas capturer ce qui en sort, du moins ça ne le fait pas avec mon matériel —, cela devrait permettre un accès plus spécifique quelle que soit la version d'adresse IP utilisée.

              Si tu es sur un réseau avec des appareils Apple, tu devrais aussi pouvoir utiliser une résolution locale DNS avec des noms de domaine automatiques en nomdelamachine.local. J'ai eu utilisé ça en entreprise pour qu'on se teste les sites parmi, à l'époque ça fonctionnait étonnamment bien.

              Edit

              Il se pourrait simplement que, si tu utilises le nom de domaine dans la configuration, il faille tenter d'en utiliser un aussi pour y accéder, et si tu utilisais l'adresse IP, tu pourrais aussi en utiliser une — avec l'inconnue du mélange v4 v6.

              -
              Edité par Ymox 6 décembre 2024 à 10:51:52

              • Partager sur Facebook
              • Partager sur Twitter
                6 décembre 2024 à 14:07:00

                J'ai fait d'autres tests. J'ai lancé le site Symfony sur les autres ports, et à chaque fois ça s'ouvrait bien sur le téléphone. Mais de la même manière, peu importe le port du site Wordpress il est accessible dans le navigateur de la machine mais pas sur le téléphone. Je peux donc affirmer que le problème vient de Wordpress.

                Le site Symfony est en https et Wordpress en http, je me suis dit que ça pouvait être la cause au début mais le tableau de bord de xampp s'ouvre bien sur mobile pourtant c'est en http. Je ne sais pas toujours ce qui bloque réellement avec ce site Wordpress mais je vais continuer les recherches.

                >je serais néanmoins curieux de savoir si [::1]:8000 et [::1]:3000 fonctionnent.

                Oui mais est-ce encore utile maintenant ?

                >Il se pourrait simplement que, si tu utilises le nom de domaine dans la configuration, il faille tenter d'en utiliser un aussi pour y accéder, et si tu utilisais l'adresse IP, tu pourrais aussi en utiliser une — avec l'inconnue du mélange v4 v6.

                Euh..quelle configuration ?

                • Partager sur Facebook
                • Partager sur Twitter
                  6 décembre 2024 à 19:34:45

                  > pour lancer le serveur je fais un php -S localhost:3000. Sachant que localhost pointe vers 127.0.0.1 je me disais qu'il n'y avait pas de soucis mais hélas quand je tape l'adresse IP de ma machine sur mon téléphone rien n'est trouvé.

                  php -S localhost:3000, ça dit de rendre le serveur accessible sur le port 3000 de 127.0.0.1, adresse IP qui est associée à l'interface "loopback", destinée à la communication entre processus de cette même machine.

                  Et a priori, ça ne le rend pas accessible depuis des machines différentes.

                  ---

                  Un test.

                  1. Dans le fichier /tmp/a.php je mets

                  <?php
                  
                  print("hello, world\n");
                  ?>
                  


                  et je lance un serveur sur le port 3000

                  $ php -S 127.0.0.1:3000 a.php
                  [Fri Dec  6 19:23:14 2024] PHP 8.2.24 Development Server (http://127.0.0.1:3000) started
                  

                  2. Maintenant, depuis la même machine, je questionne ce serveur (en utilisant telnet, je suis un dinosaure) en envoyant ma requête HTTP   GET /a.php    suivie de deux retour-chariots

                  $ telnet localhost 3000
                  Trying ::1...                         # telnet essaie ipv6
                  Connection failed: Connexion refusée  # marche pas
                  Trying 127.0.0.1...                   # bon alors ipv4 ?
                  Connected to localhost.
                  Escape character is '^]'.
                  GET /a.php                            # ma requete
                  
                  HTTP/0.9 200 OK                       # réponse, avec entete HTTP/0.9
                  Date: Fri, 06 Dec 2024 18:24:34 GMT
                  Connection: close
                  X-Powered-By: PHP/8.2.24
                  Content-type: text/html; charset=UTF-8
                  
                  hello, world                              # le corps de la réponse
                  Connection closed by foreign host.
                  

                  EDIT : GET /    ferait l'affaire


                  du côté serveur, on voit qu'on a été interrogé depuis la même adresse IP

                  [Fri Dec  6 19:24:29 2024] 127.0.0.1:46592 Accepted
                  [Fri Dec  6 19:24:34 2024] 127.0.0.1:46592 Closing


                  3. Le PC a une adresse réseau 192.168.1.11.  Essayons de l'utiliser :

                  $ telnet 192.168.1.11 3000
                  Trying 192.168.1.11...
                  telnet: Unable to connect to remote host: Connexion refusée
                  
                  

                  ah bin non ça veut pas.

                  4. Et évidemment depuis une autre machine, encore moins de chances que ça marche (si vous voulez voir ça comme une question de chances).


                  Bref : on fait tourner le serveur sur localhost:3000, pas sur une autre adresse IP. et comme localhost est strictement local...

                  Certes on peut s'arranger, si on connaît les formules magiques, pour avoir une redirection de ce qui arrive sur le port 3000 de l'interface ethernet vers localhost, mais c'est pas la bonne démarche.

                  5. Si on veut que le serveur soit accessible, on le fait tourner avec une adresse IP accessible

                  php -S 192.168.1.11:3000 a.php
                  [Fri Dec  6 19:38:28 2024] PHP 8.2.24 Development Server (http://192.168.1.11:3000) started
                  

                  et là ça marche avec telnet 192.168.1.11 3000

                  mais par contre ça marche plus avec les adresses IP de loopback

                  $ telnet localhost 3000
                  Trying ::1...
                  Connection failed: Connexion refusée
                  Trying 127.0.0.1...
                  telnet: Unable to connect to remote host: Connexion refusée

                  6. Si vous voulez vraiment que votre serveur accepte les connexions sur TOUTES les interfaces (loopback et réseau), faites-le tourner sur l'adresse 0.0.0.0

                   php -S 0.0.0.0:3000 a.php
                  [Fri Dec  6 19:41:40 2024] PHP 8.2.24 Development Server (http://0.0.0.0:3000) started
                  [Fri Dec  6 19:41:43 2024] 127.0.0.1:46470 Accepted
                  [Fri Dec  6 19:41:46 2024] 127.0.0.1:46470 Closing
                  [Fri Dec  6 19:41:50 2024] 192.168.1.11:54298 Accepted
                  [Fri Dec  6 19:41:52 2024] 192.168.1.11:54298 Closing


                  (c'est pas écrit dans la doc php, ça marche sous Linux, je garantis pas pour windows).

                  EDIT voir https://fr.wikipedia.org/wiki/0.0.0.0

                  Ca marche aussi avec TOUTES les adresses de loopback qui commencent par 127,  127.1.2.3 par exemple.

                  -
                  Edité par michelbillaud 6 décembre 2024 à 22:26:18

                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 décembre 2024 à 13:58:36

                    Ah merci

                    C'est vraiment trop "mélangé". Je vais continuer avec ngrok pour le moment, ces manipulations réseau vont me prendre beaucoup de temps.

                    Même avec 0.0.0.0:3000 ce n'est pas disponible sur mon téléphone.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 décembre 2024 à 16:04:07

                      Asmitta a écrit:

                      Même avec 0.0.0.0:3000 ce n'est pas disponible sur mon téléphone.


                      Si on est dans un contexte familial avec

                      • le serveur branché sur une box
                      • le téléphone qui accède au wifi de la même box
                      • et qui y accède par l'adresse IP "domestique" du serveur

                      ça peut marcher.

                      Sinon, sur la box, il faut faire de la redirection de port pour que ce qui arrive en TCP sur le port 3000 de l'adresse publique soit redirigé vers le port 3000 du serveur.

                      -
                      Edité par michelbillaud 7 décembre 2024 à 16:05:11

                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 décembre 2024 à 16:35:07

                        Ce qui me choque beaucoup c'est que "symfony serve" marche mais pas "php -S xxxx" peu importe les ports. Pourtant en théorie ces deux commandes font la même chose. Le type de site a un impact ici ?

                        Edit

                        Quand je dis marcher je parles bien sur de l'accès au site etant sur d'autres appareils du reseau

                        -
                        Edité par Asmitta 7 décembre 2024 à 16:37:41

                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 décembre 2024 à 21:36:22

                          Alors je pense que la théorie n'est pas la pratique, preuve en est ce sujet  :D

                          Je sais d'ailleurs que l'outil CLI de Symfony permet le support de HTTPS, ce qu'à ma connaissance PHP natif ne supporte pas, du coup je soupçonne soit une surcouche gérée par l'outil, soit une implémentation spécifique plus bas niveau.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            9 décembre 2024 à 20:06:35

                            Pour en revenir à la question

                            > je me demande pourquoi l'adresse IP de ma machine ouvre bien mon serveur lorsque c'est du style 127.0.0.1... mais ne marche pas avec localhost. Je loupe probablement un détail, vos avis s'il vous plait ?

                            faudrait être plus précis. Est-ce que la question c'est la différence entre

                            • php -S 127.0.0.1:3000
                            • php -S localhost:3000

                            - comme suggère le titre - quand on lance ces commandes sur le serveur ?

                            Si "ça ne marche pas avec localhost", ça veut dire que php refuse de lancer le truc (et forcément si il peut pas le lancer on aura du mal à y accéder), comme dans ceci :


                            $ php -S machin:3000 a.php
                            [Mon Dec  9 20:05:18 2024] PHP Warning:  Unknown: php_network_getaddresses: getaddrinfo for machin failed: Name or service not known in Unknown on line 0
                            [Mon Dec  9 20:05:18 2024] Failed to listen on machin:3000 (reason: php_network_getaddresses: getaddrinfo for machin failed: Name or service not known)

                            alors ça voudrait dire que la résolution du nom localhost ne se fait pas sur le serveur. Peut être un problème avec windows, de ce genre

                            https://superuser.com/quehttps://superuser.com/questions/1736910/how-to-fix-my-localhost-resolution-on-windows

                            (corriger la ligne 127.0.0.1 du fichier hosts pour y avoir localhost)

                            https://en.wikiversity.org/wiki/Hosts_file/Edit

                            Mais bon, comme on sait pas ce qu'il y a dans ton php, que tu ne donnes pas de messages d'erreurs, qu'on sait pas sous quel os, etc. c'est juste une tentative de solution au hasard.

                            Ou alors, si php lance le truc sans protester, il doit y avoir des traces quand on tente de s'y connecter.

                            -
                            Edité par michelbillaud 9 décembre 2024 à 20:16:35

                            • Partager sur Facebook
                            • Partager sur Twitter
                              10 décembre 2024 à 16:53:20

                              >Mais bon, comme on sait pas ce qu'il y a dans ton php, que tu ne donnes pas de messages d'erreurs, qu'on sait pas sous quel os, etc. c'est juste une tentative de solution au hasard.

                              PS> php -S localhost:3000 # localhost ou 127.0.0.1
                              [Tue Dec 10 14:45:58 2024] [::1]:62401 Accepted
                              [Tue Dec 10 14:46:00 2024] [::1]:62401 [200]: GET /wp-json/api/v2/job-application/27
                              [Tue Dec 10 14:46:00 2024] [::1]:62401 Closing
                              [Tue Dec 10 14:46:00 2024] [::1]:62403 Accepted
                              [Tue Dec 10 14:46:02 2024] [::1]:62403 [200]: POST /wp-cron.php?doing_wp_cron=1733838359.6505239009857177734375
                              [Tue Dec 10 14:46:02 2024] [::1]:62403 Closing
                              [Tue Dec 10 14:46:02 2024] [::1]:62408 Accepted
                              [Tue Dec 10 14:46:04 2024] [::1]:62408 [200]: GET /wp-json/api/v2/job-offer/2748?is-wp-post
                              [Tue Dec 10 14:46:04 2024] [::1]:62408 Closing
                              [Tue Dec 10 14:46:05 2024] [::1]:62414 Accepted
                              [Tue Dec 10 14:46:06 2024] [::1]:62414 [200]: GET /wp-json/api/v2/company/3
                              [Tue Dec 10 14:46:06 2024] [::1]:62414 Closing
                              [Tue Dec 10 16:43:43 2024] [::1]:54007 Accepted

                              Ci dessus le terminal quand j'accède au site en local ou via Postman. Lorsque j'essaie d'accéder via l'adresse IP de ma machine:

                              PS> php -S localhost:3000
                              [Tue Dec 10 16:50:06 2024] PHP 8.2.12 Development Server (http://localhost:3000) started
                              

                              Et c'est tout, peu importe l'adresse IP sur ma machine ou sur mon téléphone rien ne change dans le terminal, comme si la requête n'y arrivait même pas.

                              @michelbillaud je vais tester tes solutions et voir.

                              PS: J'ai changé le titre du sujet, c'est bien plus direct je crois.


                              • Partager sur Facebook
                              • Partager sur Twitter
                                10 décembre 2024 à 18:38:30

                                Hello, j'essaye de comprendre, si ton but est de pouvoir effectuer une requête venant de ton téléphone qui est en dehors de ton ordinateur local, alors il ne faut pas mettre ni "localhost" ni "127.0.0.1" mais "0.0.0.0" qui signifie toutes les adresses. Donc ta commande sera :

                                PS> php -S 0.0.0.0:3000

                                Avant tu peux regarder quelle est ton @IP avec un

                                PS> ipconfig

                                Et sur le device qui veut se connecter tu n'a plus qu'a faire http://@IP:3000/

                                En espérant que je ne suis pas Hors Sujet ^^

                                PS: Voici une image de ce que j'ai : (l'adresse en .12 c'est mon navigateur web en dehors de la VM et le .21 c'est le téléphone)

                                -
                                Edité par quenti77 10 décembre 2024 à 22:26:19

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  11 décembre 2024 à 9:55:05

                                  Bonjour @quentin, dans mon précèdent message j'ai parlé de localhost et 127.0.0.1 mais même avec 0.0.0.0 le résultat est le même. La console ne bouge pas...
                                  PS> ipconfig
                                  
                                  Configuration IP de Windows
                                  
                                  ...
                                  
                                  Carte réseau sans fil Wi-Fi :
                                  
                                     Suffixe DNS propre à la connexion. . . : lan
                                     Adresse IPv6. . . . . . . . . . . . . .: 2a0d:3341:b1bb:f210::638
                                     Adresse IPv6. . . . . . . . . . . . . .: 2a0d:3341:b1bb:f210:7524:93de:cc9f:babb
                                     Adresse IPv6. . . . . . . . . . . . . .: fdc0:7f9b:41a5:10::638
                                     Adresse IPv6. . . . . . . . . . . . . .: fdc0:7f9b:41a5:10:df2:a1a8:38c2:2986
                                     Adresse IPv6 temporaire . . . . . . . .: 2a0d:3341:b1bb:f210:292e:7c99:3729:4ff
                                     Adresse IPv6 temporaire . . . . . . . .: fdc0:7f9b:41a5:10:292e:7c99:3729:4ff
                                     Adresse IPv6 de liaison locale. . . . .: fe80::5a41:54c4:ebdf:4ade%10
                                     Adresse IPv4. . . . . . . . . . . . . .: 192.168.1.52
                                     Masque de sous-réseau. . . . . . . . . : 255.255.255.0
                                     Passerelle par défaut. . . . . . . . . : fe80::7624:9fff:fe37:65f0%10
                                                                         192.168.1.1

                                  Dans le navigateur, 192.168.1.52 redirige vers locahost:3000(probablement un truc de WordPress) mais sur le téléphone rien.

                                  Et si je retire :3000 j'ai le tableau de bord de Xampp qui s'ouvre bien.

                                  -
                                  Edité par Asmitta 11 décembre 2024 à 9:59:06

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    11 décembre 2024 à 11:20:05

                                    C'est normal que si le site WordPress dit d'envoyer les requêtes suivantes sur localhost, le téléphone ne voit rien.

                                    Parce que pour le téléphone, localhost, c'est lui-même... donc le téléphone essaie de se causer tout seul

                                    Alors que si on consulte depuis le serveur, ça va marcher. Mais seulement pour lui.

                                    Remède : configurer WordPress pour qu'il redirige vers une de ses adresses du serveur  qui soit accessible par le téléphone (192.168.1.52, port 3000)

                                    -
                                    Edité par michelbillaud 11 décembre 2024 à 11:33:10

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      11 décembre 2024 à 17:43:55

                                      J'ai changé l'adresse de mon site Wordpress en tout (127.0.0.1, 192.168.x.x, ...) mais rien. Lors de l'accès sur le téléphone le résultat est le même.

                                      J'ai déplacé (une copie) le dossier de Wordpress pour le mettre dans htdocs mais rien. J'ai fait des recherches supplémentaires sur le net et on dirait que ce n'est pas une situation rare.

                                      Je vais me contenter de ngrok actuellement. 

                                      Edit:

                                      >Remède : configurer WordPress pour qu'il redirige vers une de ses adresses du serveur  qui soit accessible par le téléphone (192.168.1.52, port 3000)

                                      Si ce n'est pas ce que j'ai fait alors je n'ai vraiment pas compris l'instruction.

                                      -
                                      Edité par Asmitta 11 décembre 2024 à 17:44:48

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        11 décembre 2024 à 21:13:58

                                        Quand je lis "dans le navigateur il redirige vers localhost", c'est qu'on a pas dit à WordPress de rediriger ailleurs.

                                        Après, il faudrait prendre le problème avec un peu de rigueur. Regarder ce qui passe sur le réseau, les logs du serveur etc.

                                        > ce n'est pas une situation rare

                                        En effet, il y a plein de gens qui "ont tout essayé et ça veut pas marcher". Jusqu’à ce qu'ils essaient de configurer correctement, et Ô miracle, ils y arrivent (parfois).

                                        ---

                                        Tentative de reconstitution du problème

                                        1. on crée un répertoire TestRedir, avec deux fichiers HTML

                                        • le fichier index.html contient une redirection au bout de 3 secondes
                                        <!DOCTYPE html>
                                        <html>
                                        <head>
                                          <meta http-equiv="refresh"
                                        	content="3;url=http://localhost:3000/page.html">
                                          <title>Redirection</title>
                                        </head>
                                        <body>
                                          <h1>Cette page est redirigée</h1>au bout de 3 secondes
                                        </body>
                                        </html>
                                        • le fichier page.html affiche un truc
                                        <!DOCTYPE html>
                                        <html>
                                          <head>
                                        	<title>Ma page</title>
                                          </head>
                                          <body>
                                        	<h1>Ma Page</h1>
                                        	On la voit
                                          </body>
                                        </html>
                                        

                                        2. On lance php

                                        php -S 0.0.0.0:3000 -t TestRedir/

                                        3. On interroge depuis la même machine sur http://localhost:3000

                                        - ça marche (on voit la première page 3 secondes, puis la seconde)

                                        Note: le serveur intégré à PHP est raisonnable, quand on lui donne l'url d'un répertoire, il va voir dans le fichier index.html.

                                        3. bis. sur http://192.168.1.11:3000   (son adresse IP sur le réseau maison)

                                        - ça marche aussi

                                        4. on tente http://192.168.1.11:3000  depuis le téléphone (qui accède au wifi du même réseau

                                        - on voit la première page 3 secondes

                                        - et paf : "ce site est inaccessible, localhost n'autorise pas la connexion"

                                        (ah oui, quand on dit "ça marche pas" il faut regarder les messages d'erreur qui souvent, veulent dire quelque chose de sensé).

                                        -
                                        Edité par michelbillaud 12 décembre 2024 à 12:25:00

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          12 décembre 2024 à 17:16:30

                                          Comme je l'ai dit dans mes précédents messages, il n'y a rien dans la console quand j'essaie d'y accéder sur mobile. Ce que le navigateur montre est ci dessus et sur la machine la console n'affiche rien, rien du tout, comme si aucune requête n'avait été effectuée en faite. Y'a t-il d'autres logs à consulter ?

                                          J'ai vu des propositions de solutions qui parlaient de modifier certains fichiers serveurs, comme tu l'as suggéré ici:https://openclassrooms.com/forum/sujet/ouvrir-mon-site-sur-dautres-appareils-du-reseau-221ef#message-95208669. Je vais explorer ce point.

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            12 décembre 2024 à 18:07:14

                                            Merci de montrer une capture d'écran de la console avec la ligne de commande qui lance le serveur PHP.

                                            Avant et après une tentative d'accès.

                                            Ça doit au moins montrer les messages liées au lancement.

                                            Et quand on interroge depuis la machine qui fait serveur ?

                                            Ps ce qui s'affiche c'est cohérent avec le lancement de PHP -S  avec l'adresse localhost:3000.   Aussi avec des ports bloqués (pare feu windows ?)

                                             https://www.malekal.com/comment-ouvrir-port-pare-feu-windows-defender/

                                            Ps2: ai pu reproduire le problème sous Windows 7.  Le coupable est windows défender, qui par défaut bloque les ports

                                            Sur le serveur, commande

                                               php -S 0.0.0.0:3000 -t rep

                                            Où rep est un dossier contenant un index.html

                                            en tentant d'y accéder par le tel sur l'adresse 192etc, du serveur, ça coince.

                                            Un tour sur windows défender pour autoriser l'accès depuis le réseau privé : tout de suite ça va mieux.

                                             Faut supposer que l'installation de xampp et autres machins fait le nécessaire pour configurer les règles qui vont bien pour defender 

                                            -
                                            Edité par michelbillaud 12 décembre 2024 à 22:17:02

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              13 décembre 2024 à 9:33:49

                                              Bonjour, 

                                              Screenshot de la console

                                              Ceci c'est la console la plupart du temps. J'ai désactivé le pare-feu de Windows defender et j'ai ressayé d'y accéder sur mobile:

                                              C'est bien meilleur maintenant merci. 

                                              Sur le téléphone j'ai un vrai message maintenant: "localhost refused to connect". J'avais remis les paramètres par défaut en local (localhost:3000 comme url du site), mais je vais remodifier et mettre 192.x.x.x:3000(tant que c'est different de localhost...). Je pense que le problème sera vite résolu maintenant, merci.

                                              Sacré pare-feu !

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                13 décembre 2024 à 16:00:22

                                                C'est pas très confortable de tester avec un smartphone.  Avec le navigateur d'un ordinateur, on a plus facilement les traces de ce qui se passe... (outils de développement web de firefox, etc)

                                                -
                                                Edité par michelbillaud 13 décembre 2024 à 16:01:20

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  15 décembre 2024 à 1:16:39

                                                  Alors OK pour gérer le design avec les outils pour affichage adaptatif avec le desktop, mais lors de mes derniers essais, ce n'était pas pour déboguer du JavaScript qui ne se comporte différemment sur les appareils malgré la même famille de navigateurs (oui, ça sent bien le vécu). Auquel cas, Chrome comme Firefox sur Android ont de quoi faire du débogage à distance, même s'il faut du coup bien avoir de quoi accéder à la machine hôte depuis le réseau local à tout le moins.

                                                  Edit (vu ce qui suit)

                                                  Je parle évidemment uniquement du cas où l'on voudrait tester le site avec un appareil mobile, ce qui semblait être la base de discussion jusqu'à maintenant. Pour tester le réseau, il y a probablement d'autres outils, pour quelque type d'appareil que ce soit.

                                                  -
                                                  Edité par Ymox 15 décembre 2024 à 21:42:10

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    15 décembre 2024 à 6:58:03

                                                    Ce n'est pas exclusif.  Faut faire les deux.   Et pour le cas présent, voir ce que reçoit et envoie le navigateur pour comprendre le problème de communication, y a un outil qui est mieux adapté.  Les soucis avec les trucs qui s'affichent pas comme on voudrait, ça vient après.
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      16 décembre 2024 à 8:05:41

                                                      Bonjour, j'ai changé l'url du site dans la paramètres de Wordpress comme dit sur ce message. Tout marche.

                                                      Pour vos derniers messages, je fais l'application mobile du site web et l'application n'arrivait pas à communiquer avec l'API d'où tous ces soucis. Merci pour votre aide.

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      Ouvrir mon site sur d'autres appareils du réseau

                                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                      • Editeur
                                                      • Markdown