Août 2021 — Août 2023
Extranets Clients — Symfony
Mission en agence web : développer et maintenir des espaces clients sécurisés sur mesure pour des PME, avec gestion de données, authentification et notifications email.
// niveau de départ
- PHP et notions de MySQL — quelques projets scolaires
- Aucune expérience Symfony en contexte professionnel réel
- Notions de sécurité web théoriques, jamais appliquées en production
- Zéro expérience de gestion de projet avec des clients
Contexte professionnel
En agence web, j’ai été chargé de développer plusieurs espaces clients sécurisés (extranets) pour des entreprises ayant besoin de donner à leurs clients un accès à leurs données de gestion : devis, commandes, documents, historiques.
Ces projets ont duré 2 ans au total, avec des cycles d’ajout de fonctionnalités, de corrections et d’évolutions réguliers.
Ce que j’ai concrètement fait
- Mise en place de l’environnement Symfony avec Composer et la CLI Symfony
- Modélisation des entités métier avec Doctrine ORM (User, Client, Document, Commande…)
- Authentification sécurisée, gestion de profils et réinitialisation de mot de passe par email
- Développement de vues Twig avec filtres et pagination
- Dynamisation des interfaces avec jQuery et AJAX pour éviter les rechargements de page
- Envoi d’emails de notification via Symfony Mailer (SMTP)
- Déploiement sur serveur Linux, gestion des
.envde production
Apprentissages clés
Travailler sur ces projets m’a confronté à la réalité du développement en entreprise : des specs imprécises qui évoluent, des délais à tenir, des clients qui testent en production. J’ai appris autant techniquement que sur la communication et la gestion de projet.
// points forts
- Authentification et gestion de rôles avec Symfony Security Bundle
- Réinitialisation de mot de passe avec lien sécurisé par email
- Gestion de relations entités complexes avec Doctrine ORM
- Échanges AJAX avec jQuery pour une UX sans rechargement
- Envoi d'emails transactionnels via Symfony Mailer
- Déploiement et maintenance sur serveur dédié
// ce que j'ai appris
- Symfony en production réelle, avec contraintes client et délais
- Gestion d'un périmètre fonctionnel sur la durée (ajouts, corrections, évolutions)
- Doctrine ORM en profondeur : relations ManyToMany, migrations, requêtes DQL
- Sécurité applicative : CSRF, SQL injection, gestion des sessions
- Communication avec des clients non-techniques (recette, spécifications)