Skip to main content
  ███████╗██╗███╗   ██╗ ██████╗ ███████╗██████╗     ██╗      ██████╗  ██████╗██╗  ██╗
  ██╔════╝██║████╗  ██║██╔════╝ ██╔════╝██╔══██╗    ██║     ██╔═══██╗██╔════╝██║ ██╔╝
  █████╗  ██║██╔██╗ ██║██║  ███╗█████╗  ██████╔╝    ██║     ██║   ██║██║     █████╔╝ 
  ██╔══╝  ██║██║╚██╗██║██║   ██║██╔══╝  ██╔══██╗    ██║     ██║   ██║██║     ██╔═██╗ 
  ██║     ██║██║ ╚████║╚██████╔╝███████╗██║  ██║    ███████╗╚██████╔╝╚██████╗██║  ██╗
  ╚═╝     ╚═╝╚═╝  ╚═══╝ ╚═════╝ ╚══════╝╚═╝  ╚═╝    ╚══════╝ ╚═════╝  ╚═════╝╚═╝  ╚═╝

🔐 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é.

License: MIT Python 3.8+ PyPI


✨ 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

  1. Fork le projet
  2. Créez une branche (git checkout -b feature/ma-feature)
  3. Committez (git commit -m 'Ajout feature X')
  4. Push (git push origin feature/ma-feature)
  5. 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


🙏 Remerciements

  • evdev — Détection d'activité Linux native
  • tkinter — Interface graphique
  • Communauté Python 🐍

📈 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

🐛 Reporter un bug✨ Demander une feature💬 Discussions

Release files for fingerlock 2.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fingerlock 2.2.2
File Size Uploaded
fingerlock-2.2.2.tar.gz 26.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fingerlock 2.2.2
File Interpreter ABI Platform
fingerlock-2.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 52.4 kB

Release files / fingerlock-2.2.2.tar.gz

Download URL fingerlock-2.2.2.tar.gz
Size 26.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b847b669ed2f952412322522eeeabda5dade29de07a94869be4c23d69628eecb
BLAKE2b-256 checksum
How to use checksums
89e002be35309f71bcbe5b06e2c50cf4c47fe3f31eae42b06fe6a94faa4bc0e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / fingerlock-2.2.2-py3-none-any.whl

Download URL fingerlock-2.2.2-py3-none-any.whl
Size 26.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e15b27c917b8158805d1f81f4771127338da03e717a58a573f57e6de6212715
BLAKE2b-256 checksum
How to use checksums
9412a4a55b43fce8b6578f19d2b729e1196a2813952cefa7ce689ef2d1e9c148
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

2.2.2 This release

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.2

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page