Partage

Cours Node.js : c'est parti !

Admin 16 juillet 2014 à 11:57:31

Bonjour !

J'ouvre ce sujet pour ceux qui viennent de démarrer le cours Node.js : http://fr.openclassrooms.com/informatique/cours/des-applications-ultra-rapides-avec-node-js Utilisez-le pour poser vos questions et aider vos collègues si vous avez plus d'expérience avec Node.js !

En 3 parties, ce cours vous permettra de prendre en main Node.js avec des quiz et activités pour vous entraîner... et peut-être décrocher la certification du cours au bout ! Des quiz sont présents à chaque partie et une activité en dernière partie vous permettra de récapituler (et vérifier !) vos acquis.

Bon apprentissage !

If you'd like to join us, read "How do we work at OpenClassrooms"! :)

Vous êtes demandeur d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur web junior

Je postule
Formation
en ligne
Financée
à 100%
16 juillet 2014 à 19:46:41

Bonjour,

tout d'abord merci pour ce cours qui me paraît clair (pour l'instant!) même si je débute.

Pour info, et peut-être que d'autres ont eu l'erreur, j'ai eu un souci lors du démarrage du serveur :

"D:\NodeJS>node server.js
events.js:72

        throw er; // Unhandled 'error' event
             ^
Error: listen EADDRINUSE

..." 

Car mon port 8080 était déjà utilisé. J'ai simplement changé le numéro du port.

Sinon j'ai une question : dans quel type d'application vaut-il mieux utiliser NodeJS? et dans quel cas ne surtout pas utiliser NodeJS?

Le site openclassrooms a été créé avec Symphony2, NodeJS aurait-il convenu?

Merci!

Holden

16 juillet 2014 à 20:40:27

Bonsoir, merci pour ce cours intéressant.

je coince sur les modules nodes, en fait j'ai compris que node.js va chercher( pour un chemin relatif "test" ) dans le sous-dossier appelé "node_modules". qui peut se trouver n'importe où à partir du dossier utilisateur.(enfin j'ai compris comme ca...).

ma question est si j'ai plusieurs projet en cours, et que je veux garder un un chemin relatif "test"...

perso quand je crée des projets ,j'aurais tendance à créer dans le dossier utilisateur :

  • projet_A/node_modules/ avec mes modules pour le projet A dedans , et dans projet_A.js "mes_modules_projet_A" comme lien relatifs
  • projet_B/node_modules/ avec mes modules pour le projet B dedans , et dans projet_B.js "mes_modules_projet_B" comme lien relatifs
  • projet_C/node_modules/ avec mes modules pour le projet C dedans , et dans projet_C.js "mes_modules_projet_C" comme lien relatifs
  • ...

comment node.js gère cela ?

______

J'en profite pour en rajouter une couche je viens de m’apercevoir ceci :

vu que :

var http = require('http');

je me suis dit que qu'il y a un node_modules qui traine déjà quelque part.

C:\Program Files\nodejs\node_modules\npm\node_modules

Sur le cours:

Notez que si le dossier node_modules n'existe pas, Node.js ira chercher un dossier qui a le même nom plus haut dans l'arborescence. Ainsi, si votre projet se trouve dans le dossier : /home/mateo21/dev/nodejs/projet, il ira chercher un dossier nommé :

  • /home/mateo21/dev/nodejs/projet/node_modules, et si ce dossier n'existe pas il ira le chercher dans...

  • ... /home/mateo21/dev/nodejs/node_modules, et si ce dossier n'existe pas il ira le chercher dans...

  • ... /home/mateo21/dev/node_modules, et ainsi de suite !

pour terminé j'ai fait un test : l'installation d'express.

 il ma décompressé le module de le dossier "utilisateur/node_modules"....(ah ok : "Pour installer un module, rien de plus simple. Placez-vous dans le dossier de votre projet")

Donc la je suis un peu perdu / perplexe... :euh:

Et en plus de la question de comment node.js gere tout ca, s'ajoute :

Est ce que je dois mettre dans chaque projet un "node_modules" et doubler les modules si toute fois j'ai 2 projets different mais que j'ai besoin d'un même module...........? o_O

(oui comme vous avez pu remarqué je suis sous windows :p)

-
Edité par CQEadsurf 17 juillet 2014 à 15:19:29

L’éternel débutant...
17 juillet 2014 à 10:26:36

Le cours que j'attendais pour m'inscrire sur OpenClassrooms! Merci!
17 juillet 2014 à 15:36:36

bonjour,

Sur la ligne 

socket.set('pseudo', pseudo);

dans l'exemple du chat, j'obtient l'erreur suivante:

TypeError: Object #<Socket> has no method 'set'

Cordialement

Olivier

Note: Version de socket.io => 1.0.6

17 juillet 2014 à 18:37:32

Bonjour, apparemment, c'est la saison de la plage, des tongs, chapeaux de paille, crème solaire, filles en bikini, etc... plutôt que celle où on passe son temps sur son PC à être studieux...

le W-E et les prochain posts me feront mentir j’espère :p.

@olivierartigue, tu m'a presque pressé sur la lectures du mooc... et j'en suis arrivé à la même conclusion:

ça coince sur "socket.set('pseudo', pseudo);"

pourtant j'ai suivi pas à pas les codes.... et j'ai eu à ceci coté console :

C:\Users\Utilisateur\chat>node app.js

C:\Users\Utilisateur\chat\app.js:19
        socket.set('pseudo', pseudo);
               ^
TypeError: Object #<Socket> has no method 'set'
    at Socket.<anonymous> (C:\Users\Utilisateur\chat\app.js:19:16)
    at Socket.emit (events.js:95:17)
    at Socket.onevent (C:\Users\Utilisateur\chat\node_modules\socket.io\li
b\socket.js:326:8)
    at Socket.onpacket (C:\Users\Utilisateur\chat\node_modules\socket.io\l
ib\socket.js:286:12)
    at Client.ondecoded (C:\Users\Utilisateur\chat\node_modules\socket.io\
lib\client.js:181:14)
    at Decoder.Emitter.emit (C:\Users\Utilisateur\chat\node_modules\socket
.io\node_modules\socket.io-parser\node_modules\emitter\index.js:132:20)
    at Decoder.add (C:\Users\Utilisateur\chat\node_modules\socket.io\node_
modules\socket.io-parser\index.js:233:12)
    at Client.ondata (C:\Users\Utilisateur\chat\node_modules\socket.io\lib
\client.js:166:16)
    at Socket.emit (events.js:95:17)
    at Socket.onPacket (C:\Users\Utilisateur\chat\node_modules\socket.io\n
ode_modules\engine.io\lib\socket.js:96:14)

C:\Users\Utilisateur\chat>

 puis j'ai monté "à l'arrache" super-chat grâce au zip fournis à la fin du TP ... dans le TP il y a bien un "socket.set('pseudo', pseudo);" mais lui marche...

il doit y avoir une erreur mais je ne vois pas où.... (bon je suis aussi un bleu coté JS je passe p-e à coté de qqchose...:-°)

NB: a savoir que les derniers codes que j'ai utilisé sont :

html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Socket.io</title>
    </head>
 
    <body>
        <h1>Communication avec socket.io !</h1>

        <p><input type="button" value="Embêter le serveur" id="poke" /></p>


        <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        <script src="/socket.io/socket.io.js"></script>
        <script>
            var socket = io.connect('http://localhost:8080');

            // On demande le pseudo au visiteur...
            var pseudo = prompt('Quel est votre pseudo ?');
            // Et on l'envoie avec le signal "petit_nouveau" (pour le différencier de "message")
            socket.emit('petit_nouveau', pseudo);

            // On affiche une boîte de dialogue quand le serveur nous envoie un "message"
            socket.on('message', function(message) {
                alert('Le serveur a un message pour vous : ' + message);
            })

            // Lorsqu'on clique sur le bouton, on envoie un "message" au serveur
            $('#poke').click(function () {
                socket.emit('message', 'Salut serveur, ça va ?');
            })
        </script>
    </body>
</html>

et app :

var http = require('http');
var fs = require('fs');
// Chargement du fichier index.html affiché au client
var server = http.createServer(function(req, res) {
    fs.readFile('./index.html', 'utf-8', function(error, content) {
        res.writeHead(200, {"Content-Type": "text/html"});
        res.end(content);
    });
});
// Chargement de socket.io
var io = require('socket.io').listen(server);
io.sockets.on('connection', function (socket, pseudo) {
    // Quand on client se connecte, on lui envoie un message
    socket.emit('message', 'Vous êtes bien connecté !');
    // On signale aux autres clients qu'il y a un nouveau venu
    socket.broadcast.emit('message', 'Un autre client vient de se connecter ! ');
    // Dès qu'on nous donne un pseudo, on le stocke en variable de session
    socket.on('petit_nouveau', function(pseudo) {
        socket.set('pseudo', pseudo);
    });
    // Dès qu'on reçoit un "message" (clic sur le bouton), on le note dans la console
    socket.on('message', function (message) {
        // On récupère le pseudo de celui qui a cliqué dans les variables de session
        socket.get('pseudo', function (error, pseudo) {
            console.log(pseudo + ' me parle ! Il me dit : ' + message);
        });
    }); 
});
server.listen(8080);

Et que ca foirait a partir du moment où on introduisait "socket.set('pseudo', pseudo);" dans le code ...

Version de socket.io => 1.0.6 pour ce code et pour super-chat...

PS: quelqu'un pourrait me donner qq explication sur mon premier post merci :p

ah oui : npm uninstall module a t'il une importance ou peut-on virer les projets à l'arrache ? (car le cours n'en fait pas mention...) il vaut mieu p-e désinstaller proprement ... non ?

-
Edité par CQEadsurf 17 juillet 2014 à 20:06:08

L’éternel débutant...
18 juillet 2014 à 1:23:54

Hi,

J'ai eu ce problème car j'utilise socket.io version 1.0.6 qui ne supporte plus set et get. La solution c'est de remplacer selon la regle suivante:

socket.set('pseudo' pseudo);

par

socket.pseudo = pseudo;

et

pseudo = socket.get('pseudo');

par

pseudo = socket.pseudo;

Cordialement

Olivier

18 juillet 2014 à 11:26:54

Bonjour,

Dans le cours sur les modules (Semaine 2), le lien vers http://nodetoolbox.com/ ne fonctionne pas. Est ce que ce site existe toujours ?

merci

cordialement

18 juillet 2014 à 15:12:49

olivierartigue a écrit:

pseudo = socket.get('pseudo');

par

pseudo = socket.pseudo;


je veux bien mais comment le transpose tu dans :
socket.on('message', function (message) {
        // On récupère le pseudo de celui qui a cliqué dans les variables de session
        socket.get('pseudo', function (error, pseudo) {
            console.log(pseudo + ' me parle ! Il me dit : ' + message);
        });
    }); 

??? o_O

______

ah ok j'ai ma réponse :

// Dès qu'on reçoit un "message" (clic sur le bouton), on le note dans la console
    socket.on('message', function (message) {
        // On récupère le pseudo de celui qui a cliqué dans les variables de session
			pseudo = socket.pseudo;
            console.log(pseudo + ' me parle ! Il me dit : ' + message);
        
    }); 

(et j'ai compris pourquoi super-chat fonctionne avec les "socket.set('pseudo' pseudo);" et "pseudo = socket.get('pseudo');" en réalité le module socket.io est en version  0.9.17 (va donc savoir pourquoi....))

donc super-chat devra avoir la même modif pour la ver.1.0.6

-
Edité par CQEadsurf 18 juillet 2014 à 15:30:32

L’éternel débutant...
18 juillet 2014 à 22:52:39


webbricol a écrit:

Bonjour,

Dans le cours sur les modules (Semaine 2), le lien vers http://nodetoolbox.com/ ne fonctionne pas. Est ce que ce site existe toujours ?


et j'ai regardé il y a bien un tweet sur nodetoolbox mais le site n'a pas l'air d’être maintenu ou est innaccessible.... (lien sur tweeter,recherche par google.... que dalle).

pour dire le dernier post date du 12 mars 2014 .

-
Edité par CQEadsurf 22 juillet 2014 à 10:45:51

L’éternel débutant...
20 juillet 2014 à 12:10:37

CQEadsurf a écrit:


(et j'ai compris pourquoi super-chat fonctionne avec les "socket.set('pseudo' pseudo);" et "pseudo = socket.get('pseudo');" en réalité le module socket.io est en version  0.9.17 (va donc savoir pourquoi....))

donc super-chat devra avoir la même modif pour la ver.1.0.6


je viens de comprendre pourquoi socket.io est 0.9.17 : grâce / à cause du package.json qui définit la dépendance... en fait NPM prend le module demandé dans le package (sorte de liste de course stricte apparement). Et ce n'est pas une description genre "config minimal : socket.io 0.9.17 ou plus"
L’éternel débutant...
21 juillet 2014 à 10:38:17

Bonjour,

Les quizz sont-ils réservés aux Premium ? Je ne peux pas accéder au quizz de cette semaine, à part d'être Premium d'après le message. Idem pour le cours Linux. Est-ce définitif ou seront-ils disponibles pour tous plus tard ?

21 juillet 2014 à 11:15:33

holdenk a écrit:

Sinon j'ai une question : dans quel type d'application vaut-il mieux utiliser NodeJS? et dans quel cas ne surtout pas utiliser NodeJS?

Le site openclassrooms a été créé avec Symphony2, NodeJS aurait-il convenu?

Il n'existe aucun framework aussi complet que Symfony sur Node.js. Pour ceux qui comme moi fuient les usines à gaz c'est plutôt une qualité…

23 juillet 2014 à 8:48:52

Toujours pas de quizz accessible, et OC ne répond pas aux e-mails... :-°
23 juillet 2014 à 9:39:10

Jarodd a écrit:

Toujours pas de quizz accessible, et OC ne répond pas aux e-mails... :-°


si t'es inscrit tu as un quizz par semaine. (je viens de valider la 2ème juste a l'instant ... p-e que ca vient d'etre mis en ligne...).

si tu veux faire tt tes quizz a la suite, il faut être premium. (enfin perso je ne suis pas pressé et ca permet de relire / ressasser le cours).

L’éternel débutant...
23 juillet 2014 à 9:56:45

Bonjour,

C'est un excellent cours pour démarrer en NodeJS, mais il y a l'avantage/inconvénient de tous les cours sur NodeJS => fixé dans le temps, alors que les packages ont continué de vivre et de se modifier. SocketIO n'est qu'un exemple... vous aurez le cas pour Express (bodyParser, Session & autres ont disparu dans la version 4.0, mais ils peuvent être ajouté en module externe bien entendu).

Personnellement, j'ai fait mes armes sur NodeJS via d'autres moyens (livres notamment) et je trouve qu'il colle parfaitement à ce dont j'ai besoin (dashboard internes à l'entreprise avec des informations "live" issues des environnements de PROD).

Sans être expert, je vais essayer de répondre à quelques questions posées ici ou là :

Gestion des modules

Je ne sais pas si je vais être clair (et le cours en parle mais succinctement), ou même répondre correctement à la question... mais NPM offre 2 options d'installation (enfin... 2 options "courantes) :

  • npm install -g
  • npm install

L'installation via [npm install -g] va installer le module au niveau serveur (c:/program files/nodejs/node_modules/npm/node_modules/[monmodule]).

Sans cette option, il va s'installer dans le node_modules du répertoire courant... si ce répertoire n'existe pas, il le créera.

Ainsi, par exemple, si on installe Express au niveau global et SocketIO dans le projet A uniquement, on pourra require Express dans tous les projets, mais seul projet A pourra require SocketIO.

Bien entendu, faites gaffe aux dependencies dans le package.json...

A noter, npm permet de fonctionner à l'inverse : créer le package.json puis run un "npm install" dans le répertoire du package.json, il lira ce dernier et installera les packages dans le projet en fonction des dépendances déclarées.

NPM uninstall

L'objectif premier est lié aux options :

  • -g : désinstalle le package au niveau global
  • --save : retire le package ET actualise le package.json

Pour les anglophones : https://www.npmjs.org/doc/cli/npm-uninstall.html

De façon général, ne pas hésiter à lire la doc sur npmjs.org ... ça et GitHub :)

Package.json

Je finis juste sur la partie SocketIO avec sa différence entre le 0.9.17 et la 1.0.6.

On peut définir qu'un projet utilise une version "supérieure ou égale" d'un module, il suffit d'ajouter ">" à la place du (très fréquent) "~" devant le numéro de version dans le package.json.

J'espère avoir pu aider :)

Bye !

Apprendre peut être long et difficile, mais abandonner n'accélère certainement pas le processus.
23 juillet 2014 à 11:41:37

CQEadsurf a écrit:

Jarodd a écrit:

Toujours pas de quizz accessible, et OC ne répond pas aux e-mails... :-°


si t'es inscrit tu as un quizz par semaine. (je viens de valider la 2ème juste a l'instant ... p-e que ca vient d'etre mis en ligne...).

si tu veux faire tt tes quizz a la suite, il faut être premium. (enfin perso je ne suis pas pressé et ca permet de relire / ressasser le cours).


J'ai fait la quizz semaine 1 la semaine dernière (avec le mail "avez-vous fait vos exercices ?" reçu samedi), donc logiquement cette semaine le quizz semaine 2 devrait être ouvert, depuis lundi matin, d'ailleurs j'ai reçu le mail "le cours semaine 2 est ouvert" lundi matin.

-
Edité par Jarodd 23 juillet 2014 à 11:43:14

23 juillet 2014 à 13:41:54

@Jarodd

p-e un pb technique lié a ton compte... (changement de pseudo durant le cours par exemple ...?) enfin il y a le staff qui est la ... renvoie p-e ta demande .... des fois que ...

-
Edité par CQEadsurf 23 juillet 2014 à 13:45:25

L’éternel débutant...
23 juillet 2014 à 17:24:17

Mail reçu à l'instant d'OC, indiquant que c'était un bug, qu'il est corrigé, et qu'on a jusqu'au 3 août pour rendre les exercices ! :)
24 juillet 2014 à 3:33:38

Je suis passé à côté de quelque chose... J'ai compris en gros comment NodeJS fonctionnait (Je suis à la fin de la partie 2).

J'ai donc compris qu'il permettait d'utiliser JavaScript côté serveur. Mais par exemple, j'ai un website chez un hébergeur. Puis-je utiliser NodeJS dessus ? Si oui, comment dois-je m'y prendre ?

(Je suis pas super à l'aise avec ces notions, je suis un vrai zéro, donc ma question est peut-être à côté de la plaque)
Cybernetic, *Toujours la Banane*
24 juillet 2014 à 10:29:12

bonjour @tous.

@Cybernetic

Question intéressante mais la question serait plutôt : y a t-il des hébergeur qui fonctionne avec node.js? (et cerise sur le gâteau y en a t-il des gratuits?:p )

Parce qu’apparemment on ne peut installer node.js que sur une bécane qu'on a sous la main...

Puis il y a une partie console qui ne faut pas apparemment négliger donc ça implique un accès SSH etc...

Et autre question qui s'ajoute : s'il y a des hébergeur qui accepte node.js, comment on transféré t-on nos projets ?

....et cette question est déjà un sujet de forum sur OC... à lire...

-
Edité par CQEadsurf 24 juillet 2014 à 10:57:32

L’éternel débutant...
25 juillet 2014 à 2:12:34

Bonjour à tous,

Il n'aura pas fallu longtemps pour que je coince.

Il est temps de vérifier que Node.js fonctionne bien ! Nous allons écrire un tout tout petit programme pour commencer, qui se contente d'afficher un message dans la console. Ce sera l'occasion de voir comment fonctionne l'exécution de fichiers .js avec Node.

Pour commencer, ouvrez votre éditeur de texte favori (vim, Emacs, Sublime Text, Notepad++...) et rentrez le code JavaScript suivant :

console.log('Bienvenue dans Node.js !');

Enregistrez votre fichier sous l'extension .js. Par exemple test.js.

Ensuite, ouvrez une console dans le dossier où se trouve votre fichier test.js et entrez la commande node test.js. Vous devriez avoir le résultat suivant dans la console :

$ node test.js  Bienvenue dans Node.js !

Bravo, vous avez créé votre tout premier programme Node.js ! :D

Eh oui dès l'installation ! N'étant pas sous linux et n'ayant jamais manipulé une console, je suis incapable de suivre cette instruction, et rien n'est expliqué à cette fin.

-
Edité par Kashan 25 juillet 2014 à 2:19:16

Anonyme
25 juillet 2014 à 2:16:07

Kashan a écrit:

Bonjour à tous,

Il n'aura pas fallu longtemps pour que je coince.

Il est temps de vérifier que Node.js fonctionne bien ! Nous allons écrire un tout tout petit programme pour commencer, qui se contente d'afficher un message dans la console. Ce sera l'occasion de voir comment fonctionne l'exécution de fichiers .js avec Node.

Pour commencer, ouvrez votre éditeur de texte favori (vim, Emacs, Sublime Text, Notepad++...) et rentrez le code JavaScript suivant :

console.log('Bienvenue dans Node.js !');

Enregistrez votre fichier sous l'extension .js. Par exemple test.js.

Ensuite, ouvrez une console dans le dossier où se trouve votre fichier test.js et entrez la commande node test.js. Vous devriez avoir le résultat suivant dans la console :

$ node test.js  Bienvenue dans Node.js !

Bravo, vous avez créé votre tout premier programme Node.js ! :D

Eh oui dès l'installation, n'étant pas sous linux et n'ayant jamais manipulé une console...

-
Edité par Kashan il y a moins de 30s


Je t'explique

node test.js [texte]

avec l'instruction node, tu apelle tout simplement node.

avec test.js tu apelle le fichier test.js, et tu demande à node précedemment apelée d'executer ce fichier.

Et le texte à la fin ? il fait planter ton code car il n'a pas raison de'tre, tu exécute le fichier, pourquoi mettre du texte après ?

25 juillet 2014 à 2:27:16

Pardon je n'ai pas été assez clair, en fait c'est "ouvrir une console dans le dossier où se trouve votre fichier test.js

" qui me pose un problème.
Anonyme
25 juillet 2014 à 2:30:22

et bah tu te déplace dans l'arboréscence avec la commande cd !
25 juillet 2014 à 2:33:19

Ce que je ne sais pas faire. Merci pour vos réponses je vais faire quelques recherches plutôt que de spammer ce topic !

Edit : Suite à votre réponse j'ai rapidement trouvé comment utiliser la commande cd, encore merci.

-
Edité par Kashan 25 juillet 2014 à 2:40:03

25 juillet 2014 à 5:09:50

Bonjour, 

C'est juste pour vous dire qu'il y a une petite erreur dans le cours, dans la partie du framework Express.js dans les routes.

Vous avez marqué "La gestion des routes un sujet important", or il manque un "est" dans la phrase. ;)

Sur ce, bonne continuation, moi je vais m'attaquer à socket.io pour faire un système de notifications temps réel ! :)

25 juillet 2014 à 9:37:24

Kashan a écrit:

Ce que je ne sais pas faire. Merci pour vos réponses je vais faire quelques recherches plutôt que de spammer ce topic !

Edit : Suite à votre réponse j'ai rapidement trouvé comment utiliser la commande cd, encore merci.

-
Edité par Kashan il y a environ 6 heures


bon tu as trouvé la réponse toi même mais bon ...

  • cd. ou cd . => vous resté au même endroit (commande bizarre ? inutile? mais elle existe voir pourquoi 3 ligne en dessous)
  • cd.. ou cd .. => vous accédez au dossier parent.
  • cd\ ou cd \ => vous envoie a la racine du lecteur (cad C: si vous etiez dans c:\dossier\dossier\...\dossier)
  • cd.\dossier ou cd .\dossier ou cd dossier => vous amène dans "dossier" qui se trouve a l'endroit où vous étiez, vous pouvez continuer le chemin avec "\" => cd .\dossier\dossier (d'où le cd .)
  • cd..\dossier ou cd ..\dossier => vous amène dans "dossier" qui se trouve dans le dossier parent où vous étiez, comme pour l'exemple avant, vous pouvez continuer le chemin avec "\"
  • cd\dossier ou cd \dossier => vous amène dans "dossier" qui se trouve à la racine du lecteur, (même topo pour le chemin).
  • pour changer de lecteur (par exemple je veux aller sur le lecteur D) => D: 

privilégiez l'espace entre le "cd" et "." , ".." , "\" c'est une bonne habitude si un jours vous passez par exemple sous Linux (sauf la que "\" devient "/" juste pour ennuyer les windowsiens).

Ce fut le post inutile... ...ou pas, pour ceux qui n'ont pas vu une console Windows de leur vie!!!

...ah oui commande très utile quand la console a un tas de ligne et que vous savez plus où vous en êtes et que vous ne voulez plus les voir... : cls (CLear Screen).

pour savoir ce qu'il y a dans le dossier : DIR (DIRectory).

______

Autre chose que je me suis aperçu et que je me ne rappelle pas si c'est mentionné dans le cour (et en ayant re-survolé vite fait ce matin j'ai toujours pas vu si c’était dit quelque part...)

Quand vous appelez la console : en tant qu'administrateur (surtout pour ceux qui ont Vista ou plus récent....).

il est utile d’être administrateur quand on utilise cet outil surtout pour "npm (un)install module -g"

je me suis aperçu que lors de l’installation des modules des erreurs peuvent se produire...(erreurs lié au droits d’accès sur les dossiers...)

Info pour ceux (dont je faisais parti) ne voyaient pas l’évidence de lancer la console pour cet outil en tant qu'admin :p

-
Edité par CQEadsurf 25 juillet 2014 à 11:52:36

L’éternel débutant...
25 juillet 2014 à 15:08:14

Airin a écrit:

Gestion des modules

Je ne sais pas si je vais être clair (et le cours en parle mais succinctement), ou même répondre correctement à la question... mais NPM offre 2 options d'installation (enfin... 2 options "courantes) :

  • npm install -g
  • npm install

L'installation via [npm install -g] va installer le module au niveau serveur (c:/program files/nodejs/node_modules/npm/node_modules/[monmodule]).

Sans cette option, il va s'installer dans le node_modules du répertoire courant... si ce répertoire n'existe pas, il le créera.

Ainsi, par exemple, si on installe Express au niveau global et SocketIO dans le projet A uniquement, on pourra require Express dans tous les projets, mais seul projet A pourra require SocketIO.

Bien entendu, faites gaffe aux dependencies dans le package.json...

A noter, npm permet de fonctionner à l'inverse : créer le package.json puis run un "npm install" dans le répertoire du package.json, il lira ce dernier et installera les packages dans le projet en fonction des dépendances déclarées.

j'ai essayé npm install -g (sur la console "normal" et la console "admin") et il va installer le module sur :

"c:\Users\Utilisateur\AppData\Roaming\npm\node_modules\"

En suite j'ai essayer de faire fonctionner "super chat" après que les module aient été installé avec cet option.

  L'application ne trouve pas mes modules ...

Donc j'ai essayé d'installer les modules dans "c:\program files\nodejs\node_modules\npm\node_modules\" (console "admin"):

  Pareil, l'application ne trouve pas mes modules ...

je vois pas où se trouve le problème...(enfin je suppose que si je fais npm install -g, ça devrait mieux fonctionner qu’implanter mes modules dans  "c:\program files\nodejs\node_modules\npm\node_modules\")

Si vous avez une info par rapport a ce problème je suis preneur ...

-
Edité par CQEadsurf 25 juillet 2014 à 15:42:30

L’éternel débutant...
25 juillet 2014 à 15:50:39

Si le sujet doit s'allonger il serait peut-être bon d'adopter une convention pour structurer la conversation.

Par exemple, on pourrait numéroter les questions posées et toute personne qui voudrait en poser une commencera son post par Q#numero_de_la_question:, et ceux qui voudrait proposer une réponse à une question commenceraient par R#numero_de_la_question:.

Q#1: Qu'en pensez-vous ?

Cours Node.js : c'est parti !

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