Muséum national d’histoire naturelle Espace publications
Dans le cadre de la refonte de l’espace publication du site du Muséum national d’Histoire naturelle, j’ai participé à la conception et au développement d’une boutique en ligne sur mesure, développée avec Symfony.
J’ai contribué à la modélisation du système de données en concevant le Modèle Conceptuel de Données (MCD), en prenant en compte des contraintes métiers complexes. L’objectif principal était d’optimiser les relations entre entités afin de garantir de bonnes performances face à une volumétrie importante (plusieurs milliers de produits). La structure fonctionnelle repose sur une organisation en livres et chapitres, permettant l’achat soit d’un ouvrage complet, soit d’unités individuelles. Certains contenus étant proposés en version dématérialisée, j’ai également participé à la mise en place d’un système de gestion de licences.
Suite à la validation du modèle, j’ai assuré la mise en œuvre de la base de données ainsi que son intégration dans l’application. Pour accélérer le développement et garantir la robustesse, je me suis appuyé sur des outils tels que Doctrine Extensions et VichUploaderBundle pour la gestion des fichiers.
J’ai ensuite développé les fonctionnalités liées à la gestion des utilisateurs, incluant l’inscription, l’authentification et la création de comptes par les administrateurs. Un système d’invitation sécurisé a été mis en place : les utilisateurs reçoivent un lien unique leur permettant de définir leur mot de passe.
Afin d’améliorer l’expérience utilisateur côté back-office, j’ai implémenté des interfaces dynamiques avec Symfony UX Live Component, permettant notamment :
- La pagination des utilisateurs,
- La recherche avancée (email, rôle),
- La gestion des rôles en temps réel, sans rechargement de page.

En complément, j’ai participé à :
- La mise en place d’un environnement de développement standardisé via Docker (stack de Kévin Dunglas),
- La création d’un back-office ergonomique avec Tailwind CSS,
- L’intégration d’un moteur de recherche performant basé sur Elasticsearch, adapté à la gestion de volumes importants de contenus.
L’implémentation d’Elasticsearch a représenté un défi technique particulier, n’ayant encore jamais utilisé cette technologie auparavant. Pour sécuriser son intégration et monter rapidement en compétence, j’ai mené une phase d’exploration puis conçu un Proof of Concept reproduisant, de manière simplifiée, les futurs cas d’usage du site. Cette approche m’a permis de valider les choix techniques, de mieux comprendre le fonctionnement de l’outil et d’anticiper son intégration dans l’application finale.