Compare commits

..

52 Commits

Author SHA1 Message Date
ad2858a1ee Update year
All checks were successful
Docker-build / docker-build (push) Successful in 55s
2024-01-02 18:59:07 +01:00
f1e0ac2205 Actualiser .gitea/workflows/docker-build-dev.yml
All checks were successful
Docker-build / docker-build (push) Successful in 41s
2023-11-12 21:47:32 +01:00
10f26a053e Add link track
All checks were successful
Docker-build / docker-build (push) Successful in 41s
2023-05-17 21:45:17 +02:00
30b9d29702 Remove Jinja & Rust
All checks were successful
Docker-build / docker-build (push) Successful in 43s
2023-05-17 21:28:57 +02:00
535eef4960 Dev (#1)
* Update index.html

* Update index.html

* Add Jinja2
2023-05-17 21:27:25 +02:00
bb2a6e23fa Add rust 2023-05-17 21:22:55 +02:00
e21641405a Add Umami analytics 2023-05-17 21:14:37 +02:00
b16251af96 Create docker-build-dev.yml
All checks were successful
docker-build
2023-04-04 22:09:15 +02:00
fc009f968e Update tags
All checks were successful
docker-build
2023-04-03 13:58:25 -04:00
eeadcd6d71 Fix nginx.conf
All checks were successful
docker-build
2023-04-02 12:12:08 -04:00
c1483fc5ed Add custom nginx conf
All checks were successful
docker-build
2023-04-02 12:08:50 -04:00
590790cb12 Add custom nginx conf
All checks were successful
docker-build
2023-04-02 12:07:00 -04:00
3e3031b96f Add custom nginx conf
All checks were successful
docker-build
2023-04-02 12:06:20 -04:00
facef37213 Add custom nginx conf
All checks were successful
docker-build
2023-04-02 12:02:53 -04:00
b4a4f0f77a Add custom nginx conf
All checks were successful
docker-build
2023-04-02 11:59:26 -04:00
71dfb19647 Fix nginx conf
All checks were successful
docker-build
2023-04-02 11:56:32 -04:00
2790427083 Fix nginx conf
All checks were successful
docker-build
2023-04-02 11:53:32 -04:00
4aebe716d8 Fix nginx conf
All checks were successful
docker-build
2023-04-02 11:50:47 -04:00
4a2e578770 Fix nginx conf
All checks were successful
docker-build
2023-04-02 11:48:09 -04:00
c7199dec63 Fix nginx conf
All checks were successful
docker-build
2023-04-02 11:45:43 -04:00
65b400febb Add custom nginx conf
Some checks failed
docker-build
2023-04-02 11:42:53 -04:00
e4eeddcbf4 Add custom nginx conf
All checks were successful
docker-build
2023-04-02 11:37:58 -04:00
b71e46a786 Update docker-build.yml
All checks were successful
docker-build
2023-04-02 17:00:30 +02:00
13a9b12982 Update date
All checks were successful
docker-build
2023-04-02 10:05:51 -04:00
5591fa1aec Final docker build update
All checks were successful
docker-build
2023-04-02 09:45:45 -04:00
18c8cc3427 Fix docker build
All checks were successful
docker-build
2023-04-02 09:36:04 -04:00
d93c625f73 Fix docker build
Some checks failed
docker-build
2023-04-02 09:33:33 -04:00
0eb512cb98 Fix docker build
Some checks failed
docker-build
2023-04-02 09:32:21 -04:00
433111a70d Fix docker build 2023-04-02 09:31:43 -04:00
5050a0c668 Fix docker build 2023-04-02 09:28:22 -04:00
750d47103c Fix docker build
Some checks failed
docker-build
2023-04-02 09:10:09 -04:00
ffcd129e56 Fix docker build 2023-04-02 09:08:53 -04:00
d0b29a77aa Fix docker build
Some checks failed
docker-build
2023-04-02 08:58:25 -04:00
a10e7074a2 Fix docker build
Some checks failed
docker-build
2023-04-02 08:54:02 -04:00
12de378234 Fix docker build
Some checks failed
docker-build
2023-04-02 08:52:30 -04:00
019512a670 Add dockerfile+build
Some checks failed
docker-build
2023-04-02 08:48:50 -04:00
918e8be69f Update 404 page with PNG icon 2022-10-22 15:54:40 +02:00
a6442de09a Update social page 2022-10-14 22:50:29 +02:00
88b673ea69 Update index.html 2022-10-11 00:07:00 +02:00
2794e90648 Remove PDF file 2022-10-11 00:06:32 +02:00
09d5a3ceb7 Add collapse text for smartphone 2022-09-02 14:48:00 +02:00
6fc5596087 Update animation scale 2022-08-31 23:14:41 +02:00
cbf02a3fdd Add CTF Training section 2022-08-31 23:12:45 +02:00
4024503f61 Remove unused function 2022-08-31 23:12:30 +02:00
7d3e17f789 Fix bug and color 2022-08-31 22:35:47 +02:00
e2f3271ff6 Add content 2022-08-31 20:52:55 +02:00
1544841637 Add text animation 2022-08-31 20:52:46 +02:00
411feef7c6 Remove unused img 2022-08-25 11:31:14 +02:00
d62632e709 CSS optimisations 2022-08-25 11:30:18 +02:00
7fb0993e33 Add Head Metadata 2022-08-25 10:30:35 +02:00
edcd512eaf Fill manifest.json 2022-08-25 10:30:06 +02:00
1fd695350f Update button style 2022-08-25 09:17:11 +02:00
52 changed files with 614 additions and 143 deletions

View File

@ -0,0 +1,21 @@
name: Docker-build-dev
on:
push:
branches: [ dev ]
jobs:
docker-build:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Set up docker
run: |
apt update
apt install -y docker.io
- name: Build/Push
run: |
echo "nameserver 10.10.0.1" > /etc/resolv.conf
echo ${{ secrets.GIT_TOKEN }} | docker login -u ${{ github.actor }} --password-stdin git.d3vyce.fr
docker build -t d3vyce.fr .
docker tag d3vyce.fr git.d3vyce.fr/d3vyce/d3vyce.fr:dev
docker push git.d3vyce.fr/d3vyce/d3vyce.fr:dev

View File

@ -0,0 +1,20 @@
name: Docker-build
on:
push:
branches: [ master ]
jobs:
docker-build:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Set up docker
run: |
apt update
apt install -y docker.io
- name: Build/Push
run: |
echo ${{ secrets.GIT_TOKEN }} | docker login -u ${{ github.actor }} --password-stdin git.d3vyce.fr
docker build -t d3vyce.fr .
docker tag d3vyce.fr git.d3vyce.fr/d3vyce/d3vyce.fr:latest
docker push git.d3vyce.fr/d3vyce/d3vyce.fr:latest

3
Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM nginx
COPY html/ /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

View File

@ -20,6 +20,8 @@
<!-- Roboto Font --> <!-- Roboto Font -->
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'> <link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
<script src="js/script.js"></script> <script src="js/script.js"></script>
<!-- Umami Analytics -->
<script async src="https://analytics.d3vyce.fr/script.js" data-website-id="4c83df85-5566-4647-ba67-b3724890baca"></script>
</head> </head>
<body> <body>
<header class="masthead" id="home"> <header class="masthead" id="home">
@ -27,7 +29,7 @@
<div class="row head-row align-items-center h-100 justify-content-evenly text-center"> <div class="row head-row align-items-center h-100 justify-content-evenly text-center">
<div class="col-lg-12 col-xl-5"> <div class="col-lg-12 col-xl-5">
<h1 class="text-white font-weight-bold"><img src="/assets/img/error.avif" width="12%"> 404 Not Found</h1> <h1 class="text-white font-weight-bold"><img src="/assets/img/error.png" width="12%"> 404 Not Found</h1>
<p class="text-white">The requested URL was not found on this server !</p> <p class="text-white">The requested URL was not found on this server !</p>
<hr class="divider" /> <hr class="divider" />
<div class="d-grid gap-4 col-10 mx-auto"> <div class="d-grid gap-4 col-10 mx-auto">

View File

@ -19,6 +19,8 @@
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" /> <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" />
<!-- Roboto Font --> <!-- Roboto Font -->
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'> <link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
<!-- Umami Analytics -->
<script async src="https://analytics.d3vyce.fr/script.js" data-website-id="4c83df85-5566-4647-ba67-b3724890baca"></script>
<script src="js/script.js"></script> <script src="js/script.js"></script>
<script src="js/admin.js"></script> <script src="js/admin.js"></script>
</head> </head>

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

BIN
html/assets/img/error.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

View File

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

View File

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

83
html/css/reset.css Normal file
View File

@ -0,0 +1,83 @@
/***
The new CSS reset - version 1.7.3 (last updated 7.8.2022)
GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
- The "symbol *" part is to solve Firefox SVG sprite bug
*/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
all: unset;
display: revert;
}
/* Preferred box-sizing value */
*,
*::before,
*::after {
box-sizing: border-box;
}
/* Reapply the pointer cursor for anchor tags */
a, button {
cursor: revert;
}
/* Remove list styles (bullets/numbers) */
ol, ul, menu {
list-style: none;
}
/* For images to not be able to exceed their container */
img {
max-width: 100%;
}
/* removes spacing between cells in tables */
table {
border-collapse: collapse;
}
/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
-webkit-user-select: auto;
}
/* revert the 'white-space' property for textarea elements on Safari */
textarea {
white-space: revert;
}
/* minimum style to allow to style meter element */
meter {
-webkit-appearance: revert;
appearance: revert;
}
/* reset default text opacity of input placeholder */
::placeholder {
color: unset;
}
/* fix the feature of 'hidden' attribute.
display:revert; revert to element instead of attribute */
:where([hidden]) {
display: none;
}
/* revert for bug in Chromium browsers
- fix for the content editable attribute will work properly.
- webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
-moz-user-modify: read-write;
-webkit-user-modify: read-write;
overflow-wrap: break-word;
-webkit-line-break: after-white-space;
-webkit-user-select: auto;
}
/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
-webkit-user-drag: element;
}

144
html/css/social.css Normal file
View File

@ -0,0 +1,144 @@
.home {
position: fixed !important;
}
.social {
font-family: "Roboto", sans-serif;
font: 18px;
color: white;
padding: 2rem;
display: flex;
justify-content: center;
align-items: center;
}
.profile-card {
box-shadow: 0 18px 200px -60px black;
border-radius: 50px;
width: 650px;
position: relative;
-webkit-backdrop-filter: blur(15px);
backdrop-filter: blur(15px);
border: 2px solid rgba(255, 255, 255, 0.2509803922);
padding: 3rem 1rem;
display: flex;
flex-direction: column;
gap: 40px;
}
@media screen and (max-width: 768px) {
.profile-card {
width: auto;
}
}
.profile-card__img img {
margin: auto;
width: 200px;
height: 200px;
border-radius: 50%;
-o-object-fit: cover;
object-fit: cover;
display: block;
box-shadow: 0 10px 60px -10px rgba(13, 28, 39, 0.5);
}
@media (max-width: 766px) {
.profile-card__img img {
width: 150px;
height: 150px;
}
.profile-card__desc h1 {
font-size: 1.5rem !important;
margin-top: -25px !important;
}
}
.profile-card__desc {
text-align: center;
display: flex;
flex-direction: column;
gap: 25px;
}
.profile-card__desc h1 {
font-size: 2.5rem;
font-weight: bold;
}
.profile-card__desc h1 + div {
font-size: 20px !important;
}
.profile-card__info {
display: flex;
justify-content: center;
gap: 50px;
}
@media screen and (max-width: 576px) {
.profile-card__info {
gap: 30px;
}
}
.profile-card__info > div {
text-transform: uppercase;
font-weight: bold;
letter-spacing: 1px;
text-align: center;
}
.profile-card__info > div > *:first-child {
font-weight: bold;
}
.profile-card__info > div > *:last-child {
font-size: 16px !important;
opacity: 0.7;
}
.profile-card__social {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
.profile-card__social a {
display: inline-flex;
width: 55px;
height: 55px;
margin: 15px;
border-radius: 40%;
align-items: center;
justify-content: center;
color: white;
position: relative;
flex-shrink: 0;
transition: all 0.2s;
}
@media screen and (max-width: 768px) {
.profile-card__social a {
width: 50px;
height: 50px;
margin: 10px;
}
}
@media screen and (min-width: 768px) {
.profile-card__social a:hover {
transform: scale(1.2) translateY(-5px);
}
}
.profile-card__social a.site {
background: linear-gradient(45deg, #405de6, #5851db, #833ab4, #c13584, #e1306c, #fd1d1d);
box-shadow: 0 4px 30px rgba(43, 98, 168, 0.4);
}
.profile-card__social a.blog {
background: linear-gradient(45deg, #1769ff, #213fca);
box-shadow: 0 4px 30px rgba(27, 86, 231, 0.4);
}
.profile-card__social a.github {
background: linear-gradient(45deg, #333333, #626b73);
box-shadow: 0 4px 30px rgba(63, 65, 67, 0.4);
}
.profile-card__social a.twitter {
background: linear-gradient(45deg, #1da1f2, #0e71c8);
box-shadow: 0 4px 30px rgba(19, 127, 212, 0.4);
}
.profile-card__social a.status {
background: linear-gradient(45deg, #3b5998, #0078d7);
box-shadow: 0 4px 30px rgba(43, 98, 168, 0.4);
}

View File

@ -55,11 +55,12 @@ a:hover {
/* Button */ /* Button */
.btn { .btn {
border-radius: 30px; border-radius: 30px;
border-width: 2px;
font-size: 20px; font-size: 20px;
font-weight: 500; font-weight: 500;
overflow: hidden; overflow: hidden;
border-color: var(--accent); border-color: var(--accent);
background-color: var(--accent); background-color: rgba(216, 126, 39, 0.40);
color: white; color: white;
} }
@ -111,17 +112,16 @@ a:hover {
padding: 4rem; padding: 4rem;
} }
.badge:hover { .divider {
background-color: white; height: 0.2rem !important;
color: black; max-width: 3.25rem;
margin: 1.5rem auto;
background-color: var(--accent);
opacity: 1;
} }
.modal-content {
background-color: var(--dark-2);
}
/* Header Section */ /* Header Section */
@media (min-width: 992px) { @media (min-width: 992px) {
header.masthead { header.masthead {
height: 100vh; height: 100vh;
@ -151,11 +151,13 @@ a:hover {
align-content: center; align-content: center;
} }
} }
/* ------------ */
/* About Section */ /* About Section */
.about { .about {
background-color: var(--dark-2); background-color: var(--dark-2);
} }
/* ------------ */
/* Skills Section */ /* Skills Section */
.skills { .skills {
@ -166,6 +168,7 @@ a:hover {
color: var(--accent); color: var(--accent);
background-color: var(--accent); background-color: var(--accent);
} }
/* ------------ */
/* Projects Section */ /* Projects Section */
.projects { .projects {
@ -181,12 +184,12 @@ a:hover {
padding-left: 0; padding-left: 0;
border-radius: 6px; border-radius: 6px;
box-shadow: 0 6px 10px rgba(0,0,0,.08), 0 0 6px rgba(0,0,0,.05); box-shadow: 0 6px 10px rgba(0,0,0,.08), 0 0 6px rgba(0,0,0,.05);
transition: .3s transform cubic-bezier(.155,1.105,.295,1.12),.3s box-shadow,.3s -webkit-transform cubic-bezier(.155,1.105,.295,1.12); transition: .8s transform cubic-bezier(.155,1.105,.295,1.12), .8s box-shadow, .8s -webkit-transform cubic-bezier(.155,1.105,.295,1.12);
cursor: pointer; cursor: pointer;
} }
.project:hover { .project:hover {
transform: scale(1.05); transform: scale(1.02);
box-shadow: 0 10px 20px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06); box-shadow: 0 10px 20px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);
} }
@ -213,6 +216,11 @@ a:hover {
justify-content: center; justify-content: center;
} }
.modal-content {
background-color: var(--dark-2);
}
/* ------------ */
/* Footer Section */ /* Footer Section */
.footer { .footer {
background-color: var(--dark-1); background-color: var(--dark-1);
@ -232,19 +240,7 @@ a:hover {
.social{ .social{
margin-bottom: 2rem; margin-bottom: 2rem;
} }
/* ------------------------------------- */ /* ------------ */
.text-white-75 {
color: rgba(255, 255, 255, 0.75) !important;
}
.divider {
height: 0.2rem !important;
max-width: 3.25rem;
margin: 1.5rem auto;
background-color: var(--accent);
opacity: 1;
}
/* Scrollbar */ /* Scrollbar */
::-webkit-scrollbar { ::-webkit-scrollbar {
@ -256,4 +252,31 @@ a:hover {
} }
::-webkit-scrollbar-track{ ::-webkit-scrollbar-track{
background: transparent; background: transparent;
} }
/* ------------ */
/* Animation */
.reveal{
position: relative;
opacity: 0;
}
.reveal.active{
opacity: 1;
}
.active.fade {
animation: fade 1s;
}
@keyframes fade {
0% {
transform: scale(0.9, 0.9);
opacity: 0;
}
100% {
transform: scale(1, 1);
opacity: 1;
}
}
/* ------------ */

View File

@ -7,22 +7,26 @@
<meta name="description" content="d3vyce.fr Site" /> <meta name="description" content="d3vyce.fr Site" />
<meta name="author" content="d3vyce - Nicolas Sudres" /> <meta name="author" content="d3vyce - Nicolas Sudres" />
<title>Home • d3vyce.fr</title> <title>Home • d3vyce.fr</title>
<!-- Favicon--> <!-- Manifest -->
<link rel="manifest" href="manifest.json">
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" /> <link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Boostrap--> <link rel="apple-touch-icon" sizes="180x180" href="assets/apple-touch-icon.png">
<!-- Boostrap -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- Custom CSS--> <!-- Custom CSS -->
<link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/mouse.css"> <link rel="stylesheet" href="css/mouse.css">
<link rel="stylesheet" href="css/timeline.css"> <link rel="stylesheet" href="css/timeline.css">
<!-- Awesome Font--> <!-- Awesome Font -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Bootstrap Icons--> <!-- Bootstrap Icons -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" /> <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" />
<!-- Roboto Font --> <!-- Roboto Font -->
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'> <link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
<!-- Umami Analytics -->
<script async src="https://analytics.d3vyce.fr/script.js" data-website-id="4c83df85-5566-4647-ba67-b3724890baca"></script>
</head> </head>
<body> <body>
<!-- Home --> <!-- Home -->
@ -46,7 +50,7 @@
</div> </div>
<div class="row head-row justify-content-center"> <div class="row head-row justify-content-center">
<div class="col-12 mouse_scroll p-0"> <div class="col-12 mouse_scroll p-0">
<a href="#about"> <a class="anchor" href="#about">
<div class="mouse"> <div class="mouse">
<div class="wheel"></div> <div class="wheel"></div>
</div> </div>
@ -71,9 +75,21 @@
</div> </div>
<div class="col-lg-8 mt-4"> <div class="col-lg-8 mt-4">
<blockquote> <blockquote>
<p class="text-white-65 mb-5">Hi, I'm Nicolas S aka d3vyce. I am a network and cybersecurity engineer living in France. I've always been passionate about computer science and technology, and over the years I've developed my skills in various fields such as programming, cybersecurity, infrastructure, networks, ... In addition to my master degree in networks and security, I love CTF and I have a homelab at home to continue my learning and experiment new things.</p> <!-- Desktop/Tablet -->
<footer class="blockquote-footer"><cite>d3vyce - Nicolas. S</cite></footer> <div class="d-none d-sm-block">
<p class="text-white-65 mb-5">Hi, I'm Nicolas S aka d3vyce. I am a network and cybersecurity engineer living in France. I've always been passionate about computer science and technology, and over the years I've developed my skills in various fields such as programming, cybersecurity, infrastructure, networks, ... In addition to my master degree in networks and security, I love CTF and I have a homelab at home to continue my learning and experiment new things.</p>
<footer class="blockquote-footer"><cite>d3vyce - Nicolas. S</cite></footer>
</div>
<!-- Smartphone -->
<div class="d-sm-none">
<p class="text-white-65">Hi, I'm Nicolas S aka d3vyce. I am a network and cybersecurity engineer living in France. <a class="text-accent" data-bs-toggle="collapse" href="#bio-collapse" role="button" aria-expanded="false" aria-controls="bio-collapse">Read more...</a></p>
<div class="collapse" id="bio-collapse">
<p class="text-white-65">I've always been passionate about computer science and technology, and over the years I've developed my skills in various fields such as programming, cybersecurity, infrastructure, networks, ... In addition to my master degree in networks and security, I love CTF and I have a homelab at home to continue my learning and experiment new things.</p>
</div>
<footer class="blockquote-footer mt-2"><cite>d3vyce - Nicolas. S</cite></footer>
</div>
</blockquote> </blockquote>
</div> </div>
</div> </div>
</div> </div>
@ -81,7 +97,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-lg-6"> <div class="col-lg-6">
<hr class="divider" /> <hr class="divider" />
<ul class="timeline-with-icons text-white mt-5"> <ul class="timeline-with-icons text-white mt-5 reveal fade">
<li class="timeline-item mb-5"> <li class="timeline-item mb-5">
<span class="timeline-icon"> <span class="timeline-icon">
<i class="bi-code-slash text-accent fs-5"></i> <i class="bi-code-slash text-accent fs-5"></i>
@ -139,10 +155,9 @@
<h2 class="text-white text-center mt-0">Skills</h2> <h2 class="text-white text-center mt-0">Skills</h2>
<hr class="divider divider-light mb-0" /> <hr class="divider divider-light mb-0" />
<div class="text-white row px-8 px-lg-12 justify-content-around"> <div class="text-white row px-8 px-lg-12 justify-content-around">
<div class="mt-5 col-lg-3 col-md-12 text-center"> <div class="mt-5 col-lg-3 col-md-12 text-center reveal fade">
<div class="mb-2"><i class="text-accent bi-code-slash fs-1"></i></div> <div class="mb-2"><i class="text-accent bi-code-slash fs-1"></i></div>
<h3 class="text-white h4 mb-3">Programming</h3> <h3 class="text-white h4 mb-3">Programming</h3>
<p class="text-white-65 mt-0">Hi, I'm Nicolas S aka d3vyce. I am a network and cybersecurity engineer living in France. I've always been passionate about computer science and technology, and over the years I've developed my skills in various fields such as programming, cybersecurity, infrastructure, networks, ...</p>
<p class="mt-4"> <p class="mt-4">
<span class="badge bg-dark-3">C</span> <span class="badge bg-dark-3">C</span>
<span class="badge bg-dark-3">C#</span> <span class="badge bg-dark-3">C#</span>
@ -153,12 +168,15 @@
<span class="badge bg-dark-3">PHP</span> <span class="badge bg-dark-3">PHP</span>
<span class="badge bg-dark-3">JS</span> <span class="badge bg-dark-3">JS</span>
<span class="badge bg-dark-3">MySQL</span> <span class="badge bg-dark-3">MySQL</span>
<span class="badge bg-dark-3">Ansible</span>
<span class="badge bg-dark-3">Git</span>
<span class="badge bg-dark-3">Elastic</span>
<span class="badge bg-dark-3">CI/CD</span>
</p> </p>
</div> </div>
<div class="mt-5 col-lg-3 col-md-12 text-center"> <div class="mt-5 col-lg-3 col-md-12 text-center reveal fade">
<div class="mb-2"><i class="text-accent bi-shield-lock fs-1"></i></div> <div class="mb-2"><i class="text-accent bi-shield-lock fs-1"></i></div>
<h3 class="text-white h4 mb-3">Cybersecurity</h3> <h3 class="text-white h4 mb-3">Cybersecurity</h3>
<p class="text-white-65 mt-0">Hi, I'm Nicolas S aka d3vyce. I am a network and cybersecurity engineer living in France. I've always been passionate about computer science and technology, and over the years I've developed my skills in various fields such as programming, cybersecurity, infrastructure, networks, ...</p>
<p class="mt-4"> <p class="mt-4">
<span class="badge bg-dark-3">Kali</span> <span class="badge bg-dark-3">Kali</span>
<span class="badge bg-dark-3">OWASP</span> <span class="badge bg-dark-3">OWASP</span>
@ -166,37 +184,43 @@
<span class="badge bg-dark-3">Metasploit</span> <span class="badge bg-dark-3">Metasploit</span>
<span class="badge bg-dark-3">Hydra</span> <span class="badge bg-dark-3">Hydra</span>
<span class="badge bg-dark-3">Hashcat</span> <span class="badge bg-dark-3">Hashcat</span>
<span class="badge bg-dark-3">John</span>
<span class="badge bg-dark-3">Burp</span>
</p> </p>
</div> </div>
<div class="mt-5 col-lg-3 col-md-12 text-center"> <div class="mt-5 col-lg-3 col-md-12 text-center reveal fade">
<div class="mb-2"><i class="text-accent bi-hdd-network fs-1"></i></div> <div class="mb-2"><i class="text-accent bi-hdd-network fs-1"></i></div>
<h3 class="text-white h4 mb-3">Networking</h3> <h3 class="text-white h4 mb-3">Networking</h3>
<p class="text-white-65 mt-0">Hi, I'm Nicolas S aka d3vyce. I am a network and cybersecurity engineer living in France. I've always been passionate about computer science and technology, and over the years I've developed my skills in various fields such as programming, cybersecurity, infrastructure, networks, ...</p>
<p class="mt-4"> <p class="mt-4">
<span class="badge bg-dark-3">Wireguard</span> <span class="badge bg-dark-3">Wireguard</span>
<span class="badge bg-dark-3">IPSec</span>
<span class="badge bg-dark-3">MPLS</span> <span class="badge bg-dark-3">MPLS</span>
<span class="badge bg-dark-3">BGP</span> <span class="badge bg-dark-3">BGP</span>
<span class="badge bg-dark-3">Firewall</span> <span class="badge bg-dark-3">Firewall</span>
<span class="badge bg-dark-3">OPNsense</span> <span class="badge bg-dark-3">OPNsense</span>
<span class="badge bg-dark-3">WDM</span> <span class="badge bg-dark-3">WDM</span>
<span class="badge bg-dark-3">Docker</span>
<span class="badge bg-dark-3">Kubernetes</span>
<span class="badge bg-dark-3">KVM</span>
<span class="badge bg-dark-3">IPtable</span>
</p> </p>
</div> </div>
</div> </div>
<hr class="divider mt-5" /> <hr class="divider mt-5" />
<div class="text-white row px-8 px-lg-12 justify-content-evenly"> <div class="text-white row px-8 px-lg-12 justify-content-around">
<div class="mt-5 col-lg-3 col-md-12 text-center"> <div class="mt-5 col-lg-3 col-md-12 text-center reveal fade">
<div class="mb-2"><i class="text-accent bi-award fs-1"></i></div> <div class="mb-2"><i class="text-accent bi-award fs-1"></i></div>
<h3 class="text-white h4 mb-3">Certification</h3> <h3 class="text-white h4 mb-3">Certification</h3>
<div class="text-white-65"> <div class="text-white-65">
<p><a href="assets/doc/Jr-penetration-tester.pdf" target="_blank" rel="noopener noreferrer">Jr Penetration Tester (THM) 🔗</a></p> <p>Jr Penetration Tester (THM)</p>
<p><a href="assets/doc/Offensive-Pentesting.pdf" target="_blank" rel="noopener noreferrer">Offensive Pentesting (THM) 🔗</a></p> <p>Offensive Pentesting (THM)</p>
<p><a href="assets/doc/Junos.pdf" target="_blank" rel="noopener noreferrer">JNCIA Junos 🔗</a></p> <p>JNCIA Junos</p>
<p>CCNAv7, CCNA R&S</p> <p>CCNAv7, CCNA R&S</p>
</div> </div>
</div> </div>
<div class="mt-5 col-lg-3 col-md-12 text-center"> <div class="mt-5 col-lg-3 col-md-12 text-center reveal fade">
<div class="mb-2"><i class="text-accent bi-lightbulb fs-1"></i></div> <div class="mb-2"><i class="text-accent bi-lightbulb fs-1"></i></div>
<h3 class="text-white h4 mb-3">Challenge</h3> <h3 class="text-white h4 mb-3">CTF Challenge/Event</h3>
<div class="text-white-65"> <div class="text-white-65">
<p>leHACK 2022 - Paris</p> <p>leHACK 2022 - Paris</p>
<p>404 CTF 2022 - Online</p> <p>404 CTF 2022 - Online</p>
@ -204,17 +228,18 @@
<p>TRACS CTF 2021 (Team Get-Pwned) - CentraleSupélec</p> <p>TRACS CTF 2021 (Team Get-Pwned) - CentraleSupélec</p>
</div> </div>
</div> </div>
</div> <div class="mt-5 col-lg-3 col-md-12 text-center reveal fade">
<div class="text-white row px-8 px-lg-10 mt-4 justify-content-center"> <div class="mb-2"><i class="text-accent bi-clipboard-check fs-1"></i></div>
<div class="col-xl-3 col-lg-4 col-sm-9 col-xs-12 mt-2 text-center"> <h3 class="text-white h4 mb-3">CTF Training</h3>
<a href="https://tryhackme.com/p/d3vyce" target="_blank" rel="noopener noreferrer"> <div class="text-white-65">
<img src="https://tryhackme-badges.s3.amazonaws.com/d3vyce.png" alt="TryHackMe" style="width:100%"> <a href="https://tryhackme.com/p/d3vyce" target="_blank" rel="noopener noreferrer">
</a> <img src="https://tryhackme-badges.s3.amazonaws.com/d3vyce.png" alt="TryHackMe" style="width:100%">
</div> </a>
<div class="col-xl-3 col-lg-4 col-sm-9 col-xs-12 mt-2 text-center"> <p></p>
<a href="https://app.hackthebox.com/profile/922368" target="_blank" rel="noopener noreferrer"> <a href="https://app.hackthebox.com/profile/922368" target="_blank" rel="noopener noreferrer">
<img src="https://www.hackthebox.com/badge/image/922368" alt="HackTheBox" style="width:100%"> <img src="https://www.hackthebox.com/badge/image/922368" alt="HackTheBox" style="width:100%">
</a> </a>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -237,10 +262,10 @@
<div class="col project-text"> <div class="col project-text">
<h2 class="text-white font-weight-bold">d3vyce.fr</h2> <h2 class="text-white font-weight-bold">d3vyce.fr</h2>
<p class="project-icon"> <p class="project-icon">
<span class="badge bg-dark-1">CSS3</span> <span class="badge bg-dark-2">CSS3</span>
<span class="badge bg-dark-1">HTML5</span> <span class="badge bg-dark-2">HTML5</span>
<span class="badge bg-dark-1">JS</span> <span class="badge bg-dark-2">JS</span>
<span class="badge bg-dark-1">Bootstrap</span> <span class="badge bg-dark-2">Bootstrap</span>
</p> </p>
</div> </div>
</div> </div>
@ -255,8 +280,8 @@
<div class="col project-text"> <div class="col project-text">
<h2 class="text-white font-weight-bold">Python Game</h2> <h2 class="text-white font-weight-bold">Python Game</h2>
<p class="project-icon"> <p class="project-icon">
<span class="badge bg-dark-1">Python</span> <span class="badge bg-dark-2">Python</span>
<span class="badge bg-dark-1">PyGame</span> <span class="badge bg-dark-2">PyGame</span>
</p> </p>
</div> </div>
</div> </div>
@ -273,9 +298,9 @@
<div class="col project-text"> <div class="col project-text">
<h2 class="text-white font-weight-bold">Writeup CTF</h2> <h2 class="text-white font-weight-bold">Writeup CTF</h2>
<p class="project-icon"> <p class="project-icon">
<span class="badge bg-dark-1">Kali</span> <span class="badge bg-dark-2">Kali</span>
<span class="badge bg-dark-1">THM</span> <span class="badge bg-dark-2">THM</span>
<span class="badge bg-dark-1">HTB</span> <span class="badge bg-dark-2">HTB</span>
</p> </p>
</div> </div>
</div> </div>
@ -290,9 +315,9 @@
<div class="col project-text"> <div class="col project-text">
<h2 class="text-white font-weight-bold">Homelab</h2> <h2 class="text-white font-weight-bold">Homelab</h2>
<p class="project-icon"> <p class="project-icon">
<span class="badge bg-dark-1">Unraid</span> <span class="badge bg-dark-2">Unraid</span>
<span class="badge bg-dark-1">OPNsense</span> <span class="badge bg-dark-2">OPNsense</span>
<span class="badge bg-dark-1">Wireguard</span> <span class="badge bg-dark-2">Wireguard</span>
</p> </p>
</div> </div>
</div> </div>
@ -310,7 +335,7 @@
<a href="https://github.com/d3vyce" target="_blank" rel="noopener noreferrer"><i class="fa test fa-github fa-lg"></i></a> <a href="https://github.com/d3vyce" target="_blank" rel="noopener noreferrer"><i class="fa test fa-github fa-lg"></i></a>
<a href="https://www.d3vyce.fr" target="_blank" rel="noopener noreferrer"><i class="fa test fa-bookmark fa-lg"></i></a> <a href="https://www.d3vyce.fr" target="_blank" rel="noopener noreferrer"><i class="fa test fa-bookmark fa-lg"></i></a>
</div> </div>
<div class="small text-center text-muted">d3vyce 2022 &copy; All rights reserved</div> <div class="small text-center text-muted">d3vyce 2024 &copy; All rights reserved</div>
<div class="small text-center text-muted"><a href="#home">Home</a><a href="#about">About</a><a href="#skills">Skills</a><a href="#projects">Projects</a></div> <div class="small text-center text-muted"><a href="#home">Home</a><a href="#about">About</a><a href="#skills">Skills</a><a href="#projects">Projects</a></div>
</div> </div>
</footer> </footer>
@ -357,7 +382,7 @@
<span class="carousel-control-next-icon"></span> <span class="carousel-control-next-icon"></span>
</a> </a>
</div> </div>
<p class="mb-4 text-white-65">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.</p> <p class="m-4 text-white-65">Development of my personal website in addition to my Blog. The goal was to gather in one place a showcase of my skills, my trainings/certifications and my current and past projects. For this site I used Bootstrap 5 to see what was possible with this library.</p>
<a class="btn mod btn-outline-light btn-lg mb-4" href="https://github.com/d3vyce/d3vyce.fr" target="_blank" rel="noopener noreferrer"><span>Source Code</span></a> <a class="btn mod btn-outline-light btn-lg mb-4" href="https://github.com/d3vyce/d3vyce.fr" target="_blank" rel="noopener noreferrer"><span>Source Code</span></a>
<p class="mb-0"> <p class="mb-0">
<span class="badge bg-dark-3">CSS3</span> <span class="badge bg-dark-3">CSS3</span>
@ -406,11 +431,12 @@
<span class="carousel-control-next-icon"></span> <span class="carousel-control-next-icon"></span>
</a> </a>
</div> </div>
<p class="mb-4 text-white-65">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.</p> <p class="m-4 text-white-65">The development of game in python is one of my current project. The goal is to become more comfortable with this programming language and to discover new libraries. Following the game Snake, I have for objective to make an adaptation of Chess with an AI as opponent.</p>
<a class="btn mod btn-outline-light btn-lg mb-4" href="https://github.com/d3vyce/Python-Game" target="_blank" rel="noopener noreferrer"><span>Source Code</span></a> <a class="btn mod btn-outline-light btn-lg mb-4" href="https://github.com/d3vyce/Python-Game" target="_blank" rel="noopener noreferrer"><span>Source Code</span></a>
<p class="mb-0"> <p class="mb-0">
<span class="badge bg-dark-3">Python</span> <span class="badge bg-dark-3">Python</span>
<span class="badge bg-dark-3">PyGame</span> <span class="badge bg-dark-3">PyGame</span>
<span class="badge bg-dark-3">Numpy</span>
</p> </p>
</div> </div>
</div> </div>
@ -457,7 +483,7 @@
<span class="carousel-control-next-icon"></span> <span class="carousel-control-next-icon"></span>
</a> </a>
</div> </div>
<p class="mb-4 text-white-65">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.</p> <p class="m-4 text-white-65">Since I started doing CTFs, I've had the desire to do Writeups. In addition to sharing the process and the reflexion I had after these challenges, the goal is to keep a history. It allows me to find situations that I have already solved and then get inspired to solve new challenges.</p>
<a class="btn mod btn-outline-light btn-lg mb-4" href="https://blog.d3vyce.fr/tag/writeup/" target="_blank" rel="noopener noreferrer"><span>Read more</span></a> <a class="btn mod btn-outline-light btn-lg mb-4" href="https://blog.d3vyce.fr/tag/writeup/" target="_blank" rel="noopener noreferrer"><span>Read more</span></a>
<p class="mb-0"> <p class="mb-0">
<span class="badge bg-dark-3">Kali</span> <span class="badge bg-dark-3">Kali</span>
@ -513,7 +539,7 @@
<span class="carousel-control-next-icon"></span> <span class="carousel-control-next-icon"></span>
</a> </a>
</div> </div>
<p class="mb-4 text-white-65">Initially, my goal was to create a media server accessible from anywhere with Plex. That was the initial objective, but you will see that today my homelab is much more extensive than that. I have over 20 selfhosted services ranging from password manager, web hosting, game server, etc.</p> <p class="m-4 text-white-65">Initially, my goal was to create a media server accessible from anywhere with Plex. That was the initial objective, but you will see that today my homelab is much more extensive than that. I have over 20 selfhosted services ranging from password manager, web hosting, game server, etc.</p>
<a class="btn mod btn-outline-light btn-lg mb-4" href="https://blog.d3vyce.fr/my-current-homelab/" target="_blank" rel="noopener noreferrer"><span>Read more</span></a> <a class="btn mod btn-outline-light btn-lg mb-4" href="https://blog.d3vyce.fr/my-current-homelab/" target="_blank" rel="noopener noreferrer"><span>Read more</span></a>
<p class="mb-0"> <p class="mb-0">
<span class="badge bg-dark-3">Unraid</span> <span class="badge bg-dark-3">Unraid</span>
@ -534,7 +560,6 @@
</div> </div>
<!-- Boostrap JS --> <!-- Boostrap JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r121/three.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r121/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
<script src="js/script.js"></script> <script src="js/script.js"></script>
@ -556,4 +581,4 @@
}) })
</script> </script>
</body> </body>
</html> </html>

View File

@ -1,7 +1,19 @@
//Init //Init
$(document).ready(function(){ function reveal() {
init(); var reveals = document.querySelectorAll(".reveal");
});
for (var i = 0; i < reveals.length; i++) {
var windowHeight = window.innerHeight;
var elementTop = reveals[i].getBoundingClientRect().top;
var elementVisible = 150;
if (elementTop < windowHeight - elementVisible) {
reveals[i].classList.add("active");
}
}
}
window.addEventListener("scroll", reveal);
function init(){ function init(){
//Auto margin calculator //Auto margin calculator
@ -49,4 +61,7 @@
$(window).scroll(function () { $(window).scroll(function () {
$(this).scrollTop() > 50 ? $('#scroll').fadeOut() : $('#scroll').fadeIn() $(this).scrollTop() > 50 ? $('#scroll').fadeOut() : $('#scroll').fadeIn()
}); });
} }

32
html/manifest.json Normal file
View File

@ -0,0 +1,32 @@
{
"theme_color": "#D87E27",
"background_color": "#041C32",
"display": "browser",
"scope": "/",
"start_url": "/",
"name": "d3vyce.fr",
"short_name": "d3vyce",
"description": "d3vyce personal website",
"icons": [
{
"src": "/assets/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/assets/icon-256x256.png",
"sizes": "256x256",
"type": "image/png"
},
{
"src": "/assets/icon-384x384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "/assets/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}

113
html/social.html Normal file
View File

@ -0,0 +1,113 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="d3vyce.fr Site" />
<meta name="author" content="d3vyce - Nicolas Sudres" />
<title>Social • d3vyce.fr</title>
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/social.css">
<link rel="stylesheet" href="css/reset.css">
<link href="https://fonts.googleapis.com/css?family=Roboto" rel='stylesheet' type='text/css'>
<!-- Umami Analytics -->
<script async src="https://analytics.d3vyce.fr/script.js" data-website-id="4c83df85-5566-4647-ba67-b3724890baca"></script>
</head>
<body>
<header class="masthead" id="home">
<div class="container">
<div class="social">
<div class="profile-card">
<figure class="profile-card__img">
<img src="assets/img/profil.avif" alt="...">
</figure>
<div class="profile-card__desc">
<h1>d3vyce - Nicolas. S</h1>
<div>Developer / CTF Player</div>
<div style="display: flex; align-items: center; gap: 10px; justify-content: center;">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-map-pin" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<circle cx="12" cy="11" r="3"></circle>
<path d="M17.657 16.657l-4.243 4.243a2 2 0 0 1 -2.827 0l-4.244 -4.243a8 8 0 1 1 11.314 0z"></path>
</svg>
<span>Paris, France</span>
</div>
</div>
<div class="profile-card__social">
<a href="https://www.d3vyce.fr" class="site" target="_blank" rel="noopener noreferrer" data-umami-event="to_Site">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-world" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<circle cx="12" cy="12" r="9"></circle>
<line x1="3.6" y1="9" x2="20.4" y2="9"></line>
<line x1="3.6" y1="15" x2="20.4" y2="15"></line>
<path d="M11.5 3a17 17 0 0 0 0 18"></path>
<path d="M12.5 3a17 17 0 0 1 0 18"></path>
</svg>
</a>
<a href="https://blog.d3vyce.fr" class="blog" target="_blank" rel="noopener noreferrer" data-umami-event="to_Blog">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-article" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<rect x="3" y="4" width="18" height="16" rx="2"></rect>
<path d="M7 8h10"></path>
<path d="M7 12h10"></path>
<path d="M7 16h10"></path>
</svg>
</a>
<a href="https://github.com/d3vyce" class="github" target="_blank" rel="noopener noreferrer" data-umami-event="to_Github">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"></path>
</svg>
</a>
<a href="https://twitter.com/d3vyce" class="twitter" target="_blank" rel="noopener noreferrer" data-umami-event="to_Twitter">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-twitter" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z"></path>
</svg>
</a>
<a href="https://status.d3vyce.fr" class="status" target="_blank" rel="noopener noreferrer" data-umami-event="to_Status">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-network" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<circle cx="12" cy="9" r="6"></circle>
<path d="M12 3c1.333 .333 2 2.333 2 6s-.667 5.667 -2 6"></path>
<path d="M12 3c-1.333 .333 -2 2.333 -2 6s.667 5.667 2 6"></path>
<path d="M6 9h12"></path>
<path d="M3 19h7"></path>
<path d="M14 19h7"></path>
<circle cx="12" cy="19" r="2"></circle>
<path d="M12 15v2"></path>
</svg>
</a>
</div>
</div>
</div>
</div>
</header>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r121/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
<script>
VANTA.NET({
el: "#home",
mouseControls: false,
touchControls: false,
gyroControls: false,
minHeight: 200.00,
minWidth: 200.00,
scale: 1.00,
scaleMobile: 1.00,
points: 10.00,
maxDistance: 20.00,
spacing: 25.00,
color: 0xECB365,
backgroundColor: 0x041C32
})
</script>
</body>
</html>

View File

49
nginx.conf Normal file
View File

@ -0,0 +1,49 @@
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
server {
listen 80 default_server;
root /usr/share/nginx/html;
index index.html index.htm index.php;
server_name _;
client_max_body_size 0;
location / {
if ($request_uri ~ ^/(.*)\.html) {
return 302 /$1;
}
try_files $uri $uri.html $uri/ =404;
}
error_page 404 /404-error.html;
}
}

View File

@ -1,61 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="d3vyce.fr Site" />
<meta name="author" content="d3vyce - Nicolas Sudres" />
<title>Social • d3vyce.fr</title>
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Roboto" rel='stylesheet' type='text/css'>
</head>
<body>
<header class="masthead" id="home">
<div class="container h-100">
<div class="row head-row align-items-center h-100 justify-content-evenly text-center">
<div class="col-lg-12 col-xl-4">
<img src="assets/img/profil.png" class="rounded-circle img-fluid" alt="..." width="40%">
<h1 class="text-white font-weight-bold">d3vyce</h1>
<hr class="divider" />
<div class="d-grid gap-4 col-6 mx-auto">
<a class="btn btn-outline-light btn-lg" href="https://www.d3vyce.fr" target="_blank"><i class="fa fa-globe fa-lg"></i>&nbsp;&nbsp;&nbsp;&nbsp;Site</a>
<a class="btn btn-outline-light btn-lg" href="https://blog.d3vyce.fr" target="_blank"><i class="fa fa-bookmark fa-lg"></i>&nbsp;&nbsp;&nbsp;&nbsp;Blog</a>
<a class="btn btn-outline-light btn-lg" href="https://github.com/d3vyce" target="_blank"><i class="fa fa-github fa-lg"></i>&nbsp;&nbsp;&nbsp;&nbsp;Github</a>
<a class="btn btn-outline-light btn-lg" href="https://status.d3vyce.fr" target="_blank"><i class="fa fa-twitter fa-lg"></i>&nbsp;&nbsp;&nbsp;&nbsp;Twitter</a>
<a class="btn btn-outline-light btn-lg" href="https://status.d3vyce.fr" target="_blank"><i class="fa fa-wifi fa-lg"></i>&nbsp;&nbsp;&nbsp;&nbsp;Status</a>
</div>
</div>
</div>
</div>
</header>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r121/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
<script>
VANTA.NET({
el: "#home",
mouseControls: false,
touchControls: false,
gyroControls: false,
minHeight: 200.00,
minWidth: 200.00,
scale: 1.00,
scaleMobile: 1.00,
points: 10.00,
maxDistance: 20.00,
spacing: 25.00,
color: 0xECB365,
backgroundColor: 0x041C32
})
</script>
</body>
</html>