Files
anonymisation/docs/build-windows-oneclick.md
Domi31tls 2d23f6c31a build(windows): scripts build one-click + installer + doc
- build_windows_oneclick.bat / build_windows_installer_oneclick.bat : wrappers
- scripts/build_windows_oneclick.ps1 / build_windows_installer_only.ps1 / install_inno_setup_build_dep.ps1
- build_signing.example.ps1 : exemple protocole signing (sans secret)
- docs/build-windows-oneclick.md : documentation du build

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 16:31:06 +02:00

4.4 KiB

Build Windows One-Click

Le packaging Windows standard du projet repose sur :

  • build_windows_oneclick.bat
  • build_windows_installer_oneclick.bat
  • scripts/build_windows_oneclick.ps1
  • anonymisation_onefile.spec
  • installer/Anonymisation.iss

Usage

Sur la machine Windows de build :

  1. ouvrir le dossier du projet
  2. double-cliquer sur build_windows_oneclick.bat

Le script :

  • crée un venv de build local .venv_build_win
  • installe les dépendances nécessaires au packaging
  • génère build_info.py
  • lance PyInstaller avec anonymisation_onefile.spec
  • vérifie la présence de l'exécutable final
  • prépare un dossier de livraison et une archive ZIP
  • crée release\Anonymisation-Setup.exe si Inno Setup 6 est installé

Sorties attendues

  • exécutable : dist\Anonymisation.exe
  • dossier de livraison : release\Anonymisation-Windows\
  • archive : release\Anonymisation-Windows.zip
  • installateur : release\Anonymisation-Setup.exe
  • hash : release\Anonymisation.exe.sha256.txt

Installateur Windows

L'installateur est généré avec Inno Setup 6. Il fournit :

  • choix du dossier d'installation
  • installation utilisateur par défaut sans droits administrateur
  • raccourci menu Démarrer
  • option d'icône sur le bureau
  • désinstallation Windows standard

Si Inno Setup n'est pas présent sur la machine de build, le script conserve le build EXE/ZIP et affiche un avertissement. Installer Inno Setup 6 depuis le site officiel puis relancer le build.

Installation automatisée de la dépendance de build Inno Setup :

powershell -ExecutionPolicy Bypass -File .\scripts\install_inno_setup_build_dep.ps1

Recompiler uniquement l'installateur à partir de release\Anonymisation-Windows\Anonymisation.exe :

powershell -ExecutionPolicy Bypass -File .\scripts\build_windows_installer_only.ps1

Pour ne générer que l'exécutable et le ZIP :

powershell -ExecutionPolicy Bypass -File .\scripts\build_windows_oneclick.ps1 -SkipInstaller

Important

  • les utilisateurs finaux n'ont pas besoin d'installer Python
  • le build doit être lancé depuis Windows
  • le modèle ONNX embarqué requis doit exister localement dans : models\camembert-bio-deid\onnx\model.onnx

Blocage Windows / SmartScreen

Un exécutable PyInstaller non signé peut déclencher Microsoft Defender SmartScreen, surtout s'il est téléchargé depuis Internet ou envoyé par e-mail. La signature réduit fortement le risque et évite l'éditeur inconnu, mais elle ne garantit pas toujours l'absence totale d'avertissement SmartScreen pour une toute nouvelle version : Windows tient aussi compte de la réputation du fichier et de son hash.

Pour une diffusion à des utilisateurs novices, la voie recommandée est :

  • signer Anonymisation.exe avec un certificat Authenticode
  • horodater la signature
  • diffuser par partage réseau interne, Intune, GPO ou portail établissement
  • conserver le hash release\Anonymisation.exe.sha256.txt
  • éviter de demander aux utilisateurs de cliquer sur Exécuter quand même

Le script prend en charge la signature si un certificat est disponible.

Signature automatique avec configuration locale

Sur la machine Windows de build :

  1. copier build_signing.example.ps1 en build_signing.local.ps1
  2. renseigner l'empreinte du certificat ou le chemin du PFX
  3. double-cliquer comme d'habitude sur build_windows_oneclick.bat

build_signing.local.ps1 est ignoré par Git pour éviter de versionner des secrets.

Signature manuelle via PowerShell

Avec un certificat installé dans le magasin Windows :

powershell -ExecutionPolicy Bypass -File .\scripts\build_windows_oneclick.ps1 -Sign -CertThumbprint "EMPREINTE_CERTIFICAT"

Avec un fichier PFX :

powershell -ExecutionPolicy Bypass -File .\scripts\build_windows_oneclick.ps1 -Sign -PfxPath "C:\chemin\certificat.pfx" -PfxPassword "mot-de-passe"

Si aucun certificat n'est disponible, le build reste possible, mais Windows peut afficher un avertissement de réputation au premier lancement.

Références Microsoft :