Bonjour,
L'objectif de l'application que je dois créer est de partager des textes courts sur des sujets précis dans un mode d'égal à égal ( pair à pair). Il peut s'agir de recettes de cuisines, de listes de magasins, de sites web proposant un produit particulier...
Un texte peut être annoté par des mots clés libres. Les utilisateurs peuvent retrouver tous les textes annotés par le même mot clé.
Les utilisateurs sont authentifiés (je n'ai aucune idée de la façon dont on fait ça...), leurs textes son soit publics soit privés soit privés à destination d'un groupe (liste d'utilisateurs). Les textes peuvent être modifiés mais un contributeur ne peux pas modifier les autorisations d'accèes au texte. On doit pouvoir visualiser les différentes versions d'un même texte et les contributeurs.
L'application comporte deux parties :
-une partie client utilisee par les utilisateurs du systeme pour annoter et rechercher des ressources ;
-une partie serveur pour partager les textes, les annotations et eectuer les recherches.
Partie client :
Chaque utilisateur possede un login et mot de passe sur le systeme, il peut ecrire un texte (par exemple en HTML avec des liens), et l'annoter d'une serie de mots cle. La liste des annotations déjà utilisées est diffusée et mise a jour.
Tout utilisateur du système (authentifié ou non) peut rechercher des textes en specifiant une liste de mots clés, ou un utilisateur. La liste des textes repondant a la requête doit être affichée de manière ordonnée (le choix de la fonction d'ordre est libre). Il doit également être possible de visualiser les annotations définies sur un texte et de les exploiter pour naviguer d'un texte à un autre.
Partie serveur :
La partie serveur concerne le stockage des textes et des annotations associées. Tous les textes ne sont pas dupliqués partout. Chacun machine possède une partie de l'ensemble et chaque texte est dupliqué un certain nombre de fois (seuil a définir a la configuration du programme). Une machine connaît quelques autres machines et de manière transitive peut obtenir toute la liste des machines participantes. Pour stocker et rechercher les textes et leurs annotations vous devrez utiliser des tables de hachage distribuées (DHT).
Merci d'avance si quelqu'un peut m'aider...
C.