Portfolio personnel présentant mes projets, expériences et compétences en tant que développeur Fullstack.
- Design moderne avec animations GSAP et smooth scroll
- Responsive mobile-first
- SEO optimisé (métadonnées, sitemap, JSON-LD)
- Formulaire de contact avec EmailJS
- Performance optimale avec Next.js App Router
| Catégorie | Technologies |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | React 19, Tailwind CSS 4 |
| Langage | TypeScript 5 |
| Animations | GSAP, ScrollTrigger, ScrollSmoother |
| Emails | EmailJS |
| Déploiement | Vercel |
- Node.js 18+ (.nvmrc)
- npm, yarn ou pnpm
# Cloner le repository
git clone https://github.com/itsarnaud/Portfolio.git
cd Portfolio
# Installer les dépendances
npm install
# Copier les variables d'environnement
cp .env.example .env
# Lancer en développement
npm run devOuvrir http://localhost:3000 dans votre navigateur.
Créer un fichier .env à la racine :
# URL du site (pour SEO et sitemap)
NEXT_PUBLIC_SITE_URL=https://arnaud-royer.xyz
# EmailJS (formulaire de contact)
NEXT_PUBLIC_EMAILJS_SERVICE_ID=your_service_id
NEXT_PUBLIC_EMAILJS_TEMPLATE_ID=your_template_id
NEXT_PUBLIC_EMAILJS_PUBLIC_KEY=your_public_keyPortfolio/
├── public/
│ ├── files/ # CV PDF
│ ├── icons/ # Icônes PWA
│ └── images/ # Images (OG, projets, profil)
├── src/
│ ├── app/ # Pages Next.js (App Router)
│ │ ├── about/
│ │ ├── contact/
│ │ ├── experiences/
│ │ ├── projects/
│ │ └── layout.tsx
│ ├── components/
│ │ ├── gsap/ # Composants d'animation
│ │ ├── seo/ # JSON-LD schemas
│ │ └── ui/ # Composants réutilisables
│ └── lib/
│ └── data.js # Données (projets, expériences)
├── .env.example
├── package.json
└── README.md
| Commande | Description |
|---|---|
npm run dev |
Lancer en mode développement |
npm run build |
Build de production |
npm run start |
Lancer le build de production |
npm run lint |
Vérifier le code avec ESLint |
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Arnaud Royer
- Portfolio : arnaud-royer.xyz
- GitHub : @itsarnaud
- LinkedIn : Arnaud Royer
- Email : arnaud.royer77@gmail.com
Fait avec ❤️ et ☕ par Arnaud Royer
