Sécurité automatique par détection d'activité clavier/souris
Project description
███████╗██╗███╗ ██╗ ██████╗ ███████╗██████╗ ██╗ ██████╗ ██████╗██╗ ██╗
██╔════╝██║████╗ ██║██╔════╝ ██╔════╝██╔══██╗ ██║ ██╔═══██╗██╔════╝██║ ██╔╝
█████╗ ██║██╔██╗ ██║██║ ███╗█████╗ ██████╔╝ ██║ ██║ ██║██║ █████╔╝
██╔══╝ ██║██║╚██╗██║██║ ██║██╔══╝ ██╔══██╗ ██║ ██║ ██║██║ ██╔═██╗
██║ ██║██║ ╚████║╚██████╔╝███████╗██║ ██║ ███████╗╚██████╔╝╚██████╗██║ ██╗
╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝
🔐 FingerLock
Système de verrouillage intelligent par schéma tactile + détection d'activité
Sécurisez votre ordinateur avec un lock screen plein écran stylé et un déverrouillage par schéma 3×3 (style Android). FingerLock surveille votre activité clavier/souris et verrouille automatiquement après inactivité.
✨ Fonctionnalités
🎨 Lock Screen Premium
- 🌈 Écran plein avec dégradé animé
- ⏰ Horloge en temps réel
- 🎯 Grille 3×3 numérotée (1-9, style Android)
- ✨ Animations fluides (points pulse, lignes progressives)
- 🔊 Sons subtils (bips sur points, erreur, succès)
- 🖱️ Tracé sans clic — glissez simplement la souris
- ✅ Zone de validation intuitive
🔒 Sécurité Automatique
- ⌨️ Détection clavier via
evdev(compatible Wayland) - 🖱️ Détection souris native Linux
- ⏱️ Délai configurable (10s, 30s, 60s...)
- 🔐 Schéma personnel stocké hashé (SHA-256)
- 🚀 Ultra-léger — ~10MB RAM, 0% CPU idle
📊 Suivi & Logs
- 📝 Logs détaillés dans
~/.fingerlock/fingerlock.log - 🎯 Compteur d'events en temps réel
- 📈 Historique des verrouillages
🚀 Installation (2 commandes)
Linux (Ubuntu/Debian)
# 1. Installer pipx
sudo apt install pipx && pipx ensurepath && source ~/.bashrc
# 2. Installer FingerLock
pipx install fingerlock
# 3. Lancer
fingerlock
Autres distributions Linux
# Fedora/RHEL
sudo dnf install pipx && pipx ensurepath
# Arch
sudo pacman -S python-pipx && pipx ensurepath
# Puis
pipx install fingerlock && fingerlock
Installation depuis le code source
git clone https://github.com/REBCDR07/fingerlock.git
cd fingerlock
pipx install .
fingerlock
📖 Premier lancement
Au démarrage, deux écrans plein s'affichent :
Étape 1 : Dessinez votre schéma
┌─────────────────────────────────┐
│ 🎨 Configuration │
│ │
│ ┌───┬───┬───┐ │
│ │ 1 │ 2 │ 3 │ │
│ ├───┼───┼───┤ │
│ │ 4 │ 5 │ 6 │ ← Glissez │
│ ├───┼───┼───┤ la souris │
│ │ 7 │ 8 │ 9 │ │
│ └───┴───┴───┘ │
│ │
│ ✅ Valider │
└─────────────────────────────────┘
Exemple : Tracez 7 → 5 → 3 = schéma diagonal
Étape 2 : Confirmez le schéma
Redessinez le même schéma pour valider.
Étape 3 : Délai d'inactivité
⏱️ Délai avant verrouillage (secondes) [10] : 30
C'est tout ! La surveillance démarre. 🎉
🎮 Utilisation
Commandes disponibles
# Démarrer la surveillance (défaut)
fingerlock
fingerlock start
# Avec délai personnalisé
fingerlock start -d 60 # 60 secondes
# Voir la config actuelle
fingerlock config
# Éditer la configuration
fingerlock config --edit
# Réinitialiser le schéma
fingerlock reset
# État du système
fingerlock status
# Consulter les logs
fingerlock logs
fingerlock logs -n 100 # 100 dernières lignes
Arrêter la surveillance
Ctrl+C dans le terminal
🔓 Déverrouillage
Après inactivité, l'écran de lock apparaît :
┌──────────────────────────────────────────┐
│ │
│ ⏰ 14:35:22 │
│ Mardi 18 Février 2026 │
│ │
│ 🔒 Système verrouillé │
│ │
│ 7 → 5 → 3 ← Schéma actuel │
│ │
│ ┌───┬───┬───┐ │
│ │ 1 │ 2 │ 3 │ Glissez votre │
│ ├───┼───┼───┤ schéma sur les │
│ │ 4 │ 5 │ 6 │ points, puis │
│ ├───┼───┼───┤ passez sur ✅ │
│ │ 7 │ 8 │ 9 │ │
│ └───┴───┴───┘ │
│ │
│ ✅ Valider │
│ │
│ Tentative 1/3 │
└──────────────────────────────────────────┘
3 tentatives max puis arrêt du programme.
⚙️ Configuration
Fichier : ~/.fingerlock/config.yaml
# Délai d'inactivité (secondes)
lock_delay_seconds: 30
# Schéma (hashé SHA-256)
pattern_hash: d6a69166d21ee0c8a97327cb142adee2201749599f194a27453fc23edc0cde07
pattern_code: '12369' # Pour debug uniquement
# Logs
log_path: /home/user/.fingerlock/fingerlock.log
# Plateforme (auto)
platform_lock: auto
Modifier :
fingerlock config --edit
nano ~/.fingerlock/config.yaml
🖥️ Compatibilité
✅ Linux
| Distribution | Version | Statut |
|---|---|---|
| Ubuntu | 20.04+ | ✅ Testé |
| Debian | 11+ | ✅ Compatible |
| Fedora | 35+ | ✅ Compatible |
| Arch Linux | Rolling | ✅ Compatible |
| Pop!_OS | 22.04+ | ✅ Testé |
Sessions supportées :
- 🌊 Wayland (via
evdev) ✅ - 🪟 X11 (via
evdev) ✅
Environnements de bureau :
- GNOME, KDE Plasma, XFCE, i3wm, Sway
Prérequis Linux :
# Ajouter utilisateur au groupe input (si pas déjà fait)
sudo usermod -aG input $USER
# Redémarrer la session
⚠️ macOS
Statut : En cours de développement
- Détection d'activité : ⚠️ Limitations macOS
- Lock screen : ✅ Compatible
⚠️ Windows
Statut : En cours de développement
- Détection d'activité : ⚠️ Nécessite adaptations
- Lock screen : ✅ Compatible
📊 Exemple de logs
2026-02-18T09:37:14 | INFO | [09:37:14] ℹ️ SYSTEM Surveillance démarrée
2026-02-18T09:37:14 | INFO | [09:37:14] 📡 SYSTEM 11 périphériques détectés
2026-02-18T09:38:38 | WARN | [09:38:38] 🔒 LOCK Verrouillage après 30s
2026-02-18T09:38:48 | INFO | [09:38:48] ℹ️ SYSTEM Système déverrouillé
🛠️ Développement
Cloner le projet
git clone https://github.com/REBCDR07/fingerlock.git
cd fingerlock
Installer en mode dev
python3 -m venv venv
source venv/bin/activate
pip install -e .
fingerlock
Structure du projet
fingerlock/
├── fingerlock/
│ ├── __init__.py
│ ├── cli.py # Interface CLI
│ ├── core/
│ │ ├── watch.py # Surveillance evdev
│ │ ├── lockscreen.py # UI plein écran
│ │ ├── pattern_gui.py # Setup schéma
│ │ └── locker.py # Verrouillage système
│ ├── utils/
│ │ └── logger.py # Journalisation
│ └── config/
│ └── settings.py # Config YAML
├── setup.py
├── README.md
└── LICENSE
Contribuer
- Fork le projet
- Créez une branche (
git checkout -b feature/ma-feature) - Committez (
git commit -m 'Ajout feature X') - Push (
git push origin feature/ma-feature) - Ouvrez une Pull Request
🆘 Dépannage
❌ "Commande 'fingerlock' introuvable"
pipx ensurepath
source ~/.bashrc
pipx reinstall fingerlock
❌ "Aucun périphérique input accessible"
# Vérifier le groupe input
groups $USER | grep input
# Si absent :
sudo usermod -aG input $USER
# Redémarrer la session (logout/login)
❌ "Events détectés: 0" (ne détecte pas l'activité)
# Vérifier les permissions /dev/input
ls -la /dev/input/event*
# Doivent être lisibles par le groupe 'input'
# Si problème, redémarrer après avoir ajouté au groupe
❌ Lock screen ne s'affiche pas
# Vérifier tkinter
python3 -c "import tkinter; print('OK')"
# Si erreur, installer :
sudo apt install python3-tk
❌ Sons ne fonctionnent pas
Normal ! Les sons utilisent paplay (PulseAudio). Si absent, FingerLock fonctionne sans sons.
📜 Licence
MIT License — Voir LICENSE
Copyright © 2026 Elton Ronald Bill HOUNNOU
👤 Auteur
Elton Ronald Bill HOUNNOU
🚀 Développeur Frontend | Passionné par la Tech & l'IA
- 🌐 LinkedIn : in/elton27
- 💻 GitHub : REBCDR07
- 🦊 GitLab : eltonhounnou2
- 📧 Email : eltonhounnou27@gmail.com
- 📱 Téléphone : +229 01 40 66 33 49
🙏 Remerciements
📈 Roadmap
- Support macOS natif (via Quartz)
- Support Windows (via pywin32)
- Mode daemon (lancement au boot)
- Interface de configuration graphique
- Multi-utilisateurs
- Thèmes personnalisables
- Export/Import de configuration
📝 Changelog
v2.0.0 & v2.1.0 (2026-02-18) — Lock Screen Premium
- ✨ Lock screen plein écran animé avec dégradé
- 🎯 Schéma 3×3 (1-9) avec tracé souris sans clic
- 🔊 Sons (bips sur points, erreur, succès)
- ⏰ Horloge temps réel + date
- ⚡ Détection evdev (compatible Wayland)
- 📊 Debug mode avec compteur d'events
- 🎨 Animations (pulse points, lignes progressives)
v1.0.0 (2026-02-16) — Release Initiale
- 🎉 Première version publique
- ⌨️ Détection clavier/souris (pynput)
- 🔒 Verrouillage automatique
- 📦 Package PyPI
⭐ Si FingerLock vous est utile, donnez une étoile sur GitHub !
Made with ❤️ by Elton Ronald Bill HOUNNOU
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fingerlock-2.2.2.tar.gz.
File metadata
- Download URL: fingerlock-2.2.2.tar.gz
- Upload date:
- Size: 26.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b847b669ed2f952412322522eeeabda5dade29de07a94869be4c23d69628eecb
|
|
| MD5 |
e8433244bc13e2af4d86110e532650f8
|
|
| BLAKE2b-256 |
89e002be35309f71bcbe5b06e2c50cf4c47fe3f31eae42b06fe6a94faa4bc0e8
|
File details
Details for the file fingerlock-2.2.2-py3-none-any.whl.
File metadata
- Download URL: fingerlock-2.2.2-py3-none-any.whl
- Upload date:
- Size: 26.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e15b27c917b8158805d1f81f4771127338da03e717a58a573f57e6de6212715
|
|
| MD5 |
5ed5c1c623d9460a6fc87c12f3831c02
|
|
| BLAKE2b-256 |
9412a4a55b43fce8b6578f19d2b729e1196a2813952cefa7ce689ef2d1e9c148
|