S_COMMENT


Introduction

S_COMMENT est une application de messagerie IP, permettant la communication intantanée entres machones d'un même réseau. Elle ne nécessite donc ni serveur central, ni service externe. Développée en Python, elle utilise le protocole UDP pour envoyer ds messages de manière simple, directe et légère.


I. Organisation du projet

A) Gestion de projet


Afin de m'organiser sur le plan logitique de mon projet j'ai décidé de m'inspirer de la méthodologie Agile, très largement utilisée dans le monde professionnel actuellement. Pour mettre en place cette méthode, j'ai utilisé l'outil Trello et créé un tableau s'inspirant de cette dernière.

tableau Trello de l'application S_COMMENT
Figure 1 : Tableau Trello de l'application

Cela m’a permis de bien gérer les différentes tâches du projet et de garantir une organisation claire ainsi qu’un suivi précis de son évolution. Concernant le stockage de l’application, chaque version est archivée dans un répertoire numéroté (V0, V1, V2, etc.). À l’intérieur de chaque répertoire principal se trouvent des sous-versions, correspondant aux différentes mises à jour effectuées, et chaque sous-version contient les déclinaisons Windows et Linux de l’application. Cette structure me permet d’avoir une vision complète et chronologique de la progression de S_COMMENT, de comprendre rapidement les modifications apportées à chaque étape, et d’identifier clairement les améliorations à venir.

disposition des différentes versions de l'application
Figure 2 : Répertoires des différentes versions de l'application
disposition des différentes sous versions de l'application
Figure 3 : Répertoires des différentes sous versions de l'application

B) Techologies et outils utilisés


Côté technique, j'ai implémeté l'application en lagage Python, comme évoqué dans l'introduction. Concernant les librairies utilisées les voici listées ci-dessous :

L'outil principal utilisé pour créer l'application a été Docker. Un outil de virtualisation permettant de créer des conteneurs, qui sont des processus isolés concentant tous les fichier nécessaire à son environnement. Du fait que l'application se divise en deux parties, à savoir client et serveur, il m'a donc fallut créer deux conteneurs correspondant aux deux services précédemments évoqués. Pour cela j'ai utilisé des Dockerfiles :

J'ai installé l'outil Docker sur mpn VPS, une machine Debian, à laquelle j'accède via le protocole SSH à l'aide de MobaXterm. De plus, en ce qui concerne les pahses de tests, j'ai utilisé Tmux (terminal multiplexer). Enfin, pour créer les exécutables sur Linux et Windows, j'ai utiliser l'outil Pyinstaller.


II. Fonctionnement technique


L’application S_COMMENT repose sur un principe de communication directe entre deux machines connectées au même réseau local. Elle fonctionne selon une architecture client-serveur, où chaque rôle est défini par la version exécutée sur la machine. Pour établir une communication, il est nécessaire que :

Une fois ces conditions réunies, la machine cliente initie la connexion vers le serveur. Après la mise en relation, les deux applications peuvent échanger des messages en temps réel à travers le protocole UDP. Le serveur reçoit les messages envoyés par le client et peut y répondre instantanément, créant ainsi un canal de communication bidirectionnel simple et efficace. Toutes les conversations sont automatiquement enregistrées dans un fichier nommé "historic.txt", situé dans le répertoire de l’application. Ce fichier permet de conserver un historique complet des échanges et peut être consulté à tout moment pour relire les discussions précédentes.


III. Démonstration


Cette démonstration présente la dernière version de l’application S_COMMENT. Elle montre le fonctionnement en temps réel de la communication entre le client et le serveur au sein d’un même réseau local.

Les fichiers d'historique du client et du serveur sont également présentés, affichant l’intégralité des conversations échangées.Cela permet de visualiser concrètement l’historique des messages et de démontrer le bon fonctionnement du système d’enregistrement automatique.


IV. Améliorations


La version actuelle de S_COMMENT est pleinement fonctionnelle et utilisable dans un réseau local. Cependant, afin d’apporter plus de flexibilité et de pousser plus loin le développement du projet, j’ai réfléchi à plusieurs évolutions. La première, déjà prévue dans le tableau Agile sur Trello, correspond à la version 2 de l’application. Elle intégrera une interface graphique développée avec Tkinter, dans le but de rendre l’utilisation plus intuitive et agréable, sans passer par une console. La version 3, quant à elle, visera à étendre la portée du projet en permettant la communication entre différents réseaux privés. Cette évolution représenterait une étape importante, rendant S_COMMENT plus complet, plus souple et adapté à des environnements réseau variés.


V. Téléchargements


Vous pouvez télécharger la dernière version de S_COMMENT ci-dessous. L’archive contient les exécutables Windows et Linux, ainsi que le fichier généré lors des échanges.


Conclusion


Le projet S_COMMENT m’a permis de concevoir une application de messagerie locale fonctionnelle et indépendante, mettant en pratique mes compétences en programmation réseau, gestion de projet et organisation méthodique des versions. Au-delà de l’aspect technique, il m’a offert l’opportunité de réfléchir à la flexibilité et à l’évolution du projet, avec des améliorations prévues pour rendre l’application plus ergonomique et capable de fonctionner sur des réseaux variés.