{"id":12541,"date":"2026-04-16T12:18:51","date_gmt":"2026-04-16T12:18:51","guid":{"rendered":"https:\/\/razva.com\/edu\/tutor-login\/"},"modified":"2026-04-16T13:30:51","modified_gmt":"2026-04-16T13:30:51","slug":"tutor-login","status":"publish","type":"page","link":"https:\/\/razva.com\/edu\/tutor-login\/","title":{"rendered":"Connection"},"content":{"rendered":"    <div id=\"razva-unified-auth\" class=\"tutor-login-wrap\">\n        <input type=\"hidden\" id=\"razva_final_redirect\" value=\"https:\/\/razva.com\/edu\/edu\/tableau-de-bord\/\">\n        \n        <div id=\"auth-step-1\" class=\"auth-step\">\n            <div class=\"razva-auth-header\">\ud83d\udc4b As-sal\u00e2m \u2018alaykoum !<\/div>\n            <p class=\"tutor-mb-20 tutor-fs-7 tutor-color-secondary tutor-text-center\">Entrez votre e-mail pour continuer :<\/p>\n            <div class=\"tutor-mb-20\">\n                <input type=\"email\" id=\"razva_email\" class=\"tutor-form-control\" placeholder=\"mail@exemple.com\">\n            <\/div>\n            <button type=\"button\" id=\"btn-check-email\" class=\"tutor-btn tutor-btn-primary tutor-btn-block\">Continuer<\/button>\n        <\/div>\n\n        <div id=\"auth-step-dynamic\" class=\"auth-step\" style=\"display:none;\"><\/div>\n        <div id=\"auth-msg\" class=\"tutor-mt-12\"><\/div>\n    <\/div>\n\n    <script>\n    jQuery(document).ready(function($) {\n        var ajaxurl = 'https:\/\/razva.com\/edu\/wp-admin\/admin-ajax.php';\n        var finalDest = $('#razva_final_redirect').val();\n\n        \/\/ 1. Check Email\n        $(document).on('click', '#btn-check-email', function() {\n            var email = $('#razva_email').val();\n            if(!email || !email.includes('@')) {\n                $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>E-mail invalide.<\/li><\/ul><\/div>');\n                return;\n            }\n            var btn = $(this);\n            btn.addClass('is-loading').attr('disabled', 'disabled');\n            $('#auth-msg').empty();\n            \n            $.ajax({\n                url: ajaxurl, type: 'POST',\n                data: { action: 'razva_check_email_status', email: email },\n                success: function(res) {\n                    if(res.success) {\n                        $('#auth-step-1').hide();\n                        $('#auth-step-dynamic').html(res.data.html).fadeIn();\n                    } else {\n                        $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>'+res.data.message+'<\/li><\/ul><\/div>');\n                    }\n                },\n                complete: function() { btn.removeClass('is-loading').removeAttr('disabled'); }\n            });\n        });\n\n        \/\/ Toggle Password Visibility (Eye Icon)\n        $(document).on('click', '.razva-toggle-password', function() {\n            var input = $(this).siblings('input');\n            if (input.attr('type') === 'password') {\n                input.attr('type', 'text');\n                $(this).html('<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\"><\/path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"><\/line><\/svg>');\n            } else {\n                input.attr('type', 'password');\n                $(this).html('<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"><\/path><circle cx=\"12\" cy=\"12\" r=\"3\"><\/circle><\/svg>');\n            }\n        });\n\n        \/\/ Toggle Tabs (Mot de passe \/ OTP) + Smart OTP Trigger + Lock\n        $(document).on('click', '.razva-tab', function() {\n            \/\/ \u0627\u06af\u0631 \u062a\u0628 \u0642\u0641\u0644 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u06a9\u0644\u06cc\u06a9 \u06a9\u0627\u0631 \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f\n            if ($(this).hasClass('locked-tab')) return;\n\n            $('.razva-tab').removeClass('active');\n            $(this).addClass('active');\n            $('.razva-tab-content').hide();\n            $('#' + $(this).data('target')).fadeIn();\n\n            \/\/ \u0641\u0642\u0637 \u0648\u0642\u062a\u06cc \u0631\u0648\u06cc \u062a\u0628 OTP \u06a9\u0644\u06cc\u06a9 \u0634\u062f...\n            if ($(this).data('target') === 'razva-tab-otp' && !$(this).hasClass('otp-sent')) {\n                $(this).addClass('otp-sent');\n                \n                \/\/ === \u0633\u06cc\u0633\u062a\u0645 \u0642\u0641\u0644 \u06a9\u0646\u0646\u062f\u0647 (\u0647\u06cc\u0686 \u0631\u0627\u0647 \u0641\u0631\u0627\u0631\u06cc \u0646\u06cc\u0633\u062a) ===\n                $('.razva-tab[data-target=\"razva-tab-pwd\"]')\n                    .addClass('locked-tab')\n                    .css({\n                        'opacity': '0.3', \n                        'cursor': 'not-allowed', \n                        'pointer-events': 'none'\n                    });\n                \/\/ =============================================\n\n                var email = $('#razva_email').val();\n                $.ajax({\n                    url: ajaxurl, type: 'POST',\n                    data: { action: 'razva_send_login_otp', email: email }\n                });\n            }\n        });\n\n        \/\/ Toggle \"Mot de passe oubli\u00e9\" Section\n        $(document).on('click', '#btn-show-forgot-pwd', function(e) {\n            e.preventDefault();\n            $('#razva-login-section').hide();\n            $('#razva-forgot-pwd-section').fadeIn();\n            $('#auth-msg').empty();\n        });\n\n        \/\/ Back to Login Tabs from \"Mot de passe oubli\u00e9\"\n        $(document).on('click', '#btn-back-to-login', function(e) {\n            e.preventDefault();\n            $('#razva-forgot-pwd-section').hide();\n            $('#razva-login-section').fadeIn();\n            $('#auth-msg').empty();\n        });\n\n        \/\/ 2. Login with Password\n        $(document).on('click', '#btn-login-pwd', function() {\n            var pwd = $('#login_password').val();\n            var email = $('#razva_email').val();\n            var btn = $(this);\n            \n            if(!pwd) {\n                $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>Veuillez entrer votre mot de passe.<\/li><\/ul><\/div>');\n                return;\n            }\n\n            btn.addClass('is-loading').attr('disabled', 'disabled');\n            $('#auth-msg').html('<div class=\"tutor-alert tutor-success\">Connexion en cours...<\/div>');\n\n            $.ajax({\n                url: ajaxurl, type: 'POST',\n                data: { action: 'razva_login_with_password', email: email, password: pwd },\n                success: function(res) {\n                    if(res.success) {\n                        window.location.replace(finalDest);\n                    } else {\n                        $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>'+res.data.message+'<\/li><\/ul><\/div>');\n                        btn.removeClass('is-loading').removeAttr('disabled');\n                    }\n                },\n                error: function() { window.location.replace(finalDest); }\n            });\n        });\n\n        \/\/ 3. Verify OTP\n        $(document).on('click', '#btn-verify-otp', function() {\n            var otp = $('#otp_code').val();\n            var btn = $(this);\n            if(!otp) {\n                $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>Veuillez entrer le code.<\/li><\/ul><\/div>');\n                return;\n            }\n\n            btn.addClass('is-loading').attr('disabled', 'disabled');\n            $('#auth-msg').html('<div class=\"tutor-alert tutor-success\">V\u00e9rification en cours...<\/div>');\n\n            $.ajax({\n                url: ajaxurl, type: 'POST',\n                data: { action: 'razva_verify_otp_login', otp: otp },\n                success: function(res) {\n                    if(res.success) { window.location.replace(finalDest); } \n                    else {\n                        $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>'+res.data.message+'<\/li><\/ul><\/div>');\n                        btn.removeClass('is-loading').removeAttr('disabled');\n                    }\n                },\n                error: function() { window.location.replace(finalDest); }\n            });\n        });\n\n        \/\/ 4. Send Reset Password Link\n        $(document).on('click', '#btn-send-reset-link', function() {\n            var email = $('#reset_email').val();\n            var btn = $(this);\n            btn.addClass('is-loading').attr('disabled', 'disabled');\n            $('#auth-msg').html('<div class=\"tutor-alert tutor-success\">Envoi en cours...<\/div>');\n\n            $.ajax({\n                url: ajaxurl, type: 'POST',\n                data: { action: 'razva_send_reset_link_inline', email: email },\n                success: function(res) {\n                    if(res.success) {\n                        $('#auth-msg').html('<div class=\"tutor-alert tutor-success\">' + res.data.message + '<\/div>');\n                        btn.hide(); \n                    } else {\n                        $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>'+res.data.message+'<\/li><\/ul><\/div>');\n                        btn.removeClass('is-loading').removeAttr('disabled');\n                    }\n                },\n                error: function() {\n                    $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>Erreur syst\u00e8me.<\/li><\/ul><\/div>');\n                    btn.removeClass('is-loading').removeAttr('disabled');\n                }\n            });\n        });\n\n        \/\/ 5. Register New User\n        $(document).on('click', '#btn-register-final', function() {\n            if(!$('#razva_cgu_check').is(':checked')) {\n                $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>Vous devez accepter les conditions (CGU) pour continuer.<\/li><\/ul><\/div>');\n                return;\n            }\n\n            var btn = $(this);\n            var firstName = $('#first_name').val();\n            var lastName = $('#last_name').val();\n            var password = $('#reg_password').val();\n\n            if(!firstName || !lastName || !password) {\n                $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>Veuillez remplir tous les champs.<\/li><\/ul><\/div>');\n                return;\n            }\n\n            btn.addClass('is-loading').attr('disabled', 'disabled');\n            $('#auth-msg').empty();\n            \n            $.ajax({\n                url: ajaxurl, type: 'POST',\n                data: {\n                    action: 'razva_register_start',\n                    email: $('#razva_email').val(),\n                    first_name: firstName,\n                    last_name: lastName,\n                    password: password\n                },\n                success: function(res) {\n                    if(res.success) { \n                        $('#auth-step-dynamic').html(res.data.html); \n                    } else {\n                        $('#auth-msg').html('<div class=\"tutor-alert tutor-warning\"><ul><li>'+res.data.message+'<\/li><\/ul><\/div>');\n                    }\n                },\n                complete: function() { btn.removeClass('is-loading').removeAttr('disabled'); }\n            });\n        });\n    });\n    <\/script>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12541","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Connection - Razva<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/razva.com\/edu\/tutor-login\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Connection - Razva\" \/>\n<meta property=\"og:url\" content=\"https:\/\/razva.com\/edu\/tutor-login\/\" \/>\n<meta property=\"og:site_name\" content=\"Razva\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-16T13:30:51+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/razva.com\\\/edu\\\/tutor-login\\\/\",\"url\":\"https:\\\/\\\/razva.com\\\/edu\\\/tutor-login\\\/\",\"name\":\"Connection - Razva\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/razva.com\\\/edu\\\/#website\"},\"datePublished\":\"2026-04-16T12:18:51+00:00\",\"dateModified\":\"2026-04-16T13:30:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/razva.com\\\/edu\\\/tutor-login\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/razva.com\\\/edu\\\/tutor-login\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/razva.com\\\/edu\\\/tutor-login\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Institut islamique\",\"item\":\"https:\\\/\\\/razva.com\\\/edu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connection\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/razva.com\\\/edu\\\/#website\",\"url\":\"https:\\\/\\\/razva.com\\\/edu\\\/\",\"name\":\"Razva\",\"description\":\"Institut Islamique en ligne\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/razva.com\\\/edu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Connection - Razva","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/razva.com\/edu\/tutor-login\/","og_locale":"fr_FR","og_type":"article","og_title":"Connection - Razva","og_url":"https:\/\/razva.com\/edu\/tutor-login\/","og_site_name":"Razva","article_modified_time":"2026-04-16T13:30:51+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/razva.com\/edu\/tutor-login\/","url":"https:\/\/razva.com\/edu\/tutor-login\/","name":"Connection - Razva","isPartOf":{"@id":"https:\/\/razva.com\/edu\/#website"},"datePublished":"2026-04-16T12:18:51+00:00","dateModified":"2026-04-16T13:30:51+00:00","breadcrumb":{"@id":"https:\/\/razva.com\/edu\/tutor-login\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/razva.com\/edu\/tutor-login\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/razva.com\/edu\/tutor-login\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Institut islamique","item":"https:\/\/razva.com\/edu\/"},{"@type":"ListItem","position":2,"name":"Connection"}]},{"@type":"WebSite","@id":"https:\/\/razva.com\/edu\/#website","url":"https:\/\/razva.com\/edu\/","name":"Razva","description":"Institut Islamique en ligne","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/razva.com\/edu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"_links":{"self":[{"href":"https:\/\/razva.com\/edu\/wp-json\/wp\/v2\/pages\/12541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/razva.com\/edu\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/razva.com\/edu\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/razva.com\/edu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/razva.com\/edu\/wp-json\/wp\/v2\/comments?post=12541"}],"version-history":[{"count":2,"href":"https:\/\/razva.com\/edu\/wp-json\/wp\/v2\/pages\/12541\/revisions"}],"predecessor-version":[{"id":12548,"href":"https:\/\/razva.com\/edu\/wp-json\/wp\/v2\/pages\/12541\/revisions\/12548"}],"wp:attachment":[{"href":"https:\/\/razva.com\/edu\/wp-json\/wp\/v2\/media?parent=12541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}