Rien de bien guerrier dans cette histoire, ni même de rapport avec Java. Ici les fichiers WAR sont ceux qui étaient générés (et qui le sont peut-être encore) par l'extension d'archivage de page de Konqueror , des Web ARchives. Et il se trouve que dans ma grande paranoïa du 404, j'ai généré des centaines de ces fichiers, 341 pour être exacte...
Aujourd'hui, je n'utilise plus Konqueror mais ce très cher FireFox qui ne tient sur mon bureau que par cette extension magique qu'est ScrapBook dont je ne pourrais juste plus me passer. Du coup, a fini par se poser le problème du passage de l'un à l'autre des deux mondes. Alors je ne sais pas si cela va intéresser grand monde, mais au cas où, voilà comment faire.
Techniquement les .war sont des archives TAR , compressées par gzip . En interne, l'utilitaire de Konqueror n'est pas mal fait car il rend standard n'importe quel site en générant systématiquement un index.html à la racine de l'archive, quel que fût le nom de fichier d'origine. Du coup, une première étape très simple à réaliser est un petit script permettant d'ouvrir ces archives sous FireFox à partir de Nautilus :
A noter que cela aurait aussi bien pu être Epiphany ou tout autre navigateur.
Maintenant le problème, déjà présent sous Konqueror, est que j'ai bien le contenu mais pas la possibilité de revenir à URL d'origine. Il s'agit là d'une de ces précieuses fonctions Scrapbookiennes, bien utile lorsque l'on construit une présentation, une formation ou un article et que l'on aime à citer ses sources. Cela me permettrait aussi de pouvoir ré-archiver certaines pages avec Scrapbook qui n'altère que rarement le rendu dans l'opération.
C'est un peu en désespoir de cause que j'ai lancé un vi sur l'index.html dans un des dossiers temporaires créés par le script donné plus haut. Et au début du fichier, voici ce que l'on trouve :
Du coup, rien de plus simple, aidé de l'ami awk, de créer un petit script qui ouvrira l'URL d'origine du .war :
Simple et efficace. Stocké dans le dossier de scripts de Nautilus, l'action est directement disponible par click-droit sur un fichier. Ici tar est paramétré pour décompresser l'archive (zxf) mais dans la sortie standard (O) et seulement le fichier index.html. head récupère les deux premières lignes (-n 2) qui nous intéressent et awk recherche le motif http et lorsqu'il le trouve renvoie le première argument de la ligne sélectionnée.
Après connaissant le truc, rien n'empêche d'aller plus loin en ouvrant une série de fichiers war via la commande find pour les Scrapbooker en masse.
Voilà, sans doute encore un bon exemple de ce qu'un petit script tout bête peut apporter dans la vie de tous les jours.
Poster un nouveau commentaire