{"id":3595,"date":"2026-06-01T18:42:55","date_gmt":"2026-06-01T22:42:55","guid":{"rendered":"https:\/\/com-bos.ca\/?page_id=3595"},"modified":"2026-06-01T18:58:57","modified_gmt":"2026-06-01T22:58:57","slug":"suivi-de-referencement","status":"publish","type":"page","link":"https:\/\/com-bos.ca\/en\/suivi-de-referencement\/","title":{"rendered":"Suivi de r\u00e9f\u00e9rencement"},"content":{"rendered":"\t<div id=\"combos-suivi\" style=\"max-width:700px;margin:40px auto;font-family:Arial,sans-serif;\">\n\t<style>\n\t#combos-suivi h2{color:#C0392B;text-align:center;margin-bottom:20px;}\n\t#combos-suivi .cb-lang{text-align:right;margin-bottom:15px;}\n\t#combos-suivi .cb-lang button{background:none;border:1px solid #C0392B;color:#C0392B;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:bold;margin-left:5px;}\n\t#combos-suivi .cb-lang button.active{background:#C0392B;color:white;}\n\t#combos-suivi .cb-group{margin-bottom:15px;}\n\t#combos-suivi label{display:block;font-weight:bold;margin-bottom:5px;color:#2C3E50;}\n\t#combos-suivi input[type=text],#combos-suivi input[type=email]{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box;}\n\t#combos-suivi .cb-btn{width:100%;padding:12px;background:#C0392B;color:white;border:none;border-radius:4px;font-size:16px;font-weight:bold;cursor:pointer;margin-top:10px;}\n\t#combos-suivi .cb-btn:hover{background:#922B21;}\n\t#combos-suivi .solde-box{background:#D5F5E3;border:2px solid #1E8449;border-radius:8px;padding:20px;margin-top:30px;text-align:center;}\n\t#combos-suivi .solde-montant{font-size:48px;font-weight:bold;color:#1E8449;}\n\t#combos-suivi .solde-detail{color:#555;margin-top:8px;font-size:14px;}\n\t#combos-suivi .solde-explication{background:#EBF5FB;border:1px solid #AED6F1;border-radius:6px;padding:12px;margin-top:15px;font-size:13px;color:#2C3E50;}\n\t#combos-suivi table{width:100%;border-collapse:collapse;margin-top:20px;font-size:13px;}\n\t#combos-suivi table th{background:#2C3E50;color:white;padding:8px;text-align:left;}\n\t#combos-suivi table td{padding:8px;border-bottom:1px solid #ddd;}\n\t#combos-suivi table tr:nth-child(even){background:#ECF0F1;}\n\t#combos-suivi .badge{display:inline-block;background:#1E8449;color:white;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:bold;}\n\t#combos-suivi .cb-erreur{color:#C0392B;text-align:center;margin-top:15px;font-weight:bold;}\n\t<\/style>\n\n\t<!-- S\u00e9lecteur de langue -->\n\t<div class=\"cb-lang\">\n\t\t<button id=\"btn-fr\" class=\"active\" onclick=\"cbSetLang('fr')\">FR<\/button>\n\t\t<button id=\"btn-en\" onclick=\"cbSetLang('en')\">EN<\/button>\n\t<\/div>\n\n\t<h2 id=\"cb-titre\">Suivi de vos cr\u00e9dits de r\u00e9f\u00e9rencement<\/h2>\n\n\t<div class=\"cb-group\">\n\t\t<label id=\"cb-label-code\">Code r\u00e9f\u00e9rent<\/label>\n\t\t<input type=\"text\" id=\"cb_code\" placeholder=\"Ex: TREMBLAY\" style=\"text-transform:uppercase;\">\n\t<\/div>\n\t<div class=\"cb-group\">\n\t\t<label id=\"cb-label-email\">Courriel<\/label>\n\t\t<input type=\"email\" id=\"cb_courriel\" placeholder=\"votre@courriel.com\">\n\t<\/div>\n\t<button class=\"cb-btn\" id=\"cb-submit\" onclick=\"cbVerifier()\">Consulter mon solde<\/button>\n\t<div id=\"cb_resultat\"><\/div>\n\n\t<script>\n\tvar cbLang = 'fr';\n\n\tvar cbTextes = {\n\t\tfr: {\n\t\t\ttitre        : 'Suivi de vos cr\u00e9dits de r\u00e9f\u00e9rencement',\n\t\t\tlabelCode    : 'Code r\u00e9f\u00e9rent',\n\t\t\tlabelEmail   : 'Courriel',\n\t\t\tplaceholder  : 'votre@courriel.com',\n\t\t\tbouton       : 'Consulter mon solde',\n\t\t\tchargement   : 'V\u00e9rification en cours...',\n\t\t\terreurChamps : 'Veuillez entrer votre code et votre courriel.',\n\t\t\terreurConnexion: 'Erreur de connexion. Veuillez r\u00e9essayer.',\n\t\t\tbonjour      : 'Bonjour',\n\t\t\tsoldeDisponible: 'Votre rabais disponible sur votre prochaine formation',\n\t\t\trefsConfirmees: 'R\u00e9f\u00e9rences confirm\u00e9es',\n\t\t\trabaisAccumule: 'Rabais accumul\u00e9',\n\t\t\tutilise      : 'Utilis\u00e9',\n\t\t\texplication  : '\ud83d\udca1 Chaque r\u00e9f\u00e9rence confirm\u00e9e vous donne <strong>15% de rabais suppl\u00e9mentaire<\/strong> sur votre prochaine formation Com-Bos.',\n\t\t\ttitreRefs    : 'Vos r\u00e9f\u00e9rences confirm\u00e9es',\n\t\t\tcolDate      : 'Date',\n\t\t\tcolRefere    : 'R\u00e9f\u00e9r\u00e9(e)',\n\t\t\tcolFormation : 'Formation',\n\t\t\tcolCredit    : 'Cr\u00e9dit',\n\t\t\taucuneRef    : 'Aucune r\u00e9f\u00e9rence confirm\u00e9e pour le moment.<br>Partagez votre code pour commencer \u00e0 accumuler des rabais !',\n\t\t},\n\t\ten: {\n\t\t\ttitre        : 'Track Your Referral Credits',\n\t\t\tlabelCode    : 'Referral Code',\n\t\t\tlabelEmail   : 'Email',\n\t\t\tplaceholder  : 'your@email.com',\n\t\t\tbouton       : 'Check My Balance',\n\t\t\tchargement   : 'Verifying...',\n\t\t\terreurChamps : 'Please enter your referral code and email.',\n\t\t\terreurConnexion: 'Connection error. Please try again.',\n\t\t\tbonjour      : 'Hello',\n\t\t\tsoldeDisponible: 'Your available discount on your next training',\n\t\t\trefsConfirmees: 'Confirmed referrals',\n\t\t\trabaisAccumule: 'Accumulated discount',\n\t\t\tutilise      : 'Used',\n\t\t\texplication  : '\ud83d\udca1 Each confirmed referral gives you an <strong>additional 15% discount<\/strong> on your next Com-Bos training.',\n\t\t\ttitreRefs    : 'Your Confirmed Referrals',\n\t\t\tcolDate      : 'Date',\n\t\t\tcolRefere    : 'Referred',\n\t\t\tcolFormation : 'Training',\n\t\t\tcolCredit    : 'Credit',\n\t\t\taucuneRef    : 'No confirmed referrals yet.<br>Share your code to start accumulating discounts!',\n\t\t}\n\t};\n\n\t\/\/ Stocker les derni\u00e8res donn\u00e9es re\u00e7ues pour retraduire sans revalider\n\tvar cbDernieresData = null;\n\n\tfunction cbSetLang(lang) {\n\t\tcbLang = lang;\n\t\tvar t = cbTextes[lang];\n\t\tdocument.getElementById('cb-titre').textContent       = t.titre;\n\t\tdocument.getElementById('cb-label-code').textContent  = t.labelCode;\n\t\tdocument.getElementById('cb-label-email').textContent = t.labelEmail;\n\t\tdocument.getElementById('cb_courriel').placeholder    = t.placeholder;\n\t\tdocument.getElementById('cb-submit').textContent      = t.bouton;\n\t\tdocument.getElementById('btn-fr').className = lang === 'fr' ? 'active' : '';\n\t\tdocument.getElementById('btn-en').className = lang === 'en' ? 'active' : '';\n\t\t\/\/ Si des donn\u00e9es sont d\u00e9j\u00e0 affich\u00e9es, les retraduire sans revalider\n\t\tif ( cbDernieresData ) {\n\t\t\tcbAfficherResultat(cbDernieresData);\n\t\t}\n\t}\n\n\tfunction cbAfficherResultat(d) {\n\t\tvar t            = cbTextes[cbLang];\n\t\tvar nb_refs      = parseInt(d.nb_references) || 0;\n\t\tvar pct_utilise  = parseInt(d.pct_utilise) || 0;\n\t\tvar pct_accumule = nb_refs * 15;\n\t\tvar pct_solde    = pct_accumule - pct_utilise;\n\n\t\tvar html = '<div class=\"solde-box\">';\n\t\thtml += '<p style=\"font-size:18px;color:#2C3E50;\">' + t.bonjour + ' <strong>' + d.prenom + '<\/strong>&nbsp;!<\/p>';\n\t\thtml += '<p style=\"color:#555;margin-bottom:5px;\">' + t.soldeDisponible + '<\/p>';\n\t\thtml += '<div class=\"solde-montant\">' + pct_solde + '%<\/div>';\n\t\thtml += '<div class=\"solde-detail\">';\n\t\thtml += t.refsConfirmees + '&nbsp;: <strong>' + nb_refs + '<\/strong>';\n\t\thtml += '&nbsp;&nbsp;|&nbsp;&nbsp;';\n\t\thtml += t.rabaisAccumule + '&nbsp;: <strong>' + pct_accumule + '%<\/strong>';\n\t\tif ( pct_utilise > 0 ) {\n\t\t\thtml += '&nbsp;&nbsp;|&nbsp;&nbsp;' + t.utilise + '&nbsp;: <strong>' + pct_utilise + '%<\/strong>';\n\t\t}\n\t\thtml += '<\/div>';\n\t\thtml += '<div class=\"solde-explication\">' + t.explication + '<\/div>';\n\t\thtml += '<\/div>';\n\n\t\tif ( d.references.length > 0 ) {\n\t\t\thtml += '<h3 style=\"color:#2C3E50;margin-top:25px;\">' + t.titreRefs + '<\/h3>';\n\t\t\thtml += '<table><tr><th>' + t.colDate + '<\/th><th>' + t.colRefere + '<\/th><th>' + t.colFormation + '<\/th><th>' + t.colCredit + '<\/th><\/tr>';\n\t\t\td.references.forEach( function(ref) {\n\t\t\t\thtml += '<tr><td>' + ref.date + '<\/td><td>' + ref.prenom + ' ' + ref.nom + '<\/td><td>' + ref.cours + '<\/td><td><span class=\"badge\">+15%<\/span><\/td><\/tr>';\n\t\t\t});\n\t\t\thtml += '<\/table>';\n\t\t} else {\n\t\t\thtml += '<p style=\"text-align:center;color:#777;margin-top:20px;\">' + t.aucuneRef + '<\/p>';\n\t\t}\n\t\tdocument.getElementById('cb_resultat').innerHTML = html;\n\t}\n\n\tfunction cbVerifier() {\n\t\tvar t        = cbTextes[cbLang];\n\t\tvar code     = document.getElementById('cb_code').value.trim().toUpperCase();\n\t\tvar courriel = document.getElementById('cb_courriel').value.trim().toLowerCase();\n\t\tif ( !code || !courriel ) {\n\t\t\tdocument.getElementById('cb_resultat').innerHTML = '<p class=\"cb-erreur\">' + t.erreurChamps + '<\/p>';\n\t\t\treturn;\n\t\t}\n\t\tdocument.getElementById('cb_resultat').innerHTML = '<p style=\"text-align:center;\">' + t.chargement + '<\/p>';\n\t\tfetch('https:\/\/com-bos.ca\/wp-admin\/admin-ajax.php', {\n\t\t\tmethod: 'POST',\n\t\t\theaders: { 'Content-Type': 'application\/x-www-form-urlencoded' },\n\t\t\tbody: 'action=combos_verifier_solde&code=' + encodeURIComponent(code) + '&courriel=' + encodeURIComponent(courriel) + '&nonce=b721cc2226'\n\t\t})\n\t\t.then( function(r) { return r.json(); } )\n\t\t.then( function(data) {\n\t\t\tif ( data.success ) {\n\t\t\t\tcbDernieresData = data.data;\n\t\t\t\tcbAfficherResultat(data.data);\n\t\t\t} else {\n\t\t\t\tdocument.getElementById('cb_resultat').innerHTML = '<p class=\"cb-erreur\">' + data.data + '<\/p>';\n\t\t\t}\n\t\t})\n\t\t.catch( function() {\n\t\t\tdocument.getElementById('cb_resultat').innerHTML = '<p class=\"cb-erreur\">' + cbTextes[cbLang].erreurConnexion + '<\/p>';\n\t\t});\n\t}\n\t<\/script>\n\t<\/div>\n\t\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"inline_featured_image":false,"footnotes":""},"class_list":["post-3595","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/com-bos.ca\/en\/wp-json\/wp\/v2\/pages\/3595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/com-bos.ca\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/com-bos.ca\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/com-bos.ca\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/com-bos.ca\/en\/wp-json\/wp\/v2\/comments?post=3595"}],"version-history":[{"count":3,"href":"https:\/\/com-bos.ca\/en\/wp-json\/wp\/v2\/pages\/3595\/revisions"}],"predecessor-version":[{"id":3601,"href":"https:\/\/com-bos.ca\/en\/wp-json\/wp\/v2\/pages\/3595\/revisions\/3601"}],"wp:attachment":[{"href":"https:\/\/com-bos.ca\/en\/wp-json\/wp\/v2\/media?parent=3595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}