Files
compact-portfolio/index-min.html
T

1 line
12 KiB
HTML

<!doctypehtml><html lang=fr><meta charset=UTF-8><meta content="width=device-width,initial-scale=1"name=viewport><meta content="Portfolio de Florian Sylvain, développeur web fullstack."name=description><link href=/favicon.webp rel=icon type=image/x-icon><link href=https://floriansylvain.fr/ rel=canonical><title>Portfolio Florian Sylvain</title><style>:root{--background:#0e120e;--foreground:#e2f1e2;--border:#161f16;--accent:#7fc27f;--accent-hover:#a7e6a7;--accent-visited:#5e8a5e;--muted:#7fa07f}body{background:var(--background);color:var(--foreground);font-family:Inter,'Segoe UI',Arial,sans-serif;max-width:1000px;margin:auto;padding:16px}#header h1{font-size:2rem;font-weight:700;letter-spacing:.5px;color:var(--accent-hover)}#header img{max-width:140px;height:auto;border:2px solid var(--border)}#header div{display:flex;align-items:center;gap:16px}table{border:none;background:var(--border);width:100%;margin-bottom:16px;overflow:hidden;table-layout:fixed}#experiences col:first-child,#projets col:first-child{width:100px}#experiences col:last-child,#projets col:last-child{width:100%}td,th{border:none;padding:8px 10px;text-align:left;vertical-align:top}th{background:var(--border);color:var(--accent);font-weight:600;letter-spacing:.2px}td{background:var(--border)}caption{color:var(--muted);font-size:.95em;margin-bottom:4px}a{color:var(--accent);text-decoration:none;transition:color .2s,border-bottom .2s;border-bottom:1px dotted var(--accent)}a:hover{color:var(--accent-hover);border-bottom:1px solid var(--accent-hover);text-decoration:none}a:visited{color:var(--accent-visited)}ol,ul{margin:0;padding-left:20px}nav li{margin-bottom:6px}footer h2,section h2{color:var(--accent);font-size:1.4rem;margin-top:24px;margin-bottom:8px;font-weight:600;letter-spacing:.2px}footer{border-top:1px solid #1e2a1e;margin-top:32px;padding-top:12px;font-size:.95em;color:var(--muted);background:var(--background)}#experiences thead th,#projets thead th{font-size:large}@media (max-width:576px){body{padding:8px}#header div{flex-direction:column}table,td,th{font-size:.95em}}</style><header id=header><h1>Portfolio de Florian Sylvain</h1><div><img alt="Photo de Florian Sylvain"height=140 src="data:image/webp;base64,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"width=150><p>Diplômé d'un Bachelor Développeur Web à l'ESD Paris, autoentrepreneur, je suis passionné par l'informatique. Actuellement en poste à temps plein en CDI chez DOLLEN (Bonnueil-sur-Marne) en tant que développeur web fullstack, je suis à l'écoute pour toute nouvelle opportunité. Disponible sous moins d'un mois, je suis véhiculé, ouvert à une prise de poste dans toute la France et à l'international.</div></header><nav><h2>Navigation</h2><ol><li><a href=#competences>Compétences et qualifications</a><li><a href=#diplomes>Diplômes obtenus</a><li><a href=#experiences>Expériences professionnelles</a><li><a href=#projets>Projets récents</a><li><a href=#contact>Contact et coordonnées</a><li><a href=#autres>Autres informations</a></ol></nav><main><section id=competences><h2>Compétences et qualifications</h2><ul><li>Rédaction de spécifications et cahier de recettes.<li>Maîtrise de PhP, Java, Go, Html5/Css3, Javascript, Typescript, SQL, VueJS, React, Flutter, Docker, Jenkins, Git, GCP, et de Nginx. Apprendre un nouveau language ou framework n'est absolument pas un obstacle pour moi.<li>Maîtrise de l'anglais niveau C1<li>Maîtrise de la méthodologie agile, avec sprints, daily...</ul></section><section id=diplomes><h2>Diplômes obtenus</h2><table><caption>Tableau des diplômes obtenus<thead><tr><th scope=col>Période<th scope=col>Établissement<th scope=col>Niveau<th scope=col>Diplôme<tbody><tr><td>2022 - 2024<td><a href=https://ecole-du-digital.com/ >ESD Paris</a><td>Bac +3 / RNCP 6<td>Bachelor Développeur Web<tr><td>2020 - 2022<td><a href=https://www.univ-gustave-eiffel.fr/ >Université Gustave Eiffel</a><td>Bac +2<td>DUT Informatique<tr><td>2017 - 2020<td>Lycée Polyvalent René Cassin<td>Bac<td>Baccalauréat STI2D <i>(mention bien)</i></table></section><section id=experiences><h2>Expériences professionnelles</h2><table><col><col><thead><tr><th scope=col colspan=2>CDI Développeur Web Fullstack<tbody><tr><th scope=row><strong>Entreprise</strong><td><a href=https://dollen.fr/ >Dollen</a><tr><th scope=row><strong>Période</strong><td>Nov. 2024 - En cours<tr><th scope=row><strong>Missions</strong><td><ul><li>Conception logiciel (diagramme de classes <strong>UML</strong>)<li>Développement d'un back office<ul><li>PHP 8.4, Symfony 7.3, Doctrine, Twig, Stimulus, PHPUnit, Domain Driven Design</ul><li>Déploiement et intégration continue du back-office en production et pré-production<ul><li>Docker, Debian, Nginx, GitHub Action</ul><li>Migration de base de données<ul><li>SQLite, PostgreSQL, MariaDB</ul><li>Peer reviewing<li>Gestion de projet Agile<ul><li>Trello, GitHub Projects, daily sprints</ul></ul></table><table><col><col><thead><tr><th scope=col colspan=2>Apprenti Développeur Fullstack<tbody><tr><th scope=row><strong>Entreprise</strong><td><a href=https://lecadeaupresent.com/ >Présent</a><tr><th scope=row><strong>Période</strong><td>Avr. 2023 - Sep. 2024 (1 an et 5 mois)<tr><th scope=row><strong>Missions</strong><td><ul><li>Développement d'une<ul><li>application mobile interne<ul><li>Kotlin</ul><li>application mobile B2C<ul><li>Flutter</ul><li>API REST monolithique<ul><li>Typescript ,Fastify ,Prisma, Jest, MySql, Docker, GCP, Domain Driven Design</ul><li>SPA pour Desktop et Mobile<ul><li>React, Typescript, Zustand, Chakra UI</ul></ul></ul></table><table><col><col><thead><tr><th scope=col colspan=2>Apprenti Développeur R&D<tbody><tr><th scope=row><strong>Entreprise</strong><td><a href=https://wattearth.com/ >WATT Earth</a><tr><th scope=row><strong>Période</strong><td>Oct. 2021 - Sept. 2022 (1 an)<tr><th scope=row><strong>Missions</strong><td><ul><li>Conception et développement de fonctionnalités innovantes au cœur des produits WATT Earth :<ul><li>VueJS, Typescript, PHP, Python, MySql, Warp10, Grafana</ul><li>Maquettage et conception d'interfaces utilisateurs (<strong>Figma</strong>)<li>Réalisation de spécifications et de cahiers de recettes<li>Intégration de technologies dans la solution de l'entreprise, correspondant aux besoins client :<ul><li>Modbus, LoRaWAN, Zigbee, ...</ul></ul></table></section><section id=projets><h2>Projets récents</h2><table><col><col><thead><tr><th scope=col colspan=2>GoCMS<tbody><tr><th scope=row><strong>Description</strong><td>GoCMS est un projet de système de gestion de contenu développé en Go. Le but à terme de ce projet en cours de developpement est de me faciliter la création de site web qui nécessitent des fonctionnalités comme celles d'un Wordpress, notamment un système de blog et d'articles, mais sans avoir recours à Wordpress ou équivalent. L'architecture du projet est en DDD, Domain Driven Design, et le front de l'interface d'administration est généré en SSR via le moteur de templating html de Go. J'utilise également Bootstrap pour avoir de belles interface sans devoir fournir trop d'effort de développement front. J'héberge une démo du projet en CI/CD via Jenkins sur mon serveur dédié Debian, contenerisé via Docker et exposé via Nginx.<tr><th scope=row><strong>Stack</strong><td>Go, HTML, CSS, JS, Bootstrap, Docker, Nginx, DDD, Jenkins, Debian, SQLite, Git<tr><th scope=row><strong>Dépôt</strong><td><a href=https://github.com/Floriansylvain/GoCMS>GoCMS</a></table><table><col><col><thead><tr><th scope=col colspan=2>SnippetsManager<tbody><tr><th scope=row><strong>Description</strong><td>Projet réalisé dans le cadre d'un cours de Framework Backend à l'ESD, inspiré de l'outil open-source massCode dont le principe est de gérer des snippets (bouts de code). Il s'agit d'une API conçu en Typescript, Express, Prisma, MySql, Docker et Jest.<tr><th scope=row><strong>Stack</strong><td>Typescript, Express, Prisma, MySql, Docker, Jest, NodeJS, Git, TSX<tr><th scope=row><strong>Dépôt</strong><td><a href=https://github.com/Floriansylvain/SnippetsManager>SnippetsManager</a></table><table><col><col><thead><tr><th scope=col colspan=2>spotify-playlist-embed<tbody><tr><th scope=row><strong>Description</strong><td>Petit projet réalisé dans le cadre d'un cours de Framework Frontend à l'ESD, il s'agit d'un lecteur de playlist spotify réalisé en NextJS et Typescript, avec la spotify-web-apinode ainsi que Tailwindcss.<tr><th scope=row><strong>Stack</strong><td>NextJS, Typescript, Tailwindcss, Spotify API, TSX, Git, Vercel<tr><th scope=row><strong>Dépôt</strong><td><a href=https://github.com/Floriansylvain/spotify-playlist-embed>spotify-playlist-embed</a></table></section><section id=contact><h2>Contact</h2><p>Vous pouvez me contacter via les réseaux sociaux suivants :<ul><li><a href=https://www.linkedin.com/in/florian-sylvain-0651021a9/ >LinkedIn</a></ul><p>Autre moyens de contact indisponible sur ce portfolio pour éviter les crawlers malveillants et autre récolte de données, qui résulteront en spam et démarchage incéssants.</section></main><footer id=autres><h2>Pourquoi un site aussi simple ?</h2><p>Ce site pèse moins de 14ko. <a href=https://endtimes.dev/why-your-website-should-be-under-14kb-in-size/ >Why your website should be under 14kB in size</a></p><a href=#header>Remonter ↑</a><p>Dernière mise à jour : 2025/08/23</footer>