Construire Drop Compress Image pour Linux
Ce guide vous accompagne dans la configuration de l'environnement de développement et la construction de Drop Compress Image sur Ubuntu 24.04 LTS (et distributions similaires basées sur Debian).
Prérequis
Avant de commencer, assurez-vous d'avoir :
- Ubuntu 24.04 LTS ou distribution similaire basée sur Debian
- Privilèges sudo pour installer des logiciels
- Familiarité de base avec les commandes terminal
Étape 1 : Mettre à Jour les Paquets Système
Tout d'abord, mettez à jour vos paquets système pour vous assurer d'avoir les dernières versions :
sudo apt update
sudo apt upgrade -y
Étape 2 : Installer les Dépendances de Construction
Installez les outils de construction essentiels et les bibliothèques requis pour le développement Tauri :
# Installer les essentiels de construction et les bibliothèques de développement
sudo apt install -y \
build-essential \
curl \
wget \
file \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libwebkit2gtk-4.1-dev \
patchelf
Ce que Font ces Paquets
- build-essential: Fournit GCC, G++ et make
- libssl-dev: Bibliothèques de développement OpenSSL
- libgtk-3-dev: Bibliothèques de développement GTK3 pour l'interface
- libayatana-appindicator3-dev: Support de la barre d'état système
- librsvg2-dev: Support du rendu SVG
- libwebkit2gtk-4.1-dev: WebKit pour la webview de Tauri
- patchelf: Patcheur binaire ELF pour AppImage
Vérifier l'Installation
gcc --version
Vous devriez voir une sortie montrant GCC version 13.x ou supérieure.
Étape 3 : Installer Rust
Drop Compress Image est construit avec Rust, vous devrez donc installer la chaîne d'outils Rust.
Installer Rust via rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Quand on vous le demande, choisissez l'option 1 (installation par défaut).
Configurer Votre Shell
source $HOME/.cargo/env
Pour rendre cela permanent, ajoutez-le à votre profil shell :
echo 'source $HOME/.cargo/env' >> ~/.bashrc
source ~/.bashrc
Vérifier l'Installation de Rust
rustc --version
cargo --version
Vous devriez voir les informations de version pour rustc et cargo.
Étape 4 : Installer Node.js
Le frontend de Drop Compress Image est construit avec Vue.js et nécessite Node.js.
Installer Node.js via le Dépôt NodeSource
# Installer Node.js 22.x (LTS)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
Vérifier l'Installation de Node.js
node --version
npm --version
Vous devriez voir Node.js version 22.x ou supérieure.
Étape 5 : Installer pnpm
Drop Compress Image utilise pnpm comme gestionnaire de paquets pour de meilleures performances et efficacité disque.
Installer pnpm
npm install -g pnpm
Vérifier l'Installation de pnpm
pnpm --version
Étape 6 : Configurer vcpkg et Installer les Dépendances
Ce projet utilise vcpkg pour gérer les bibliothèques de traitement d'images C/C++ (libaom, libavif, libjxl, etc.).
Installer les Prérequis de vcpkg
# Installer les outils requis pour vcpkg
sudo apt install -y curl zip unzip tar cmake pkg-config
Installer vcpkg
# Cloner vcpkg
git clone https://github.com/Microsoft/vcpkg.git ~/vcpkg
# Bootstrap vcpkg
cd ~/vcpkg
./bootstrap-vcpkg.sh
# Définir les variables d'environnement (ajouter à ~/.bashrc)
echo 'export VCPKG_ROOT="$HOME/vcpkg"' >> ~/.bashrc
echo 'export PATH="$VCPKG_ROOT:$PATH"' >> ~/.bashrc
source ~/.bashrc
Installer les Dépendances
Utilisez le script d'installation automatique (recommandé) :
cd ~/path/to/DropWebP/app/src-tauri
./setup-vcpkg.sh
Ou installez manuellement :
cd ~/vcpkg
# Pour Linux x64
./vcpkg install aom:x64-linux
./vcpkg install libavif[aom]:x64-linux
./vcpkg install libjxl:x64-linux
./vcpkg install libwebp:x64-linux
./vcpkg install openjpeg:x64-linux
./vcpkg install libjpeg-turbo:x64-linux
./vcpkg install lcms:x64-linux
# Pour Linux ARM64
./vcpkg install aom:arm64-linux
./vcpkg install libavif[aom]:arm64-linux
./vcpkg install libjxl:arm64-linux
./vcpkg install libwebp:arm64-linux
./vcpkg install openjpeg:arm64-linux
./vcpkg install libjpeg-turbo:arm64-linux
./vcpkg install lcms:arm64-linux
Bibliothèques installées :
- libaom : Encodeur AV1 (pour le format AVIF, requis)
- libavif : Format d'image AVIF
- libjxl : Format d'image JPEG XL
- libwebp : Format d'image WebP
- openjpeg : Format d'image JPEG 2000
- libjpeg-turbo : Traitement d'images JPEG (pour jpegli)
- lcms : Gestion des couleurs Little CMS
Vérifier l'Installation
./vcpkg list | grep -E "aom|avif|jxl|webp|openjpeg|jpeg|lcms"
Étape 7 : Cloner et Construire Drop Compress Image
Maintenant vous êtes prêt à cloner et construire Drop Compress Image.
Cloner le Référentiel
git clone https://github.com/logue/DropWebP.git
cd DropWebP
Installer les Dépendances Frontend
# Installer toutes les dépendances de l'espace de travail
pnpm install
Installer Tauri CLI v2
# Installer Tauri CLI v2 globalement
pnpm add -g @tauri-apps/cli@next
Construire l'Application
Pour le développement :
# Exécuter en mode développement
pnpm dev:tauri
Pour la production :
# Construire pour la production
pnpm build:tauri
L'application construite sera dans app/src-tauri/target/release/.
Étape 8 : Formats de Distribution
Tauri sur Linux peut générer plusieurs formats de distribution :
AppImage (Recommandé)
AppImage est un format de paquet universel qui fonctionne sur la plupart des distributions Linux :
pnpm build:tauri
L'AppImage sera dans app/src-tauri/target/release/bundle/appimage/.
Paquet Debian (.deb)
Pour les distributions basées sur Debian/Ubuntu :
pnpm build:tauri
Le paquet .deb sera dans app/src-tauri/target/release/bundle/deb/.
Installez-le avec :
sudo dpkg -i app/src-tauri/target/release/bundle/deb/*.deb
Paquet RPM (.rpm)
Pour les distributions basées sur Red Hat/Fedora, vous devrez installer des outils supplémentaires :
sudo apt install -y rpm
pnpm build:tauri
Le paquet .rpm sera dans app/src-tauri/target/release/bundle/rpm/.
Dépannage
Problèmes Courants
- libwebkit2gtk-4.1 Manquant
Si vous obtenez des erreurs concernant les bibliothèques webkit manquantes :# Essayez l'ancienne version webkit sudo apt install -y libwebkit2gtk-4.0-dev - Permission Refusée pour npm/pnpm
# Corriger les permissions du répertoire global npm mkdir -p ~/.npm-global npm config set prefix '~/.npm-global' echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc source ~/.bashrc - Échecs de Construction avec les Dépendances Natives
# Nettoyer les caches de construction cargo clean pnpm clean # Tout reconstruire pnpm install pnpm build:tauri - AppImage Non Exécutable
# Rendre l'AppImage exécutable chmod +x app/src-tauri/target/release/bundle/appimage/*.AppImage - Version GLIBC Manquante
Si vous voyez des erreurs concernant la version GLIBC, assurez-vous d'être sur Ubuntu 24.04 LTS ou plus récent :ldd --version
Problèmes de Pilotes Graphiques
Pour des performances optimales, assurez-vous d'avoir les pilotes graphiques appropriés installés :
# Pour NVIDIA
sudo ubuntu-drivers autoinstall
# Pour AMD
sudo apt install -y mesa-vulkan-drivers
# Pour Intel
sudo apt install -y intel-media-va-driver
Obtenir de l'Aide
Si vous rencontrez des problèmes non couverts ici :
- Vérifiez le référentiel Drop Compress Image pour les problèmes connus
- Consultez la documentation Tauri v2 pour des conseils spécifiques à Linux
- Recherchez les issues GitHub existantes ou créez-en une nouvelle
Prochaines Étapes
Une fois que Drop Compress Image est construit avec succès :
- Exécuter les Tests : Exécutez
pnpm testpour vous assurer que tout fonctionne correctement - Développement : Utilisez
pnpm dev:tauripour le développement avec rechargement à chaud - Personnalisation : Explorez la base de code et apportez vos modifications
- Distribution : Utilisez
pnpm build:tauripour créer des paquets distribuables
Vous êtes maintenant prêt à développer et construire Drop Compress Image sur Linux !