Configuration de l'environnement de développement (Windows)
Guide pour la configuration de l'environnement de développement de Drop Compress Image sur Windows.
Choisissez votre méthode de construction
Il existe deux façons de construire sur Windows :
- Environnement Docker (Recommandé) : Environnement propre évitant les conflits de dépendances
- Environnement natif : Plus rapide mais configuration plus complexe
Méthode 1 : Construction avec Docker (Recommandé)
Prérequis
- Windows 10/11 Pro, Enterprise ou Education (avec support Hyper-V)
- Docker Desktop pour Windows
Étapes
- Installer Docker Desktop
Téléchargez et installez Docker Desktop. - Basculer en mode conteneur Windows
Faites un clic droit sur l'icône Docker Desktop dans la barre des tâches et sélectionnez « Switch to Windows containers... ». - Cloner le projet
git clone https://github.com/logue/DropWebP.git cd DropWebP - Construire l'image Docker (première fois seulement, prend 30-60 minutes)
docker build -f Dockerfile.windows-x64 -t dropwebp-windows-builder . - Construire l'application
docker run --rm -v ${PWD}:C:\workspace dropwebp-windows-builder - Vérifier les artefacts de construction
Une fois la construction réussie, les exécutables et installateurs seront générés dans le répertoireapp/src-tauri/target/release/bundle/.
Avantages de l'environnement Docker
- ✅ Garde l'environnement hôte propre
- ✅ Évite les conflits de dépendances
- ✅ Constructions reproductibles
- ✅ Environnement de construction propre
- ✅ Cohérence avec les pipelines CI/CD
Méthode 2 : Construction en environnement natif
1. Installer Chocolatey
Ouvrez PowerShell en tant qu'administrateur et exécutez la commande suivante pour installer Chocolatey.
Set-ExecutionPolicy Bypass -Scope Process -Force;
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Après l'installation, vous pouvez vérifier la version avec la commande ci-dessous.
choco -v
2. Installer Git
Installez Git en utilisant Chocolatey.
choco install git -y
Après l'installation, vérifiez la version.
git --version
3. Cloner le projet
Clonez le projet depuis GitHub et naviguez vers le répertoire du projet.
git clone https://github.com/logue/DropWebP.git
cd DropWebP
4. Installer Visual Studio Community 2022
Installez Visual Studio Community 2022.
choco install visualstudio2022community -y
Ensuite, installez la charge de travail de développement de bureau C++.
choco install visualstudio2022-workload-nativedesktop -y
Installez les outils de construction Clang/LLVM, qui sont nécessaires pour construire certaines bibliothèques de codecs d'images.
choco install visualstudio2022buildtools --package-parameters "--add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset" -y
Une fois l'installation terminée, vous pouvez vérifier les composants installés à l'aide de l'installateur Visual Studio.
Remarque : La charge de travail de développement de bureau C++ comprend les outils nécessaires pour construire des extensions natives Rust, tels que MSVC (le compilateur de Microsoft), le SDK Windows et CMake.
5. Installer NASM et Ninja
Installez NASM et Ninja, qui sont nécessaires pour construire des bibliothèques de codecs d'images.
choco install nasm ninja -y
Après l'installation, vérifiez les versions.
nasm -v
ninja --version
Ajoutez NASM à votre PATH système afin que Cargo puisse le trouver lors de la compilation.
[System.Environment]::SetEnvironmentVariable('PATH', [System.Environment]::GetEnvironmentVariable('PATH', 'User') + ';C:\Program Files\NASM', 'User')
Redémarrez votre terminal ou session PowerShell pour que les modifications du PATH prennent effet.
Remarque : NASM (Netwide Assembler) est un assembleur utilisé pour construire des bibliothèques de codecs optimisées comme libavif. Ninja est un système de construction rapide souvent utilisé en conjonction avec CMake.
6. Installer Node.js et pnpm
Installez Node.js et pnpm.
choco install nodejs pnpm -y
Après l'installation, vérifiez les versions.
node -v
pnpm -v
7. Installer Rust (Méthode officielle)
Installez Rust en utilisant la méthode officielle en exécutant la commande suivante dans PowerShell ou l'invite de commandes.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Après l'installation, vérifiez la version.
rustc --version
Avertissement : Bien qu'il soit possible d'installer Rust via Chocolatey, il s'installe avec la chaîne d'outils MinGW, ce qui peut entraîner des problèmes de compatibilité avec les bibliothèques.
8. Configurer vcpkg
- Clonez le référentiel vcpkg :
git clone https://github.com/Microsoft/vcpkg.git C:\vcpkg cd C:\vcpkg - Exécutez le script de bootstrap :
.\bootstrap-vcpkg.bat - Définissez les variables d'environnement (recommandé d'ajouter aux variables d'environnement système) :
$env:VCPKG_ROOT = "C:\vcpkg" [System.Environment]::SetEnvironmentVariable('VCPKG_ROOT', 'C:\vcpkg', 'User')
Important : La variable d'environnement VCPKG_ROOT est requise pour que le système de construction localise les bibliothèques vcpkg.
9. Installer les dépendances
Créer un triplet de version
Le triplet par défaut de vcpkg inclut des symboles de débogage qui causent des erreurs de liaison avec les builds de release Rust. Créez un triplet personnalisé :
@"
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE static)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_BUILD_TYPE release)
"@ | Out-File -Encoding utf8 C:\vcpkg\triplets\x64-windows-static-release.cmake
Installer les dépendances
Note (Mise à jour février 2026) : Le projet utilise maintenant
rav1e(un encodeur AV1 basé sur Rust) pour l'encodage AVIF sous Windows. Cela élimine le besoin des paquetslibaometaom.rav1eévite les exigences d'optimisation multipass de NASM et améliore la stabilité de la compilation sous Windows.
Utilisez le script d'installation automatique (recommandé) :
cd DropWebP\app\src-tauri
.\setup-vcpkg.ps1
Ou installez manuellement :
cd C:\vcpkg
# Installer avec le triplet x64-windows-static-release (release uniquement)
# Note : aom et libavif[aom] ne sont plus nécessaires (utilisation de rav1e)
.\vcpkg install libjxl:x64-windows-static-release
.\vcpkg install libwebp:x64-windows-static-release
.\vcpkg install openjpeg:x64-windows-static-release
.\vcpkg install libjpeg-turbo:x64-windows-static-release
.\vcpkg install lcms:x64-windows-static-release
Bibliothèques installées :
- rav1e : Encodeur AV1 (basé sur Rust, pour l'encodage AVIF) - compilé automatiquement par Cargo
- 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
Note pour les utilisateurs macOS/Linux : macOS et Linux peuvent toujours utiliser
libaomcar les configurations NASM et CMake sont plus stables sur ces plateformes.
Vérifier l'installation :
.\vcpkg list | Select-String "jxl|webp|openjpeg|jpeg|lcms"
10. Construire l'Application
- Naviguez vers le répertoire app et installez les dépendances :
cd app pnpm install - Construisez et exécutez l'application en mode développement :
pnpm run dev:tauri - Pour une construction de production :
pnpm run build:tauri
L'application devrait maintenant se construire avec succès sur Windows. Si vous rencontrez des problèmes, assurez-vous que toutes les dépendances sont correctement installées et que les variables d'environnement sont correctement définies.
Construction Croisée pour Windows Arm64
Vous pouvez construire en mode croisé pour Windows Arm64 (Windows on ARM) depuis une machine Windows x64.
Prérequis
- Environnement de construction Windows x64 configuré comme décrit ci-dessus
- Dépendances vcpkg pour la cible Arm64
1. Ajouter la Chaîne d'Outils Rust
rustup target add aarch64-pc-windows-msvc
2. Installer les Dépendances vcpkg pour Arm64
Créer un triplet de version pour Arm64 (si ce n'est pas déjà fait) :
@"
set(VCPKG_TARGET_ARCHITECTURE arm64)
set(VCPKG_CRT_LINKAGE static)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_BUILD_TYPE release)
"@ | Out-File -Encoding utf8 C:\vcpkg\triplets\arm64-windows-static-release.cmake
Installer les dépendances :
cd C:\vcpkg
# Note : aom et libavif[aom] ne sont plus nécessaires (utilisation de rav1e)
.\vcpkg install libjxl:arm64-windows-static-release
.\vcpkg install libwebp:arm64-windows-static-release
.\vcpkg install openjpeg:arm64-windows-static-release
.\vcpkg install libjpeg-turbo:arm64-windows-static-release
.\vcpkg install lcms:arm64-windows-static-release
3. Construire pour Arm64
cd path\to\DropWebP\app
pnpm run build:tauri:windows-arm64
Ou construire manuellement :
cd app\src-tauri
cargo build --release --target aarch64-pc-windows-msvc
cd ..
pnpm tauri build --target aarch64-pc-windows-msvc
Remarques
- Les binaires Arm64 ne fonctionneront que sur les appareils Windows Arm64 (par exemple, Surface Pro X)
- Les binaires construits en mode croisé ne peuvent pas être exécutés sur des machines x64
- Les artefacts de construction sont générés dans
app/src-tauri/target/aarch64-pc-windows-msvc/release/