Téléverser les fichiers vers "/"
This commit is contained in:
commit
f95bce07d7
|
|
@ -0,0 +1,537 @@
|
|||
# 🎙️ TranscribeStation
|
||||
|
||||
**Gestionnaire de transcription audio** avec support natif des pédaliers Olympus.
|
||||
Interface inspirée de Philips SpeechExec et Olympus ODMS.
|
||||
|
||||
> **JT-Tools by Johnny** — développé pour **H3Campus**
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
---
|
||||
|
||||
## Sommaire
|
||||
|
||||
- [Fonctionnalités](#fonctionnalités)
|
||||
- [Capture d'écran](#capture-décran)
|
||||
- [Prérequis](#prérequis)
|
||||
- [Installation](#installation)
|
||||
- [Configuration du pédalier](#configuration-du-pédalier-udev)
|
||||
- [Utilisation](#utilisation)
|
||||
- [Raccourcis clavier](#raccourcis-clavier)
|
||||
- [Formats audio supportés](#formats-audio-supportés)
|
||||
- [Paramètres](#paramètres)
|
||||
- [Compilation en binaire](#compilation-en-binaire)
|
||||
- [Architecture](#architecture)
|
||||
- [Limitations connues](#limitations-connues)
|
||||
- [Dépannage](#dépannage)
|
||||
|
||||
---
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
| Catégorie | Détails |
|
||||
|-----------|---------|
|
||||
| **Lecteur audio** | Lecture, pause, stop, rembobinage, avance rapide, vitesse (0.5× → 2.0×) |
|
||||
| **Volume** | Slider toolbar + muet, raccourcis `+` / `-` / `M` |
|
||||
| **Forme d'onde** | Waveform interactive (clic pour se positionner) via NumPy + SoundFile |
|
||||
| **Navigation** | Fichier précédent / suivant depuis la toolbar et le clavier |
|
||||
| **Gestion fichiers** | Navigation par dossiers, ajout manuel, filtres par statut |
|
||||
| **Statuts** | À faire · En cours · Suspendu · Terminé — persistés entre sessions |
|
||||
| **Pédaliers** | RS27H/N · RS28H/N · RS31H/N — reconnexion automatique si débranché |
|
||||
| **Persistance** | Base de données JSON locale (`.transcribe_station.json`) par dossier |
|
||||
| **Interface** | Thème sombre, toolbar emoji, séparateur redimensionnable, barre de statut |
|
||||
| **Raccourcis** | 15 raccourcis clavier couvrant transport, volume, vitesse et navigation |
|
||||
| **Compilation** | Binaire autonome Linux + Windows via `build.py` (PyInstaller) |
|
||||
| **Raccourcis OS** | Entrée GNOME (`.desktop` + icône XDG) et menu Démarrer Windows (`.lnk`) |
|
||||
|
||||
---
|
||||
|
||||
## Capture d'écran
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────────────────────────┐
|
||||
│ 📂 ➕ 💾 │ ⏮️ ⏪️ ▶️ ⏩️ ⏭️ ⏹️ │ ⏫ ⏬ │ 🔇 ══════ │ ⚙️ ❓ 🦶 Connecté │
|
||||
├─────────────┬────────────────────────────────────────────────────────────────┤
|
||||
│ 📋 Dictées │ Nom du fichier N° Auteur Type Durée Statut │
|
||||
│ 📥 À faire │ ▌ DICT0070.wav 69 DUPONT LETTRE 05:00 À faire │
|
||||
│ 🔵 En cours│ ▌ DICT0007.wav 55 MARTIN GEN. 12:30 Terminé │
|
||||
│ ✅ Terminé │ ▌ DICT0008.wav 56 MARTIN GEN. 08:15 En cours │
|
||||
│ ⏸ Suspendu │ │
|
||||
│ │ │
|
||||
│ 📨 Dossiers │ │
|
||||
│ 📂 2024-Q4 │ │
|
||||
│ 📂 2025-Q1 │ │
|
||||
├─────────────┴────────────────────────────────────────────────────────────────┤
|
||||
│ ▓▓▓▓▓▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ← waveform interactive │
|
||||
│ 01:23 ────────●─────────────────────────────── 05:00 │
|
||||
│ Vitesse: 1.0× Volume: ████████░░░ 🦶 RS27H/N connecté │
|
||||
└──────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Prérequis
|
||||
|
||||
### Système (Debian 12 / 13)
|
||||
|
||||
```bash
|
||||
sudo apt-get install -y \
|
||||
python3 python3-pip python3-venv \
|
||||
libhidapi-dev libhidapi-hidraw0 libusb-1.0-0 \
|
||||
gstreamer1.0-plugins-good \
|
||||
gstreamer1.0-plugins-bad \
|
||||
gstreamer1.0-plugins-ugly \
|
||||
gstreamer1.0-libav \
|
||||
fonts-noto-color-emoji
|
||||
```
|
||||
|
||||
> **GStreamer** est requis par PyQt6 QtMultimedia pour lire l'audio sous Linux.
|
||||
> **fonts-noto-color-emoji** assure le rendu des emojis dans la toolbar.
|
||||
|
||||
### Dépendances Python
|
||||
|
||||
| Paquet | Version min | Rôle | Optionnel |
|
||||
|--------|-------------|------|-----------|
|
||||
| `PyQt6` | 6.5 | Interface graphique + lecteur audio | Non |
|
||||
| `numpy` | 1.24 | Traitement du signal pour la waveform | Oui |
|
||||
| `soundfile` | 0.12 | Lecture des fichiers audio (waveform) | Oui |
|
||||
| `hid` | 1.0.5 | Communication USB HID avec le pédalier | Oui |
|
||||
| `Pillow` | 9.0 | Génération des icônes (compilation uniquement) | Oui |
|
||||
|
||||
> Sans `numpy`/`soundfile` : la waveform ne s'affiche pas, le reste fonctionne.
|
||||
> Sans `hid` : le support pédalier est désactivé (avertissement au démarrage).
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
### Méthode rapide (script automatisé)
|
||||
|
||||
```bash
|
||||
git clone https://github.com/h3campus/transcribe-station.git
|
||||
cd transcribe-station
|
||||
chmod +x install.sh
|
||||
./install.sh
|
||||
```
|
||||
|
||||
Le script `install.sh` effectue 6 étapes avec sortie colorée :
|
||||
|
||||
1. Installation des dépendances système (`apt-get`) incluant `libhidapi` et `fonts-noto-color-emoji`
|
||||
2. Création de l'environnement virtuel Python (`.venv/`)
|
||||
3. Mise à jour de `pip`
|
||||
4. Installation des paquets Python — `PyQt6`, `numpy`, `soundfile`, `hid` (avec fallback `hidapi`)
|
||||
5. Configuration udev pour le pédalier + ajout au groupe `plugdev`
|
||||
6. Création du script `launch.sh`
|
||||
|
||||
### Méthode manuelle
|
||||
|
||||
```bash
|
||||
# 1. Environnement virtuel
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
|
||||
# 2. Dépendances Python
|
||||
pip install PyQt6 numpy soundfile hid
|
||||
|
||||
# 3. Lancer
|
||||
python transcribe_station.py
|
||||
```
|
||||
|
||||
### Lancement
|
||||
|
||||
```bash
|
||||
./launch.sh
|
||||
# ou
|
||||
source .venv/bin/activate && python transcribe_station.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Configuration du pédalier (udev)
|
||||
|
||||
Sans règle udev, l'accès au périphérique HID nécessite les droits root.
|
||||
|
||||
### Créer la règle
|
||||
|
||||
```bash
|
||||
sudo tee /etc/udev/rules.d/99-olympus-pedal.rules << 'EOF'
|
||||
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="07b4", MODE="0666", GROUP="plugdev"
|
||||
EOF
|
||||
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger
|
||||
```
|
||||
|
||||
### Ajouter votre utilisateur au groupe `plugdev`
|
||||
|
||||
```bash
|
||||
sudo usermod -aG plugdev $USER
|
||||
# Déconnectez-vous et reconnectez-vous pour que le groupe soit actif
|
||||
```
|
||||
|
||||
### Vérifier la détection
|
||||
|
||||
```bash
|
||||
python3 -c "
|
||||
import hid
|
||||
for d in hid.enumerate():
|
||||
if d['vendor_id'] == 0x07B4:
|
||||
print(f\"PID={hex(d['product_id'])} {d.get('product_string','?')}\")
|
||||
"
|
||||
```
|
||||
|
||||
Ou depuis l'application : **Périphérique → Détecter les périphériques**.
|
||||
|
||||
### Correspondance VID/PID
|
||||
|
||||
| Modèle | Vendor ID | Product ID |
|
||||
|--------|-----------|------------|
|
||||
| RS27H/N | `0x07B4` | `0x0110` |
|
||||
| RS28H/N | `0x07B4` | `0x0111` |
|
||||
| RS31H/N | `0x07B4` | `0x0112` |
|
||||
|
||||
> ⚠️ Ces Product IDs sont approximatifs. Utilisez la détection automatique puis
|
||||
> ajustez dans **Outils → Paramètres → Pédalier**.
|
||||
|
||||
### Comportement des pédales
|
||||
|
||||
| Pédale | Appui court | Maintenu |
|
||||
|--------|-------------|---------|
|
||||
| **Gauche** (rewind) | Reculer 3 s | Rembobinage continu — pause auto, reprise au relâché |
|
||||
| **Centre** (play) | Lecture / Pause | — |
|
||||
| **Droite** (forward) | Avancer 3 s | Avance rapide continue |
|
||||
|
||||
---
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Toolbar
|
||||
|
||||
| Bouton | Action |
|
||||
|--------|--------|
|
||||
| 📂 | Ouvrir un dossier (`Ctrl+O`) |
|
||||
| ➕ | Ajouter des fichiers (`Ctrl+Shift+O`) |
|
||||
| 💾 | Enregistrer la liste (`Ctrl+S`) |
|
||||
| ⏮️ | Aller au début (`Home`) |
|
||||
| ⏪️ | Reculer 3 s (`←`) |
|
||||
| ▶️ | Lecture / Pause (`Espace`) |
|
||||
| ⏩️ | Avancer 3 s (`→`) |
|
||||
| ⏭️ | Aller à la fin (`End`) |
|
||||
| ⏹️ | Stop (`S`) |
|
||||
| ⏫ | Fichier précédent (`Ctrl+↑`) |
|
||||
| ⏬ | Fichier suivant (`Ctrl+↓`) |
|
||||
| 🔇 | Muet / Actif (`M`) |
|
||||
| `══` | Slider volume (`+` / `-`) |
|
||||
| ⚙️ | Paramètres (`Ctrl+,`) |
|
||||
| ❓ | À propos |
|
||||
|
||||
### Ouvrir un dossier
|
||||
|
||||
**Fichier → Ouvrir un dossier** ou `Ctrl+O`
|
||||
|
||||
L'application scanne automatiquement les fichiers audio du dossier.
|
||||
Un fichier `.transcribe_station.json` est créé pour mémoriser les statuts.
|
||||
|
||||
### Lire un fichier
|
||||
|
||||
**Double-clic** sur une ligne du tableau, ou sélection + `Espace`.
|
||||
Le statut passe automatiquement à **En cours** à l'ouverture.
|
||||
|
||||
### Changer le statut d'un fichier
|
||||
|
||||
**Clic droit** sur une ligne → **Changer le statut**
|
||||
|
||||
| Couleur | Statut | Description |
|
||||
|---------|--------|-------------|
|
||||
| 🟡 | À faire | Non encore traité |
|
||||
| 🔵 | En cours | Appliqué automatiquement à l'ouverture |
|
||||
| ⚪ | Suspendu | Traitement interrompu |
|
||||
| 🟢 | Terminé | Transcription complète |
|
||||
|
||||
### Sauvegarder
|
||||
|
||||
`Ctrl+S` ou **Fichier → Enregistrer la liste**.
|
||||
Sauvegarde automatique également à la fermeture de l'application.
|
||||
|
||||
---
|
||||
|
||||
## Raccourcis clavier
|
||||
|
||||
### Transport
|
||||
|
||||
| Raccourci | Action |
|
||||
|-----------|--------|
|
||||
| `Espace` | Lecture / Pause |
|
||||
| `S` | Stop |
|
||||
| `←` | Reculer de 3 s |
|
||||
| `→` | Avancer de 3 s |
|
||||
| `Home` | Aller au début |
|
||||
| `End` | Aller à la fin |
|
||||
|
||||
### Volume & Vitesse
|
||||
|
||||
| Raccourci | Action |
|
||||
|-----------|--------|
|
||||
| `+` | Volume + 10 % |
|
||||
| `-` | Volume − 10 % |
|
||||
| `M` | Muet / Actif |
|
||||
| `]` | Vitesse + (0.5× → 2.0×) |
|
||||
| `[` | Vitesse − |
|
||||
|
||||
### Navigation fichiers
|
||||
|
||||
| Raccourci | Action |
|
||||
|-----------|--------|
|
||||
| `Ctrl+↑` | Fichier précédent dans la liste |
|
||||
| `Ctrl+↓` | Fichier suivant dans la liste |
|
||||
|
||||
### Application
|
||||
|
||||
| Raccourci | Action |
|
||||
|-----------|--------|
|
||||
| `Ctrl+O` | Ouvrir un dossier |
|
||||
| `Ctrl+Shift+O` | Ajouter des fichiers |
|
||||
| `Ctrl+S` | Enregistrer la liste |
|
||||
| `Ctrl+,` | Paramètres |
|
||||
| `Ctrl+Q` | Quitter |
|
||||
|
||||
---
|
||||
|
||||
## Formats audio supportés
|
||||
|
||||
| Format | Extension | Waveform | Lecture |
|
||||
|--------|-----------|----------|---------|
|
||||
| WAV | `.wav` | ✅ | ✅ |
|
||||
| MP3 | `.mp3` | ✅ | ✅ |
|
||||
| FLAC | `.flac` | ✅ | ✅ |
|
||||
| OGG Vorbis | `.ogg` | ✅ | ✅ |
|
||||
| MP4 / M4A | `.mp4` `.m4a` | ✅ | ✅ |
|
||||
| Olympus DSS | `.dss` | ❌ | ⚠️ selon codec GStreamer |
|
||||
| Olympus DS2 | `.ds2` | ❌ | ⚠️ selon codec GStreamer |
|
||||
|
||||
> Conversion DSS/DS2 recommandée avant utilisation :
|
||||
> ```bash
|
||||
> ffmpeg -i fichier.dss fichier.wav
|
||||
> ```
|
||||
|
||||
---
|
||||
|
||||
## Paramètres
|
||||
|
||||
**Outils → Paramètres** (`Ctrl+,`)
|
||||
|
||||
### Onglet Pédalier
|
||||
|
||||
| Paramètre | Description |
|
||||
|-----------|-------------|
|
||||
| Activer le support pédalier | Active/désactive la lecture HID au démarrage |
|
||||
| Modèle | Profil VID/PID prédéfini (RS27H/N, RS28H/N, RS31H/N) |
|
||||
| Vendor ID / Product ID | Valeurs hexadécimales personnalisables |
|
||||
| Délai rembobinage/avance | Durée du saut clavier en ms (défaut : 3 000 ms) |
|
||||
| Détecter | Lance la détection des périphériques Olympus connectés |
|
||||
|
||||
### Onglet Général
|
||||
|
||||
| Paramètre | Description |
|
||||
|-----------|-------------|
|
||||
| Auteur par défaut | Pré-rempli pour les nouveaux fichiers importés |
|
||||
| Lecture auto à la sélection | Lance la lecture dès qu'un fichier est sélectionné |
|
||||
|
||||
---
|
||||
|
||||
## Compilation en binaire
|
||||
|
||||
Le script `build.py` produit un **exécutable autonome** (PyInstaller `--onefile`) et installe les raccourcis système sur Linux et Windows.
|
||||
|
||||
### Prérequis supplémentaires
|
||||
|
||||
```bash
|
||||
pip install pyinstaller Pillow
|
||||
```
|
||||
|
||||
### Commandes disponibles
|
||||
|
||||
```bash
|
||||
# Build + installation raccourcis (OS auto-détecté)
|
||||
python build.py
|
||||
|
||||
# Build Linux uniquement + raccourci GNOME
|
||||
python build.py --linux
|
||||
|
||||
# Build Windows uniquement + raccourci Menu Démarrer
|
||||
python build.py --windows
|
||||
|
||||
# Les deux (Linux natif + Windows via Wine si disponible)
|
||||
python build.py --both
|
||||
|
||||
# Build sans créer de raccourcis
|
||||
python build.py --no-install
|
||||
|
||||
# Installer le raccourci sans recompiler (binaire déjà présent)
|
||||
python build.py --install-only
|
||||
|
||||
# Supprimer le raccourci GNOME
|
||||
python build.py --uninstall
|
||||
|
||||
# Nettoyer les artefacts (build/ dist/ icon.*)
|
||||
python build.py --clean
|
||||
```
|
||||
|
||||
### Raccourcis créés — Linux (GNOME)
|
||||
|
||||
| Élément | Emplacement |
|
||||
|---------|-------------|
|
||||
| Icône PNG 256 px | `~/.local/share/icons/hicolor/256x256/apps/TranscribeStation.png` |
|
||||
| Entrée applications | `~/.local/share/applications/TranscribeStation.desktop` |
|
||||
| Raccourci bureau | `~/Bureau/TranscribeStation.desktop` |
|
||||
|
||||
Le fichier `.desktop` contient `Exec`, `Icon`, `Categories=Audio;AudioVideo;`, `StartupWMClass` et `Keywords`. Les caches `update-desktop-database` et `gtk-update-icon-cache` sont mis à jour automatiquement.
|
||||
|
||||
### Raccourcis créés — Windows (Menu Démarrer & Bureau)
|
||||
|
||||
| Raccourci | Emplacement |
|
||||
|-----------|-------------|
|
||||
| Menu Démarrer | `%APPDATA%\Microsoft\Windows\Start Menu\Programs\TranscribeStation.lnk` |
|
||||
| Bureau | `%USERPROFILE%\Desktop\TranscribeStation.lnk` |
|
||||
|
||||
Les fichiers `.lnk` sont créés via **PowerShell + WScript.Shell** avec l'icône embarquée dans l'`.exe` (`IconLocation = exe,0`).
|
||||
|
||||
En cross-compilation depuis Linux, un script `dist/windows/install_shortcut.ps1` est généré pour exécution sur la machine cible :
|
||||
|
||||
```powershell
|
||||
powershell -ExecutionPolicy Bypass -File dist\windows\install_shortcut.ps1
|
||||
```
|
||||
|
||||
### Build Windows sans Wine (machine Windows native)
|
||||
|
||||
Copiez `transcribe_station.py` + `dist/build_windows.bat` sur la machine Windows et double-cliquez sur `build_windows.bat`. Le script fait tout en 4 étapes : dépendances pip, génération icône, PyInstaller, raccourcis.
|
||||
|
||||
---
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
transcribe_station.py
|
||||
│
|
||||
├── APP_NAME / APP_VERSION / APP_AUTHOR Métadonnées (v1.0.0, Mars 2026)
|
||||
├── PEDAL_PROFILES VID/PID RS27H · RS28H · RS31H
|
||||
├── COLORS / STYLESHEET Thème sombre centralisé
|
||||
│
|
||||
├── DictationStatus (Enum) TODO / IN_PROGRESS / SUSPENDED / DONE
|
||||
├── DictationFile (dataclass) Modèle fichier + sérialisation JSON
|
||||
│
|
||||
├── FootPedalWorker (QThread) Boucle HID non-bloquante, reconnexion auto ×2 s
|
||||
├── WaveformWidget (QWidget) Rendu QPainter, seek par clic souris
|
||||
├── PlayerPanel (QWidget) QMediaPlayer + transport + volume + vitesse + pédalier
|
||||
│ ├── toggle_play / stop_playback / toggle_mute
|
||||
│ ├── volume_up / volume_down / set_volume
|
||||
│ └── speed_up / speed_down
|
||||
├── DictationTable Table + monospace sur colonnes numériques + menu clic droit
|
||||
├── FolderTree (QTreeWidget) Arbre navigation + compteurs statuts (TODO/EN COURS/DONE)
|
||||
├── SettingsDialog (QDialog) Onglets Pédalier + Général
|
||||
└── MainWindow (QMainWindow) Orchestration, persistance, raccourcis clavier
|
||||
├── _prev_file / _next_file Navigation Ctrl+↑/↓
|
||||
└── _build_toolbar() 14 boutons emoji Noto Color Emoji + slider volume
|
||||
|
||||
build.py
|
||||
├── generate_icons() icon.png (256 px XDG) + icon.ico (multi-tailles)
|
||||
├── build_linux() PyInstaller onefile → dist/linux/
|
||||
├── build_windows() PyInstaller windowed → dist/windows/
|
||||
├── install_linux_shortcut() .desktop + icône XDG + Bureau + mise à jour caches
|
||||
└── install_windows_shortcut() PowerShell WScript.Shell → .lnk ×2
|
||||
```
|
||||
|
||||
**Source de vérité unique** : `DictationTable._files` — toutes les opérations
|
||||
(ajout, sauvegarde, stats, affichage) passent par cette seule liste.
|
||||
|
||||
---
|
||||
|
||||
## Limitations connues
|
||||
|
||||
- **DSS/DS2** : formats propriétaires sans codec libre standard. Conversion recommandée : `ffmpeg -i in.dss out.wav`
|
||||
|
||||
- **Waveform** : le chargement de fichiers > 200 MB peut bloquer l'UI quelques secondes (pas de thread dédié dans cette version).
|
||||
|
||||
- **Reconnaissance vocale** : non intégrée. Compatible avec tout moteur externe (Whisper, Vosk, DeepSpeech…) en copier-coller.
|
||||
|
||||
- **Multi-fenêtre** : une seule instance par processus.
|
||||
|
||||
- **PID pédalier** : les Product IDs inclus sont approximatifs — à confirmer avec la détection automatique.
|
||||
|
||||
---
|
||||
|
||||
## Dépannage
|
||||
|
||||
### Le pédalier n'est pas détecté
|
||||
|
||||
```bash
|
||||
# Vérifier que le device USB est visible
|
||||
lsusb | grep -i "07b4\|olympus"
|
||||
|
||||
# Vérifier les permissions hidraw
|
||||
ls -la /dev/hidraw*
|
||||
|
||||
# Tester en root (contournement udev)
|
||||
sudo python transcribe_station.py
|
||||
```
|
||||
|
||||
### Pas de son
|
||||
|
||||
```bash
|
||||
# Vérifier les codecs GStreamer
|
||||
gst-inspect-1.0 | grep -i "mp3\|wav\|flac"
|
||||
|
||||
# Installer les codecs manquants
|
||||
sudo apt-get install gstreamer1.0-plugins-ugly gstreamer1.0-libav
|
||||
```
|
||||
|
||||
### Les emojis toolbar ne s'affichent pas
|
||||
|
||||
```bash
|
||||
sudo apt-get install fonts-noto-color-emoji
|
||||
# Redémarrer l'application
|
||||
```
|
||||
|
||||
### Erreur à l'import de `hid`
|
||||
|
||||
```bash
|
||||
sudo apt-get install libhidapi-dev libhidapi-hidraw0
|
||||
pip install hid
|
||||
# Alternative :
|
||||
pip install hidapi
|
||||
```
|
||||
|
||||
### La waveform ne s'affiche pas
|
||||
|
||||
```bash
|
||||
pip install numpy soundfile
|
||||
```
|
||||
|
||||
### Le raccourci GNOME n'apparaît pas dans les applications
|
||||
|
||||
```bash
|
||||
update-desktop-database ~/.local/share/applications
|
||||
gtk-update-icon-cache -f -t ~/.local/share/icons/hicolor
|
||||
# Déconnectez-vous / reconnectez-vous si nécessaire
|
||||
```
|
||||
|
||||
### Le binaire PyInstaller ne se lance pas
|
||||
|
||||
```bash
|
||||
# Vérifier les librairies manquantes
|
||||
ldd dist/linux/TranscribeStation | grep "not found"
|
||||
|
||||
# Lancer avec logs
|
||||
dist/linux/TranscribeStation 2>&1 | head -50
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Licence
|
||||
|
||||
MIT — © Mars 2026 H3Campus / JT-Tools by Johnny
|
||||
Voir [LICENSE](LICENSE) pour les détails.
|
||||
Loading…
Reference in New Issue