Ce portfolio est une application web moderne développée pour présenter mes compétences, projets et expériences professionnelles dans le cadre de ma formation BTS SIO option SLAM. Il sert à la fois de vitrine professionnelle et de démonstration technique de mes compétences en développement web.
Framework Frontend: Next.js 14 (basé sur React)
Langage: JavaScript/JSX
Styling: Tailwind CSS pour le design responsive
Animations: Framer Motion pour les transitions et effets visuels
CMS: Contentful pour la gestion de contenu headless
Déploiement: Vercel avec Analytics et Speed Insights intégrés
Optimisation SEO: Métadonnées structurées et balises Open Graph
Implémentation personnalisée avec React Context API
Persistance des préférences utilisateur via localStorage
Transition fluide entre les thèmes avec Tailwind CSS
Adaptation dynamique des couleurs et contrastes pour l'accessibilité
Récupération des projets depuis l'API Contentful
Génération automatique des pages de détail de projet
Routes dynamiques basées sur les slugs des projets
Mise en forme avancée du contenu avec Rich Text Renderer
Hero Section: Animation de texte avec TypeAnimation
Info Section: Interface à onglets pour présenter expérience, formation, compétences
Projects Section: Affichage de projets avec effets 3D et animations de défilement
Navigation: Menu responsive avec animations et défilement fluide
Composants client/serveur séparés pour optimiser le rendu
Images optimisées avec le composant Next Image
Lazy loading des sections et ressources
Métriques de performance suivies avec Vercel Analytics
Structure sémantique HTML5
Navigation au clavier et attributs ARIA
Contraste de couleurs optimisé selon le thème
Animations respectueuses des préférences de réduction de mouvement
Le système de thème utilise React Context pour fournir un accès global aux préférences de thème. Le context gère la persistance avec localStorage et assure une transition visuelle fluide entre les thèmes.
Les animations sont implémentées avec Framer Motion pour créer une expérience utilisateur engageante:
Transitions entre sections avec défilement parallaxe
Animations de carte 3D sur les projets
Effets de hover et micro-interactions
Animations d'entrée et de sortie pour les composants
Utilisation de hooks personnalisés (useTheme, useWindowSize)
Séparation des composants par responsabilité
Pattern de composition pour la réutilisation
Gestion d'état locale et globale optimisée
L'intégration avec Contentful permet une gestion de contenu flexible:
Modèle de données structuré pour les projets
Récupération des données avec l'API Contentful
Rendu côté serveur pour le contenu dynamique
Mise à jour du contenu sans redéploiement du site
Développement d'applications: Conception et implémentation d'une application web complète
Solutions de gestion de contenu: Intégration avec un CMS headless (Contentful)
Conception d'interfaces utilisateur: Design responsive et accessible
Exploitation des technologies web: React, API contexte, animations avancées
Veille technologique: Utilisation des frameworks et bibliothèques modernes
Ajout d'une section blog avec gestion de contenu via Contentful
Implémentation d'un formulaire de contact avec validation et envoi d'emails
Intégration de tests automatisés pour les composants principaux
Amélioration des performances avec l'API de Server Components de Next.js