cd ../projects
2025-05-21·1 min de lecture

LeChatBoxe : application de chat securisee en CLI

LeChatBoxe est un projet de messagerie instantanee securisee en ligne de commande, developpe en Python avec chiffrement Fernet et algorithme XOR personnalise.

Cybersécurité

A propos

LeChatBoxe est un projet de messagerie instantanee securisee en ligne de commande, developpe en Python. J'ai cree ce projet pour experimenter les sockets reseau et explorer les bases de la securite (chiffrement symetrique et authentification).

L'application repose sur une architecture modulaire :

  • client/ : interface utilisateur en ligne de commande.
  • server/ : serveur TCP qui gere plusieurs clients simultanement.
  • database/ : base SQLite pour les utilisateurs et les messages.
  • security/ : fonctions de chiffrement (Fernet et XOR personnalise).
  • config/ : configuration globale de l'application.

Fonctionnalites

  • Authentification utilisateur (inscription, connexion).
  • Communication en temps reel avec chiffrement :
    • Fernet pour un chiffrement symetrique fort.
    • Une couche XOR personnalisee basee sur le mot de passe utilisateur pour renforcer la securite.
  • Commandes integrees :
    • /users : liste les utilisateurs connectes.
    • /help : affiche les commandes disponibles.
    • exit : quitte le chat.

Architecture reseau

Le serveur ecoute sur une socket TCP et prend en charge plusieurs clients en parallele. Les messages sont chiffres cote client avant envoi et dechiffres cote client a la reception. Cela garantit la confidentialite meme en cas d'interception du trafic reseau.

Objectifs du projet

  • Explorer la programmation socket et comprendre les bases de la communication reseau.
  • Mettre en pratique des concepts de chiffrement dans un projet concret.
  • Apprendre a structurer un projet Python modulaire (client, serveur, securite, base de donnees).

Ameliorations futures

Quelques pistes d'evolution :

  • Ajouter une interface graphique (GUI) ou web pour une meilleure accessibilite.
  • Ameliorer la documentation d'installation et d'utilisation.
  • Mettre en place des tests automatises pour valider les fonctionnalites principales.

Cloner le projet

git clone https://github.com/Telooss/LeChatBoxe.git

Lancer le serveur et le client

cd LeChatBoxe/server ; python3 server.py
cd LeChatBoxe/client ; python3 client.py

Conclusion

Ce projet m'a permis de mieux comprendre la mise en place de sockets TCP, la gestion d'echanges securises (chiffrement/dechiffrement), et l'importance d'une architecture modulaire. C'est une base solide pour aller plus loin sur la communication securisee.