# 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`.