# Mirage ## 📌 Description Ce projet est un **outil graphique** dĂ©veloppĂ© en Python qui permet de : - **Chiffrer** et **dĂ©chiffrer** du texte en utilisant l'algorithme **Fernet** (chiffrement symĂ©trique). - **Cacher** et **extraire** du texte dans des images (stĂ©ganographie). L'interface utilise **Tkinter** pour une interaction simple et intuitive, avec des zones de texte (`ScrolledText`) pour faciliter le **copier-coller** et la manipulation de donnĂ©es. --- Dans les rĂ©pertoires Windows et linux, vous avez les binaires compilĂ©s exĂ©cutable. --- ## 🛠 PrĂ©requis pour la compilation ou execution du script python Pour exĂ©cuter ce projet, assurez-vous d'avoir installĂ© les dĂ©pendances suivantes : | DĂ©pendance | Version | Description | | -------------- | ------------------ | --------------------------------------- | | Python | 3.8+ | Langage principal | | `tkinter` | Inclus avec Python | BibliothĂšque pour l'interface graphique | | `Pillow` | 9.0.0+ | Traitement des images | | `numpy` | 1.21.0+ | Calculs numĂ©riques | | `cryptography` | 36.0.0+ | Chiffrement Fernet | --- ### Windows installer IDE Python3 puis les extentions dans requierements.txt Puis lancer le script dans IDEpython3. ### Linux ### Installation des dĂ©pendances 1. **Python** : ```bash apt install python3 python3-pip python3-tk ``` 2. **Cloner le dĂ©pĂŽt** (si applicable) : ```bash git clone fra1od.freeboxos.fr/Mirage cd Mirage ``` 3. **CrĂ©er un environnement virtuel** (recommandĂ©) : ```bash python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows ``` 4. **Installer les dĂ©pendances** : ```bash pip install -r requirements.txt ```   --- ## 🚀 Utilisation ### 1. Lancer l'application ExĂ©cutez le script principal : ```bash python3 mirage.py ``` ### 2. FonctionnalitĂ©s disponibles - **Chiffrement/DĂ©chiffrement** : - Saisissez du texte dans la zone prĂ©vue. - Cliquez sur **Encoder** pour chiffrer le texte. - Cliquez sur **DĂ©coder** pour dĂ©chiffrer le texte (nĂ©cessite la mĂȘme clĂ©). - **StĂ©ganographie** *(si implĂ©mentĂ©)* : - Chargez une image via le bouton **Ouvrir une image**. - Cachez du texte dans l'image ou extrayez-le. ### 3. Build prĂšs-requis pyinstaller pour windows le .bat pour linux le .sh --- ## 🔐 SĂ©curitĂ© - **Mot de passe** : Le chiffrement utilise une clĂ© gĂ©nĂ©rĂ©e Ă  partir d'un mot de passe (par dĂ©faut : `votre_mot_de_passe`). **Pour plus de sĂ©curitĂ©**, modifiez le code pour demander le mot de passe Ă  l'utilisateur via une boĂźte de dialogue. - **ClĂ© Fernet** : La clĂ© est dĂ©rivĂ©e du mot de passe en utilisant **SHA-256** et encodĂ©e en **base64**. --- ## 📂 Structure du projet ``` . ├── mirage.py # Script principal de l'application ├── README.md # Documentation (ce fichier) ├── requirements.txt # Liste des dĂ©pendances (optionnel) ├── mirage_icon.png # image pour icon linux ├── mirage_test.png # image pour les tests de chiffrement ├── mirage.ico # icone ├── LICENSE # la license MIT ├── build.bat # compilation du binaire executable pour windows └── build.sh # compilation du binaire executable pour linux ``` build.bat TĂ©lĂ©verser les fichiers vers "/" il y a 1 heure build.sh TĂ©lĂ©verser les fichiers vers "/" il y a 1 heure LICENSE Initial commit il y a 1 heure mirage_icon.png TĂ©lĂ©verser les fichiers vers "/" il y a 1 heure mirage_test.png TĂ©lĂ©verser les fichiers vers "/" il y a 1 heure mirage.ico TĂ©lĂ©verser les fichiers vers "/" il y a 1 heure mirage.py TĂ©lĂ©verser les fichiers vers "/" il y a 1 heure README.md Actualiser README.md il y a 2 minutes requierments.txt TĂ©lĂ©verser les fichiers vers "/" --- ## đŸ€ Contribution Les contributions sont les bienvenues ! Ouvrez une **issue** ou soumettez une **pull request** pour : - Ajouter des fonctionnalitĂ©s (ex : support de fichiers audio). - AmĂ©liorer l'interface utilisateur. - Corriger des bugs. --- ## ⚠ Limitations - **Pas de gestion des erreurs avancĂ©e** : Les erreurs de dĂ©codage (ex : clĂ© incorrecte) sont affichĂ©es dans une boĂźte de dialogue. - **StĂ©ganographie basique** : Actuellement, seul le chiffrement de texte est implĂ©mentĂ©. La partie stĂ©ganographie (cacher du texte dans des images) peut ĂȘtre ajoutĂ©e. --- ## 📜 Licence Ce projet est sous licence **MIT**. Vous ĂȘtes libre de l'utiliser, le modifier et le distribuer.