+-------------------------------+
| COMMENT LANCER CE PROGRAMME ? |
+-------------------------------+

Nous supposons que le répertoire courant est celui sur lequel se trouve le fichier BackThunderBird.jar.

Version de la librairie (.jar) : 1.0.0

La librairie contient les programmes :
  - BackThunderBird version 1.0.0 (archivage des courriels Thunderbird)


BackThunderBird :
---------------
Ce programme permet d'archiver individuellement les courriels contenus par les fichiers MBOX situés sous une arborescence du
client de messagerie en source libre Thunderbird.

Le programme est lancé depuis la ligne de commande :
    java -jar BackThunderBird.jar eu.piapplications.backthunderbird.Program 
        -summary | -source={nom du répertoire Thunderbird contenant les fichiers MBOX dont les courriels doivent être extraits}  \
        -target={répertoire de dépôt des courriles archivés individuellement}

Ce programme réalise la sauvegarde des courriels stockés par Thunderbird.
Cette application place les courriels dans des fichiers de type MBOX sous le sous-répertoire 
~/.thunderbird/{ID client}.default/Mail.
Chaque boîte aux lettres dispose de son propre sous-répertoire sous ce dernier.


Pour la fonction "archivage" :
----------------------------
Il faut passer au programme le sous-répertoire du ou des comptes à sauvegarder (paramètre -source).
Le programme considère alors que chaque fichier sans extension et non vide sous ce répertoire et un fichier de courriels à
exploiter.
Pour cela, il ajoute à une arborescence existante dont la racine et transmise (paramètre -target) les nouveaux répertoires trouvés.
Il extrait ensuite chaque courriel et vérifie si son code SHA256 n'existe pas déjà dans les fichiers sauvegardés (fichier sommaire 
créé sur la racine de la cible et nommé .thunderbird.csv).
Si le code SHA256 du courriel nouvellement lu existe dans le fichier sommaire, on considère que ce courriel est déjà archivé et il 
est donc ignoré (unicité du code SHA256).
Chaque message est repéré par un entier unique qui sert de nom au fichier EML qui le contient.
Chaque entrée du ficher sommaire contient l'identifiant du message, son CRC (code SHA256) et le nom complet du répertoire qui
supporte le fichier ou le lien symbolique.
Le rôle de ce fichier "sommaire" est de faciliter la fusion des fichiers courriel entre deux archivages.
Au lancement le programme vérifie si le fichier sommaire (.thunderbird.csv) existe sur le répertoire pointé par la paramètre
-target.
S'il n'existe pas, il le créé automatiquement.
Il charge ensuite en mémoire le sommaire et détermine le prochain entier d'identification à affecter.
Il procède alors au parcours du répertoire Thunderbird est exploite les fichiers MBOX trouvés.
Si les paramètres -summary et -target existent, le programme reconstruit le fichier sommaire à partir des fichiers courriels
existants sous le répertoire référencé par -target.


Pour la fonction "reconstruction du sommaire" :
---------------------------------------------
Il faut passer au programme le sous-répertoire de dépôt des courriels archivés (paramètre -target).
Le programme analyse alors ce répertoire et ses sous-répertoires.
Il calcule pour chaque courriel son code SHA256, récupère son identifiant unique (depuis son nom de fichier) et ajoute une entrée
au "sommaire".
Lorsque tous les courriels ont été balayés le sommaire (fichier .thunderbird.csv) est écrit sur la racine du dépôt des courriels
archivés.


Remarque :
--------
  - Les courriels sont archivés avec leur pièce(s) jointe(s).
  - Si le paramètre -target est totalement distinct du répertoire Thunderbird (chaudement recommandé), il n'y a aucun risque 
    d'effacement accidentel d'un fichier Thunderbird (le programme se contente de "lire" les fichiers).


Synthèse des paramètres :
-----------------------

+----------+---------------------------------------------------------------+
| -source  | Répertoire racine des fichiers MBOX Thunderbird à sauvegarder |
| -target  | Répertoire racine de dépôt des archives de couriel            |
+----------+---------------------------------------------------------------+
| -summary | Demande de reconstruction du fichier "sommaire"               |
| -target  | Répertoire racine de dépôt des archives de couriel            |
+----------+---------------------------------------------------------------+
