commit 69b409f348fd9ef66e23ed2d2949c040a705b1cf Author: Johnny Date: Fri Apr 10 20:41:52 2026 +0200 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..0814dfc --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +# PSR2Linux + +Clone du **Problem Steps Recorder** de Microsoft pour Linux. +Enregistre des étapes avec captures d'écran annotées et génère un rapport HTML standalone. + +## Fonctionnalités + +- Capture d'écran déclenchée par **Ctrl+Impr Écran** (raccourci GNOME global) +- Sélection d'une région ou d'une fenêtre à capturer +- Éditeur d'annotations : flèche, rectangle, ellipse, numéro, texte, crayon +- Export en rapport **HTML standalone** (images embarquées en base64) +- Interface graphique PySide6 (Qt6) + +## Prérequis + +- Linux avec session **X11** (Xorg) — pynput ne fonctionne pas en Wayland +- Python 3.10+ +- Un outil de capture installé : `gnome-screenshot`, `flameshot`, `scrot` ou `import` (ImageMagick) + +## Installation + +```bash +./setup.sh +``` + +Le script : +1. Installe les dépendances système manquantes (`python3-tk`, `python3-venv`, `gnome-screenshot`) +2. Crée le virtualenv `.venv` et installe les paquets Python +3. Enregistre le raccourci **Ctrl+Impr Écran** dans GNOME (via `gsettings`) + +Si `gsettings` n'est pas disponible (session sans D-Bus), enregistrer le raccourci manuellement : +`Paramètres → Clavier → Raccourcis personnalisés` +Commande : `/psr2linux-trigger` — Touche : `Ctrl+Impr Écran` + +## Utilisation + +```bash +./run.sh +``` + +1. Lancer l'application avec `./run.sh` +2. Cliquer sur **Démarrer** pour commencer une session +3. Appuyer sur **Ctrl+Impr Écran** à chaque étape à capturer +4. Annoter chaque capture dans l'éditeur +5. Cliquer sur **Exporter HTML** pour générer le rapport + +## Dépendances Python + +| Paquet | Rôle | +|--------|------| +| `Pillow` | Traitement des images | +| `PySide6` | Interface graphique Qt6 | +| `pynput` | Écoute clavier/souris globale | + +## Diagnostic + +En cas de problème avec la capture ou les événements souris : + +```bash +.venv/bin/python diag.py +``` + +Vérifie : serveur d'affichage (X11/Wayland), import pynput, détection des moniteurs, réception des clics. + +## Structure du projet + +``` +psr2linux.py — Application principale +psr2linux-trigger — Script shell déclenché par le raccourci GNOME +diag.py — Outil de diagnostic +setup.sh — Installation et configuration +run.sh — Lancement de l'application +requirements.txt — Dépendances Python +``` + +## Notes + +- Les rapports générés (`rapport_psr_*.html`) sont des fichiers HTML autonomes, sans dépendance externe. +- Le déclencheur crée le fichier `/tmp/psr2linux.trigger` que l'application surveille en polling. +- Sur Wayland, relancer la session en mode X11 (XOrg) ou utiliser `DISPLAY=:0`.