*** Begin of LISEZMOI file, Version 1.0.7 ***
 
  "truc & untruc" scripts allow you to send and receive big files or 
  directories using e-mail.
  Copyright 1994-1998 - David Segonds
 
  Version 1.0.7, last modification: 15 Oct 98
  Contact: segonds@ensg.u-nancy.fr
  URL: http://www.ensg.u-nancy.fr/~segonds/truc
 
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
 
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
 
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

1.0 Introduction
================

Les composantes principales de ce paquet sont "truc" et "untruc", deux scripts
crits en Bourne Shell. Ils facilitent le transfert de gros fichiers ou de
rpertoires au travers du courrier lectronique. Les fichiers sont dcoups en
messages de courrier lectronique avant transmission, puis automatiquement
reconstruits aprs reception.

Je n'ai pas pu mettre la main sur des scripts me permettant de transfrer de
grands fichiers binaires par courrier lectronique sans avoir  se soucier de
tar, uuencode etc., donc j'ai crit truc et untruc. Je suis sr que ces scripts
ne sont pas parfaits, mais ils m'ont dj beaucoup aid.

truc encapsule donc les commandes unix tar, gzip (ou compress), uuencode,
split, mail pour envoyer de gros fichiers par le courrier lectronique. untruc
utilise les commandes csplit, cat, uudecode, gunzip, tar de manire  restaurer
les fichiers  l'autre bout.

 la reception, les messages doivent tre concatns en un gros fichier qu'il
suffira de faire interprter au shell ("sh lefichier").

Ces scripts ont t tests sous Linux, IRIX et HP-UX. Merci de m'envoyer un
message si vous les avez tests sur une autre plate-forme ou s'ils ne
fonctionnent pas sous un des Unix que j'ai cits ici. Je suis aussi intress
par des corrections et des suggestions. Ces scripts ne fonctionneront _jamais_
pour MS-CROTTE ou Windaube.

Ces scripts ont t ecrits en /bin/sh de manire  pouvoir fonctionner sans
compilation sur autant de machines unix que possible.

Note : Je n'ai pas utilis Perl car l'interprteur ncessaire ne fait pas
partie de toutes les distributions unix.

2.0 Installation
================

Copier simplement truc & untruc dans un rpertoire prsent dans votre variable
d'environnement $PATH.

3.0 Comment envoyer des fichiers  travers le courrier lectronique
===================================================================

Disons que vous avez un fichier nomm 'toto' que vous voulez envoyer  votre
ami jean@paradis.fr, vous devez simplement taper :

truc jean@paradis.fr toto

truc compressera, uuencodera, dcoupera automatiquement en blocs de 90
Ko votre fichier et enverra le tout  jean@paradis.fr

Quand Jean recevra ces messages, il lui suffira de les sauver dans un
<fichier>. En tapant 'sh <fichier>' ou 'untruc <fichier>' (s'il a dj en sa
possession), le fichier toto sera reconstruit.

4.0 Options de truc (en anglais pour une part)
==============================================

usage: truc [-h] [-t val] [-l val] [[-p ext]...] [-report] [-r e-mail] [-m] 
            [-n] [-v] [-d] [-q] [-z] [-bz] [-bz2] [-x] e-mail[,...] <file|dir> 

truc offre les options suivantes :

-h        : Get this help
-t val    : Sleep val seconds between each packet sent (default=30)
-l val    : value is the maximum number of lines for a packet
            (default 1500 lines, this is about 90 Kb per packet)
-k val    : value is the maximum size of a packet in Kb (default 90 Kb)
-p val    : Will mail only the specified packet (1, 2, 3, etc.)
            you can have more than one -p option in the command line.
            Warning: This option is not working when sending directories.
-report   : Will mail a report (default=no report mailed)
-r e-mail : Will mail a receipt to e-mail upon 'untruc' completion.
-m        : Will prompt the user for a mail to be sent with the packages
-n        : Seems to do all the job BUT doesn't send anything
-v        : Turn on verbose mode
-d        : Turn on debug mode
-q        : Send will be totally quiet (no message displayed)
-z        : Force the use of compress instead of gzip
-bz       : Force the use of bzip as compressor
-bz2      : Force the use of bzip2 as compressor
-x        : Upon reception, contents will be extracted as far as possible.
e-mail    : E-mail address were you want to mail your file or directory.
            You can provide more than one address if you separate then
            by a comma
file|dir  : Name of the file or directory you want to send

En fonction du type de fichier et de l'extension de son nom, seulement
certaines oprations se drouleront lors du fonctionnement de truc :

+------------+-----+---------------+----------+
|            | tar |    compress   | uuencode |
+------------+-----+---------------+----------+
| rpertoire |  X  |       X       |    X     |
| .*         |  X  |       X       |    X     |
| .tar       |     |       X       |    X     |
| .gz        |     |               |    X     |
| .bz        |     |               |    X     |
| .bz2       |     |               |    X     |
| .taz       |     |               |    X     |
| .tgz       |     |               |    X     |
| .Z         |     |               |    X     |
| .cr        |     |               |    X     |
| .crypt     |     |               |    X     |
| .uu        |     |               |          |
+------------+-----+---------------+----------+

truc recherche la commande 'gzip' et si celle-ci est introuvable,
utilisera la commande 'compress'. Le drapeau -z forcera l'utilisation de
compress mme si gzip est prsent.

Vous pouvez mettre vos options favorites dans le fichier $HOME/.trucrc. Par
exemple, mon fichier $HOME/.trucrc contient la ligne suivante: '-v -k 1000 -t
2'. Seule la premire ligne du fichier $HOME/.trucrc est interprte au
dmarrage de truc. Ces options par dfaut sont crases par les options donnes
sur la ligne de commande.

5.0 Les options de untruc (partiellement en anglais)
====================================================

usage: untruc [-h] [-x] [-v] [-d] [-q] [-r {yes|no} ] filename [filename2 ...]

untruc possde les options suivantes :

-h       : Get this help
-x       : To extract as far as possible the content of the received file
           (i.e., .gz will be gunzipped, .tar untarred, etc.)
-v       : Verbose
-d       : Debug (Will print some debug message)
-q       : untruc will be totally quiet (no output message)
-r yes   : If sender ask for a receipt, it will be automatically sent.
-r no    : No receipt will be sent in any case.
filename : Files to process (at least one)

Aprs avoir reu tous les morceaux dans votre bote aux lettres, vous devez les
sauver dans un ou plusieurs fichiers et 'appliquer' /bin/sh sur ces fichiers.
L'ordre dans lequel vous sauvez les fichiers est sans importance. Vous n'avez
pas besoin d'appeller untruc directement, mais vous pouvez l'utilisez en lieu
et place de /bin/sh.

Le nombre de morceaux sauvs dans chaque fichier ne peut excder 99. Si votre
transfert a t dcoup en plus de 99 morceaux, sauvez-les dans plus d'un
fichier. Cette limitation est de  la commande csplit. Le csplit de GNU
possde une option pour contourner ce problme, mais tout le monde ne l'utilise
pas :-)

L'option -x permet d'extraire les fichier reus. Par exemple, si vous recevez
un fichier .tar.gz, untruc utilisera 'gunzip' et 'untar' dessus.

-x utilise les extensions sur les noms de fichiers pour fonctionner. Vous
trouverez ci-dessous la commande applique  chacun des types de fichiers.

*.gz         : gzip -d
*.bz         : bzip -d
*.bz2        : bzip2 -d
*.Z          : uncompress
*.cr *.crypt : crypt
*.pgp        : pgp
*.tar        : tar xf

untruc peut galement tre utilis sur un fichier uuencod classique. C'est
utile lorsque vous voulez extraire en une seule passe le contenu d'un fichier
.tar.gz.uu (voir option -x ci-dessus).

Vous pouvez mettre vos options favorites dans le fichier $HOME/.untrucrc. Par
exemple, mon fichier $HOME/.untrucrc contient la ligne suivante: '-d -r yes'.
Seule la premire ligne du fichier $HOME/.untrucrc est interprte au dmarrage
de untruc. Ces options par dfaut sont crases par les options donnes
ventuellement sur la ligne de commande.

6.0 Contact
===========

Si vous rencontrez des problmes dans l'utilisation de truc ou untruc, vous
pouvez m'envoyer un courrier lectronique (segonds@ensg.u-nancy.fr).  
C'est avec plaisir que je recevrai galement tout diagnostic de bug.

Si vous pensez  des amliorations qui pourraient tre apportes, une fois de
plus, n'hsitez pas  m'crire. C'est de cette faon que ces scripts voluent
lentement.

La dernire version de truc et untruc peut tre trouve  l'URL suivant:
http://www.ensg.u-nancy.fr/~segonds/truc

7.0 Remerciements
=================

Je voudrais remercier Jol, Fabien, Pierre et Philippe qui m'ont beaucoup aid
pour amliorer et dbugguer les scripts truc et untruc (ou leur anctres
qu'taient les scripts send et receive). Remerciements galement  Nat qui
n'est jamais satisfait et qui m'a ainsi permis de grandement amliorer ce
produit. :-)

8.0 Bugs connus et limitations
==============================

Si vous n'avez pas gzip, truc utilisera compress, mais si le fichier compress
est plus grand que l'original, compress retournera un code d'erreur 2 et truc
chouera.

Pour untruc, il y a apparemment une limitation dans le nombre de paquets que
vous pouvez sauver dans chaque fichier (jusqu' 99). Si votre transfert utilise
plus de 99 morceaux, sauvez-les dans plus d'un fichier.  Cette limitation est
de  la commande csplit. Le csplit de GNU possde une option pour contourner
ce problme, mais tout le monde n'utilise pas le csplit de GNU. :-)

9.0 Conclusion
==============

J'espre que vous utiliserez ces scripts. Ils ne sont peut tre pas parfaits,
mais ils peuvent tre quelquefois utiles.

Enfin, truc est l'acronyme de "Transfert Rapide Uuencod Compress".

*** End of LISEZMOI file, Version 1.0.7 ***
