Help
RSS
API
Feed
Maltego
Contact
Domain > avis.cxact.app
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-05
18.165.83.27
(
ClassC
)
2026-03-01
3.169.173.61
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Sun, 01 Mar 2026 10:06:58 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://avis.cxact.app/X-Cache: Redirect from cloudfrontVia: 1.1 caca3796a9753caf000b1d1a5f744530.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4X-Amz-Cf-Id: AetrpqROVVIpFMKZW50pDfC15j7J3_XghB9ovp5S8GbYIVksVwWJvQ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/html; charsetutf-8Content-Length: 24864Connection: keep-aliveDate: Sun, 01 Mar 2026 10:06:59 GMTCache-Control: no-cache, no-store, must-revalidateLast-Modified: Sun, 01 Mar 2026 00:49:29 GMTETag: fdc08184d4daf8212895c633b9ede9d3Server: AmazonS3X-Cache: Miss from cloudfrontVia: 1.1 caca3796a9753caf000b1d1a5f744530.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4X-Amz-Cf-Id: CSL4zFHcQaovNPHX3M37gUuiE-pFVUfgw6DoH5XY5Dt-9weoYz_Csg !DOCTYPE html>html langfr>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalableno> meta nameapple-mobile-web-app-capable contentyes> title>CXact — Donner mon avis/title> link relpreconnect hrefhttps://fonts.googleapis.com> link hrefhttps://fonts.googleapis.com/css2?familyDM+Sans:wght@400;500;600;700&displayswap relstylesheet> style> :root{--primary:#1E88E5;--primary-dark:#1565C0;--accent:#FF9800;--success:#4CAF50;--error:#E53935;--bg:#F5F5F5;--card:#FFF;--text-primary:#212121;--text-secondary:#757575} *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent} body{font-family:DM Sans,-apple-system,sans-serif;background:var(--bg);color:var(--text-primary);min-height:100dvh} .header{background:var(--primary);color:#fff;padding:16px 20px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(30,136,229,.3)} .header svg{width:28px;height:28px;opacity:.9} .header h1{font-size:18px;font-weight:600} .content{padding:24px 20px 40px;max-width:480px;margin:0 auto} .store-identity{text-align:center;margin-bottom:32px} .store-emoji-circle{width:70px;height:70px;border-radius:50%;background:rgba(30,136,229,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 12px} .store-emoji{font-size:35px;line-height:1} .store-name{font-size:20px;font-weight:700;margin-bottom:4px} .store-address{font-size:14px;color:var(--text-secondary);line-height:1.4} .section-label{font-size:18px;font-weight:700;margin-bottom:12px} .label-row{display:flex;align-items:center;gap:8px;margin-bottom:12px} .badge-optional{padding:2px 8px;background:#EEE;border-radius:10px;font-size:11px;color:var(--text-secondary)} .rating-section{margin-bottom:30px} .stars-row{display:flex;justify-content:center;gap:12px;margin-bottom:8px} .star-btn{background:none;border:none;cursor:pointer;padding:4px;transition:transform .15s} .star-btn:active{transform:scale(.88)} .star-btn svg{width:45px;height:45px;transition:all .2s} .star-btn .star-filled{display:none} .star-btn.active .star-filled{display:block} .star-btn.active .star-empty{display:none} .rating-text{text-align:center;font-size:16px;font-weight:500;min-height:24px} .comment-section{margin-bottom:30px} .anon-reassurance{display:none;align-items:center;gap:10px;padding:12px 14px;background:#F3F4F6;border-radius:10px;margin-bottom:14px;animation:fadeIn .3s ease} .anon-reassurance.visible{display:flex} .anon-reassurance-icon{font-size:18px;flex-shrink:0} .anon-reassurance-text{font-size:13px;line-height:1.45;color:#374151} .anon-reassurance-text strong{font-weight:600;color:#1F2937} @keyframes fadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}} .comment-textarea{width:100%;min-height:120px;padding:16px;border:1.5px solid #E0E0E0;border-radius:12px;font-family:inherit;font-size:15px;color:var(--text-primary);background:var(--card);resize:vertical;outline:none;transition:border-color .2s} .comment-textarea::placeholder{color:#BDBDBD} .comment-textarea:focus{border-color:var(--primary)} .char-count{text-align:right;font-size:12px;color:var(--text-secondary);margin-top:4px} .submit-btn{width:100%;height:55px;border:none;border-radius:14px;background:var(--primary);color:#fff;font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;position:relative} .submit-btn:disabled{background:#BDBDBD;cursor:not-allowed} .submit-btn:not(:disabled):active{transform:scale(.98);background:var(--primary-dark)} .submit-btn .spinner{display:none;width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite} .submit-btn.loading .btn-text{display:none} .submit-btn.loading .spinner{display:inline-block} @keyframes spin{to{transform:rotate(360deg)}} .source-badge{text-align:center;margin-top:20px} .source-badge span{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:rgba(30,136,229,.08);border-radius:20px;font-size:12px;color:var(--primary)} .success-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow-y:auto} .success-overlay.visible{display:flex} .success-card{background:#fff;border-radius:20px;padding:32px 24px;text-align:center;max-width:400px;width:100%;animation:slideUp .4s cubic-bezier(.16,1,.3,1);box-shadow:0 20px 60px rgba(0,0,0,.15)} @keyframes slideUp{from{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}} .success-icon{width:72px;height:72px;margin:0 auto 16px;color:var(--success);animation:popIn .5s cubic-bezier(.16,1,.3,1) .15s both} @keyframes popIn{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}} .success-title{font-size:22px;font-weight:700;margin-bottom:8px} .success-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:24px} .link-section{background:#F0F7FF;border-radius:14px;padding:20px 16px;margin-bottom:20px;text-align:left} .link-section-title{font-size:15px;font-weight:700;color:#1565C0;margin-bottom:4px;display:flex;align-items:center;gap:8px} .link-section-desc{font-size:13px;color:#5A5A5A;line-height:1.5;margin-bottom:14px} .link-box{display:flex;align-items:center;gap:8px} .link-url{flex:1;padding:10px 12px;background:#fff;border:1.5px solid #BBDEFB;border-radius:10px;font-family:DM Sans,monospace;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .copy-btn{flex-shrink:0;padding:10px 16px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s} .copy-btn:active{transform:scale(.95);background:var(--primary-dark)} .copy-btn.copied{background:var(--success)} .link-hint{font-size:12px;color:#7A8A9E;line-height:1.5;margin-top:14px;padding:10px 12px;background:#fff;border-radius:8px;border:1px dashed #BBDEFB} .close-success-btn{background:none;border:none;color:var(--text-secondary);font-family:inherit;font-size:14px;cursor:pointer;padding:8px 16px;margin-top:4px} .response-opt{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:#F0F7FF;border-radius:12px;margin-bottom:24px;cursor:pointer;-webkit-tap-highlight-color:transparent} .response-opt inputtypecheckbox{width:20px;height:20px;margin-top:1px;accent-color:var(--primary);cursor:pointer;flex-shrink:0} .response-opt-text{font-size:14px;line-height:1.5;color:var(--text-primary)} .response-opt-text strong{font-weight:600} .response-opt-sub{font-size:12px;color:var(--text-secondary);margin-top:2px} .loading-screen,.error-screen{text-align:center;padding:80px 24px} .loading-screen .spinner-lg{width:48px;height:48px;border:4px solid #E0E0E0;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px} .error-icon{font-size:64px;margin-bottom:20px} .error-title{font-size:20px;font-weight:700;margin-bottom:8px} .error-text{font-size:15px;color:var(--text-secondary);line-height:1.5} .powered-by{text-align:center;padding:24px 20px;font-size:12px;color:#BDBDBD} .powered-by strong{color:var(--primary);font-weight:600} .hidden{display:none!important} /style>/head>body> div classheader> svg viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround>path dM12 20h9/>path dM16.5 3.5a2.121 2.121 0 013 3L7 19l-4 1 1-4L16.5 3.5z/>/svg> h1>Donner mon avis/h1> /div> div classcontent loading-screen idloadingScreen> div classspinner-lg>/div> div stylefont-size:16px;color:var(--text-secondary)>Chargement.../div> /div> div classcontent error-screen hidden iderrorScreen> div classerror-icon iderrorIcon>⏰/div> div classerror-title iderrorTitle>Session expirée/div> div classerror-text iderrorText>Ce lien nest plus valide.br>Veuillez scanner à nouveau le tag NFC ou le QR Code./div> /div> div classcontent hidden idreviewForm> div classstore-identity> div classstore-emoji-circle>span classstore-emoji idstoreEmoji>🏪/span>/div> div classstore-name idstoreName>/div> div classstore-address idstoreAddress>/div> /div> div classrating-section> div classsection-label>Votre note/div> div classstars-row idstarsRow>/div> div classrating-text idratingText>/div> /div> div classcomment-section> div classlabel-row>span classsection-label>Commentaire/span>span classbadge-optional>Optionnel/span>/div> div classanon-reassurance idanonReassurance> span classanon-reassurance-icon>🔒/span> span classanon-reassurance-text>strong>Votre avis est totalement anonyme./strong> span idanonStoreName>/span> ne saura pas qui vous êtes./span> /div> textarea classcomment-textarea idcommentInput placeholderDécrivez votre expérience... maxlength500>/textarea> div classchar-count>span idcharCount>0/span>/500/div> /div> label classresponse-opt idresponseOptLabel styledisplay:none> input typecheckbox idwantsResponse> div> div classresponse-opt-text>strong>Je souhaite recevoir une réponse/strong> du responsable/div> div classresponse-opt-sub>Un lien personnel vous sera fourni pour consulter sa réponse./div> /div> /label> button classsubmit-btn idsubmitBtn disabled> span classbtn-text>Envoyer mon avis/span>span classspinner>/span> /button> div classsource-badge>span idsourceBadge>/span>/div> /div> div classpowered-by>Propulsé par strong>CXact/strong>/div> div classsuccess-overlay idsuccessOverlay> div classsuccess-card> svg classsuccess-icon viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround>path dM22 11.08V12a10 10 0 11-5.93-9.14/>polyline points22 4 12 14.01 9 11.01/>/svg> div classsuccess-title idsuccessTitle>Merci pour votre avis !/div> div classsuccess-subtitle idsuccessSubtitle>/div> div classlink-section hidden idlinkSection> div classlink-section-title>🔗 Votre lien privé/div> div classlink-section-desc>Ce lien est unique et personnel. Cest votre fil direct avec le responsable. Copiez-le et conservez-le précieusement — cest ici que sa réponse apparaîtra./div> div classlink-box> div classlink-url idlinkUrl>/div> button classcopy-btn idcopyBtn onclickcopyLink()>📋 Copier le lien/button> /div> div classlink-hint idlinkHint>💡 Astuce : envoyez-vous ce lien par SMS ou email, ou ajoutez-le en favori. Revenez le consulter dici quelques jours./div> /div> button classclose-success-btn idcloseSuccessBtn>Fermer/button> /div> /div> script> const API https://v5grjhnl72.execute-api.eu-west-3.amazonaws.com; const BASE_URL https://r.cxact.app; const COLORS {1:#E53935,2:#FF5722,3:#FFC107,4:#8BC34A,5:#4CAF50}; const TEXTS {1:Très mauvais,2:Mauvais,3:Correct,4:Bien,5:Excellent !}; let rating 0, token null, source qr; let responseLinkToken null; let wantsResponse false; let currentStoreName ; const path window.location.pathname; const match path.match(/\/r\/(a-f0-9-+)/i); if (match) { token match1; } const starsRow document.getElementById(starsRow); for (let i 1; i 5; i++) { const btn document.createElement(button); btn.className star-btn; btn.innerHTML svg classstar-empty viewBox0 0 24 24 fillnone stroke#BDBDBD stroke-width1.5>path dM12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z/>/svg>svg classstar-filled viewBox0 0 24 24 fillcurrentColor>path dM12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z/>/svg>; btn.onclick () > { rating i; updateStars(); }; starsRow.appendChild(btn); } function updateStars() { const c COLORSrating || #BDBDBD; starsRow.querySelectorAll(.star-btn).forEach((b, idx) > { if (idx rating) { b.classList.add(active); b.querySelector(.star-filled).style.color c; } else { b.classList.remove(active); } }); document.getElementById(ratingText).textContent TEXTSrating || ; document.getElementById(ratingText).style.color c; document.getElementById(submitBtn).disabled rating 0; const r document.getElementById(anonReassurance); if (rating > 1 && rating 2) r.classList.add(visible); else r.classList.remove(visible); } document.getElementById(commentInput).addEventListener(input, function() { var cbLabel document.getElementById(responseOptLabel); var cbInput document.getElementById(wantsResponse); if (this.value.trim().length > 3) { cbLabel.style.display ; } else { cbLabel.style.display none; cbInput.checked false; } document.getElementById(charCount).textContent this.value.length; }); async function init() { if (!token) { showError(⚠️, Lien invalide, Ce lien ne contient pas de jeton valide.); return; } try { const res await fetch(API + /quick/validate?token + token); const data await res.json(); if (data.valid) { currentStoreName data.store.name || ; document.getElementById(storeEmoji).textContent data.store.emoji || 🏪; document.getElementById(storeName).textContent currentStoreName; document.getElementById(storeAddress).textContent data.store.address || ; document.getElementById(anonStoreName).textContent currentStoreName; source data.source || qr; const isNfc source nfc; document.getElementById(sourceBadge).innerHTML (isNfc ? svg width14 height14 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2>path dM13 2L3 14h9l-1 8 10-12h-9l1-8z/>/svg>Présence vérifiée par NFC : svg width14 height14 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2>rect x3 y3 width18 height18 rx2/>path dM7 7h3v3H7zM14 7h3v3h-3zM7 14h3v3H7z/>/svg>Avis via QR Code); document.getElementById(loadingScreen).classList.add(hidden); document.getElementById(reviewForm).classList.remove(hidden); } else { const errorConfig { expired: { icon: ⏰, title: Session expirée, text: Ce lien a expiré. Pas de souci, scannez à nouveau le QR Code ou le tag NFC pour laisser votre avis. }, already_used: { icon: ✅, title: Avis déjà envoyé, text: Vous avez déjà donné votre avis via ce lien. Merci pour votre contribution ! Lors de votre prochaine visite, un nouveau lien sera disponible. }, not_found: { icon: 🔍, title: Lien invalide, text: Ce lien ne correspond à aucun lieu. Vérifiez que vous avez bien scanné le QR Code ou le tag NFC officiel. }, store_not_found: { icon: 🏪, title: Lieu introuvable, text: Le lieu associé à ce lien n\u2019est plus disponible. Contactez-le directement si besoin. } }; const err errorConfigdata.reason || errorConfig.expired; if (data.store_name) { var loc data.store_postal, data.store_city.filter(Boolean).join( ); var fullAddr data.store_address ? (loc ? data.store_address + , + loc : data.store_address) : loc; var storeHdr div styletext-align:center;margin-bottom:24px> + div stylefont-size:48px;margin-bottom:8px> + (data.store_emoji || String.fromCodePoint(0x1F3EA)) + /div> + div stylefont-size:20px;font-weight:700;margin-bottom:2px> + data.store_name + /div> + div stylefont-size:13px;color:#757575;line-height:1.4> + fullAddr + /div>/div>; document.getElementById(errorIcon).insertAdjacentHTML(beforebegin, storeHdr); } showError(err.icon, err.title, err.text); } } catch(e) { showError(❌, Erreur de connexion, Impossible de contacter le serveur.); } } function showError(icon, title, text) { document.getElementById(loadingScreen).classList.add(hidden); document.getElementById(errorIcon).textContent icon; document.getElementById(errorTitle).textContent title; document.getElementById(errorText).innerHTML text; document.getElementById(errorScreen).classList.remove(hidden); } document.getElementById(submitBtn).addEventListener(click, async () > { if (rating 0) return; const btn document.getElementById(submitBtn); wantsResponse document.getElementById(wantsResponse).checked; btn.classList.add(loading); btn.disabled true; try { const res await fetch(API + /quick/reviews, { method: POST, headers: {Content-Type: application/json}, body: JSON.stringify({ token, rating, comment: document.getElementById(commentInput).value.trim(), wants_response: wantsResponse }) }); const data await res.json(); btn.classList.remove(loading); if (data.success) { if (wantsResponse && data.response_link_token) { responseLinkToken data.response_link_token; document.getElementById(successTitle).textContent Votre voix compte \u{1F44F}; document.getElementById(successSubtitle).innerHTML Le responsable sera notifi\u00e9 et pourra vous r\u00e9pondre personnellement.br>Voici votre lien priv\u00e9 pour suivre sa r\u00e9ponse :; document.getElementById(linkUrl).textContent BASE_URL + /review/ + responseLinkToken; document.getElementById(linkSection).classList.remove(hidden); } else { document.getElementById(successTitle).textContent Merci \u{1F64F}; document.getElementById(successSubtitle).textContent Votre avis a bien \u00e9t\u00e9 transmis au responsable. Merci d\u2019avoir pris le temps de partager votre exp\u00e9rience !; } document.getElementById(successOverlay).classList.add(visible); } else { var code data.code || ; if (code DAILY_LIMIT) { document.getElementById(reviewForm).classList.add(hidden); showError(\u2705, Merci, votre avis a d\u00e9j\u00e0 \u00e9t\u00e9 re\u00e7u\u00a0!, Vous avez d\u00e9j\u00e0 partag\u00e9 votre exp\u00e9rience aujourd\u2019hui. Revenez lors de votre prochaine visite pour donner un nouvel avis\u00a0!); } else if (code ALREADY_USED) { document.getElementById(reviewForm).classList.add(hidden); showError(\u2705, Avis d\u00e9j\u00e0 envoy\u00e9, Vous avez d\u00e9j\u00e0 donn\u00e9 votre avis via ce lien. Merci pour votre contribution\u00a0!); } else if (code EXPIRED) { document.getElementById(reviewForm).classList.add(hidden); showError(\u23F0, Session expir\u00e9e, Ce lien a expir\u00e9. Pas de souci, scannez \u00e0 nouveau le QR Code ou le tag NFC pour laisser votre avis.); } else { document.getElementById(reviewForm).classList.add(hidden); showError(\u23F0, Session expir\u00e9e, Ce lien a expir\u00e9. Pas de souci, scannez \u00e0 nouveau le QR Code ou le tag NFC pour laisser votre avis.); } } } catch(e) { btn.classList.remove(loading); btn.disabled false; document.getElementById(reviewForm).classList.add(hidden); showError(\u274C, Erreur de connexion, Impossible de contacter le serveur. V\u00e9rifiez votre connexion et r\u00e9essayez.); } }); function copyLink() { const url BASE_URL + /review/ + responseLinkToken; navigator.clipboard.writeText(url).then(() > { const b document.getElementById(copyBtn); b.textContent \u2705 Lien copi\u00e9 !; b.classList.add(copied); setTimeout(() > { b.textContent \uD83D\uDCCB Copier le lien; b.classList.remove(copied); }, 3000); }).catch(() > { const el document.createElement(textarea); el.value url; el.style.cssText position:fixed;opacity:0; document.body.appendChild(el); el.select(); document.execCommand(copy); document.body.removeChild(el); const b document.getElementById(copyBtn); b.textContent \u2705 Lien copi\u00e9 !; b.classList.add(copied); setTimeout(() > { b.textContent \uD83D\uDCCB Copier le lien; b.classList.remove(copied); }, 3000); }); } document.getElementById(closeSuccessBtn).addEventListener(click, () > { document.getElementById(successOverlay).classList.remove(visible); document.getElementById(reviewForm).innerHTML div styletext-align:center;padding:60px 0>div stylefont-size:64px;margin-bottom:16px>✅/div>div stylefont-size:20px;font-weight:700;margin-bottom:8px>Avis enregistré/div>div stylefont-size:15px;color:var(--text-secondary);line-height:1.5>Vous pouvez fermer cette page.br>Merci pour votre contribution !/div>/div>; }); init(); /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]