← tous les projets
portfoliotemplatepink· 5 min de lecture

Pink Portfolio Template

Un portfolio moderne, élégant et bilingue, prêt en quelques minutes. Développé avec React et Tailwind CSS, entièrement personnalisable depuis un seul objet de configuration.

Lux
voir le code sur GitHub ↗

🌸 Pink Portfolio Template 🌸

Un portfolio moderne, élégant et bilingue, prêt en quelques minutes

Développé avec React et Tailwind CSS, entièrement personnalisable depuis un seul objet de configuration.

React Tailwind CSS Lucide License: MIT

Stars Forks

Démarrage rapide · Personnalisation · Déploiement · Signaler un bug


📸 Aperçu

Page en direct, interactive : tu peux cliquer et faire défiler dedans. Affichée comme sur un écran 1920 × 1080.

luxinenglish.github.ioouvrir dans un onglet ↗

Page blanche ? Le site refuse peut-être d’être intégré : ouvre-le dans un onglet.

📖 Sommaire


✨ Fonctionnalités

FonctionnalitéDétail
🌓Mode sombre / clairBasculez d'un thème à l'autre en un clic
🌍Bilingue FR / ENTout le contenu est traduit, y compris la navigation
📱ResponsiveOptimisé pour mobile, tablette et desktop
🎨Design moderneEffets de parallaxe et animations fluides
⚡Navigation fluideDéfilement doux et transitions élégantes entre les sections
🎭Micro-interactionsSurvols, apparitions et effets visuels soignés
🧩Configuration centraliséeTout votre contenu dans un seul objet config, sans toucher au JSX

🚀 Démarrage rapide

Prérequis

  • Node.js v14 ou plus récent
  • npm ou yarn

Installation

# 1. Cloner le dépôt
git clone https://github.com/Luxinenglish/pink_portfolio_template.git

# 2. Entrer dans le dossier
cd pink_portfolio_template

# 3. Installer les dépendances
npm install

# 4. Lancer le serveur de développement
npm start

Le portfolio s'ouvre sur http://localhost:3000 et se recharge automatiquement à chaque modification.


📝 Personnalisation

astuce

Tout se passe au même endroit. L'objet config, en haut de src/components/Portfolio.jsx, contient l'intégralité du contenu. Modifiez ses valeurs et votre portfolio est prêt : aucune autre ligne de code à toucher.

Chaque texte affiché existe en deux versions, fr et en. Le visiteur change de langue depuis le site, le contenu suit.

1. 👤 Informations personnelles
const config = {
  name: "Votre Nom",
  title: {
    fr: "Votre Titre Professionnel",
    en: "Your Professional Title"
  },
  description: {
    fr: "Une description accrocheuse...",
    en: "A catchy description..."
  },
  photoUrl: "https://your-image-url.com/photo.jpg"
};
2. 💬 À propos · 4 paragraphes
about: {
  fr: [
    "Premier paragraphe...",
    "Deuxième paragraphe...",
    "Troisième paragraphe...",
    "Quatrième paragraphe..."
  ],
  en: [ /* ... */ ]
}
3. 💼 Projets · autant que vous voulez
projects: [
  {
    title:       { fr: "Projet 1", en: "Project 1" },
    description: { fr: "...", en: "..." },
    skills:      ["Compétence A", "Compétence B"],
    imageUrl:    "https://..."
  },
  // Ajoutez d'autres projets ici
]
4. 🎨 Portfolio créatif · créations, maquettes, designs
models: [
  {
    title:       { fr: "Création 1", en: "Creation 1" },
    description: { fr: "...", en: "..." },
    details: {
      fr: ["Matériaux : ...", "Échelle : ..."],
      en: ["Materials: ...", "Scale: ..."]
    },
    imageUrl: "https://..."
  }
]
5. 🎓 Formation
education: [
  {
    school: "Nom de l'école",
    degree: { fr: "Diplôme", en: "Degree" },
    period: { fr: "2024 - Présent", en: "2024 - Present" },
    level:  { fr: "Niveau", en: "Level" }
  }
]
6. 🧑‍💻 Expériences · stages et postes
experiences: [
  {
    title:       { fr: "Titre du stage", en: "Internship title" },
    period:      { fr: "Durée", en: "Duration" },
    company:     "Nom de l'entreprise",
    description: { fr: "...", en: "..." }
  }
]
7. 📬 Contact · seuls les liens renseignés s'affichent
contact: {
  email:     "votre.email@exemple.com",
  linkedin:  "https://linkedin.com/in/...",
  github:    "https://github.com/...",     // optionnel
  twitter:   "https://twitter.com/...",    // optionnel
  instagram: "https://instagram.com/..."   // optionnel
}
8. 🦶 Footer
footerCredit: {
  name: "Votre Nom",
  url:  "https://votre-site.com"  // optionnel
}

🎨 Personnalisation avancée

🖌️ Changer les couleurs

Le template utilise une palette rose / rouge via les classes Tailwind. Pour l'adapter, faites un rechercher-remplacer dans le composant :

RôleClasse actuelleExemples de remplacement
Couleur principalepink-blue-, purple-, emerald-
Couleur secondairerose-indigo-, fuchsia-, teal-

🧱 Ajouter ou retirer des sections

La navigation est générée à partir du tableau sections :

const sections = [
  { id: 'accueil', label: t.nav.home },
  { id: 'apropos', label: t.nav.about },
  // Ajoutez vos sections ici
];
note

Pensez à ajouter la traduction du libellé dans t.nav pour les deux langues, et un élément portant le même id dans le JSX.

🌊 Régler le parallaxe

Chaque effet de parallaxe dépend d'un multiplicateur appliqué au défilement :

style={{ transform: `translateY(${scrollY * 0.05}px)` }}
//                                       ^^^^ plus grand = plus rapide

📦 Structure du projet

pink_portfolio_template/
├── public/
│   └── images/                # Vos images
├── readme_ressources/         # Captures utilisées dans ce README
├── src/
│   ├── components/
│   │   └── Portfolio.jsx      # Composant principal + objet config
│   ├── App.js
│   └── index.js
├── package.json
└── README.md

🛠️ Technologies

OutilRôle
ReactInterface et logique (hooks useState, useEffect)
Tailwind CSSStyles utility-first, thèmes clair et sombre
Lucide ReactIcônes vectorielles légères

📱 Responsive

AppareilLargeur
📱 Mobile< 768 px
📟 Tablette768 px à 1024 px
💻 Desktop> 1024 px

🌐 Déploiement

Commencez par générer la version de production :

npm run build

▲ Vercel

npm i -g vercel
vercel

◆ Netlify

Glissez-déposez le dossier build/ sur app.netlify.com/drop.

🐙 GitHub Pages

Publiez le contenu du dossier build/ depuis les réglages Pages du dépôt.


🤝 Contribution

Les contributions sont les bienvenues !

  1. Forkez le projet
  2. Créez une branche : git checkout -b feature/MaSuperIdee
  3. Commitez : git commit -m "Ajout de MaSuperIdee"
  4. Poussez : git push origin feature/MaSuperIdee
  5. Ouvrez une Pull Request 🎉

📄 Licence

Distribué sous licence MIT : vous êtes libre de l'utiliser, de le modifier et de le redistribuer.


📞 Support

Une question, un bug, une idée ?


⭐ Si ce template vous a été utile, laissez-lui une étoile !

Créé pour offrir une solution simple et élégante de portfolio professionnel en quelques minutes.

Fait avec 💖 et React

Markdown supporté · Ctrl+Entrée pour publierSe connecter pour publier

chargement de la discussion…