L'Art de transformer chaque événement en Histoire
🌐 Site Web • 📸 Instagram • 🎥 YouTube
Si vous rencontrez des problèmes lors de l'installation ou du lancement :
- Erreur
sharpou optimisation d'images :- Assurez-vous d'utiliser Node.js 22+ (requis pour
sharpprécompilé, cf.enginesdupackage.json). - Si l'erreur persiste :
rm -rf node_modules bun install
- Assurez-vous d'utiliser Node.js 22+ (requis pour
- Erreur
bunintrouvable :- Installez Bun :
curl -fsSL https://bun.sh/install | bash(voir bun.sh).
- Installez Bun :
- Problèmes d'environnement :
- Vérifiez que
.envexiste (copié depuis.env.example). - Les variables
WEB3FORMS_ACCESS_KEYetPUBLIC_CF_ANALYTICS_TOKENsont nécessaires (peuvent être "mock" pour le dev).
- Vérifiez que
- Tests Playwright :
- Si
bun run test:e2eéchoue, lancezbunx playwright install --with-depspour installer les navigateurs. - Les tests E2E construisent et servent le site automatiquement (
bun run build && bun run preview) ; aucun serveur de dev n'a besoin d'être lancé au préalable.
- Si
- Build failed (assets) :
- Vérifiez que toutes les images référencées dans
src/content/project/*.mdxexistent réellement.
- Vérifiez que toutes les images référencées dans
Portfolio professionnel de Samuel Dulex, spécialisé dans la création de contenu vidéo et la captation d'événements. Ce site présente mes projets de manière dynamique et immersive, avec un focus sur l'expérience utilisateur et la performance.
Mission: Connecter, Communiquer, Captiver — transformer chaque événement en une histoire mémorable.
Consultez la documentation d'architecture pour plus de détails techniques.
(Note: This project is implemented purely as a static Astro SSG architecture without dynamic backend frameworks).
- Mode sombre/clair avec transition fluide
- Architecture responsive optimisée (Mobile First)
- Animations modernes avec View Transition API & ScrollReveal
- Cartes Projets 3D avec effet Tilt et glare subtil
- Grille bento éditoriale de projets sélectionnés, équilibrée par pilier
- Lecteur vidéo intégré avec streaming optimisé
- SEO optimisé avec metadata complète
- RSS Feed pour les dernières publications
- Images optimisées via Sharp
- Carbon Badge avec calcul d'empreinte écologique
- Lighthouse score de 100% en Performance et Accessibilité
- Sécurité renforcée avec CodeQL Analysis et Headers CSP stricts
Une documentation détaillée est disponible dans le dossier docs/ :
- 🏗 Architecture : Structure du projet, concepts clés et extension.
- 🔐 Environnement : Variables d'environnement et secrets.
- 📡 API : Endpoints statiques (RSS, Sitemap).
- 🤖 AI : Politique d'utilisation de l'IA.
- Node.js 22+ (Requis pour l'optimisation des images via
sharp) - Bun 1.3+ (Gestionnaire de paquets et runtime utilisé par les scripts, les tests et la CI)
# Cloner le repository
git clone https://github.com/kuasar-mknd/profilePro.git
cd profilePro
# Installer les dépendances
bun install
# Configurer l'environnement
cp .env.example .env
# Installer les navigateurs pour les tests E2E
bunx playwright install --with-deps
# Lancer le serveur de développement
bun run devLe site sera accessible sur http://localhost:4321.
bun run dev: Lance le serveur de développement.bun run build: Génère le build de production (optimisation d'images + génération CSP).bun run check: Vérifie le code (linting + formatage + types).bun run audit: Audit de sécurité des dépendances (bun audit --audit-level=high).bun run lighthouse: Lance l'audit de performance.bun run test:e2e: Lance les tests end-to-end avec Playwright.bun run test: Lance les tests unitaires avec Bun.
Le site est statique mais expose des données via des endpoints générés au build :
# Récupérer le flux RSS (XML)
curl https://portfolio.kuasar.xyz/rss.xml
# Récupérer le Sitemap (XML)
curl https://portfolio.kuasar.xyz/sitemap-index.xml
# Récupérer le fichier robots.txt (Directives crawlers)
curl https://portfolio.kuasar.xyz/robots.txt(Note: There are no dynamic backend routes (such as Hono), Prisma database, or API POST endpoints as this is a fully static Astro application. The project relies purely on file-based markdown collections).
/
├── public/ # Assets statiques
├── src/
│ ├── components/ # Composants Astro
│ ├── content/ # Collections de contenu (MDX)
│ ├── layouts/ # Templates de pages
│ ├── pages/ # Pages du site
│ └── config.mjs # Configuration du site
├── astro.config.mjs # Configuration Astro
└── package.json
Personnalisez le site via src/config.mjs (Titre, Réseaux sociaux, etc.) et ajoutez des projets dans src/content/project/.
Voir ARCHITECTURE.md pour plus de détails.
Le déploiement est automatisé sur Cloudflare Pages via GitHub Actions. Le workflow assure :
- Vérification de la qualité (
check). - Tests End-to-End (
test:e2e). - Scan de sécurité (
CodeQLpour JS/TS, etDependency Reviewpour bloquer les dépendances à risque sur les PRs). - Build et déploiement via Wrangler.
Pour plus de détails sur le pipeline, voir ARCHITECTURE.md.
Contributions, issues and feature requests are welcome! Feel free to check issues page. You can also take a look at the contributing guide and code of conduct.
Please review our Security Policy for information on reporting security vulnerabilities.
Copyright © 2025 Samuel Dulex. This project is MIT licensed.
Construit avec ❤️ par Samuel Dulex