Un portfolio professionnel multilingue développé avec Vue.js 3, TypeScript et Tailwind CSS.
- 🌍 Support multilingue (Français, Anglais, Arabe)
- 🌓 Thème clair/sombre
- 📱 Design responsive
- ⚡ Animations fluides avec VueUse Motion
- 🎨 UI moderne avec Tailwind CSS
- 🔍 SEO optimisé
- 🗺️ Génération automatique du sitemap
- Vue.js 3
- TypeScript
- Tailwind CSS
- Vue Router
- Vue I18n
- VueUse (Motion, Head, Core)
- Lucide Icons
- Vite
- Clonez le dépôt :
git clone https://github.com/BenMacha/benmacha.github.io.git
cd benmacha.github.io- Installez les dépendances avec pnpm :
pnpm install- Lancez le serveur de développement :
pnpm devsrc/
├── components/ # Composants réutilisables
├── i18n/ # Fichiers de traduction
│ └── locales/ # FR, EN, AR translations
├── views/ # Pages de l'application
├── router/ # Configuration des routes
└── App.vue # Composant racine
-
Informations personnelles : Modifiez les fichiers de traduction dans
src/i18n/locales/:fr.jsonpour le françaisen.jsonpour l'anglaisar.jsonpour l'arabe
-
Expérience professionnelle : Mettez à jour la section
experience.itemsdans les fichiers de traduction. -
Projets : Modifiez la section
projects.itemsetprojects.github.itemsdans les fichiers de traduction. -
Compétences : Mettez à jour le composant
Skills.vueavec vos compétences.
Le thème est configurable dans src/style.css et tailwind.config.js. Vous pouvez modifier :
- Les couleurs du thème
- La typographie
- Les espacements
- Les animations
pnpm dev: Lance le serveur de développementpnpm build: Compile le projet pour la productionpnpm preview: Prévisualise la version de productionpnpm sitemap: Génère le sitemap
-
Créez un nouveau dépôt sur GitHub nommé
username.github.io(remplacezusernamepar votre nom d'utilisateur GitHub) -
Ajoutez le fichier
.github/workflows/deploy.yml:
name: Deploy to GitHub Pages
on:
push:
branches: [ main ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '18'
cache: 'pnpm'
- name: Install Dependencies
run: pnpm install
- name: Build
run: pnpm build
- name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@4.1.5
with:
branch: gh-pages
folder: dist- Configurez la base URL dans
vite.config.ts:
export default defineConfig({
base: '/', // Si vous utilisez un domaine personnalisé
// OU
base: '/nom-du-repo/', // Si vous utilisez username.github.io/nom-du-repo
plugins: [vue()]
})- Poussez vos modifications :
git add .
git commit -m "Configure GitHub Pages deployment"
git push- Dans les paramètres du dépôt GitHub, activez GitHub Pages et sélectionnez la branche
gh-pages.
-
Connectez-vous à votre tableau de bord Cloudflare
-
Allez dans "Pages" et cliquez sur "Create a project"
-
Connectez votre dépôt GitHub
-
Configurez les paramètres de build :
- Framework preset : Vue
- Build command :
pnpm build - Build output directory :
dist - Node.js version : 18
-
Variables d'environnement (si nécessaire) :
NODE_VERSION=18 -
Cliquez sur "Save and Deploy"
-
(Optionnel) Configurez votre domaine personnalisé :
- Dans l'onglet "Custom domains"
- Cliquez sur "Set up a custom domain"
- Suivez les instructions pour configurer les enregistrements DNS
Pour que le routage fonctionne correctement sur les hébergements statiques, ajoutez un fichier public/_redirects (pour Netlify/Cloudflare) :
/* /index.html 200
Ou un fichier public/404.html qui redirige vers la racine pour GitHub Pages.
MIT
- Site web : benmacha.tn
- GitHub : @BenMacha
- LinkedIn : Ben Mecha Ali