###SAPfs

* <a href="./#introduction">Introduction</a><br>
* <a href="./#how_works">Fonctionnement du programme</a><br>
* <a href="./#program_commands">Commandes du programme</a><br>

#####Introduction<a name="introduction"></a>

Le syst&egrave;me d'archivage SAP, con&ccedil;u par Alexandre Pukall, est l'outil utilis&eacute; par les &eacute;mulateurs Thomson pour manipuler de fa&ccedil;on souple et s&eacute;curis&eacute;e les disquettes 3"5 ou 5"25 au format Thomson. L'id&eacute;e directrice de SAP est de reproduire les disquettes physiques Thomson sous forme de fichiers "images", stockables sur disque dur et lisibles directement par les &eacute;mulateurs: toutes les op&eacute;rations de lecture/&eacute;criture sont ainsi r&eacute;alis&eacute;es sur ces images et non pas sur les disquettes originales.<br><br>
Ce syst&egrave;me permet de copier facilement les disquettes, de les diffuser par tout moyen num&eacute;rique et assure in fine la pr&eacute;servation de leurs donn&eacute;es au del&agrave; de la dur&eacute;e de vie du support physique.<br><br>
L'utilitaire SAPfs permet de r&eacute;aliser sur les archives SAP les op&eacute;rations naturelles d'un syst&egrave;me de fichiers: cr&eacute;ation, formatage, v&eacute;rification, dump binaire, listage des fichiers, extraction de fichiers, ajout de fichiers et destruction de fichiers.

#####Fonctionnement du programme<a name="how_works"></a>

SAPfs fonctionne en mode batch: une commande &eacute;ventuellement suivie d'un ou plusieurs arguments doit lui &ecirc;tre pass&eacute;e sur la ligne de commandes.

#####Commandes du programme<a name="program_commands"></a>

Une des commandes suivantes doit &ecirc;tre pass&eacute;e &agrave; SAPfs comme premier argument:

**-h, --help**<br>
Affiche l'aide en ligne du programme.<br>
ex:  sapfs --help

**-v, --version**<br>
Affiche la version du programme.<br>
ex:  sapfs --version

**-w, --verify archive \[piste\] \[secteur\]**<br>
V&eacute;rifie l'int&eacute;grit&eacute; d'une archive SAP et affiche le d&eacute;tail des erreurs pour chaque secteur d&eacute;fectueux.<br>
<span style="padding-left:30px">*`archive`* : nom complet de l'archive SAP</span><br>
<span style="padding-left:30px">*`piste`* : derni&egrave;re piste pour la v&eacute;rification</span><br>
<span style="padding-left:30px">*`secteur`* : num&eacute;ro du secteur (de 1 &agrave; 16)</span><br>
ex: sapfs --verify foo.sap<br>
ex: sapfs --verify foo.sap 10

**-u, --dump archive \[piste\] \[secteur\]**<br>
Effectue un dump binaire de l'archive SAP.<br>
<span style="padding-left:30px">*`archive`* : nom complet de l'archive SAP</span><br>
<span style="padding-left:30px">*`piste`* : derni&egrave;re piste pour le dump</span><br>
<span style="padding-left:30px">*`secteur`* : num&eacute;ro du secteur (de 1 &agrave; 16)</span><br>
ex: sapfs --dump foo.sap 20 2<br>
ex: sapfs --dump foo.sap 10

**-t, --list archive**<br>
Affiche la liste des fichiers de l'archive SAP.<br>
<span style="padding-left:30px">*`archive`* : nom complet de l'archive SAP</span><br>
ex:  sapfs --list foo.sap

**-i, --info archive fichier**<br>
Affiche les informations relatives &agrave; un fichier. La casse est prise en compte.<br>
<span style="padding-left:30px">*`archive`* : nom complet de l'archive SAP</span><br>
<span style="padding-left:30px">*`fichier`* : nom du fichier &agrave; examiner</span><br>
ex:  sapfs --info foo.sap AUTO.BAT

**-x, --extract archive fichier \[fichier...\]**<br>
Extrait un ou plusieurs fichiers de l'archive SAP. Le nom de fichier peut contenir les wildcards '\*' et '?'. La casse est prise en compte.<br>
<span style="padding-left:30px">*`archive`* : nom complet de l'archive SAP</span><br>
<span style="padding-left:30px">*`fichier`* : nom du (des) fichier(s) &agrave; extraire</span><br>
ex: sapfs --extract foo.sap BAR.BIN<br>
ex: sapfs --extract foo.sap Prog.BAS Prog.BIN<br>
ex: sapfs --extract foo.sap *.DAT

**--extract-all archive**<br>
Extrait tous les fichiers de l'archive SAP.<br>
<span style="padding-left:30px">*`archive`* : nom complet de l'archive SAP</span><br>
ex: sapfs --extract-all foo.sap

**-a, --add archive fichier \[fichier...\] \[r&eacute;pertoire...\]**<br>
Ajoute un ou plusieurs fichiers &agrave; l'archive SAP. La casse est prise en compte.<br>
<span style="padding-left:30px">*`archive`* : nom complet de l'archive SAP</span><br>
<span style="padding-left:30px">*`fichier`* ou *`r&eacute;pertoire`* : fichier(s) ou r&eacute;pertoire(s) &agrave; ajouter.</span><br>
ex: sapfs --add foo.sap BAR.BIN<br>
ex: sapfs --add foo.sap Prog.BAS Prog.BIN

**-d, --delete archive fichier \[fichier...\]**<br>
Efface un ou plusieurs fichiers de l'archive SAP. Le nom de fichier peut contenir les wildcards '\*' et '?'. La casse est prise en compte.<br>
<span style="padding-left:30px">*`archive`* : nom complet de l'archive SAP</span><br>
<span style="padding-left:30px">*`fichier`* : fichier(s) &agrave; effacer</span><br>
ex: sapfs --delete foo.sap B?R.BIN<br>
ex: sapfs --delete foo.sap thom.bas son.bas<br>
ex: sapfs --delete foo.sap LEVEL*.DAT

**-c, --create archive \[nb pistes\] \[densit&eacute;\]**<br>
Cr&eacute;e une archive SAP vide (mais format&eacute;e).<br>
<span style="padding-left:30px">*`archive`* : nom complet de l'archive SAP</span><br>
<span style="padding-left:30px">*`nb_pistes`* : nombre de pistes (40 ou 80, 80 par d&eacute;faut)</span><br>
<span style="padding-left:30px">*`densit&eacute;`* : 1 = simple densit&eacute;, 2 = double densit&eacute; (par d&eacute;faut)</span><br>
ex: sapfs --create foo.sap<br>
ex: sapfs --create foo.sap 40

**-f, --format archive.sap \[nb pistes\] \[densit&eacute;\]**<br>
Formate l'archive SAP.<br>
<span style="padding-left:30px">*`archive`* : nom complet de l'archive SAP</span><br>
<span style="padding-left:30px">*`nb_pistes`* : nombre de pistes (40 ou 80, 80 par d&eacute;faut)</span><br>
<span style="padding-left:30px">*`densit&eacute;`* : 1 = simple densit&eacute;, 2 = double densit&eacute; (par d&eacute;faut)</span><br>
ex: sapfs --format foo.sap<br>
ex: sapfs --format foo.sap 40

**-k, --copy archive1 archive2 \[piste\] \[secteur\]**<br>
Duplique une archive SAP.<br>
<span style="padding-left:30px">*`archive1`* : archive SAP source</span><br>
<span style="padding-left:30px">*`archive2`* : archive SAP destination</span><br>
<span style="padding-left:30px">*`piste`* : num&eacute;ro de la derni&egrave;re piste</span><br>
<span style="padding-left:30px">*`secteur`* : num&eacute;ro du secteur (de 1 &agrave; 16)</span><br>
ex: sapfs --copy foo.sap bar.sap 65<br>
ex: sapfs --copy foo.sap bar.sap 20 3

**-m, --move archive1 piste secteur archive2 piste secteur**<br>
Copie le contenu d'un secteur.<br>
<span style="padding-left:30px">*`archive1`* : archive SAP source</span><br>
<span style="padding-left:30px">*`archive2`* : archive SAP destination</span><br>
<span style="padding-left:30px">*`piste`* : num&eacute;ro de la piste</span><br>
<span style="padding-left:30px">*`secteur`* : num&eacute;ro du secteur (de 1 &agrave; 16)</span><br>
ex:  sapfs --move foo.sap 12 4 bar.sap 26 16

