From 8a9374621fb859477f5d18196ddd752a4ae27d10 Mon Sep 17 00:00:00 2001 From: KANE LAZENI Date: Wed, 13 May 2026 17:52:48 +0000 Subject: [PATCH] a --- Contestation/Demandereconnaissancefaciale.php | 5 +-- Contestation/verify_facial_api.php | 44 +++++++------------ 2 files changed, 18 insertions(+), 31 deletions(-) diff --git a/Contestation/Demandereconnaissancefaciale.php b/Contestation/Demandereconnaissancefaciale.php index b7612d7..4623fea 100755 --- a/Contestation/Demandereconnaissancefaciale.php +++ b/Contestation/Demandereconnaissancefaciale.php @@ -855,15 +855,14 @@ $.ajax({ url: '/Contestation/verify_facial_api.php', method: 'POST', - // contentType: 'application/json', + contentType: 'application/json', data: JSON.stringify({ action: 'verify_face', token: verificationToken, - // image: capturedImage image: base64Only, csrf_token: v_csrf_token }), - // dataType: 'json', + dataType: 'json', success: function(data) { if (data.success && data.match) { showSuccess(data); diff --git a/Contestation/verify_facial_api.php b/Contestation/verify_facial_api.php index 6d48c06..a07e1f4 100644 --- a/Contestation/verify_facial_api.php +++ b/Contestation/verify_facial_api.php @@ -7,7 +7,7 @@ header('Content-Type: application/json'); if ($_SERVER['REQUEST_METHOD'] !== 'POST') { ob_end_clean(); - echo json_encode(['success' => false, 'message' => 'Méthode non autorisée']); + echo json_encode(['success' => false, 'message' => 'Méthode non autorisée / Unauthorized method']); exit; } @@ -30,7 +30,7 @@ class FacialVerificationAPI { if (!$request) { return [ 'success' => false, - 'message' => 'Lien expiré ou invalide' + 'message' => 'Lien expiré ou invalide / Expired or invalid link' ]; } @@ -49,23 +49,15 @@ class FacialVerificationAPI { error_log("Erreur validateToken: " . $e->getMessage()); return [ 'success' => false, - 'message' => 'Erreur serveur' + 'message' => 'Erreur serveur / Server error' ]; } } - /** - * Compare deux visages avec l'API de reconnaissance faciale - * Utilisez Azure Face API, AWS Rekognition, ou une solution locale - */ private function compareFaces($referenceImagePath, $capturedImageBase64) { - //AWS Rekognition return $this->compareWithAWSRekognition($referenceImagePath, $capturedImageBase64); } - /** - * Comparaison avec AWS Rekognition (Alternative) - */ private function compareWithAWSRekognition($referenceImagePath, $capturedImageBase64) { try { require_once '/var/www/Config/Faceebene.php'; @@ -84,12 +76,11 @@ class FacialVerificationAPI { if (empty($result['FaceMatches'])) { $this->assure_api->resultat_traitement_face($_SESSION['numeroBeneficiaire'], '0', "Les faces ne correspondent pas! / The faces do not match!"); - // $this->assure_api->resultat_traitement_face($_SESSION['numeroBeneficiaire'], '0', $message); return [ 'match' => false, 'confidence' => 0, - 'error' => 'Les visages ne correspondent pas / / The faces do not match!' + 'error' => 'Les visages ne correspondent pas / The faces do not match!' ]; } @@ -116,9 +107,6 @@ class FacialVerificationAPI { } } - /** - * Vérifie le visage capturé - */ public function verifyFace($token, $capturedImageBase64) { try { // 1. Récupérer les infos de la demande @@ -128,7 +116,7 @@ class FacialVerificationAPI { return [ 'success' => false, 'match' => false, - 'message' => 'Demande expirée ou invalide' + 'message' => 'Demande expirée ou invalide / Request expired or invalid' ]; } @@ -140,7 +128,7 @@ class FacialVerificationAPI { return [ 'success' => false, 'match' => false, - 'message' => 'Nombre maximum de tentatives atteint' + 'message' => 'Nombre maximum de tentatives atteint / Maximum number of attempts reached' ]; } @@ -174,7 +162,7 @@ class FacialVerificationAPI { 'success' => true, 'match' => true, 'confidence' => $comparisonResult['confidence'], - 'message' => 'Identité vérifiée avec succès', + 'message' => 'Identité vérifiée avec succès / Identity successfully verified', ]; } else { $attemptsRemaining = $this->maxAttempts - ($request['attempts'] + 1); @@ -187,7 +175,7 @@ class FacialVerificationAPI { 'success' => false, 'match' => false, 'confidence' => $comparisonResult['confidence'], - 'message' => 'Votre visage ne correspond pas', + 'message' => 'Votre visage ne correspond pas / Your face does not match', 'attempts_remaining' => $attemptsRemaining ]; } else { @@ -198,7 +186,7 @@ class FacialVerificationAPI { 'success' => false, 'match' => false, 'confidence' => $comparisonResult['confidence'], - 'message' => 'Vérification échouée. Nombre maximum de tentatives atteint.', + 'message' => 'Vérification échouée. Nombre maximum de tentatives atteint. / Verification failed. Maximum number of attempts reached.', 'attempts_remaining' => 0 ]; } @@ -209,7 +197,7 @@ class FacialVerificationAPI { return [ 'success' => false, 'match' => false, - 'message' => 'Erreur lors de la vérification Exception : ' . $e->getMessage() + 'message' => 'Erreur / Error : ' . $e->getMessage() ]; } } @@ -222,12 +210,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $csrf_token = $input['csrf_token'] ?? null; if (!isset($csrf_token)) { - echo json_encode(['success' => false, 'message' => 'Mauvaise session! Absence']); + echo json_encode(['success' => false, 'message' => 'Mauvaise session! / Bad session!']); exit; } if (!Csrf::validateToken($csrf_token)) { - echo json_encode(['success' => false, 'message' => 'Mauvaise session! No much']); + echo json_encode(['success' => false, 'message' => 'Mauvaise session! / Bad session!']); exit; } @@ -239,7 +227,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { case 'validate_token': $token = $input['token'] ?? null; if (!$token) { - echo json_encode(['success' => false, 'message' => 'Token requis']); + echo json_encode(['success' => false, 'message' => 'Token requis / Token required']); exit; } echo json_encode($api->validateToken($token)); @@ -250,16 +238,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $image = $input['image'] ?? null; if (!$token || !$image) { - echo json_encode(['success' => false, 'message' => 'Token et image requis']); + echo json_encode(['success' => false, 'message' => 'Token et image requis / Token and image required']); exit; } echo json_encode($api->verifyFace($token, $image)); break; default: - echo json_encode(['success' => false, 'message' => 'Action invalide']); + echo json_encode(['success' => false, 'message' => 'Action invalide / Invalid action']); } } else { ob_end_clean(); - echo json_encode(['success' => false, 'message' => 'Méthode non autorisée']); + echo json_encode(['success' => false, 'message' => 'Méthode non autorisée / Unauthorized method']); } \ No newline at end of file