Guide watermarks-remover

Andorra Fòrum per l'Entesa i l'Entesa Social (AFEES)

 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

🐍 Scripts de base

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 :

powershell
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 :

powershell
docker --version

2️⃣ Cloner le dépôt GitHub

Dans PowerShell ou Git Bash :

powershell
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 :

powershell
make docker-core-build

Cela construit l’image locale :

Code
watermarks-remover

(Confirmé dans la section Docker du README )

4️⃣ Lancer le service HTTP local

Toujours depuis le dossier du projet :

powershell
docker run --rm ^
  -p 127.0.0.1:8765:8765 ^
  --read-only ^
  --tmpfs /tmp ^
  watermarks-remover

Tu obtiens un service local :

Code
http://127.0.0.1:8765

Test :

powershell
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 :

powershell
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) :

powershell
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

powershell
make compose-check

🧩 Résumé opérationnel

ÉtapeAction
1Installer WSL2 + Docker Desktop
2Cloner le dépôt GitHub
3make docker-core-build
4Lancer le service HTTP
5Utiliser 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-remover est bien construite :

    powershell
    docker images
    

    Vous devez voir une ligne watermarks-remover avec un tag latest.

🧩 2. Lancer le service HTTP local

Exécutez dans PowerShell :

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é :

powershell
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 :

powershell
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) :

powershell
docker compose up -d
docker compose --profile harness up -d
docker compose --profile heavy up -d

Puis vérifie :

powershell
make compose-check

🧩 5. Vérifier les outils système

Les outils intégrés sont automatiquement utilisés s’ils sont présents :

OutilRôle
c2patoolInspecte les manifestes C2PA
exiftoolSupprime les métadonnées résiduelles (PDF, images)
qpdfReconstruit 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

Code
docker --version

2. Lancer le service HTTP local

Code
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é

Code
curl http://127.0.0.1:8765/health

Résultat attendu :

Code
{"status":"ok"}

4. Nettoyer un fichier (CLI)

Place un fichier notes.md dans ton dossier courant, puis :

Code
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)

Code
docker compose up -d
docker compose --profile harness up -d
docker compose --profile heavy up -d

Vérification :

Code
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

Premier des tests d'installations:

PS C:\> Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
PS C:\> C:\xxxxxxxxxxxx\Installation_Docker_WSL2_Watermarks-Remover.ps1

Outil Gestion et maintenance des images de déploiement
Version : 10.0.26100.8972

Version de l’image : 10.0.26200.9168

Activation de la ou des fonctionnalités
[==========================100.0%==========================]
L’opération a réussi.


 Writing web request
    Writing request stream... (Number of bytes written: 339124273)


Activation de la ou des fonctionnalités
[==========================100.0%==========================]
L’opération a réussi.
Téléchargement en cours : Sous-système Windows pour Linux 2.7.11
Installation en cours : Sous-système Windows pour Linux 2.7.11
Sous-système Windows pour Linux 2.7.11 a été installé.
Installation du composant facultatif Windows : VirtualMachinePlatform

Outil Gestion et maintenance des images de déploiement
Version : 10.0.26100.8972

Version de l’image : 10.0.26200.9168

Activation de la ou des fonctionnalités
[==========================100.0%==========================]
L’opération a réussi.


En savoir plus sur les différentes versions de WSL, notamment la raison pour laquelle WSL 2 est désormais la valeur par défaut et les scénarios ou exceptions spécifiques qui peuvent justifier le basculement de votre distribution Linux installée vers l’architecture WSL 1 précédente.

La virtualisation est activée mais pas active tant que tu n’as pas redémarré Windows. Redémarre maintenant pour finaliser WSL2 et VirtualMachinePlatform, puis relance Docker Desktop. Le message disparaîtra après ce redémarrage obligatoire.

WSL 2

Vérifier que Docker CLI répond

Dans PowerShell :
docker version
docker info



Projet d'UI

Premère maquette :

Seconde maquette :

Troisième maquette

Prisme_UGAIA — Gouvernance IA souveraine. 

Traitement intégralement local : aucun octet n'est transmis hors de cette machine. À n'utiliser que sur des contenus dont vous détenez les droits.

Le retrait des porteurs Unicode et des métadonnées est mesurable et affiché tel quel. 

Le retrait des marques statistiques et des filigranes pixel ne l'est pas : aucun outil local ne peut certifier qu'un détecteur propriétaire échouera. Lorsque la couche B est confiée à un fournisseur distant, le bandeau en haut de page le signale explicitement : le texte quitte alors la machine.

Maintenant j'ai fait mes tests sur un PC avec 16 Go :

C'est faible mais c'est possible.

Users Group Artificial Intelligence Agentique (U.G.A.I.A.) : UGAIA – Watermarks Remover Dashboard


Projet avec l'IA : 











Aucun commentaire:

Enregistrer un commentaire

Cockpit Gouvernance IA Échéances réglementaires UE et veille modèles souverains

Cockpit Gouvernance IA — 07.09.2026 Cockpit Gouvernance IA Échéances réglementaires UE et veille modèles...