cloudflare
tcp/443 tcp/80 tcp/8443
Open service 104.21.72.115:80 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 10:46:36 GMT
Content-Type: text/html; charset=iso-8859-1
Transfer-Encoding: chunked
Connection: close
server: cloudflare
location: https://craftcodewarts.fr/
x-iplb-request-id: 68161147:24A4_335BECFF:0050_6972000C_247FD:669C
x-iplb-instance: 52432
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=151
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=WnCHmGAGhivtH2zDSn9j03hu7%2FPzSAArlBaTzn%2F0hM1ImChuUNWPRvEsPs1IDY4aXaaaMseSbj3q7miLd%2FN7kmqAcg%2FW%2F0sWcT4SpRtcbmBu"}]}
CF-RAY: 9c1e77eddb34938c-SJC
alt-svc: h3=":443"; ma=86400
Page title: 301 Moved Permanently
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://craftcodewarts.fr/">here</a>.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f3467e27ddfe47e58bda777e2827ab2d","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body></html>
Open service 2606:4700:3034::ac43:b7b1:80 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 10:46:37 GMT
Content-Type: text/html; charset=iso-8859-1
Transfer-Encoding: chunked
Connection: close
server: cloudflare
location: https://craftcodewarts.fr/
x-iplb-request-id: AC46DBA1:35B6_335BECFF:0050_6972000D_57A05:6250
x-iplb-instance: 52364
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=17,cfOrigin;dur=507
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ORGM0%2BM7tWjo9M0sBb7FRur8xIizz4bYlC1JkMRH5BCThT5D5SjCQCSdMqZ0M%2Foz5rVjfrArofDvCC11zj1IYoO6nkcoOatnb53AYDYhtVp%2Bn6yhsEMOlRjaJPTO"}]}
CF-RAY: 9c1e77ef3a8fa6bb-BOM
alt-svc: h3=":443"; ma=86400
Page title: 301 Moved Permanently
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://craftcodewarts.fr/">here</a>.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f3467e27ddfe47e58bda777e2827ab2d","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body></html>
Open service 2606:4700:3034::ac43:b7b1:8443 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 521 <none> Date: Thu, 22 Jan 2026 10:46:56 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19558,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1e77f22d0c46a4-BOM alt-svc: h3=":8443"; ma=86400 error code: 521
Open service 2606:4700:3032::6815:4873:443 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 10:46:37 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=5,cfOrigin;dur=244
vary: Accept-Encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=S8r%2FdiHP04RFkmNWajBhiBx8bq44qC%2BvgyLlo9ZJmtudovmO4aFuQfx8DKexZmCouQ00ZtIgQAXXHknn2jPVkxbm5DHt2mrhfkpyrCFjtW7iDpEm%2BCLxsHaHIK0K"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9c1e77f09b0cff73-BOM
alt-svc: h3=":443"; ma=86400
Page title: CraftCodeWarts – Cours de programmation à Antibes
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CraftCodeWarts – Cours de programmation à Antibes</title>
<meta name="description"
content="Cours individuels de programmation à Antibes et en ligne : Scratch, Python, C, C++, Java, JavaScript. Apprenez à coder par la pratique avec Michael.">
<link rel="icon" href="/favicon.ico">
<link rel="stylesheet" href="/styles.css">
<style>
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: "Inter", sans-serif;
color: #111;
background-color: var(--bg-light);
overflow-x: hidden;
line-height: 1.6;
margin: 0;
padding: 0;
}
/* HEADER */
header {
position: fixed;
top: 0;
width: 100%;
background: rgba(255, 255, 255, 0.9);
backdrop-filter: blur(10px);
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 3rem;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
z-index: 10;
}
.logo {
font-size: 1.4rem;
font-weight: 700;
color: var(--primary);
text-decoration: none;
}
nav ul {
display: flex;
list-style: none;
gap: 2rem;
}
nav a {
text-decoration: none;
color: #333;
font-weight: 500;
transition: var(--transition);
}
nav a:hover {
color: var(--primary);
}
/* HERO SECTION */
.hero {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
background: var(--gradient);
color: white;
padding: 8rem 2rem 6rem;
position: relative;
overflow: hidden;
}
.hero::before {
content: "";
position: absolute;
top: -150px;
left: -100px;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(255, 255, 255, 0.2), transparent 70%);
filter: blur(80px);
}
.hero::after {
content: "";
position: absolute;
bottom: -100px;
right: -150px;
width: 500px;
height: 500px;
background: radial-gradient(circle, rgba(236, 72, 153, 0.3), transparent 70%);
filter: blur(80px);
}
.hero-left {
flex: 1 1 480px;
z-index: 2;
animation: fadeInUp 1s ease forwards;
opacity: 0;
}
.hero-left h1 {
font-size: 2.8rem;
margin-bottom: 1rem;
line-height: 1.2;
}
.hero-left p {
font-size: 1.1rem;
margin-bottom: 2rem;
max-width: 500px;
}
.hero-left a:hover {
background: var(--accent);
color: white;
transform: translateY(-3px);
}
.hero-right {
flex: 1 1 400px;
text-align: center;
z-index: 2;
}
.hero-right img {
width: 420px;
max-width: 100%;
filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.25));
animation: float 4s ease-in-out infinite alternate;
}
/* SERVICES / COURSES */
.courses {
text-align: center;
padding: 5rem 2rem;
background: white;
}
.courses h2 {
font-size: 2rem;
Open service 2606:4700:3032::6815:4873:80 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 10:46:37 GMT
Content-Type: text/html; charset=iso-8859-1
Transfer-Encoding: chunked
Connection: close
server: cloudflare
location: https://craftcodewarts.fr/
x-iplb-request-id: AC455F2B:3750_335BECFF:0050_6972000D_702E:3829
x-iplb-instance: 52463
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=16,cfOrigin;dur=511
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=O%2FEfHcOb6OtJXIgyrmICW0CA9J4CBPX2QL3y88%2FqpdcxBNSDHT3Q0kkveAWSFwQJ%2BzoueVg59HsqgbNpcopQNbLEqEr3wEFPwskZdUPjsYO5GGwgAsRBcu9FHDZM"}]}
CF-RAY: 9c1e77ef1e63442b-BOM
alt-svc: h3=":443"; ma=86400
Page title: 301 Moved Permanently
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://craftcodewarts.fr/">here</a>.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f3467e27ddfe47e58bda777e2827ab2d","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body></html>
Open service 2606:4700:3032::6815:4873:8443 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 521 <none> Date: Thu, 22 Jan 2026 10:46:56 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19594,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1e77f1e8794826-BOM alt-svc: h3=":8443"; ma=86400 error code: 521
Open service 172.67.183.177:443 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 10:46:37 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=5,cfOrigin;dur=752
vary: Accept-Encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Bm1SsVOByrKcfT%2FRNVAER36LnrDuxzIOcEqORr0jDwypcpUqk1Z%2BEeeNmBjnzQIeEyBo%2FQ02SyATP3KRepLDv9F5jLhk1KIoOccLYsOjh6QA"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9c1e77f058d484d1-BOM
alt-svc: h3=":443"; ma=86400
Page title: CraftCodeWarts – Cours de programmation à Antibes
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CraftCodeWarts – Cours de programmation à Antibes</title>
<meta name="description"
content="Cours individuels de programmation à Antibes et en ligne : Scratch, Python, C, C++, Java, JavaScript. Apprenez à coder par la pratique avec Michael.">
<link rel="icon" href="/favicon.ico">
<link rel="stylesheet" href="/styles.css">
<style>
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: "Inter", sans-serif;
color: #111;
background-color: var(--bg-light);
overflow-x: hidden;
line-height: 1.6;
margin: 0;
padding: 0;
}
/* HEADER */
header {
position: fixed;
top: 0;
width: 100%;
background: rgba(255, 255, 255, 0.9);
backdrop-filter: blur(10px);
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 3rem;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
z-index: 10;
}
.logo {
font-size: 1.4rem;
font-weight: 700;
color: var(--primary);
text-decoration: none;
}
nav ul {
display: flex;
list-style: none;
gap: 2rem;
}
nav a {
text-decoration: none;
color: #333;
font-weight: 500;
transition: var(--transition);
}
nav a:hover {
color: var(--primary);
}
/* HERO SECTION */
.hero {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
background: var(--gradient);
color: white;
padding: 8rem 2rem 6rem;
position: relative;
overflow: hidden;
}
.hero::before {
content: "";
position: absolute;
top: -150px;
left: -100px;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(255, 255, 255, 0.2), transparent 70%);
filter: blur(80px);
}
.hero::after {
content: "";
position: absolute;
bottom: -100px;
right: -150px;
width: 500px;
height: 500px;
background: radial-gradient(circle, rgba(236, 72, 153, 0.3), transparent 70%);
filter: blur(80px);
}
.hero-left {
flex: 1 1 480px;
z-index: 2;
animation: fadeInUp 1s ease forwards;
opacity: 0;
}
.hero-left h1 {
font-size: 2.8rem;
margin-bottom: 1rem;
line-height: 1.2;
}
.hero-left p {
font-size: 1.1rem;
margin-bottom: 2rem;
max-width: 500px;
}
.hero-left a:hover {
background: var(--accent);
color: white;
transform: translateY(-3px);
}
.hero-right {
flex: 1 1 400px;
text-align: center;
z-index: 2;
}
.hero-right img {
width: 420px;
max-width: 100%;
filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.25));
animation: float 4s ease-in-out infinite alternate;
}
/* SERVICES / COURSES */
.courses {
text-align: center;
padding: 5rem 2rem;
background: white;
}
.courses h2 {
font-size: 2rem;
Open service 172.67.183.177:80 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 10:46:37 GMT
Content-Type: text/html; charset=iso-8859-1
Transfer-Encoding: chunked
Connection: close
server: cloudflare
location: https://craftcodewarts.fr/
x-iplb-request-id: AC45B37A:2C10_335BECFF:0050_6972000C_15339:5487
x-iplb-instance: 52490
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=19,cfOrigin;dur=498
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=NjuYA6zySCGBoONnPKn%2FjEzB9%2FBN4kzoFWHuyn%2BfrE8S7MqtYKlC1FOMEp5afl40hR%2BU9fxaslPZaLx3IIHN8sNUZ2sxIxTxMo6QJPJdi4KX"}]}
CF-RAY: 9c1e77ef0e2d3afe-BOM
alt-svc: h3=":443"; ma=86400
Page title: 301 Moved Permanently
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://craftcodewarts.fr/">here</a>.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f3467e27ddfe47e58bda777e2827ab2d","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body></html>
Open service 172.67.183.177:8443 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 521 <none> Date: Thu, 22 Jan 2026 10:46:56 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin Server-Timing: cfEdge;dur=19507,cfOrigin;dur=0 X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c1e77f1eef4002d-BOM alt-svc: h3=":8443"; ma=86400 error code: 521
Open service 104.21.72.115:8443 · craftcodewarts.fr
2026-01-22 10:46
Open service 104.21.72.115:443 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 10:46:36 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=73
vary: Accept-Encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=iDgGHRFgMYzMYCDLLuEttkFQDMCr7qFLe43nIlKZrotPbMRKLXmof4%2FxVXIqqQIcMgV7G0kVWPeEmlUqWZrQt%2Fj9JW5FJAr%2FMkXHvjjmIw%3D%3D"}]}
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9c1e77eceaebc352-EWR
alt-svc: h3=":443"; ma=86400
Page title: CraftCodeWarts – Cours de programmation à Antibes
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CraftCodeWarts – Cours de programmation à Antibes</title>
<meta name="description"
content="Cours individuels de programmation à Antibes et en ligne : Scratch, Python, C, C++, Java, JavaScript. Apprenez à coder par la pratique avec Michael.">
<link rel="icon" href="/favicon.ico">
<link rel="stylesheet" href="/styles.css">
<style>
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: "Inter", sans-serif;
color: #111;
background-color: var(--bg-light);
overflow-x: hidden;
line-height: 1.6;
margin: 0;
padding: 0;
}
/* HEADER */
header {
position: fixed;
top: 0;
width: 100%;
background: rgba(255, 255, 255, 0.9);
backdrop-filter: blur(10px);
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 3rem;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
z-index: 10;
}
.logo {
font-size: 1.4rem;
font-weight: 700;
color: var(--primary);
text-decoration: none;
}
nav ul {
display: flex;
list-style: none;
gap: 2rem;
}
nav a {
text-decoration: none;
color: #333;
font-weight: 500;
transition: var(--transition);
}
nav a:hover {
color: var(--primary);
}
/* HERO SECTION */
.hero {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
background: var(--gradient);
color: white;
padding: 8rem 2rem 6rem;
position: relative;
overflow: hidden;
}
.hero::before {
content: "";
position: absolute;
top: -150px;
left: -100px;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(255, 255, 255, 0.2), transparent 70%);
filter: blur(80px);
}
.hero::after {
content: "";
position: absolute;
bottom: -100px;
right: -150px;
width: 500px;
height: 500px;
background: radial-gradient(circle, rgba(236, 72, 153, 0.3), transparent 70%);
filter: blur(80px);
}
.hero-left {
flex: 1 1 480px;
z-index: 2;
animation: fadeInUp 1s ease forwards;
opacity: 0;
}
.hero-left h1 {
font-size: 2.8rem;
margin-bottom: 1rem;
line-height: 1.2;
}
.hero-left p {
font-size: 1.1rem;
margin-bottom: 2rem;
max-width: 500px;
}
.hero-left a:hover {
background: var(--accent);
color: white;
transform: translateY(-3px);
}
.hero-right {
flex: 1 1 400px;
text-align: center;
z-index: 2;
}
.hero-right img {
width: 420px;
max-width: 100%;
filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.25));
animation: float 4s ease-in-out infinite alternate;
}
/* SERVICES / COURSES */
.courses {
text-align: center;
padding: 5rem 2rem;
background: white;
}
.courses h2 {
font-size: 2rem;
Open service 2606:4700:3034::ac43:b7b1:443 · craftcodewarts.fr
2026-01-22 10:46
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 10:46:36 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
vary: Accept-Encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=UKroAcQhQ4E8HllMs4DK0dg5c50dV1Kn9iNkjrMeYpBqB3bUQ5SlN4LAh7cJE%2FbYxIPsFN40mLARJ4IhvxVucNNbeA8E7Mf99%2Bb6gyN%2FpGw13TBtRidCt7Q41Pof"}]}
cf-cache-status: DYNAMIC
CF-RAY: 9c1e77eb68ed19a3-LHR
alt-svc: h3=":443"; ma=86400
Page title: CraftCodeWarts – Cours de programmation à Antibes
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CraftCodeWarts – Cours de programmation à Antibes</title>
<meta name="description"
content="Cours individuels de programmation à Antibes et en ligne : Scratch, Python, C, C++, Java, JavaScript. Apprenez à coder par la pratique avec Michael.">
<link rel="icon" href="/favicon.ico">
<link rel="stylesheet" href="/styles.css">
<style>
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: "Inter", sans-serif;
color: #111;
background-color: var(--bg-light);
overflow-x: hidden;
line-height: 1.6;
margin: 0;
padding: 0;
}
/* HEADER */
header {
position: fixed;
top: 0;
width: 100%;
background: rgba(255, 255, 255, 0.9);
backdrop-filter: blur(10px);
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 3rem;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
z-index: 10;
}
.logo {
font-size: 1.4rem;
font-weight: 700;
color: var(--primary);
text-decoration: none;
}
nav ul {
display: flex;
list-style: none;
gap: 2rem;
}
nav a {
text-decoration: none;
color: #333;
font-weight: 500;
transition: var(--transition);
}
nav a:hover {
color: var(--primary);
}
/* HERO SECTION */
.hero {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
background: var(--gradient);
color: white;
padding: 8rem 2rem 6rem;
position: relative;
overflow: hidden;
}
.hero::before {
content: "";
position: absolute;
top: -150px;
left: -100px;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(255, 255, 255, 0.2), transparent 70%);
filter: blur(80px);
}
.hero::after {
content: "";
position: absolute;
bottom: -100px;
right: -150px;
width: 500px;
height: 500px;
background: radial-gradient(circle, rgba(236, 72, 153, 0.3), transparent 70%);
filter: blur(80px);
}
.hero-left {
flex: 1 1 480px;
z-index: 2;
animation: fadeInUp 1s ease forwards;
opacity: 0;
}
.hero-left h1 {
font-size: 2.8rem;
margin-bottom: 1rem;
line-height: 1.2;
}
.hero-left p {
font-size: 1.1rem;
margin-bottom: 2rem;
max-width: 500px;
}
.hero-left a:hover {
background: var(--accent);
color: white;
transform: translateY(-3px);
}
.hero-right {
flex: 1 1 400px;
text-align: center;
z-index: 2;
}
.hero-right img {
width: 420px;
max-width: 100%;
filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.25));
animation: float 4s ease-in-out infinite alternate;
}
/* SERVICES / COURSES */
.courses {
text-align: center;
padding: 5rem 2rem;
background: white;
}
.courses h2 {
font-size: 2rem;