Portfolio
Site portfolio personnel bilingue (FR/EN) développé avec SvelteKit, présentant mes projets et mon parcours, avec un panneau d'administration complet pour gérer tout le contenu.
Aperçu
Portfolio personnel développé avec SvelteKit (Svelte 5), conçu comme une application complète associant un site public bilingue et une interface d'administration sur mesure.
Fonctionnalités
Pages publiques : accueil, liste et détail des projets, parcours (expériences et formations), formulaire de contact
Site entièrement bilingue français/anglais
Panneau d'administration sécurisé (authentification par session, hachage Argon2) pour gérer projets, technologies, parcours, profil et messages
Éditeur de texte enrichi (Tiptap) pour les descriptions détaillées, avec assainissement du HTML (sanitize-html)
Upload d'images vers un stockage compatible S3 (MinIO)
Limitation de débit sur la connexion admin et le formulaire de contact
Notification par e-mail des nouveaux messages de contact
Stack technique
SvelteKit / Svelte 5, TypeScript
Tailwind CSS 4, Flowbite Svelte
PostgreSQL avec Drizzle ORM
Zod pour la validation des données
Vitest (tests unitaires) et Playwright (tests end-to-end)
Déploiement
Conteneurisé avec Docker (build multi-étapes, adapter-node)
Déployé derrière Traefik (TLS) sur un homelab personnel
Intégration et déploiement continus via GitLab CI/CD