Pseudo-code

Connexion au serveur

Lire le fichier .ini pour le chemin côté serveur
Si le fichier est non présent ou le fichier .ini est vide
 - demander au client le chemin
 - créer/écrire le fichier

Obtenir la liste des fichiers côté client
Déposé dans une liste chainée

Demander la liste des fichiers au serveur
Serveur envoit la liste

Pour chaque fichier du serveur
 Comparer le nom
 Si identique avec fichier local
    - Demander l'empreinte MD5 au serveur
    - Calculer l'empreinte MD5 du fichier local
    - Comparer les empreintes
    - Si non identique
         - Télécharger le fichier
 Sinon
  - Télécharger le fichier
Remercier l'utilisateur pour sa patience...
Déconnexion au serveur


Serveur:
 - recoit les appels du client
 - envoit la liste des fichiers
 - calcule les empreintes
 - envoit la liste des empreintes

Répartition

1. Empreinte [David Simard]
2. Liste des fichiers et envoie de la liste (udp?) [Yan Morin]
3. Envoie des fichiers
4. Envoie des clés MD5.

Établir en mono-thread
Rendre multi-thread après