salut,
il ne serai pas mieux que tu attaches un compteur de modification pour chacun des fichiers ?
A chaque modif le client ou le serveur incremente son compteur. Ainsi, sur eg un echange S/C, le serveur demande au client son fichier avec en plus le dernier num. de modif. qu'il connait du client ; si le num mod. du client a evolue, il passe le nouveau num + fichier au serveur, sinon rien (ou un simple OK).
Idem dans le sens C/S.
Tu pourrais ensuite broder sur des classes de modifs et non + un simple compteur mais un ensemble de compteurs.
C'est sans doute assez dans l'esprit d'un exo systemes distribues.
Sinon, voir du cote des horloges logiques (Lamport, Fidge & co).