Go to file
2025-10-04 01:05:08 +02:00
public fix icon, added cv 2025-10-04 01:05:08 +02:00
scripts optimisation critical css 2025-10-02 19:17:11 +02:00
src fix icon, added cv 2025-10-04 01:05:08 +02:00
.dockerignore fix: Corriger le Dockerfile pour le build avec toutes les dépendances 2025-10-02 17:04:30 +02:00
.env.portainer.example docker stack via git 2025-10-02 17:02:26 +02:00
.gitignore [skip lovable] Use tech stack vite_react_shadcn_ts_20250728_minor 2025-10-02 07:24:10 +00:00
bun.lockb [skip lovable] Use tech stack vite_react_shadcn_ts_20250728_minor 2025-10-02 07:24:10 +00:00
components.json [skip lovable] Use tech stack vite_react_shadcn_ts_20250728_minor 2025-10-02 07:24:10 +00:00
docker-compose.yml fix: remove image tag from docker-compose to allow building from source 2025-10-02 17:33:10 +02:00
Dockerfile fix: correct Traefik entrypoints and HTTP to HTTPS redirect 2025-10-02 17:32:36 +02:00
eslint.config.js [skip lovable] Use tech stack vite_react_shadcn_ts_20250728_minor 2025-10-02 07:24:10 +00:00
index.html optimisation critical css 2025-10-02 19:17:11 +02:00
nginx.conf optimisation critical css 2025-10-02 19:17:11 +02:00
package-lock.json fix 2025-10-02 18:33:35 +02:00
package.json optimisation critical css 2025-10-02 19:17:11 +02:00
postcss.config.js [skip lovable] Use tech stack vite_react_shadcn_ts_20250728_minor 2025-10-02 07:24:10 +00:00
README.md optimisation critical css 2025-10-02 19:17:11 +02:00
tailwind.config.ts Add personal website structure 2025-10-02 07:26:26 +00:00
tsconfig.app.json [skip lovable] Use tech stack vite_react_shadcn_ts_20250728_minor 2025-10-02 07:24:10 +00:00
tsconfig.json [skip lovable] Use tech stack vite_react_shadcn_ts_20250728_minor 2025-10-02 07:24:10 +00:00
tsconfig.node.json [skip lovable] Use tech stack vite_react_shadcn_ts_20250728_minor 2025-10-02 07:24:10 +00:00
vercel.json fix nginx 2025-10-02 19:05:03 +02:00
vite-plugin-critical-css.ts optimisation critical css 2025-10-02 19:17:11 +02:00
vite-plugin-preload.ts perf: optimize critical rendering path and reduce bundle size - Defer GTM loading - Add DNS prefetch and preconnect hints - Implement lazy loading for pages and heavy components - Optimize Vite build config with better code splitting - Add OptimizedImage component - Improve nginx caching and compression - Add bundle analyzer script 2025-10-02 17:43:32 +02:00
vite.config.ts optimisation critical css 2025-10-02 19:17:11 +02:00

🌟 Portfolio d'Alexandre Pommier

Un portfolio moderne et interactif développé avec React, TypeScript et shadcn/ui, présentant mes projets et compétences techniques.

🚀 Aperçu

Ce portfolio présente mon parcours d'étudiant à 42 en informatique, avec une sélection de mes projets techniques les plus significatifs. Il intègre des animations fluides, un design responsive et un support multilingue (français/anglais).

Fonctionnalités

  • 🌙 Mode sombre/clair - Changement de thème avec persistance
  • 🌍 Multilingue - Support français et anglais
  • 📱 Responsive - Optimisé pour tous les appareils
  • 🎨 Animations - Interactions fluides avec Framer Motion
  • 🎯 Navigation intuitive - Barre de progression et navigation smooth
  • Performance - Construit avec Vite pour des temps de chargement optimaux

🛠️ Technologies utilisées

Frontend

  • React 18 - Interface utilisateur moderne
  • TypeScript - Typage statique pour une meilleure robustesse
  • Vite - Build tool rapide et moderne
  • Tailwind CSS - Framework CSS utilitaire
  • shadcn/ui - Composants UI élégants et accessibles

Librairies & Outils

  • Framer Motion - Animations et transitions
  • React Router - Navigation côté client
  • Lucide React - Icônes modernes
  • React Query - Gestion d'état et cache
  • React Hook Form - Gestion des formulaires
  • next-themes - Gestion des thèmes

Développement

  • ESLint - Linting et qualité du code
  • PostCSS - Traitement CSS
  • Bun - Gestionnaire de paquets rapide

📁 Structure du projet

pommier-portfolio/
├── public/                 # Assets statiques
├── src/
│   ├── components/        # Composants réutilisables
│   │   ├── sections/     # Sections principales du portfolio
│   │   └── ui/           # Composants UI (shadcn/ui)
│   ├── contexts/         # Contextes React (Theme, Language)
│   ├── hooks/            # Hooks personnalisés
│   ├── lib/              # Utilitaires et configurations
│   ├── pages/            # Pages de l'application
│   └── utils/            # Fonctions utilitaires et traductions
├── package.json
└── README.md

🚀 Installation et lancement

Prérequis

  • Node.js (version 18 ou supérieure)
  • Bun (recommandé) ou npm/yarn

Installation

# Cloner le repository
git clone https://github.com/kinou-p/pommier-portfolio.git
cd pommier-portfolio

# Installer les dépendances avec Bun
bun install

# Ou avec npm
npm install

Développement

# Lancer le serveur de développement
bun dev

# Ou avec npm
npm run dev

L'application sera accessible sur http://localhost:5173

Build pour la production

# Build de production
bun run build

# Prévisualiser le build
bun run preview

📋 Scripts disponibles

  • bun dev - Lance le serveur de développement
  • bun build - Build de production
  • bun build:dev - Build en mode développement
  • bun lint - Vérification du code avec ESLint
  • bun preview - Prévisualisation du build de production

🎨 Personnalisation

Thèmes

Le portfolio utilise CSS variables pour les couleurs, configurées dans src/index.css. Les thèmes sont gérés par next-themes.

Traductions

Les traductions sont centralisées dans src/utils/translations.ts. Pour ajouter une nouvelle langue :

  1. Ajouter les traductions dans l'objet translations
  2. Mettre à jour le contexte de langue si nécessaire

Contenu

  • Projets : Modifiez src/components/sections/ProjectsSection.tsx
  • Compétences : Modifiez src/components/sections/SkillsSection.tsx
  • Contact : Modifiez src/components/sections/ContactSection.tsx

🌟 Projets présentés

  1. Homemade NAS - Infrastructure personnelle complète
  2. Ft_Transcendence - Application web Pong en temps réel
  3. Cloud-1 - Infrastructure automatisée avec Docker/Ansible
  4. Minishell - Réimplémentation d'un shell bash en C
  5. Cube3D - Moteur 3D RayCaster
  6. etsidemain.com - Site vitrine pour conseil en transformation régénérative
  7. avopieces.fr - Plateforme juridique IA pour procédures de divorce

<EFBFBD> Sécurité

Ce portfolio implémente des pratiques de sécurité avancées pour protéger contre les vulnérabilités web courantes :

  • Content Security Policy (CSP) - Protection contre XSS
  • HSTS - Forçage HTTPS avec preload
  • COOP/CORP/COEP - Isolation cross-origin
  • X-Frame-Options - Protection contre le clickjacking
  • Permissions Policy - Contrôle des fonctionnalités du navigateur

Pour plus de détails, consultez SECURITY.md.

<EFBFBD>📱 Responsive Design

Le portfolio est entièrement responsive avec des breakpoints optimisés :

  • Mobile : < 640px
  • Tablet : 640px - 1024px
  • Desktop : > 1024px

🤝 Contribution

Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou proposer une pull request.

📄 Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

📞 Contact

Alexandre Pommier


Développé avec ❤️ par Alexandre Pommier