*** Begin of LISEZMOI file, Version 1.0.6 ***
 
  "truc & untruc" scripts allow you to send and receive big files or 
  directories using e-mail.
  Copyright 1994-1998 - David Segonds
 
  Version 1.0.6, last modification: 23 Jul 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 permettent le transfert de gros
fichiers ou de rpertoires sans soucis au travers du courrier
lectronique. Les fichiers sont dcoups en petits messages de courrier
lectronique avant transmission et reconstruction automatique  la
reception.

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

 la reception, les messages doivent tre concatns en un gros
fichier qui est auto-extractible.

Ces scripts ont t tests sous Linux, IRIX et HP-UX, s'il vous plait,
vous pouvez 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.

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.

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

Note: Je n'ai pas utilis Perl car cet outil ne fait pas partie de
toutes les distributions unix standards.

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] [-x] e-mail[,...] <file|dir> 

Truc possde 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
-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     |
| .taz       |     |               |    X     |
| .Z         |     |               |    X     |
| .cr        |     |               |    X     |
| .crypt     |     |               |    X     |
| .uu        |     |               |          |
+------------+-----+---------------+----------+

truc recherche la commande 'gzip' et si celle-ci est introuvable,
utilisera la commande 'compress'  la place. 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 sauvez 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 n'utilise pas le csplit de GNU. :-)

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
*.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 satisfaite 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 tranfert 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.6 ***
