#1 Le 15/01/2014, à 22:31
- gringo75
[Résolu]: Problème de lancement d'un serveur en localhost avec node js
Bonsoir à tous,
Je ne sais pas si c'est ici que je dois poster mon message mais cela me semble être l'endroit le plus approprié car ma question porte sur un serveur node.js.
Je débute sur Node.js et j'ai essayé d'installer le module serveur (dans un dossier situé sur mon bureau) en créant un fichier server.js dont le contenu est le suivant :
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);
1) Pour info, je suis sous ubuntu 13.10 installé sur VM PLAYER.
2) J'ai bien installé tous les paquets nécessaires
$ sudo apt-get install python-software-properties python g++ make
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs
Ma question
Le problème est que quand je vais dans ma console et que je tape $ node server.js, j'ai alors mon curseur qui clignote et rien ne s'affiche (ma console restant bloquée avec le curseur). Je suis obligé de tuer mon processus en ouvrant un autre terminal.
J'ai d'abord pensé que c'était le port qui était incorrect mais le changement par 8080 ou 3030 par exemple ne m'a pas permis de résoudre le problème.
Merci par avance pour votre aide car ce que je ne comprends pas c'est que j'ai repris in extenso le code d'un tuto trouvé sur le net concernant node.js.
Il doit y avoir une subtilité que je n'ai pas saisi.
Merci par avance
Dernière modification par gringo75 (Le 30/01/2014, à 20:57)
Hors ligne
#2 Le 16/01/2014, à 03:58
- J5012
Re : [Résolu]: Problème de lancement d'un serveur en localhost avec node js
que ce soit ici http://howtonode.org/how-to-install-nodejs
ou ici http://fr.openclassrooms.com/informatiq … rveur-http ,
le texte a afficher n'est pas avec res.write mais res.end
Hors ligne
#3 Le 16/01/2014, à 15:47
- tiramiseb
Re : [Résolu]: Problème de lancement d'un serveur en localhost avec node js
Salut,
Pour répondre à J5012 : attention à ne pas donner des informations biaisées : oui, il y a des documentations qui donnent certaines méthodes, mais cela ne veut pas dire que c'est la seule syntaxe acceptable. Voir la documentation officielle à propos de ce res.end ici : http://nodejs.org/api/http.html#http_re … a_encoding, notamment « If data is specified, it is equivalent to calling response.write(data, encoding) followed by response.end(). ».
---------
Pour répondre à gringo75...
j'ai alors mon curseur qui clignote et rien ne s'affiche
Es-tu sûr que c'est un problème ?
Si le programme ne rend pas la main, c'est qu'il tourne...
As-tu essayé d'accéder à ton serveur ?
Par ailleurs, pour l'arrêter, as-tu essayé la combinaison de touches Ctrl-C, plutôt que d'ouvrir un autre terminal pour killer nodejs ?
... après avoir lu plus en détails le second lien de J5012, je lis les phrases suivantes, qui confirment mes remarques ci-dessus :
« La console n'affiche rien et ne répond pas, ce qui est parfaitement normal. [...] Pour arrêter votre serveur Node.js, retournez dans la console et faites Ctrl + C pour couper la commande. »
PS : par contre je ne saurais pas en dire plus, je ne connais Node.js que de nom, là je n'ai fait que lire une ou deux pages sur Internet...
Dernière modification par tiramiseb (Le 16/01/2014, à 15:50)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#4 Le 16/01/2014, à 21:57
- gringo75
Re : [Résolu]: Problème de lancement d'un serveur en localhost avec node js
Bonsoir,
Merci à vous 2 pour vos précisions.
- Pour les remarques de j5012, le code que j'ai repris est celui de l'auteur du tutoriel "Node.js, le livre du débutant"; A mon avis, s'il y'avait une erreur, je pense que des personnes l'aurait déjà signalé à son auteur mais sait-on jamais....
Effectivement j'avais vu sur openclassrooms, un code différent MAIS j'ai exactement le même problème en l'essayant !?
- Merci Thiramiseb pour tes remarques. Effectivement, un Ctrl + C marche très bien pour arrêter le curseur et revenir à la ligne de commande. Faut dire que quand il est 23 heures et que ton truc ne marche pas depuis 1 heure, t'es fatigué. Au lieu de faire Ctrl+C, je faisais ctrl+D.....puis de fatigue, j'ai préférer killer le processus
En ce qui concerne tes autres remarques :
Es-tu sûr que c'est un problème ?
Si le programme ne rend pas la main, c'est qu'il tourne...
=>C'est ce que je pensais au début MAIS est-ce normal qu'au bout de 10 minutes, on ait toujours un curseur qui clignote pour un programme des plus basiques ?
As-tu essayé d'accéder à ton serveur ?
=>Qu'entends-tu par là ?
Merci d'avance à ceux qui pourront m'éclairer.
gringo75
Hors ligne
#5 Le 16/01/2014, à 22:14
- tiramiseb
Re : [Résolu]: Problème de lancement d'un serveur en localhost avec node js
=>C'est ce que je pensais au début MAIS est-ce normal qu'au bout de 10 minutes, on ait toujours un curseur qui clignote pour un programme des plus basiques ?
Ben oui... S'il n'a rien de spécial à dire, il ne dit rien...
As-tu essayé d'accéder à ton serveur ?
=>Qu'entends-tu par là ?
Navigateur web => http://localhost:8888
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#6 Le 16/01/2014, à 22:29
- gringo75
Re : [Résolu]: Problème de lancement d'un serveur en localhost avec node js
Merci Tiramiseb
J'ai bien essayé hier http://localhost:8080 et ça n'a pas marché !
Or, suite à ta remarque, j'ai réessayé à l'instant et ça a marché; j'ai bien un message salut tout le mode dans la page web. Cool
En fait, ce qui m'a induit en erreur, c'est que le curseur clignote mais en gros si j'ai bien compris, c'est tout à fait normal.
Mais alors comment faire si on veut lancer une autre requête ?
Dernière modification par gringo75 (Le 16/01/2014, à 22:31)
Hors ligne
#7 Le 16/01/2014, à 22:58
- tiramiseb
Re : [Résolu]: Problème de lancement d'un serveur en localhost avec node js
J'ai bien essayé hier http://localhost:8080 et ça n'a pas marché !
Peut-être parce que tu as configuré ton serveur pour écouter sur 8888, pas sur 8080...
Si ce n'est pas ça, je ne sais pas ce qui a déconné.
Mais alors comment faire si on veut lancer une autre requête ?
C'est-à-dire ? Si tu veux que ton navigateur web fasse une seconde requête, recharge la page...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#8 Le 19/01/2014, à 22:45
- gringo75
Re : [Résolu]: Problème de lancement d'un serveur en localhost avec node js
Bonsoir Tiramiseb,
quand je dis "Mais alors comment faire si on veut lancer une autre requête ?", je veux dire que je n'ai plus "la main" sur ma ligne de commande puisque le curseur est bloqué.
Il me semble que ce n'est pas normal; selon moi, ,une fois la page chargée, je devrais me retrouver avec l'invite de commande $......
Hors ligne
#9 Le 20/01/2014, à 08:59
- tiramiseb
Re : [Résolu]: Problème de lancement d'un serveur en localhost avec node js
une fois la page chargée, je devrais me retrouver avec l'invite de commande
Ben non.
Tu as lancé un serveur web, qui écoute sur un port donné.
Si tu fais une requête au serveur web, il renvoie la page que tu as demandée.
Si tu fais une seconde requête au serveur web, il renvoie la seconde page que tu as demandée.
Ainsi de suite.
Et pendant ce temps-là, le processus tourne et n'affiche rien dans le terminal. Si le processus s'arrête et te rend la main, alors il n'écoutera plus et il ne pourra plus répondre aux requêtes.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne