first commit
This commit is contained in:
80
README.md
Normal file
80
README.md
Normal file
@@ -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 : `<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`.
|
||||
Reference in New Issue
Block a user