Retour au blog

Creer un Chat Simple avec Socket.IO et Node.js

Salut HaWkers ! Dans ce tutoriel, nous allons creer un chat en temps reel en utilisant Socket.IO et Node.js. Socket.IO est une bibliotheque qui permet une communication en temps reel, bidirectionnelle et basee sur des evenements entre le navigateur et le serveur.

Preparation de l'Environnement

Pour commencer, assurez-vous d'avoir Node.js et npm installes sur votre systeme. Si vous ne les avez pas, vous pouvez telecharger Node.js ici. Apres l'installation, vous pouvez installer Socket.IO avec la commande suivante :

npm install socket.io

Configuration du Serveur

Commencons par creer un serveur HTTP simple en Node.js. Ensuite, nous allons configurer Socket.IO pour utiliser ce serveur :

const express = require('express');
const http = require('http');
const socketIo = require('socket.io');

const app = express();
const server = http.createServer(app);
const io = socketIo(server);

app.get('/', (req, res) => {
  res.sendFile(__dirname + '/index.html');
});

io.on('connection', socket => {
  console.log('Un utilisateur s\'est connecte');
});

server.listen(3000, () => {
  console.log('Serveur ecoute sur le port 3000');
});

Creation de l'Interface Utilisateur

Maintenant, creons une interface utilisateur simple pour notre chat. Dans le fichier index.html, nous allons ajouter un formulaire pour envoyer des messages et une zone pour afficher les messages recus :

<!DOCTYPE html>
<html>
  <body>
    <ul id="messages"></ul>
    <form action="">
      <input id="m" autocomplete="off" /><button>Envoyer</button>
    </form>
    <script src="/socket.io/socket.io.js"></script>
    <script>
      const socket = io();
      document.querySelector('form').addEventListener('submit', event => {
        event.preventDefault();
        const input = document.getElementById('m');
        socket.emit('chat message', input.value);
        input.value = '';
      });
      socket.on('chat message', msg => {
        const item = document.createElement('li');
        item.textContent = msg;
        document.getElementById('messages').appendChild(item);
      });
    </script>
  </body>
</html>

Finalisation du Chat

Maintenant, retournons a notre serveur et ajoutons le code pour recevoir et envoyer des messages :

io.on('connection', socket => {
  console.log('Un utilisateur s\'est connecte');
  socket.on('chat message', msg => {
    io.emit('chat message', msg);
  });
});

Conclusion

Felicitations ! Vous avez cree un chat en temps reel basique avec Socket.IO et Node.js. C'est un excellent point de depart pour la creation d'applications plus complexes en temps reel !

Pour continuer a ameliorer vos competences en Node.js et Socket.IO, consultez l'article sur Dechiffrer les APIs RESTful : La Cle pour une Communication Efficace entre Applications.

C'est parti !

Commentaires (0)

Cet article n'a pas encore de commentaires. Soyez le premier!

Ajouter des commentaires