mirror of
https://github.com/Floriansylvain/compact-portfolio.git
synced 2026-08-19 19:53:24 +02:00
277 lines
11 KiB
HTML
277 lines
11 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="description"
|
|
content="Portfolio de Florian Sylvain, développeur web fullstack. Démonstration de design sobre, moderne et réactif." />
|
|
<link rel="icon" type="image/webp" href="/favicon.webp" />
|
|
<link rel="canonical" href="https://floriansylvain.fr/" />
|
|
<meta name="theme-color" content="#0e120e" />
|
|
<title>Portfolio Florian Sylvain - Développeur web fullstack</title>
|
|
|
|
<link rel="stylesheet" href="style.css">
|
|
|
|
<noscript>
|
|
<style>
|
|
.reveal {
|
|
opacity: 1 !important;
|
|
transform: none !important;
|
|
}
|
|
|
|
@media (max-width: 760px) {
|
|
.site-nav {
|
|
position: static !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
background: transparent !important;
|
|
border: none !important;
|
|
padding: 0 !important;
|
|
box-shadow: none !important;
|
|
gap: 0 !important;
|
|
}
|
|
|
|
.menu-toggle {
|
|
display: none !important;
|
|
}
|
|
|
|
.site-header {
|
|
height: auto !important;
|
|
padding: 16px 0 !important;
|
|
}
|
|
|
|
.site-header .inner {
|
|
flex-direction: column !important;
|
|
gap: 16px !important;
|
|
}
|
|
}
|
|
</style>
|
|
</noscript>
|
|
</head>
|
|
|
|
<body id="top">
|
|
<header class="site-header">
|
|
<div class="container inner">
|
|
<a class="brand" href="#top" aria-label="Accueil">
|
|
<span class="logo">FS</span>
|
|
<span>Florian Sylvain</span>
|
|
</a>
|
|
<nav class="site-nav" id="primaryNav" aria-label="Navigation principale">
|
|
<a href="#about">À propos</a>
|
|
<a href="#skills">Compétences</a>
|
|
<a href="#experience">Expérience</a>
|
|
<a href="#projects">Projets</a>
|
|
<a href="#contact">Contact</a>
|
|
</nav>
|
|
<button class="menu-toggle" id="menuToggle" aria-controls="primaryNav" aria-expanded="false" type="button">
|
|
<span class="bars"><span></span></span>
|
|
Menu
|
|
</button>
|
|
</div>
|
|
</header>
|
|
|
|
<main class="container">
|
|
<aside class="banner reveal" role="note" aria-label="Annonce d'emploi urgente">
|
|
<span class="badge-urgent">Urgent</span>
|
|
<span>À la recherche d'opportunités <strong>CDI, CDD, Freelance </strong>en développement
|
|
<strong>Back</strong>, <strong>Front</strong>, <strong>DevOps</strong>, etc.</span>
|
|
<a class="btn primary" href="#contact">↓</a>
|
|
</aside>
|
|
|
|
<section id="about" class="hero reveal" aria-labelledby="hero-title">
|
|
<div class="hero-card">
|
|
<p class="eyebrow">Développeur web fullstack</p>
|
|
<h1 id="hero-title">Je conçois, développe et déploie des applications web performantes et maintenables.</h1>
|
|
<p>
|
|
Diplômé d'un Bachelor Développeur Web à l'ESD Paris, autoentrepreneur et passionné d'informatique.
|
|
Actuellement à l'écoute de nouvelles opportunités.
|
|
</p>
|
|
<div class="cta">
|
|
<a class="btn primary" href="#projects">Voir mes projets</a>
|
|
<a class="btn" href="#contact">Me contacter</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="skills" class="card reveal">
|
|
<h2>Compétences et qualifications</h2>
|
|
<p class="lead">J'aime les outils simples et le code clair.</p>
|
|
<div class="skill-groups">
|
|
<div class="group">
|
|
<h3>Backend</h3>
|
|
<div class="tags">
|
|
<span class="tag">PHP</span><span class="tag">Symfony</span><span class="tag">Doctrine</span>
|
|
<span class="tag">Node</span><span class="tag">Fastify</span><span class="tag">Prisma</span>
|
|
<span class="tag">Jest</span><span class="tag">Go</span>
|
|
<span class="tag">Java</span><span class="tag">C#</span><span class="tag">C++</span>
|
|
</div>
|
|
</div>
|
|
<div class="group">
|
|
<h3>Frontend</h3>
|
|
<div class="tags">
|
|
<span class="tag">Vue</span>
|
|
<span class="tag">Nuxt</span>
|
|
<span class="tag">React</span>
|
|
<span class="tag">Next</span>
|
|
<span class="tag">TypeScript</span>
|
|
<span class="tag">HTML</span>
|
|
<span class="tag">CSS</span>
|
|
<span class="tag">Tailwind</span>
|
|
</div>
|
|
</div>
|
|
<div class="group">
|
|
<h3>Mobile</h3>
|
|
<div class="tags">
|
|
<span class="tag">Flutter</span>
|
|
<span class="tag">Kotlin</span>
|
|
<span class="tag">React Native</span>
|
|
</div>
|
|
</div>
|
|
<div class="group">
|
|
<h3>Base de données</h3>
|
|
<div class="tags">
|
|
<span class="tag">MySQL</span>
|
|
<span class="tag">PostgreSQL</span>
|
|
<span class="tag">SQLite</span>
|
|
<span class="tag">Supabase</span>
|
|
<span class="tag">Firebase</span>
|
|
</div>
|
|
</div>
|
|
<div class="group">
|
|
<h3>DevOps</h3>
|
|
<div class="tags">
|
|
<span class="tag">Docker</span>
|
|
<span class="tag">Nginx</span>
|
|
<span class="tag">Debian</span>
|
|
<span class="tag">CI/CD</span>
|
|
<span class="tag">GitHub Actions</span>
|
|
<span class="tag">Jenkins</span>
|
|
<span class="tag">Dockploy</span>
|
|
<span class="tag">Coolify</span>
|
|
<span class="tag">GCP</span>
|
|
<span class="tag">AWS</span>
|
|
</div>
|
|
</div>
|
|
<div class="group">
|
|
<h3>Pratiques</h3>
|
|
<div class="tags"><span class="tag">DDD</span><span class="tag">Tests</span><span class="tag">Agile</span>
|
|
<span class="tag">Anglais C1</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="education" class="card reveal">
|
|
<h2>Diplômes obtenus</h2>
|
|
<div class="timeline">
|
|
<div class="t-item revealed">
|
|
<div class="t-role">Bachelor Développeur Web — <em>ESD Paris</em></div>
|
|
<div class="t-meta">2022 - 2024 • Bac +3 / RNCP 6</div>
|
|
</div>
|
|
<div class="t-item revealed">
|
|
<div class="t-role">DUT Informatique — <em>Université Gustave Eiffel</em></div>
|
|
<div class="t-meta">2020 - 2022 • Bac +2</div>
|
|
</div>
|
|
<div class="t-item revealed">
|
|
<div class="t-role">Baccalauréat STI2D <i>(mention bien) </i> — <em> Lycée René Cassin</em></div>
|
|
<div class="t-meta">2017 - 2020</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="experience" class="card reveal">
|
|
<h2>Expériences professionnelles</h2>
|
|
<div class="timeline">
|
|
<div class="t-item">
|
|
<div class="t-role">CDI — Développeur Web Fullstack</div>
|
|
<div class="t-org">Entreprise : Dollen • Période : Nov. 2024 - En cours</div>
|
|
<ul class="t-bullets">
|
|
<li>Conception logiciel (diagrammes de classes <strong>UML</strong>).</li>
|
|
<li>Back-office: PHP 8.4, Symfony 7.3, Doctrine, Twig, Stimulus, PHPUnit, DDD.</li>
|
|
<li>CI/CD et déploiement: Docker, Debian, Nginx, GitHub Actions.</li>
|
|
<li>Migrations: SQLite, PostgreSQL, MariaDB.</li>
|
|
<li>Peer review et gestion agile (Trello, GitHub Projects).</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="t-item">
|
|
<div class="t-role">Apprenti — Développeur Fullstack</div>
|
|
<div class="t-org">Entreprise : <a href="https://lecadeaupresent.com">Présent </a> • Avr. 2023 - Sep. 2024
|
|
</div>
|
|
<ul class="t-bullets">
|
|
<li>Apps mobiles: Kotlin (interne), Flutter (B2C).</li>
|
|
<li>API REST monolithique: TypeScript, Fastify, Prisma, Jest, MySQL, Docker, GCP, DDD.</li>
|
|
<li>SPA desktop/mobile: React, TypeScript, Zustand, Chakra UI.</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="t-item">
|
|
<div class="t-role">Apprenti — Développeur R&D</div>
|
|
<div class="t-org">Entreprise : <a href="https://wattearth.com">WATT Earth</a> • Oct. 2021 - Sept. 2022</div>
|
|
<ul class="t-bullets">
|
|
<li>Fonctionnalités cœur produit: VueJS, TS, PHP, Python, MySQL, Warp10, Grafana.</li>
|
|
<li>Maquettage et conception UI (Figma).</li>
|
|
<li>Spécifications et cahiers de recettes.</li>
|
|
<li>Intégration technologies: Modbus, LoRaWAN, Zigbee…</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="projects" class="card reveal">
|
|
<h2>Projets récents</h2>
|
|
<div class="proj-grid">
|
|
<a class="proj" href="https://github.com/Floriansylvain/GoCMS" aria-label="Voir le dépôt GoCMS">
|
|
<h3>GoCMS</h3>
|
|
<p>CMS en Go pour accélérer la création de sites avec blog/SSR, architecture <abbr
|
|
title="Domain Driven Design">DDD</abbr>, CI/CD sur serveur Debian (Docker, Nginx, Jenkins).</p>
|
|
<div class="stack">
|
|
<span class="badge">Go</span><span class="badge">SSR</span><span class="badge">Docker</span><span
|
|
class="badge">Nginx</span><span class="badge">SQLite</span>
|
|
</div>
|
|
<p>Voir le dépôt →</p>
|
|
</a>
|
|
|
|
<a class="proj" href="https://github.com/Floriansylvain/SnippetsManager"
|
|
aria-label="Voir le dépôt SnippetsManager">
|
|
<h3>SnippetsManager</h3>
|
|
<p>API inspirée de massCode pour gérer des snippets. TypeScript, Express, Prisma, MySQL, Docker, Jest.</p>
|
|
<div class="stack">
|
|
<span class="badge">TypeScript</span><span class="badge">Express</span><span
|
|
class="badge">Prisma</span><span class="badge">MySQL</span>
|
|
</div>
|
|
<p>Voir le dépôt →</p>
|
|
</a>
|
|
|
|
<a class="proj" href="https://github.com/Floriansylvain/spotify-playlist-embed"
|
|
aria-label="Voir le dépôt spotify-playlist-embed">
|
|
<h3>spotify-playlist-embed</h3>
|
|
<p>Lecteur de playlist Spotify en Next.js + TS, avec spotify-web-api-node et TailwindCSS.</p>
|
|
<div class="stack">
|
|
<span class="badge">Next.js</span><span class="badge">TypeScript</span><span
|
|
class="badge">TailwindCSS</span><span class="badge">Spotify API</span>
|
|
</div>
|
|
<p>Voir le dépôt →</p>
|
|
</a>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="contact" class="card reveal">
|
|
<h2>Contact</h2>
|
|
<p>Échangeons sur vos besoins, missions ou opportunités.</p>
|
|
<p><a href="https://linkedin.com/in/florian-sylvain-0651021a9">LinkedIn</a></p>
|
|
<p class="lead">Autres moyens de contact non listés pour éviter la collecte automatisée.</p>
|
|
</section>
|
|
</main>
|
|
|
|
<footer class="container reveal" id="autres">
|
|
<p>Pourquoi si simple ? Ce site reste léger et sobre. <a
|
|
href="https://endtimes.dev/why-your-website-should-be-under-14kb-in-size">Pourquoi viser < 14 kB</a></p>
|
|
<a class="to-top" href="#top" aria-label="Revenir en haut">↑</a>
|
|
<p>Dernière mise à jour : 2025/08/23</p>
|
|
</footer>
|
|
<script src="script.js" defer></script>
|
|
</body>
|
|
|
|
</html> |