Ce projet a été développé avec Voutouz durant l'été entre la classe de première et de terminale. L'idée était de pouvoir s'envoyer des messages à travers une application faite par nous-mêmes. Ainsi est né OnlineChat ! De nombreuses versions ont été créées au fil du temps, celle-ci étant la plus aboutie de nos efforts.
- Chat en temps réel : Communication instantanée entre utilisateurs grâce à WebSockets
- Authentification : Système de login simple avec mot de passe
- Serveurs multiples : Accès à différents canaux de chat facile à déployer. (Général, Lycée, etc.)
- Suivi des utilisateurs : Affichage du nombre de membres connectés
- Interface responsive : Design moderne
- Horodatage : Chaque message inclut l'heure et la zone horaire
- Python 3.7+
- pip (gestionnaire de paquets Python)
-
Clonez ou téléchargez le projet
-
Installez les dépendances
pip install flask flask-socketio python-socketio python-engineio
-
Générez les certificats SSL
openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365
ou
"C:\Program Files\OpenSSL-Win64\bin\openssl" req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365
🔗 Lien d’installation d’OpenSSL sous Windows : https://slproweb.com/products/Win32OpenSSL.html
-
Lancez l'application
python app.py
-
Accédez à l'application
- Ouvrez votre navigateur et allez à
https://localhost:5001
- Ouvrez votre navigateur et allez à
- Mot de passe :
pass
- Connexion : Entrez le mot de passe sur la page de login
- Navigation : Choisissez un serveur depuis la page d'accueil
- Envoi de messages : Tapez votre message et appuyez sur Entrée ou cliquez sur l'icône d'envoi
- Déconnexion : Cliquez sur le bouton "Se déconnecter"
- Backend : Flask avec Flask-SocketIO pour WebSockets
- Frontend : HTML5, CSS3, Bootstrap 4
- Communication : Socket.IO pour la transmission en temps réel
- Sécurité : Sessions Flask, HTTPS avec certificats SSL
- Les messages incluent automatiquement l'heure et la zone horaire
- Le compteur de membres connectés se met à jour en temps réel
- Le chat utilise le broadcast pour que tous les utilisateurs reçoivent les messages
- Cette application utilise un certificat SSL auto-signé pour le développement local
- Le mot de passe est stocké en dur dans le code (à usage développement uniquement)


