81 lines
2.5 KiB
Markdown
81 lines
2.5 KiB
Markdown
# 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 : `<chemin>/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`.
|