Skip to content

Projet de classe du module Programmation Concurrentielle et Réseau, une application E-Learning avec des classes virtuelles, dans chaque classe l'utilisateur peut envoyer des messages et des fichiers et dessiner dans un tableau partagé...

License

Notifications You must be signed in to change notification settings

ab-talbi/e-learning-app-rmi

Repository files navigation

Projet de E-Learning avec java RMI et javaFx

Le projet se décompose en trois parties

Partie Serveur

Dans cette partie de serveur, il y a deux interfaces Remote, une pour les utilisateurs, et une autre pour les méthodes de l'administrateur, et une class Serveur qui implemente les deux interfaces.
La class Serveur a comme attribut une liste de session, cette derniere est utilisée pour enregistrer les utilisateurs connectés avec ses interfaces.

Pour la base de donnees :

nom : rmi-e-learning-db

 DB_URL = "jdbc:mysql://localhost:3310/rmi-e-learning-db";

Ici le port c'est 3310, si vous voulez le changer vous pouvez trouver cette ligne dans la classe Serveur du package serveur, ligne 20.

Il y a deux tables, une table pour les classes, et une pour les utilisateurs
Voilà des utilisateurs :

nom d'utilisateur mot de passe
admin admin
prof1 prof1
ahmed ahmed
ayoub ayoub

Partie Administrateur

Dans cette partie, le package admin, a sa propre interface graphique, apres login, l'admin a le droit de créer une classe et lui associe un professeur, il peut aussi créer un utilisateur (Etudiant, Admin, ou un Professeur).
Pour l'étudiant il faut lui associe une classe par défaut durant sa création.
image
image

Partie Utilisateur

Cette partie utilisateur est pour les professeurs et les étudiants, et ils sont séparés par le role, le professeur a des droits que l'étudiant n'a pas.
Exemple : le professeur peut interdir les étudiants de dessiner dans le tableau blanc, et il peut aussi partager des fichiers dans la zone de partage.
Les étudiants/professeurs peuvent envoyer des messages et des fichiers dans les discussions, soit du groupe ou privée.

Dans ce package on trouve une interface qui contients des méthodes Remote, ils sont utilisée par Le Serveur. UtilisateurChatController implemente cette interface.

Lancer un utilisateur et se connecter :

image

Maintenant nous somme dans la classe1
Il ya 4 zone :

  • Zone pour afficher les utilisateurs connectés, et lutilisateur peut sélectionner un autre utilisateur de la liste pour l'envoyer un message privé.
  • Zone pour les discussions, soit du groupe ou privé, on peut envoyer soit un message ou un fichier dans la discussion on a choisi.
  • Zone pour partage des fichiers, seulement le prof a le droit de diposer un fichier dans cette zone, et le autres utilisateurs (étudiants) peuvent les télechargers
  • Zone pour le tableau blanc, ici tous le monde peut dessiner, mais toujours le prof a le droit d'interdir les étudiant à dessiner ou à supprimer les dessins.



Espace du prof1 dans la classe "classe1" image

Espace du ahmed dans la meme classe "classe1" image

Ici, les utilisateurs connectés, sont seulement prof1, et létudiant ahmed.
Pour la discussion (c'est une discussion de groupe, puisque l'utilidateur ahmed ou prof n'est pas sélectionné).
Pour le tableau blanc, le prof a dessiner 'bon' en noir et ahmed a dissiné 'jour' en bleu.
Pour la zone de partagé, le prof a partagé deux fichiers, EmploisDuTempsIRISI 2022-2023 S4.pdf et IMG_1025.png, et l'étudiant peut clicker droit sur le fichier et puie clicker sur télecharger, et choisir le chemin pour enregistrer le fichier.


Maintenant pour les discussions privés, on sélectionne l'utilisateur avec "CTRL + click", et la meme chose pour le déselectionner.


Ahmed a envoyer au prof1 un message 'voila mon devoir monsieur' et puie il a envoyé un fichier 'SendAssetForm.vue' image

Maintenant prof1 a recoit le message avec le ficher, et peut télecharger le fichier. image

Réalisé par : TALBI AYOUB

About

Projet de classe du module Programmation Concurrentielle et Réseau, une application E-Learning avec des classes virtuelles, dans chaque classe l'utilisateur peut envoyer des messages et des fichiers et dessiner dans un tableau partagé...

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages