Bienvenue sur CFTPfr.fr › Forums › authentification_demarrage.py — code ou reconnaissance faciale
- Ce sujet est vide.
Affichage de 1 message (sur 1 au total)
-
AuteurMessages
-
03.08.2026 à 11h02 #289
Mario Da Conceicao
Maître des clésNouveau composant du 01/08/2026 — authentification au démarrage. À l’insertion de la clé, avant tout accès à MIRA : reconnaissance faciale si une caméra est disponible ET activée, sinon code. Le code reste toujours disponible en secours, même avec la caméra activée — jamais de risque de se retrouver bloqué.
Principe
- Détecte si une caméra est branchée (test léger, ne charge rien de lourd juste pour vérifier)
- Si oui et si tu actives cette option : propose la reconnaissance faciale en premier, avec le code en repli
- Si non, ou si tu préfères : code uniquement
- S’appuie sur le hachage sécurisé déjà en place (interface_demarrage.py)
from pathlib import Path def camera_disponible(): """ Détecte la présence d'une caméra sous Linux via les périphériques vidéo standards, sans charger de bibliothèque lourde juste pour le test. """ return any(Path("/dev").glob("video*")) class AuthentificationDemarrage: """ Vérifie l'identité de la personne à l'insertion de la clé, avant de donner accès à MIRA. Priorité : reconnaissance faciale si caméra disponible ET activée par l'utilisateur, sinon code. Le code reste TOUJOURS une option de secours, même caméra activée. """ def __init__(self, gestionnaire_utilisateurs, reconnaissance_faciale_activee=False): self.gestionnaire_utilisateurs = gestionnaire_utilisateurs self.camera_ok = camera_disponible() self.reconnaissance_faciale_activee = reconnaissance_faciale_activee def methodes_disponibles(self): methodes = ["code"] # toujours disponible, en premier ou en secours if self.camera_ok and self.reconnaissance_faciale_activee: methodes.insert(0, "reconnaissance_faciale") return methodes def authentifier(self, methode, donnee): """ methode : "code" ou "reconnaissance_faciale" donnee : le code tapé, ou l'image capturée selon la méthode """ if methode == "code": return self._verifier_code(donnee) elif methode == "reconnaissance_faciale" and self.camera_ok: return self._verifier_visage(donnee) return False def _verifier_code(self, code): # S'appuie sur la vérification déjà en place (hachage sécurisé, # voir interface_demarrage.py) return self.gestionnaire_utilisateurs.verifier_utilisateur("admin", code) def _verifier_visage(self, image_capturee): """ À brancher une fois une bibliothèque de reconnaissance faciale choisie. Volontairement pas installée par défaut — ajoute un vrai poids au système, donc uniquement si tu confirmes vouloir cette option activée. """ raise NotImplementedError("Reconnaissance faciale pas encore installée — active-la explicitement quand tu es prêt.")Ce qui reste à décider avec toi
- Veux-tu vraiment activer la reconnaissance faciale (poids supplémentaire), ou le code seul suffit pour l’instant ?
- Si oui : choisir la bibliothèque à utiliser une fois OS-MIRE installé et qu’on peut tester avec une vraie caméra
-
AuteurMessages
Affichage de 1 message (sur 1 au total)
- Vous devez être connecté pour répondre à ce sujet.