diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..fd82f4f
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,3 @@
+target/
+node_modules/
+Dockerfile
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..07cad43
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,43 @@
+# Get started with a build env with Rust nightly
+FROM docker.io/rustlang/rust:nightly-bullseye as builder
+
+# If you’re using stable, use this instead
+# FROM docker.io/rust:1.70-bullseye as builder
+
+# Install cargo-binstall, which makes it easier to install other
+# cargo extensions like cargo-leptos
+RUN wget https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-x86_64-unknown-linux-musl.tgz
+RUN tar -xvf cargo-binstall-x86_64-unknown-linux-musl.tgz
+RUN cp cargo-binstall /usr/local/cargo/bin
+
+# Install cargo-leptos
+RUN cargo binstall cargo-leptos -y
+
+# Add the WASM target
+RUN rustup target add wasm32-unknown-unknown
+
+# Make an /app dir, which everything will eventually live in
+RUN mkdir -p /app
+WORKDIR /app
+COPY . .
+
+# Build the app
+RUN cargo leptos build --release -vv
+
+FROM rustlang/rust:nightly-bullseye as runner
+# Copy the server binary to the /app directory
+COPY --from=builder /app/target/release/portfolio /app/
+# /target/site contains our JS/WASM/CSS, etc.
+COPY --from=builder /app/target/site /app/site
+# Copy Cargo.toml if it’s needed at runtime
+COPY --from=builder /app/Cargo.toml /app/
+WORKDIR /app
+
+# Set any required env variables and
+ENV RUST_LOG="info"
+ENV APP_ENVIRONMENT="production"
+ENV LEPTOS_SITE_ADDR="0.0.0.0:8080"
+ENV LEPTOS_SITE_ROOT="site"
+EXPOSE 8080
+# Run the server
+CMD ["/app/portfolio"]
\ No newline at end of file
diff --git a/src_old/App.scss b/src_old/App.scss
deleted file mode 100644
index 82e5123..0000000
--- a/src_old/App.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-#root {
- @apply m-0 p-0 bg-surface dark:bg-dark_surface text-on_surface dark:text-dark_on_surface;
-}
\ No newline at end of file
diff --git a/src_old/App.tsx b/src_old/App.tsx
deleted file mode 100644
index 7bc7d87..0000000
--- a/src_old/App.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import './App.scss'
-import TopComponent from "./components/TopComponent";
-import MonParcours from './components/MonParcours';
-
-function App() {
- return (
- <>
-
-
- >
- )
-}
-
-export default App
diff --git a/src_old/components/MonParcours.tsx b/src_old/components/MonParcours.tsx
deleted file mode 100644
index e539ce2..0000000
--- a/src_old/components/MonParcours.tsx
+++ /dev/null
@@ -1,422 +0,0 @@
-import react from 'react'
-import Timeline from './timeline/Timeline'
-import TimelineElement from './timeline/TimelineElement'
-import TimelineLabel from './timeline/TimelineLabel'
-import TimelineCard from './timeline/TimelineCard'
-import TimelineCardSummary from './timeline/TimelineCardSummary'
-import TimelineCardContent from './timeline/TimelineCardContent'
-import Tag from './Tag'
-import ProjectList from './project/ProjectList'
-import ProjectElement from './project/ProjectElement'
-import Link from './Link'
-
-// Lang
-const RUST_TAG =
-const JAVA_TAG =
-const CPP_TAG =
-
-// Other
-const REACT_TAG =
-const SYMFONY_4_TAG =
-const FLUTTER_TAG =
-const RUBY_ON_RAILS_TAG =
-const HOTWIRED_TAG =
-const DOCKER_TAG =
-const STEAM_TAG =
-const GITLAB_CI_TAG =
-const UNITY_TAG =
-const WORDPRESS_TAG =
-const CORDOVA_TAG =
-const ELECTRON_TAG =
-const LWJGL_TAG =
-const OPENGL_TAG =
-const VULKAN_TAG =
-const MIDI_TAG =
-const REQUIREJS_TAG =
-const WEBPACK_TAG =
-const VITE_TAG =
-const MAVEN_TAG =
-const GRADLE_TAG =
-const BABYLONJG_TAG =
-const ROCKET_RS_TAG =
-const ACTIX_WEB_TAG =
-
-
-function MonParcours() {
- return (
-
-
-
- 2019 - Aujourd’hui
-
-
- Développeur d’application Web, Mobile et Système (CDI)
-
-
-
Développement d’application Symfony, React, Flutter, Rust et Ruby on rails (6 et 7) pour des clients.
-
Je développe surtout des applications Flutter et Ruby on rails avec l’aide de Hotwired.
-
- Unova France
- 11 Septembre 2019 - Toujours en CDI
-
-
-
-
- Développement 3D (Perso)
-
-
-
Je développe un petit moteur 3D pour apprendre à utiliser Vulkan, mais aussi pour prendre en expérience en Rust
-
-
-
-
-
-
-
-
-
- Développement Web en Rust (Perso)
-
-
-
Je teste quelques technologies Web en Rust
-
-
-
-
-
-
-
-
-
- Développement d’un outil d’accès serveur sécurisé en Rust (Perso)
-
-
-
Le but du projet était de proposer un programme en tant que shell et de vérifier la connexion entrante avec un Service dédié.
-
L’ensemble des sessions étaient enregistrées pour permettre à n'importe qui de savoir ce qui s'est passé.
-
Les administrateurs pouvaient également gérer les connexions avec une ligne de commande.
-
- Le projet a été abandonné au profit de The Bastion
-
-
-
-
-
-
-
-
- 2018 - 2019
-
-
- Développeur Web et d’application 2D (CDI)
-
-
-
Développement du Site en Symfony 4 (Changement graphique, ajout de fonctionnalité)
-
Intégration du déploiement continue de la nouvelle application Limouzik refaite sous Unity 3D sur Steam
-
- Limouzik SAS
- 03 Septembre 2018 - 31 Juillet 2019 (Rupture pour raison économique)
-
-
-
-
- Global Game Jam édition 2019 (Concours)
-
-
-
Participation au Global Gam Jam édition 2019.
-
Le but du concours est de developper un Jeu en 48h à partir d’un thème donné au départ du concours.
-
- 3iL - Limoges
- 25 janvier - 27 janvier
- Thème : What home means to you
- Participants : Ezyrath, Fabien87, Flavien, MrDev023 (Moi), php4ever, spoutnik87
-
-
-
-
-
-
-
-
- 2017 - 2018
-
- License Dev. Web et du Big Data
-
-
Licence professionnelle en alternance de développeur d’application web et du Big Data (LP DWBD).
-
Utilisation de docker, Mysql, PHP avancé, Symfony 3 et 4, AngularJS, NodeJS, Cassandra, MongoDB, …
-
- IUT du Limousin à Limoges
-
-
-
-
- Développeur Web (Projet Tuteuré)
-
-
-
Développement du site sliz.me avec Symfony 4.
-
Ajout de QRCode sur l'ensemble des pages d'un fichier PDF pour que d'autres personnes puissent télécharger le PDF ou une page en question durant une conférence.
-
Il fallait également pouvoir générer des QrCode simple à scanner pour qu’un étudiant puisse le scanner à l’autre bout de l’amphi.
-
- Onegate
- Octobre 2017 - Février 2017
-
-
-
-
- Développeur Web et d’application 2D (Alternance)
-
-
-
Maintenance de la version du site en Wordpress + Refonte complète du site (Graphique et technique) avec Symfony 4.
-
-
Maintenance de la première version de l’application React ainsi que la migration des modules RequireJS vers Webpack pour fortement améliorer le temps de chargement
-
Pour permettre l’évolution future de l’application (Intégration avec d’autre boite de jeu VR + Gamification), l’application a dû être refaite de A à Z en C# avec le moteur 3D Unity.
-
Ajout de l’application Limouzik sur le Play Store (Android), AppStore (iOS) et sur Steam (PC) avec l’intégration de SteamAPI
-
- L’ensemble du travail a été effectué par mes soins
-
-
- Limouzik SAS
- 04 Septembre 2017 - 24 Aout 2018
-
-
-
-
- Global Game Jam édition 2017 (Concours)
-
-
-
Participation au Global Gam Jam édition 2017.
-
Le but du concours est de developper un Jeu en 48h à partir d’un thème donné au départ du concours.
Conception de programme en Java, C++, C, Android, PHP, NodeJS et l’utilisation de Mysql. Apprentissage des bases scientifiques dans l’informatique.
- IUT du Limousin à Limoges
-
-
-
-
- Développement d’application Web + Site (Stage + CDD)
-
-
-
Développement d’une application musicale en utilisant le protocole MIDI (+ Synthèse sonore).
-
La partie affichage a été développé avec React et RequireJS (Gestion de module).
-
Administration du Site en Wordpress avec les Plugins (Woocommerce et PaidMembership Pro) ainsi que le développement d’un plugin propriétaire pour l’intégration de l’application dans Wordpress
-
- Limouzik SAS
- 03 Avril 2017 - 30 Juin 2017 (Stage)
- 01 Juillet 2017 - 31 Juillet 2017 (CDD)
-
-
-
-
-
- Global Game Jam édition 2016 (Concours)
-
-
-
Participation au Global Gam Jam édition 2016.
-
Le but du concours est de developper un Jeu en 48h à partir d’un thème donné au départ du concours.
Passage du Bac sciences et technologies de l’industrie et du développement durable (STI2D).
-
Spécialité systèmes d’information et numérique (SIN).
-
- Lycée Jean Favard à Guéret
-
-
-
-
- Développement en Java (Perso)
-
-
-
Apprentissage dans un premier temps du langage avec le site du zéro et les quelques vidéos sur Youtube.
-
Ensuite, j'ai commencé à développer des projets Perso (Plugin Minecraft, Mod Minecraft) dans un premier temps.
-
Puis, j'ai commencé à développer des petits jeux de A à Z (Petit moteur de physique + graphique + audio) et à m'entrainer avec des amis pour participer à des concours comme le Ludum dare et la Global Game Jam.
Après avoir développé quelques trucs sur Minecraft. Je me suis interessé à son fonctionnement et j'ai découvert la librairie LWJGL utilisé dans Minecraft.
-
J'ai très vite voulu développer mes propres Mini-Jeux en OpenGL avec cette librairie.