Voici un guide complet et opérationnel pour installer et utiliser watermarks-remover sur Windows 11, en tenant compte du dépôt GitHub de G.M.
Guide, structuré, reproductible, compatible Windows 11 (WSL2 + Docker Desktop), pour un niveau d’expertise (IA souveraine, pipelines locaux, audit-ready).
🧩 Guide d’installation Windows 11 — watermarks-remover
🧩 Infrastructure Docker complète
Pour l’ensemble de l’infrastructure (core + faisceau optionnel / backends lourds), voir la section Docker / Compose ci‑dessous.
⚙️ Outils système optionnels
(utilisés automatiquement lorsqu’ils sont présents — préinstallés dans l’image Docker principale)
| 🧰 Outil | 🧩 Rôle |
|---|---|
| c2patool | Inspecter les manifestes C2PA |
| exiftool | Retirer les métadonnées résiduelles (notamment dans les PDF) |
| qpdf | Reconstruction structurelle PDF — nécessaire pour une véritable bande PDF |
Les scripts de base ne nécessitent que Python 3.10+ (stdlib). Les appels de modèles de couche B sont optionnels.
💡 Astuce : cette architecture Docker est conçue pour fonctionner en mode souverain, sans dépendances externes. Les outils système sont activés automatiquement lorsqu’ils sont détectés dans le conteneur principal.
(Docker + CLI + HTTP service) Source : dépôt GitHub officiel :
https://github.com/guillaumemeyer/watermarks-remover?tab=readme-ov-file#references
1️⃣ Prérequis Windows 11
✔️ Activer WSL2
Ouvre PowerShell en administrateur :
wsl --install
Redémarre.
✔️ Installer Docker Desktop (obligatoire)
Télécharge et installe Docker Desktop pour Windows 11 (WSL2 backend).
Dans Docker Desktop :
Settings → General → Use WSL 2 backend ✔️
Settings → Resources → WSL Integration → Enable for Ubuntu ✔️
Vérifie :
docker --version
2️⃣ Cloner le dépôt GitHub
Dans PowerShell ou Git Bash :
git clone https://github.com/guillaumemeyer/watermarks-remover
cd watermarks-remover
3️⃣ Construire l’image Docker (core service)
Le dépôt fournit une cible Makefile :
make docker-core-build
Cela construit l’image locale :
watermarks-remover
(Confirmé dans la section Docker du README )
4️⃣ Lancer le service HTTP local
Toujours depuis le dossier du projet :
docker run --rm ^
-p 127.0.0.1:8765:8765 ^
--read-only ^
--tmpfs /tmp ^
watermarks-remover
Tu obtiens un service local :
http://127.0.0.1:8765
Test :
curl http://127.0.0.1:8765/health
5️⃣ Utiliser la CLI interne (clean_file.py)
Le dépôt précise que tous les scripts Python restent utilisables dans le conteneur en override de commande .
Exemple : nettoyer un fichier Markdown local.
Place-toi dans un dossier contenant notes.md :
docker run --rm ^
-v "${PWD}:/data" ^
watermarks-remover ^
/app/scripts/clean_file.py /data/notes.md -o /data/notes.cleaned.md
👉 Aucun Python requis sur Windows : tout tourne dans Docker.
6️⃣ (Optionnel) Lancer l’infrastructure complète
Le dépôt propose un docker compose pour activer les backends lourds (MarkLLM, MarkDiffusion, CtrlRegen, SynthID) :
docker compose up -d
docker compose --profile harness up -d
docker compose --profile heavy up -d
(Documenté dans la section “Whole-infra bring-up” du README )
7️⃣ Vérifier le stack
make compose-check
🧩 Résumé opérationnel
| Étape | Action |
|---|---|
| 1 | Installer WSL2 + Docker Desktop |
| 2 | Cloner le dépôt GitHub |
| 3 | make docker-core-build |
| 4 | Lancer le service HTTP |
| 5 | Utiliser les scripts via docker run |
| 6 | (Optionnel) Activer les backends lourds via compose |
🧠 Bonus : Script PowerShell d’installation automatisée (Windows 11)
Script complet : ATTENTION JE DOIS ENCORE VALIDER CERTAINS POINTS DU SCRIPT
Installation WSL2
Installation Docker Desktop silencieuse
Clonage du dépôt
Build Docker
Lancement du service
Tests automatiques
Rapport d’installation
# ================================
# Watermarks-Remover Installer
# Windows 11 – PowerShell Script
# Auteur : PEG
# ================================
Write-Host "=== Installation Watermarks-Remover pour Windows 11 ===" -ForegroundColor Cyan
# --- 1. Vérification WSL2 ---
Write-Host "`n[1] Vérification de WSL2..." -ForegroundColor Yellow
$wslVersion = wsl --version 2>$null
if (-not $wslVersion) {
Write-Host "WSL2 non installé → installation..." -ForegroundColor Red
wsl --install
Write-Host "WSL installé. Redémarre Windows puis relance ce script." -ForegroundColor Green
exit
} else {
Write-Host "WSL2 déjà installé." -ForegroundColor Green
}
# --- 2. Installation Docker Desktop ---
Write-Host "`n[2] Installation de Docker Desktop..." -ForegroundColor Yellow
$dockerPath = "C:\Program Files\Docker\Docker\Docker Desktop.exe"
if (-Not (Test-Path $dockerPath)) {
Write-Host "Docker Desktop non détecté → téléchargement..." -ForegroundColor Red
$installer = "$env:TEMP\DockerDesktopInstaller.exe"
Invoke-WebRequest -Uri "https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe" -OutFile $installer
Write-Host "Installation silencieuse de Docker Desktop..."
Start-Process -FilePath $installer -ArgumentList "install", "--quiet" -Wait
Write-Host "Docker Desktop installé." -ForegroundColor Green
} else {
Write-Host "Docker Desktop déjà installé." -ForegroundColor Green
}
# --- 3. Activer l’intégration WSL2 ---
Write-Host "`n[3] Activation de l’intégration WSL2..." -ForegroundColor Yellow
& "$dockerPath" --enable-wsl-integration
Write-Host "WSL2 intégré à Docker Desktop." -ForegroundColor Green
# --- 4. Vérification Docker ---
Write-Host "`n[4] Vérification Docker..." -ForegroundColor Yellow
docker --version
if ($LASTEXITCODE -ne 0) {
Write-Host "Docker ne répond pas. Lance Docker Desktop puis relance ce script." -ForegroundColor Red
exit
}
# --- 5. Cloner le dépôt GitHub ---
Write-Host "`n[5] Clonage du dépôt watermarks-remover..." -ForegroundColor Yellow
$repoDir = "$env:USERPROFILE\watermarks-remover"
if (-Not (Test-Path $repoDir)) {
git clone https://github.com/guillaumemeyer/watermarks-remover $repoDir
Write-Host "Dépôt cloné dans $repoDir" -ForegroundColor Green
} else {
Write-Host "Dépôt déjà présent → mise à jour..." -ForegroundColor Yellow
cd $repoDir
git pull
}
cd $repoDir
# --- 6. Build Docker ---
Write-Host "`n[6] Construction de l’image Docker..." -ForegroundColor Yellow
make docker-core-build
Write-Host "Image Docker construite : watermarks-remover" -ForegroundColor Green
# --- 7. Lancer le service HTTP ---
Write-Host "`n[7] Lancement du service HTTP local..." -ForegroundColor Yellow
docker run --rm `
-p 127.0.0.1:8765:8765 `
--read-only `
--tmpfs /tmp `
watermarks-remover
# --- 8. Test santé ---
Write-Host "`n[8] Test du service..." -ForegroundColor Yellow
curl http://127.0.0.1:8765/health
Write-Host "`n=== Installation terminée ===" -ForegroundColor Cyan
Write-Host "Service disponible sur : http://127.0.0.1:8765" -ForegroundColor Green
Voici comment tester concrètement la solution Docker “watermarks‑remover” que tu as ouverte sur GitHub .
Je vous donne les étapes exactes pour valider le fonctionnement du service et des scripts.
🧩 1. Vérifier l’installation
Assure‑toi que :
Docker Desktop est lancé (icône baleine visible dans la barre système).
L’image
watermarks-removerest bien construite :powershelldocker imagesVous devez voir une ligne
watermarks-removeravec un taglatest.
🧩 2. Lancer le service HTTP local
Exécutez dans PowerShell :
docker run --rm `
-p 127.0.0.1:8765:8765 `
--read-only `
--tmpfs /tmp `
watermarks-remover
➡️ Le service démarre sur http://127.0.0.1:8765.
Teste la santé :
curl http://127.0.0.1:8765/health
Vous devez obtenir une réponse {"status":"ok"}.
🧩 3. Tester le nettoyage de fichier (CLI)
Placez-vous dans un dossier contenant un fichier Markdown :
docker run --rm `
-v "${PWD}:/data" `
watermarks-remover `
/app/scripts/clean_file.py /data/notes.md -o /data/notes.cleaned.md
Le script nettoie les métadonnées et filigranes IA du fichier notes.md et crée notes.cleaned.md.
🧩 4. Tester les backends lourds (optionnels)
Si tu veux activer les modules IA (MarkLLM, MarkDiffusion, CtrlRegen, SynthID) :
docker compose up -d
docker compose --profile harness up -d
docker compose --profile heavy up -d
Puis vérifie :
make compose-check
🧩 5. Vérifier les outils système
Les outils intégrés sont automatiquement utilisés s’ils sont présents :
| Outil | Rôle |
|---|---|
| c2patool | Inspecte les manifestes C2PA |
| exiftool | Supprime les métadonnées résiduelles (PDF, images) |
| qpdf | Reconstruit la structure PDF pour une bande propre |
🧩 6. Résultat attendu
Le service HTTP répond sur
127.0.0.1:8765.Les fichiers nettoyés sont générés dans ton dossier
/data.Les logs Docker affichent les étapes de traitement (Unicode, C2PA, PDF, etc.).
Test pratique : vérifier que watermarks‑remover fonctionne
1. Vérifier Docker
docker --version
2. Lancer le service HTTP local
docker run --rm ^
-p 127.0.0.1:8765:8765 ^
--read-only ^
--tmpfs /tmp ^
watermarks-remover
Service disponible sur :
http://127.0.0.1:8765 (127.0.0.1 in Bing)
3. Tester l’endpoint de santé
curl http://127.0.0.1:8765/health
Résultat attendu :
{"status":"ok"}
4. Nettoyer un fichier (CLI)
Place un fichier notes.md dans ton dossier courant, puis :
docker run --rm ^
-v "${PWD}:/data" ^
watermarks-remover ^
/app/scripts/clean_file.py /data/notes.md -o /data/notes.cleaned.md
Le fichier nettoyé sera :
notes.cleaned.md
5. Activer l’infrastructure complète (optionnel)
docker compose up -d
docker compose --profile harness up -d
docker compose --profile heavy up -d
Vérification :
make compose-check
Résultat attendu
Le service HTTP répond sur 127.0.0.1:8765
Les scripts Python fonctionnent via Docker
Les fichiers nettoyés sont générés dans /data
Les backends lourds peuvent être activés via Docker Compose

Aucun commentaire:
Enregistrer un commentaire