# WebSocket ↔ Minitel GUI Interface graphique Python permettant de connecter un **Minitel (ou émulateur)** via un **port série** à un **serveur WebSocket** (MiniPAVI, BBS, etc.). L’application assure une communication bidirectionnelle : - WebSocket → Minitel - Minitel → WebSocket Elle est compatible **Windows, Linux et macOS**. --- ## Fonctionnalités - Interface graphique Tkinter simple - Détection automatique des ports série - Paramétrage complet : - Vitesse (baudrate) - Parité - Bits de données - Bits de stop - Liste de serveurs WebSocket prédéfinis - Support `ws://` et `wss://` - Journalisation en temps réel - Gestion asynchrone (WebSocket + Série) --- ## Prérequis - **Python 3.14** (ou ≥ 3.10 recommandé) - Un Minitel réel ou un émulateur série - Accès à un serveur WebSocket Minitel --- ## Installation ### 1. Cloner le projet ```bash git clone https://github.com/labbej27websocket-minitel.git cd websocket-minitel ``` - Créer un environnement virtuel (recommandé) ```bash python3.14 -m venv venv ``` ### 2. Activation : Windows ```bash venv\Scripts\activate ``` Linux / macOS ```bash source venv/bin/activate ``` ### 4. Installer les dépendances ```bash pip install -r requirements.txt ``` ### 5. Lancement du programme ```bash python websocket_minitel.py pip install -r requirements.txt ``` Une fenêtre graphique s’ouvre permettant de configurer et lancer la connexion. ## Compilation en exécutable La compilation permet d’obtenir un binaire autonome (sans Python requis). Outil utilisé PyInstaller ### Installation : ```bash pip install pyinstaller ``` ### Compilation Windows ```bash pyinstaller ^ --onefile ^ --windowed ^ --name websocket-minitel ^ websocket_minitel.py ``` ### Résultat : - dist/websocket-minitel.exe ### Compilation Linux ```bash pyinstaller \ --onefile \ --windowed \ --name websocket-minitel \ websocket_minitel.py ``` ### Résultat : - dist/websocket-minitel - ### L’exécutable est spécifique à l’OS : - Un .exe Windows doit être compilé sous Windows, idem pour Linux/macOS. ## Compilation macOS ```bash pyinstaller \ --onefile \ --windowed \ --name websocket-minitel \ websocket_minitel.py ``` ### Résultat : - dist/websocket-minitel.app #### Note macOS (SSL) : - Le script utilise un contexte SSL non vérifié pour éviter certains problèmes de certificats (wss://) sur macOS. #### Ports série – Permissions - Linux Ajouter l’utilisateur au groupe dialout : ```bash sudo usermod -a -G dialout $USER ``` Puis redémarrer la session. #### macOS Autoriser l’accès au port série dans : -Réglages → Sécurité et confidentialité → Confidentialité → Accès complet au disque ### Serveurs WebSocket intégrés - MiniPAVI (officiel) - Hacker - Annuaire - 3615 - Retrocampus - LABBEJ27 - Saisie manuelle ### Dépannage - Vérifier le port série sélectionné - Vérifier la vitesse (souvent 1200 bauds pour Minitel) - Tester sans SSL (ws://) si possible - Lancer depuis un terminal pour voir les erreurs ## Licence Projet libre – utilisation et modification autorisées. Ce projet a été développé à des fins personnelles et éducatives, en s’inspirant de projets existants de la communauté Minitel. ## Crédits / Sources Ce projet s’appuie sur et s’inspire des travaux suivants : - **websocket2minitel** par @cquest https://github.com/cquest/websocket2minitel ---