C'est quoi Node.js ?Si tu codes d�j� c�t� client, tu utilises forc�ment Javascript. Pourquoi ? Parce que tous les navigateurs sont �quip�s d'un moteur Javascript qui va permettre de traduire notre code Javascript en code machine.Et bien un jour, il y a un mec qui s'appelle Ryan Dahl qui a eu la brillante id�e de prendre le moteur Javascript V8, c'est celui qu'on trouve dans le navigateur Chrome, et de l'utiliser en dehors du navigateur. Il a cr�� la plateforme Node.js !Node.js est tr�s fr�quemment utilis� pour �crire des services c�t� serveur appel�s API (Application Programming Interface)Et au final, on peut dire que Node.js repr�sente une alternative � des langages serveur comme PHP, Java ou Python.Cette alternative est devenue populaire dans pas mal d'entreprises et a m�me r�volutionn� pas mal de choses dans des grosses entreprises comme PayPal.PayPal qui utilisait du Java a d�cid� de tester Node.js sur une petite partie de son code et les r�sultats ont �t� plut�t bluffants. Il a fallu 2 d�veloppeurs Node.js au lieu de 5 d�veloppeurs Java pour construire la m�me chose Les d�veloppeurs de l'�quipe Node.js ont fait le m�me travail que l'�quipe Java en la moiti� du temps 33% de lignes de code en moins et 40% de fichiers en moins en Node.js par rapport � Java La version Node.js est 35% plus rapide que celle de JavaAlors bien s�r, il ne faut pas s'emballer non plus et ces r�sultats peuvent �tre dus � plein d'autres facteurs, peut-�tre que les d�veloppeurs Node.js �taient excellents et les devs Java �taient nazes, on n'en sait rien.Mais �a fait tout de m�me r�fl�chir et �a place clairement Node.js comme une alternative de choix pour le back-end de nos applis web.D�finitionsMaintenant je vais t'expliquer les avantages de Node.js mais j'ai pas envie de te balancer plein de termes techniques sans que tu les comprennes.Alors accroche-toi bien ! C'est le moment d�finition !Je vais aborder pas mal de notions qui te sont peut-�tre inconnues: On va parler de RTA, de SPA, de Single Thread et Multi Thread et de syst�mes Blocking et Non Blocking.Alors d�j� c'est quoi RTA ?RTA �a veut dire Real Time Applications, ce sont les applications en temps r�el, ce sont ces applications qui ont besoin de se mettre � jour super fr�quemment.Je te donne un exemple: les messageries instantan�es style WhatsApp sont des RTA. Tu as besoin de connaitre les nouveaux messages imm�diatement parce-que si tu re�ois les messages de tes correspondants 10 minutes plus tard �a en ferait une tr�s mauvaise appli....Et c'est quoi SPA ?Ce sont les initiales de Single Page Applications. Ce sont des applis dans lesquelles il n'y a qu'une page html et le contenu de cette page change en fonction des actions de l'utilisateur. C'est diff�rent du mod�le ou il y a plusieurs pages html. En g�n�ral, on utilisera des frameworks comme Angular, Vue ou React pour cr�er ce genre d'applications web.Parlons maintenant de Multithread et Single thread !Multithread c'est la capacit� � effectuer plusieurs t�ches en m�me temps, en parall�le et bien s�r Single thread c'est le fait que tu ne t'occupes que d'une t�che � la fois.En gros tu peux repr�senter �a dans ta t�te en imaginant qu'un syst�me multithread a plusieurs petits bonhommes et que tu peux confier � chacun d'eux une t�che et ils travaillent en parall�le, donc au final ton syst�me est multit�che.Alors que le syst�me single thread lui n'a qu'un petit bonhomme et tu peux donc lui confier qu'une seule t�che � la fois.