Benicol / saeS3GestionNotes

1 stars 0 forks source link

Partager la configuration de l'application entre 2 machines #1

Open UgoSchardt opened 1 year ago

UgoSchardt commented 1 year ago
NoahMiquel commented 1 year ago

L’objectif de cette fonctionnalité est de permettre à des étudiants de partager les informations de paramétrage déjà renseignées dans l’application et d’éviter ainsi à certains d’entre eux une tâche fastidieuse.

Plus précisément, supposons qu’un étudiant ait importé le fichier de paramétrage décrivant les modalités de calculs des résultats du semestre, donc celles décrites dans le programme national. Supposons qu’il ait également saisi dans l’application une partie ou toutes les modalités d’évaluation pour les ressources du semestre, donc celles fournies par les enseignants. Supposons que, par contre, un deuxième étudiant n’ait pas encore totalement effectué le paramétrage sur son application. Via l’application, le premier étudiant doit pouvoir envoyer les paramétrages renseignés en direction de l’application « Gestion de notes » en cours de fonctionnement sur un ordinateur distant. Le deuxième étudiant pourra ainsi très facilement paramétrer son application.

L’envoi du paramétrage se fera en 2 temps : envoi du fichier avec les modalités du programme national et envoi du fichier avec les modalités fournies par les enseignants. Bien sûr, il sera possible d’envoyer un seul des 2 fichiers.

L’exportation se fera dans un fichier, au format csv par exemple. Pour ce faire l’application devra au préalable se relier à un ordinateur distant jouant le rôle de client, et sur lequel l’application « Gestion des notes » aura été lancée. Une fois la connexion entre les deux ordinateurs établie, le paramétrage sera envoyé de manière cryptée vers la machine distante.

Le fichier envoyé sera crypté en utilisant un algorithme de chiffrement symétrique : le chiffrement de Vigenère. Dans un premier temps, le partage de la clé de chiffrement se fera directement « en clair », par exemple par l’envoi d’un fichier au format texte contenant la clé à l’ordinateur distant. Dans un deuxième temps, l’échange de Diffie-Hellman permettra aux deux ordinateurs distants de partager une donnée secrète. Et la clé de chiffrement sera construite à partir de cette donnée secrète.

Sur la machine cliente, lors de l’importation des vérifications devront être faites : format du fichier, vérification de la cohérence des informations importées avec celles qui existent déjà dans l’application... On adoptera la politique suivante :

Si le fichier transmis contient des informations qui n’existaient pas encore dans l’application cliente, celles-ci seront ajoutées Si le fichier transmis contient des informations identiques à celles de l’application cliente, on considère qu’il ne s’agit pas d’une erreur. Les informations du fichier seront ignorées. Eventuellement, l’utilisateur sera prévenu. Si par contre, il y a des conflits entre les informations du fichier transmis et celles déjà renseignées, on considère que l’importation globalement doit échouer. L’utilisateur sera informé. Précisions On suppose que :

l'échange de fichier n'est possible qu'entre 2 appareils à la fois les 2 appareils sont préalablement intégrés à un réseau (en particulier, disposent d'une IP) l'application dispose d'un bouton permettant d'afficher l'IP de l'appareil Contraintes techniques utiliser des sockets Java en mode connecté avec les classes Socket et ServerSocket une connexion par échange de fichier, arrêtée automatiquement à la fin de l'échange