Initial commit — Pseudonymisation de PDF v5

- GUI v5 : vue unique épurée (tkinter), 2 étapes visuelles
- Core ONNX : anonymisation regex + NER optionnel
- Extraction globale des noms depuis champs structurés
  (Patient, Rédigé par, MME/Madame, DR)
- Génération simultanée PDF Image + PDF Anonymisé (structure préservée)
- Build Windows via Nuitka (script batch + GitHub Actions CI)
- install.sh pour setup/run Linux

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-16 15:03:37 +01:00
commit 8339069c83
18 changed files with 5127 additions and 0 deletions

68
.github/workflows/build-windows.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
name: Build Windows EXE (Nuitka)
on:
workflow_dispatch: # declenchement manuel depuis GitHub
push:
tags:
- 'v*' # build automatique sur tag v5.0, v5.1, etc.
jobs:
build-windows:
runs-on: windows-latest
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: pip
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
pip install -r requirements.txt
pip install nuitka orderedset zstandard
- name: Build with Nuitka
run: |
python -m nuitka `
--standalone `
--onefile `
--enable-plugin=tk-inter `
--include-module=anonymizer_core_refactored_onnx `
--include-module=ner_manager_onnx `
--include-module=eds_pseudo_manager `
--include-data-dir=config=config `
--windows-console-mode=disable `
--output-filename=Pseudonymisation.exe `
--company-name="Hopital" `
--product-name="Pseudonymisation de PDF" `
--product-version=5.0.0 `
--file-description="Pseudonymisation automatique de documents PDF" `
--assume-yes-for-downloads `
--remove-output `
Pseudonymisation_Gui_V5.py
- name: Prepare release archive
run: |
New-Item -ItemType Directory -Force -Path dist
Copy-Item Pseudonymisation.exe dist/
Copy-Item -Recurse config dist/config
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: Pseudonymisation-Windows-x64
path: dist/
retention-days: 30
- name: Upload to release (on tag)
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
files: |
dist/Pseudonymisation.exe