Scripts graphiques pour zpaqfranz sur macOS

Compresser et chiffrer sans toucher au Terminal

zpaqfranz est un outil de compression exceptionnel, mais son utilisation en ligne de commande peut rebuter certains utilisateurs. Cet article présente deux scripts .command qui offrent une interface graphique simple : sélection de fichiers via le Finder et saisie du mot de passe dans une fenêtre macOS native.

Pré-requis : zpaqfranz doit être installé via Homebrew. Consultez l'article ci-dessous pour les instructions d'installation.
Compression zpaqfranz sur macOS Tahoe


Téléchargement des scripts

Voici le lien, les 2 scripts graphiques sont compressés ensemble.
📥 Télécharger scripts.zip


Installation des scripts

Après téléchargement, macOS bloque par défaut l'exécution des scripts non signés. Pour autoriser leur utilisation, ouvrez le Terminal et exécutez la commande suivante en adaptant le chemin :

xattr -d com.apple.quarantine ~/Downloads/zpaqfranz-compress-encrypt.command
xattr -d com.apple.quarantine ~/Downloads/zpaqfranz-extract-decrypt.command

Placez ensuite les scripts où vous le souhaitez : Bureau, dossier Applications, ou tout autre emplacement pratique.


Utilisation du script de compression

Étape 1 : Lancer le script

Double-cliquez sur zpaqfranz-compress-encrypt.command.
Une fenêtre Terminal s'ouvre et un dialogue apparaît.

Étape 2 : Choisir le type de ressource

Un dialogue vous demande si vous souhaitez compresser un fichier ou un dossier.
Cliquez sur le bouton correspondant.

Étape 3 : Sélectionner la ressource

Une fenêtre Finder s'ouvre pour sélectionner le fichier ou dossier à compresser.

Étape 4 : Définir le mot de passe

Deux fenêtres successives vous demandent d'entrer puis de confirmer le mot de passe de chiffrement.
La saisie est masquée.

Étape 5 : Compression

La compression démarre en niveau -m5 (compression maximale).
La progression s'affiche dans le Terminal.
L'archive est automatiquement vérifiée à la fin et les tailles avant/après sont affichées.

(Note : la compression -m5 est lente mais offre les meilleurs taux de compression. Comptez environ 2 Mo/s.)


Utilisation du script d'extraction

Étape 1 : Lancer le script

Double-cliquez sur zpaqfranz-extract-decrypt.command.

Étape 2 : Sélectionner l'archive

Une fenêtre Finder s'ouvre pour sélectionner le fichier .zpaq à extraire.

Étape 3 : Entrer le mot de passe

Une fenêtre vous demande le mot de passe de déchiffrement.

Étape 4 : Extraction

L'archive est extraite dans un dossier portant le même nom (sans l'extension .zpaq), au même emplacement que l'archive.
Le dossier s'ouvre automatiquement dans le Finder une fois l'extraction terminée.


Fonctionnement technique des scripts

Les scripts utilisent plusieurs techniques pour offrir une expérience graphique :

Sécurité

Le mot de passe n'est jamais affiché à l'écran ni enregistré sur le disque.
La variable contenant le mot de passe est effacée de la mémoire (unset) dès que possible après utilisation.


Code source du script de compression

#!/bin/zsh
# Dialogue de choix fichier ou dossier
CHOICE=$(osascript -e 'display dialog "Que souhaitez-vous compresser ?" buttons {"Annuler", "Un dossier", "Un fichier"} default button "Un fichier"' -e 'button returned of result')

# Sélection via Finder selon le choix
if [[ "$CHOICE" == "Un fichier" ]]; then
 SELECTED=$(osascript -e 'POSIX path of (choose file)')
else
 SELECTED=$(osascript -e 'POSIX path of (choose folder)')
fi

# Mot de passe via dialogue graphique (masqué)
KEY=$(osascript -e 'text returned of (display dialog "Mot de passe :" default answer "" with hidden answer)')

# Compression + chiffrement + vérification
zpaqfranz a "${SELECTED}.zpaq" "$SELECTED" -m5 -key "$KEY"
zpaqfranz t "${SELECTED}.zpaq" -key "$KEY"

unset KEY

(Version simplifiée pour illustration — le script complet inclut la gestion d'erreurs, les couleurs et l'affichage des tailles.)


Code source du script d'extraction

#!/bin/zsh
# Sélection de l'archive .zpaq
ARCHIVE=$(osascript -e 'POSIX path of (choose file of type "zpaq")')

# Mot de passe via dialogue graphique
KEY=$(osascript -e 'text returned of (display dialog "Mot de passe :" default answer "" with hidden answer)')

# Extraction vers dossier du même nom
OUTPUT_DIR="${ARCHIVE%.zpaq}"
mkdir -p "$OUTPUT_DIR"
zpaqfranz x "$ARCHIVE" -to "$OUTPUT_DIR/" -key "$KEY"

unset KEY
open "$OUTPUT_DIR"

(Version simplifiée pour illustration.)


Conclusion

Ces deux scripts transforment zpaqfranz en un outil accessible à tous, sans nécessiter de connaissances en ligne de commande.
Le chiffrement AES-256 assure la confidentialité de vos données, tandis que la compression -m5 offre les meilleurs ratios disponibles.

Pour des besoins plus avancés comme les sauvegardes incrémentales ou la compression par lots, référez-vous à l'article complet sur zpaqfranz qui détaille toutes les options disponibles en ligne de commande.



↑ Haut de page