Soutenez-nous

Développer une application réseau en Java de A à Z


précédentsommairesuivant

I. Cahier des charges

Ce projet est né lorsque je me suis rendu compte qu'à l'université nous ne pouvions pas communiquer par MSN/IRC/Jabber ou autre, j'ai donc décidé de faire un système de Tchat pour que tout le monde puisse se parler aussi bien sur le réseau de l'université qu'ailleurs. J'ai également décidé de développer un site un minimum communautaire autour de ce logiciel de chat afin que tous les élèves puissent partager ce qu'ils veulent et quand ils le veulent et aussi leur faciliter l'accès aux ressources mises à disposition par l'université.
Nous allons donc voir comment le projet a été conçu de A à Z.

I-A. Programme de base

I-A-1. Administration

Le serveur est administré par une ou plusieurs personnes à partir du client, celle-ci peut :

  • créer, supprimer un canal et changer le sujet d'un canal ;
  • ejecter un utilisateur d'un canal et bannir un utilisateur du serveur.

I-A-2. Canal de discussion

Un canal de discussion rassemble plusieurs clients qui discutent tous dans le même espace. Il se distingue par son nom, son sujet et sa liste d'utilisateurs. Seul l'administrateur du serveur peut créer de nouveaux canaux.

I-A-3. Discussions privées (pv)

Si deux utilisateurs souhaitent s'entretenir en dehors d'un canal, le serveur les met en relation directe de façon à ce qu'ils puissent communiquer sans que les messages transitent par celui-ci. L'invitation à une discussion privée peut être déclinée.

I-A-4. Transfert de fichiers

Deux utilisateurs peuvent échanger des fichiers. Pour cela ils ne passent pas par le serveur pour des raisons d'efficacité. De même que pour les discussions privées, un transfert de fichier peut être refusé par l'un des utilisateurs.

I-A-5. Protocole

Nous allons mettre en place un protocole pur texte avec l'encodage UTF-8.

I-A-6. Sécurité

Chaque utilisateur doit être authentifié (login/password) pour pouvoir accéder aux fonctionnalités du serveur. Pour l'authentification, une base de données stockera les identifiants et les mots de passe de chaque utilisateur. L'inscription se fera sur un site web (partie que nous ne verrons pas dans cet article ou bien alors bien plus tard).

I-B. Programme amélioré

Je vais lister ici certaines possibilitées d'amélioration du programme :

  • comptes modérateurs ;
  • la connexion client/serveur est chiffrée à l'aide de SSL/TLS ;
  • émoticônes ;
  • coloration syntaxique ;
  • ajout d'un bot ;
  • canaux de quizz ;
  • ajout de module par scripting ;
  • gestion des status.

précédentsommairesuivant

  

Copyright © 2010-2013 Julien Plu. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.