Ecrit par Jacques Guellec, jguellec@free.fr. Ce programme est un "emailware", si vous l'utilisez envoyez moi un mail.
English version Vous pouvez vérifier l'intégrité du fichier .tar.gz en récupérant le fichier de signature sur le site d'Iso9660: (ma clé publique se trouve dans le source html de ce document et sur n'importe quel serveur de clé publique PGP) http://perso.easynet.fr/~jguellec/program/perl/iso9660/iso9660_1.05.tar.gz.asc
Vous pouvez distribuer Iso9660 1.05 en respectant les termes de la license
Download
iso9660_1.05.tar.gz
Historique
Ayant eu à modifier une arborescence html pour la mettre à la norme iso 9660 niveau 1 (8+3, pas de tirets, pas de majuscules etc, etc), j'ai commencé par changer manuellement un grand nombre de noms de fichiers et ensuite je me retrouvais avec un code source à modifier sur des centaines de fichiers.C'est pourquoi j'ai essayé de me faciliter la tâche avec l'aide de Perl.
Installation
Decompressez l'archive iso9660_v1.05.tar.gz par exemple dans /usr/local/etc Un repertoire iso9660_1.05 se crée. A l'interieur se trouve les fichiers suivants :
- iso9660.conf - fichier texte de configuration - iso9660 - script sh - src_arbo - script sh - source_iso9660.pl - script Perl - lisez_moi.htm - Documentation html en français - readme.htm - Documentation html en anglais - nom_fichier.pl - script Perl - src_same_dir - script sh - iso9660_license_fr.txt - le fichier texte de la license en français - iso9660_license_en.txt - le fichier texte de la license en anglais Rajouter ensuite /usr/local/iso9660_1.05 dans le path.
Eventuellement, vous aurez à changer les chemins d'acces vers sh ou perl Pour savoir ou se trouve un programme, tapez par exemple whereis perl
Il vous reste à renseigner le fichier de configuration, consultez la section paramètrage.
Ce que fait Iso9660
(liste non exhaustive)Ce programme ne prétend pas à lui seul faire tomber une arborescence html dans cette norme, mais ils permet d'éviter pas mal de travail manuel.
origine après le script <a href=eXEmple.html> <a href=exemple.htm> <a href=exe-m-Ple.html> <a href=exe_m_ple.htm> <a href=-exeMPle-.html> <a href=_exemple_.htm> <a href=exEMple-.html> <a href=exemple_.htm> <a href=exE.M.ple.html> <a href=exe_m_ple.htm> <a href=../../exEMple..html> <a href=../../exemple_.htm> <a href=.exEMple.html> <a href=_exemple.htm> <a href=exem-ple.TXT> <a href=exem_ple.txt> <a href=-exemple.TXT> <a href=_exemple.txt> <a href=exemple-.TXT> <a href=exemple_.txt> <img src=eXEmple-.GIF> <img src=exemple_.gif> <img src=eXEmple-.JPG> <img src=exemple_.jpg> Si l'option "couper les noms de fichiers" est paramètrée <img src=ImaGe-eXEmple.JPG> <img src=image__1.jpg>
Il gere les tirets, les tildes, les points, les majuscules et les noms de plus de huit lettres dans les noms de fichiers et dans le source.
Iso9660 ne touche pas aux adresse absolues (les liens vers l'extérieur). Il est facile de le modifier pour lui faire traiter d'autres cas.
- S'il trouve un tiret ou un point dans les noms, il le remplace par un _
- S'il trouve un tilde, il remplace par un _
- S'il trouve des majuscules, ils les passent en minuscules.
- S'il trouve des noms de plus de huit lettres et 3 pour l'extension et si l'option nom courts est paramètrée, il coupe les noms à 8 + 3 et place un caractère optionnel (par défaut "_") et un numéro.
Si un même fichier long est rencontré dans une même arborescence, il aura toujours le même nom. Il est facile de choisir avant un traitement le nouveau nom d'un fichier long qui sera rencontré par le programme, il suffit de créer un fichier nomme liste et d'écrire le nom long, un espace et le nouveau nom.- S'il trouve http: il ne touche à rien.
Paramètrage
La variable CUT_LONG_FILE_NAME vous permet de couper les noms de fichiers de plus de 8 + 3 caractères avec un numero et un caractère de substitution.exemple: long-FILE-name.HTML ---> long_f_1.htm
Un meme fichier rencontré dans une meme arborescence se verra toujours attribué le même nom.
Bien entendu le source de chaque fichier HTML sera mis à jour.
- CUT_LONG_FILE_NAME 1 --> les noms sont coupés
- CUT_LONG_FILE_NAME 0 --> les noms ne sont pas coupés
- La variable SUBSTITUTION_CHARACTER vous permet de choisir le caratere de subsitution par defaut il est regle à "_"
- La variable GROUP est le nom de groupe Unix des fichiers traités
- La variable FILES_RIGHTS, représente les droits Unix des fichiers traités
Utilisation
iso9660 -d nom/du/repertoire travaille sur le répertoire donne au départ.
iso9660 -t nom/du/repertoire travaille sur une arborescence complète.
iso9660 -h nom/du/repertoire ou iso9660 -h ou iso9660 affiche cette aide.
Lors du déroulement du programme lorsque celui-ci traite les noms de fichiers il y a des "erreurs" de mv. Il y a en effet beaucoup de cas ou le programme fait un mv sur des fichiers identique, tout cela est donc parfaitement normal.
Si votre arborescence comporte des applets java et donc des fichiers .class, ce programme n'est pas conseillé car vos applets ne fonctionnneront plus avec des fichiers .cla
© Lilas - 98