{{ message }}
Repository navigation
Support Windows : lanceur multiplateforme et build d'un .exe - #2
Merged
Merged
Conversation
Le lancement et deux détails de chemins étaient spécifiques à Linux. - launch.py : lanceur commun Windows / macOS / Linux (création du .env, détection de l'IP locale en Python plutôt qu'avec `ip route`, ouverture du navigateur). run.sh et run.bat ne sont plus que des enveloppes. - main.py : dossier de téléchargement résolu par OS et par langue (registre Windows, XDG sous Linux — corrige aussi « Téléchargements » en français) et nettoyage des caractères interdits dans les noms de fichiers Windows. - main.py / launch.py : chemins ancrés sur l'exécutable en build PyInstaller, .env et credentials.json restant à côté de l'exe. - app.py : message clair si pywebview ou son backend WebView2 manque. - requirements : easyocr sorti dans requirements-ocr.txt (~2 Go de PyTorch, inutile hors tickets photo), pythonnet ajouté pour pywebview sous Windows. - CI : workflow de build d'un TricountScanner.exe (PyInstaller), vérifié au démarrage, publié en release sur tag v*. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015qZ1PYFqwtmybDMB3XzDXL
Neyroe
added a commit
that referenced
this pull request
Sep 7, 2026
La fusion de la PR #1 avait été enregistrée avant l'intégration de la PR #2 dans sa branche ; ce merge amène le support Windows sur main. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015qZ1PYFqwtmybDMB3XzDXL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Empilée sur #1 (base :
feat/tricount-scanner), à fusionner après elle.Le code Python était déjà portable, mais le lancement, lui, était clairement
Linux-only — et deux détails de chemins cassaient sous Windows.
Ce qui coinçait
run.sh: bash +ip route getlaunch.py, commun aux trois OS ;run.shetrun.batne sont plus que des enveloppes~/Downloadsen durResto: 12/03 ?.jpgpywebviewImportErrorbrutpythonnet, ou le repli navigateurBonus au passage :
~/Downloadsen dur créait aussi un dossier parasite surun Linux en français, où le vrai dossier est
~/Téléchargements.Release Windows
.github/workflows/windows-release.ymlconstruit unTricountScanner.exeautonome avec PyInstaller sur un runner
windows-latest:.env.examplesont embarqués dans l'exe ;.envetcredentials.jsonsont écrits à côté de l'exe, pas dans ledossier temporaire d'extraction — la configuration et les clés de l'appareil
survivent donc aux relancements ;
en HTTP 200 avant de publier quoi que ce soit ;
v*, l'exe est attaché à une release GitHub ; sinon il restedisponible en artefact de build.
Pour l'utilisateur Windows, ça donne : télécharger l'exe, le lancer, coller le
lien de partage dans le
.envcréé à côté, relancer. Pas de Python à installer.Installation allégée
easyocr(≈ 2 Go avec PyTorch) sort derequirements.txtversrequirements-ocr.txt. L'OCR photo reste disponible en une commande, et sanslui l'import d'une image affiche un message explicite au lieu d'échouer — les
exports PDF/CSV, eux, n'ont jamais eu besoin de PyTorch.
Vérifié
python launch.py: serveur démarré, interface en HTTP 200, bannière avec l'IP locale._downloads_dir()renvoie bien~/Téléchargementssur cette machine, et_safe_filename()nettoie les: / * ?.🤖 Generated with Claude Code
https://claude.ai/code/session_015qZ1PYFqwtmybDMB3XzDXL