Chargement
← Retour aux projets
Projet 1 - Portfolio Symfony

Projet 1 - Portfolio Symfony

Développement d'un portfolio professionnel full-stack

Symfony PHP Tailwind CSS MySQL Git

Portfolio personnel développé avec Symfony 6.4, Tailwind CSS et MySQL. Interface thème SF sombre bleuté, administration sécurisée, déploiement sur Railway.

Contexte du projet


Dans le cadre d'une remise à niveau technique après une période d'inactivité, j'ai développé ce portfolio de A à Z en une vingtaine de jours. L'objectif était double : démontrer mes compétences en développement web moderne et disposer d'un outil de présentation professionnel pour ma recherche d'emploi.


Portfolio - Vue d'ensemble

Stack technique


Le projet repose sur Symfony 6.4 LTS, choisi pour sa robustesse et sa large adoption en entreprise. La gestion des données est assurée par Doctrine ORM avec une base MySQL hébergée localement via Laragon. Le front-end utilise Tailwind CSS installé en local via npm, sans CDN, pour une utilisation optimisée en production.

Le versioning est géré avec Git et hébergé sur GitHub. Le déploiement est assuré par Railway, une plateforme cloud moderne permettant un déploiement continu depuis le repository GitHub.

Voir le code source sur GitHub →


Fonctionnalités développées


Le portfolio comprend quatre pages publiques dynamiques : une page d'accueil avec hero section fullwidth, une page projets avec fiches détaillées, une page compétences avec barres de progression, et un formulaire de contact avec sauvegarde en base de données et envoi d'email via le composant Mailer de Symfony.

L'ensemble du contenu est géré depuis une interface d'administration sécurisée par authentification. Le tableau de bord centralise la gestion des projets, des compétences et des messages reçus via le formulaire de contact.


Portfolio - Interface d'administration

Défis techniques


Ce projet a été l'occasion de migrer des anciens standards que je maîtrisais — EasyPHP, CakePHP et Bootstrap — vers un environnement moderne. L'adoption de Laragon en remplacement d'EasyPHP, de Symfony en remplacement de CakePHP, et de Tailwind CSS en remplacement de Bootstrap a représenté un vrai saut générationnel dans ma pratique.

L'apprentissage s'est fait par la pratique, en intégrant dès le premier jour les bonnes habitudes CLI : création de controllers, d'entités et de migrations via les commandes make:* de Symfony, gestion du serveur de développement via symfony serve, et versioning systématique avec Git. Cette approche par les commandes, plutôt que par des interfaces graphiques, a considérablement accéléré le workflow et la compréhension du framework.