Logo of the project
Réalisation
En cours
Portfolio perso (Laravel)
Portfolio
Portfolio personnel réalisé sur Laravel.
Période
Mars 2025 - En cours

Description

N’étant pas totalement convaincu par mon précédent site internet réalisé avec Astro, j’ai décidé d’en concevoir un nouveau, cette fois-ci avec Laravel. Contrairement à mes précédentes tentatives, j’ai pris le temps d’analyser les meilleures options qui s’offraient à moi. Je ne voulais surtout pas retomber dans un développement interminable comme lors de ma première tentative avec Laravel, à travers la Plateforme web SL-Projects.

J’ai d’abord envisagé d’utiliser Laravel Nova afin de m’épargner le développement du back office. Cependant, le prix de la licence étant relativement élevé, et n’étant pas certain que ce soit une base pérenne pour mon projet, j’ai rapidement écarté cette solution.

Grâce à un site que j’ai réalisé pour une amie, j’ai pu expérimenter Vue.js intégré à Laravel. La sortie de Laravel 12, accompagnée des nouveaux starter kits et de Inertia 2, a fini de me convaincre.

J’ai donc démarré le développement de ce nouveau site à partir du starter kit Vue.js. Le back office est conçu avec Shadcn Vue, ce qui m’a permis de bénéficier d’une UI moderne et modulaire. Ce projet concentre l’ensemble de mon savoir-faire et regroupe toutes les fonctionnalités que j’avais développées précédemment dans d’autres projets Laravel. De plus, chaque nouvelle fonctionnalité est systématiquement couverte par des tests automatisés.

À ce jour, le projet atteint une couverture de tests de 92 %. 😊

Fonctionnalités clés

Conversion des images

Les images sont systématiquement converties dans différentes résolutions et différents formats tels qu'AVIF, WEBP et JPG.

Traductions dynamiques stockées en base

Chaque contenu textuel pouvant être créé depuis le dashboard est stocké en base de données, et peut être disponible dans diverses langues.

Automatisation des traductions par IA

Les traductions dans les autres langues que le français peuvent être créées grâce à des services d'IA tels qu'OpenAI et Anthropic.

Usage de BunnyCDN et Bunny Stream

Les images sont automatiquement envoyées sur le CDN, limitant la bande passante sur le serveur. Les vidéos sont envoyées et transcodées sur Bunny Stream.

Enregistrement des visites à des fins de statistiques

À des fins statistiques, chaque visite du site est enregistrée en base de données. Les adresses IP et les user agents sont automatiquement analysés afin d’identifier s’il s’agit d’un robot ou d’un utilisateur humain.

Technologies utilisées

Typescript icon
Typescript
Langage de programmation basé sur Javascript qui ajoute le typage statique.
VueJS icon
VueJS
Framework Javascript front-end.
Figma icon
Figma
Outil de maquettage.
Laravel icon
Laravel
Framework PHP pour construire des applications web
PHP icon
PHP
PHP: Hypertext Preprocessor
Tailwind icon
Tailwind
Framework CSS.
Inertia.js icon
Inertia.js
Inertia est une librairie simplifiant la création de projet monolithique sur Laravel avec des frameworks frontend comme Vue.js et React.

Capture d'écrans

Maquette accueil
Maquette page des projets
Page d'accueil
Section projets Laravel de la page d'accueil
Section expérience de la page d'accueil
Page des projets
Page de projet
Page de projet
Présentation capture d'écran
Page des certifications et du parcours
Accueil du backoffice
Éditeur de création - Backoffice
Gestion du status du transcodage des vidéos - Backoffice
Page des technologies - Backoffice
Page des expériences - Backoffice
Page des certifications - Backoffice
Page des liens sociaux - Backoffice
Galerie photo - Backoffice
Page de gestion des traductions - Backoffice
2025 - Sofiane Lasri-Trienpont, développé sur Laravel.