This commit is contained in:
gpatruno
2026-04-20 01:03:21 +02:00
parent ba32064ae0
commit 20b1edad8e
5 changed files with 93 additions and 38 deletions
+9
View File
@@ -0,0 +1,9 @@
node_modules
dist
.git
.vscode
.idea
*.log
.env
.env.*
!.env.example
+20
View File
@@ -0,0 +1,20 @@
# syntax=docker/dockerfile:1
FROM node:22-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:1.27-alpine AS runner
COPY docker/nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
+6
View File
@@ -0,0 +1,6 @@
services:
web:
build: .
ports:
- "5173:80"
restart: unless-stopped
+20
View File
@@ -0,0 +1,20 @@
server {
listen 80;
listen [::]:80;
server_name localhost;
root /usr/share/nginx/html;
index index.html;
location = /index.html {
add_header Cache-Control "no-cache";
}
location / {
try_files $uri $uri/ /index.html;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|webp|woff2?)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}
+38 -38
View File
@@ -1,5 +1,38 @@
/** Cartes projet (page Projets) : titre, compétences, visuel, texte, lien externe. */
export const PROJETS = [
{
id: 'clipautocs2',
title: 'clipAutoCS2',
skills: ['Vidéo', 'YouTube'],
imageSrc: 'https://picsum.photos/seed/billeterie/640/360',
imageAlt: 'Aperçu du projet clipAutoCS2',
description:
'Création de clips highlight pro sur CS2.\nRécupération dun match e-sport et traitement des données.\nEnregistrement automatisé des meilleurs moments, montage vidéo, publication sur YouTube.\nProjet personnel — GitHub perso.',
link: 'https://github.com/Foufure13',
linkLabel: 'Profil GitHub',
},
{
id: 'cryptobot',
title: 'CryptoBot',
skills: ['API', 'Dashboard', 'Crypto', 'Trading'],
imageSrc: '/images/cryptobot-preview.png',
imageAlt: 'Aperçu du projet CryptoBot',
description:
'Outil complet de gestion de comptes crypto par API.\nSite web dashboard, sécurité compte / base de données.\nRécupération des flux marché (API), aide à la décision dinvestissement, trading sur portefeuille (API).\nDépôt GitHub privé.',
link: 'https://github.com/Foufure13',
linkLabel: 'Profil GitHub (dépôt privé)',
},
{
id: 'mecafollow',
title: 'mecaFollow',
skills: ['Web', 'Suivi', 'E-mail'],
imageSrc: '/images/mecafollow-preview.png',
imageAlt: 'Aperçu du projet mecaFollow',
description:
'Site web personnel ou professionnel : enregistrement et suivi dune voiture ou autre véhicule pour faciliter le suivi des entretiens (un ou plusieurs véhicules).\nNotifications par e-mail lorsquune intervention est nécessaire.\nProjet personnel et professionnel — GitHub sécurisé.',
link: 'https://github.com/Foufure13',
linkLabel: 'Profil GitHub (dépôt sécurisé)',
},
{
id: 'androidpayload',
title: 'androidpayload',
@@ -47,7 +80,7 @@ export const PROJETS = [
{
id: 'twitch-bot-interactif',
title: 'Twitch Bot Interactif',
skills: ['Twitch', 'API', 'STT', 'Bot'],
skills: ['Twitch', 'API', 'Bot'],
imageSrc: '/images/twitch-bot-preview.png',
imageAlt: 'Aperçu du bot Twitch',
description:
@@ -69,7 +102,7 @@ export const PROJETS = [
{
id: 'realmaster',
title: 'RealMaster',
skills: ['Web', 'Social', 'Stats'],
skills: ['Web', 'Stats'],
imageSrc: 'https://picsum.photos/seed/lkfindpost/640/360',
imageAlt: 'Aperçu du projet RealMaster',
description:
@@ -91,7 +124,7 @@ export const PROJETS = [
{
id: 'airsoft-vitrine',
title: 'Airsoft vitrine',
skills: ['Web', 'Association', 'Vitrine'],
skills: ['Association', 'Vitrine'],
imageSrc: '/images/airsoft-vitrine-preview.png',
imageAlt: 'Aperçu du site Airsoft',
description:
@@ -99,21 +132,10 @@ export const PROJETS = [
link: 'https://github.com/Foufure13/Airsoft',
linkLabel: 'Airsoft sur GitHub',
},
{
id: 'cryptobot',
title: 'CryptoBot',
skills: ['API', 'Dashboard', 'Crypto', 'Trading'],
imageSrc: '/images/cryptobot-preview.png',
imageAlt: 'Aperçu du projet CryptoBot',
description:
'Outil complet de gestion de comptes crypto par API.\nSite web dashboard, sécurité compte / base de données.\nRécupération des flux marché (API), aide à la décision dinvestissement, trading sur portefeuille (API).\nDépôt GitHub privé.',
link: 'https://github.com/Foufure13',
linkLabel: 'Profil GitHub (dépôt privé)',
},
{
id: 'bot-instagram',
title: 'Bot autonome Instagram',
skills: ['Social', 'IA', 'API', 'Génération'],
skills: ['IA', 'API', 'Génération'],
imageSrc: 'https://www.thispersondoesnotexist.com',
imageAlt: 'Aperçu du bot Instagram',
description:
@@ -124,7 +146,7 @@ export const PROJETS = [
{
id: 'site-partage-info',
title: 'Site web de partage dinformation',
skills: ['Web', 'Forum', 'Light'],
skills: ['Forum', 'Light'],
imageSrc: '/images/site-partage-preview.png',
imageAlt: 'Aperçu du site de partage',
description:
@@ -132,28 +154,6 @@ export const PROJETS = [
link: 'https://github.com/Foufure13',
linkLabel: 'Profil GitHub (dépôt privé)',
},
{
id: 'mecafollow',
title: 'mecaFollow',
skills: ['Web', 'Suivi', 'E-mail'],
imageSrc: '/images/mecafollow-preview.png',
imageAlt: 'Aperçu du projet mecaFollow',
description:
'Site web personnel ou professionnel : enregistrement et suivi dune voiture ou autre véhicule pour faciliter le suivi des entretiens (un ou plusieurs véhicules).\nNotifications par e-mail lorsquune intervention est nécessaire.\nProjet personnel et professionnel — GitHub sécurisé.',
link: 'https://github.com/Foufure13',
linkLabel: 'Profil GitHub (dépôt sécurisé)',
},
{
id: 'clipautocs2',
title: 'clipAutoCS2',
skills: ['Vidéo', 'YouTube'],
imageSrc: 'https://picsum.photos/seed/billeterie/640/360',
imageAlt: 'Aperçu du projet clipAutoCS2',
description:
'Création de clips highlight pro sur CS2.\nRécupération dun match e-sport et traitement des données.\nEnregistrement automatisé des meilleurs moments, montage vidéo, publication sur YouTube.\nProjet personnel — GitHub perso.',
link: 'https://github.com/Foufure13',
linkLabel: 'Profil GitHub',
},
{
id: 'wiki-documentation',
title: 'Wiki Documentation',