# MyMind - Version Portable

Version portable de MyMind qui fonctionne sans installation et évite les blocages antivirus.

## Structure

```
portable/
├── python/          # Python portable (à installer manuellement)
├── venv/            # Environnement virtuel avec les dépendances
├── app/             # Fichiers de l'application
│   ├── main.py
│   ├── config.py
│   ├── api_client.py
│   ├── shortcut_handler.py
│   └── gui.py
└── MyMind.bat       # Script de lancement (Windows)
```

## Installation

### Étape 1: Installer Python portable

**Option A: Python officiel portable**

1. Téléchargez Python depuis : https://www.python.org/downloads/windows/
2. Choisissez "Windows embeddable package" (version 3.8 ou supérieure)
3. Extrayez le contenu dans `portable/python/`
4. Le dossier doit contenir `python.exe`

**Option B: WinPython (recommandé)**

1. Téléchargez WinPython depuis : https://winpython.github.io/
2. Choisissez la version "Zero" (sans installation)
3. Extrayez WinPython dans un dossier temporaire
4. Copiez le contenu du dossier `python-3.x.x` dans `portable/python/`

### Étape 2: Configurer le package

Exécutez depuis le répertoire `desktop_client` :

```bash
setup_portable.bat
```

Ou manuellement :

```bash
python create_portable.py
```

Ce script va :
- Créer l'environnement virtuel
- Installer toutes les dépendances
- Copier les fichiers de l'application
- Créer le script de lancement

## Utilisation

### Lancement

Double-cliquez sur `MyMind.bat` ou exécutez :

```bash
MyMind.bat
```

### Distribution et Portabilité

**✅ La version est maintenant 100% portable !**

Pour distribuer l'application :

1. Copiez tout le dossier `portable/` sur une clé USB ou un autre ordinateur
2. Assurez-vous que Python portable est inclus dans `portable/python/`
3. Lancez `MyMind.bat` sur le nouveau poste

**Fonctionnement automatique :**
- Lors du premier lancement sur un nouveau poste, le script détecte automatiquement que l'environnement virtuel (venv) a été déplacé
- Il recrée automatiquement le venv avec le Python portable local
- Cela prend quelques minutes la première fois, puis c'est instantané

**Note importante :** 
- Le dossier `portable/` peut être assez volumineux (environ 100-200 MB avec Python et les dépendances)
- Vous pouvez copier/coller le dossier n'importe où, il fonctionnera automatiquement

## Avantages

- ✅ Pas de blocage antivirus (pas d'exécutable .exe)
- ✅ Fonctionne sans installation
- ✅ Portable (clé USB, etc.)
- ✅ Pas besoin de Python installé sur la machine cible
- ✅ Environnement isolé (ne modifie pas le système)

## Dépannage

### Python portable non trouvé

Vérifiez que `portable/python/python.exe` existe.

### Erreur lors de l'installation des dépendances

- Vérifiez votre connexion Internet
- Vérifiez que Python portable fonctionne : `portable/python/python.exe --version`

### L'application ne démarre pas

- Vérifiez que l'environnement virtuel est créé : `portable/venv/` doit exister
- Vérifiez les logs dans la console

## Taille du package

- Python portable : ~20-30 MB
- Environnement virtuel : ~50-100 MB
- Application : ~100 KB
- **Total : ~100-200 MB**

## Portabilité

**Version 100% portable :**

- ✅ Fonctionne après copie/colle sur un autre poste
- ✅ Détection automatique et recréation du venv si nécessaire
- ✅ Utilisation explicite du Python portable (pas de dépendance au Python système)
- ✅ Aucun chemin absolu hardcodé dans le script de lancement

**Comment ça marche :**
1. Le script `MyMind.bat` vérifie si le venv fonctionne
2. Si le venv a été déplacé et ne fonctionne plus, il est automatiquement recréé
3. Tous les chemins utilisent des chemins relatifs pour garantir la portabilité

## Notes

- La première exécution peut être plus lente (initialisation de l'environnement)
- Après copie sur un autre poste, le premier lancement recréera le venv (quelques minutes)
- Les permissions d'accessibilité peuvent être nécessaires pour intercepter les touches
- Le dossier de configuration est créé dans `%USERPROFILE%\.mymind\`

