• Aucun résultat trouvé

Partiel JD dur´ee 3h (documents autoris´es) R´eseau social

N/A
N/A
Protected

Academic year: 2022

Partager "Partiel JD dur´ee 3h (documents autoris´es) R´eseau social"

Copied!
2
0
0

Texte intégral

(1)

Institut Galil´ee Java Distribu´e

M1 Informatique 2016 – 2017

Partiel JD dur´ ee 3h (documents autoris´ es) R´ eseau social

L’objet de ce probl`eme est de cr´eer une application java qui analyse des donn´ees d’un r´eseau social. Les donn´ees du r´eseau social sont de 2 types : message et commentaire. Un message initie un fil de discussion, un commentaire commente un message ou un commentaire.

— Unmessageest d´efini par les informations suivantes :

— date : date du message

— idMessage : est l’identifiant (unique) du message (entier)

— idUser : est l’identifiant (unique) de l’utilisateur (entier)

— message : est le contenu du message (chaˆıne de caract`eres)

— user : est le nom de l’utilisateur (chaˆıne de caract`eres)

— Uncommentaireest d´efini par les informations suivantes :

— date : date du commentaire

— idCommentaire : est l’identifiant (unique) du commentaire (entier)

— idUser : est l’identifiant (unique) de l’utilisateur (entier)

— commentaire : est le contenu du commentaire (chaˆıne de caract`eres)

— user : est le nom de l’utilisateur (chaˆıne de caract`eres)

— pidCommentaire : est l’identifiant du commentaire que ce commentaire commente (-1 s’il s’agit d’un com- mentaire `a un message)

— pidMessage : est l’identifiant du message que ce commentaire commente (-1 s’il s’agit d’un commentaire `a un commentaire)

L’objectif est de cr´eer un serveur qui calcule en continu les 3 messages post´es qui ont les meilleures valeurs d’importance. La valeur d’importance est un entier qui d´etermine l’importance (ou la pertinence, l’actualit´e, ...) d’un fil de discussion (chaque nouveau message initie un nouveau fil de discussion). Plus la valeur est grande, plus le message est consid´er´e comme important. La valeur d’importance d’un message post´e est calcul´ee comme la somme de son score et des scores des commentaires associ´es. Un commentaire est associ´e `a un message post´e s’il s’agit d’une r´eponse au message ou le commentaire d’un commentaire associ´e au message post´e.

Un score est un entier positif ou nul. Chaque message ou commentaire post´e a un score initial de 20, qui d´ecroit de 1 `a chaque nouvelle donn´ee (nouveau message ou nouveau commentaire). Si le score total d’un message atteint 0 alors ce message est consid´er´e inactif, mˆeme si d’autres commentaires lui sont ensuite associ´ees. Seuls les messages actifs peuvent ˆetre parmi les 3 meilleurs.

Le serveur est cens´e ˆetre connect´e `a un r´eseau social et recevoir de lui les messages et commentaires. Pour notre simulation, le serveur va lire les donn´ees dans un fichier.

1. Cr´eer les deux classes Commentaireet Message.

2. Cr´eer un serveur qui doit effectuer les op´erations suivantes :

(a) Un thread lit du fichierreseauSocial.txtles messages et commentaires et calcule en continu les 3 meilleurs messages post´es (ceux qui ont les plus grandes valeurs d’importance). Une ligne du fichier (un message ou un commentaire) sera lue chaque seconde.

(b) Un pool de threads sert `a r´epondre aux clients. Si un client se connecte, le serveur envoie au client les 3 messages post´es qui ont les meilleures valeurs d’importance (au moment o`u le client se connecte) sous la forme suivante :

idMessage|idUser|idMessage|idUser|idMessage|idUser

3. Modifier le serveur pour que le thread qui lit les donn´ees et calcule les messages de meilleures valeurs d’im- portance puisse ˆetre sur une autre machine virtuelle que les threads qui r´epondent aux clients (on utilisera le m´ecanisme RMI).

4. Modifier le serveur de telle sorte que la lecture des fichiers de donn´ees se fassent via un gestionnaire de protocoles.

5. Modifier le serveur pour que l’envoi des r´esultats se fasse dans un format XML.

Questions optionnelles (plus plus de r´ealisme) :

1

(2)

a. Le score d´ecroˆıt de 1 chaque 30s et non `a chaque lecture d’une ligne du fichier.

b. La lecture d’une ligne du fichier se fait apr`es un temps al´eatoire compris entre 1 et 3s.

Le fichier reseauSocial.txtcontient des donn´ees qui peuvent vous servir `a tester l’application. Une ligne est un enregistrement, soit de message, soit de commentaire, donc dans l’un des formats suivants :

idMessage|idUser|message|user||

idCommentaire|idUser|commentaire|user|pidCommentaire|

idCommentaire|idUser|commentaire|user||pidMessage

2

Références

Documents relatifs

On se place dans un plan affine. On se place dans un plan affine euclidien. On se place dans un plan affine euclidien P. D´ eduire de c) que ces trois droites sont concourantes.. e)

Partiel d’analyse num´ erique.. Aucun document n’est

Ce compte est ensuite aliment´ e par des versements mensuels de 200 euros le premier jour de chaque mois entre le f´ evrier et le juin 2010 (soit 5 versements).. Soient D le

Soient γ une courbe lisse ferm´ ee dans le plan xy et D le domaine d´ elimit´ e par γ.. Quelles conditions cela impose sur les coefficients de Fourier {c n } et {d

A chaque op´ eration sur les ´ equations d’un syst` eme ou sur les lignes ou colonnes d’une matrice, on indiquera explicitement sur la copie quelle op´ eration est

Les calculatrices sont autoris´ ees ` a condition d’ˆ etre de type coll` ege, c’est-` a-dire non graphiques, non program- mables et essentiellement sans m´ emoire. Toute r´

Les calculatrices sont autoris´ ees ` a condition d’ˆ etre de type coll` ege, c’est-` a-dire non graphiques, non program- mables et essentiellement sans m´ emoire.. Toute r´

Pour chacun de ces ´etonnements, vous prenez un air sup´erieur et vous commencez par ”C’est pourtant simple, ....” et vous expliquez et donnez des exemples.. Choisissez 3