Application desktop Python pour stocker des mots de passe de maniere chiffree, les rechercher rapidement et les modifier facilement.
- Technologies utilisees
- Prerequis & compatibilite
- Installation
- Lancement
- Fonctionnalites
- Format des donnees
- Structure du projet
- Securite & limites
- Roadmap
- FAQ
Crypte est construit avec une stack simple, locale et sans service externe :
- Python 3 : langage principal de l'application
- Tkinter / ttk : interface graphique desktop
- cryptography (Fernet) : chiffrement symetrique des entrees
- argon2-cffi (Argon2id) : derivation de cle depuis le master password
- JSON : serialisation des donnees par entree
- Sel aleatoire (16 bytes) + Base64 URL-safe : cle compatible Fernet
- Python : 3.10+
- OS : macOS, Linux, Windows
- Pip : pour installer les dependances
Le fichier requirements.txt contient :
cryptography>=42.0.0
argon2-cffi>=23.1.0- Cloner le depot
git clone https://github.com/LoupesDEV/Crypte.git
cd Crypte- Creer un environnement virtuel (recommande)
macOS / Linux :
python3 -m venv .venv
source .venv/bin/activateWindows (PowerShell) :
py -3 -m venv .venv
.venv\Scripts\Activate.ps1- Installer les dependances
pip install -r requirements.txtTu as 3 facons de lancer l'application :
- Script shell (macOS/Linux)
./run.shCe script installe automatiquement les dependances de requirements.txt avant le lancement.
- Script batch (Windows)
run.batCe script installe automatiquement les dependances de requirements.txt avant le lancement.
- Execution directe Python
python main.py- Ajout d'une entree :
site,utilisateur,mot de passe,note - Edition d'une entree par double-clic sur une ligne
- Suppression de l'entree selectionnee
- Affichage masque du mot de passe (points) avec reveal/hide
- Copie rapide du nom d'utilisateur et du mot de passe dans le presse-papiers
- Barre de recherche instantanee par site
- Interface moderne avec tableau, alternance de lignes et panneau lateral
- Demande d'un master password au demarrage
- Verification du mot de passe maitre avant chargement des donnees
- Chiffrement Fernet ligne par ligne dans
vault/crypte.dat
- Fenetres popup dediees pour ajouter/modifier
- Bouton
Quitteren bas de la colonne gauche - Icone de fenetre chargee depuis
assets/logo.png(si disponible)
Les donnees sont stockees dans vault/crypte.dat.
Chaque ligne du fichier contient une entree chiffree. Une fois dechiffree, la structure JSON est :
{
"site": "github.com",
"user": "mon_utilisateur",
"password": "mon_mot_de_passe",
"note": "2FA active"
}Crypte/
├── main.py # Point d'entree de l'application
├── requirements.txt # Dependances Python
├── run.sh # Lancement macOS/Linux
├── run.bat # Lancement Windows
├── README.md # Documentation
├── assets/
│ ├── logo.png # Icone principale utilisee par l'app
│ └── logo_nobg.png # Variante de logo
├── vault/
│ └── crypte.dat # Base de donnees chiffree (une entree par ligne)
└── crypte/
├── __init__.py # Export de la classe principale
├── app.py # UI + logique applicative
├── constants.py # Couleurs et constantes d'interface
├── styles.py # Styles ttk
├── security.py # Derivation de cle + verification decrypt
└── storage.py # Lecture/ecriture chiffree des entrees- Chiffrement local des donnees avec Fernet
- Derivation de cle avec Argon2id (KDF moderne)
- Sel aleatoire stocke en tete de fichier (
vault/crypte.dat) - Aucune base distante ni API externe
- Donnees chargees uniquement si le master password est correct
- Pas de rotation de cle
- Pas de verrouillage automatique apres inactivite
- Pas d'historique/versionning des entrees
- Tri des entrees (A-Z, date de creation, etc.)
- Export/import chiffre
- Migration de parametres Argon2id (time/memory cost) configurable
Oui. Le fichier est cree automatiquement quand tu enregistres la premiere entree.
Non. Sans le master password correct, le dechiffrement est impossible.
Par securite visuelle. Utilise le bouton Reveal/Hide mdp pour basculer l'affichage.
Tu peux ouvrir une issue ou proposer une pull request sur le depot GitHub.
