Stage chez Quadient : Une Plongée dans l’Ingénierie Logicielle et les Microservices
Durant ma première année en informatique, j’ai eu l’opportunité d’effectuer un stage au sein de Quadient, une entreprise internationale spécialisée dans la gestion de lockers. Cette expérience m’a permis d’intégrer l’équipe Packcity Management Dashboard (PMD) Core, chargée du développement du backend de l’entreprise. Mon objectif principal : mettre à jour la librairie SocketCluster utilisée pour la communication entre les machines de type GEN3 et les serveurs.
Quadient : Un acteur clé des solutions automatisées
Quadient, anciennement Neopost, est une entreprise mondiale avec plus de 6000 employés à travers le monde. Spécialisée dans les solutions de gestion de lockers et la gestion de courrier à grande échelle, Quadient est un leader dans ce domaine. L’équipe PMD Core, au sein de laquelle j’ai travaillé, est responsable de l’API backend, une infrastructure clé qui permet la gestion des casiers automatisés à grande échelle. Cette API est développée en NodeJS et repose sur une architecture de microservices hébergée dans un environnement Kubernetes.
Mission : Mise à jour de la librairie SocketCluster
Ma mission était de mettre à jour la librairie SocketCluster dans le contexte des machines GEN3. Ces machines utilisent des websockets pour transmettre des informations en temps réel, comme l’état des colis, entre les machines et le backend. L’enjeu principal était de mettre en œuvre cette mise à jour pour améliorer la sécurité et profiter des nouvelles fonctionnalités de la librairie.
Cette tâche représentait un défi technique important. J’ai dû d’abord me familiariser avec l’architecture de microservices, un paradigme très différent du modèle monolithique que je connaissais. Ensuite, il a fallu maîtriser les subtilités de la programmation asynchrone en NodeJS et intégrer cette mise à jour dans un environnement de production déjà existant.
Défis rencontrés et solutions mises en place
L’un des principaux obstacles a été la prise en main du code préexistant, écrit par d’autres développeurs, ainsi que l’intégration dans une équipe de professionnels déjà bien rodés. La complexité des microservices et des tests automatisés (réalisés via Cucumber) a également nécessité une phase d’adaptation.
Pour relever ces défis, j’ai bénéficié de l’aide précieuse d’un architecte de chez Quadient, avec qui j’ai pu travailler sur la réécriture du code lié à l’ancienne version de SocketCluster. Mon travail consistait à effectuer cette mise à jour sans altérer les fonctionnalités existantes, tout en assurant que les tests automatisés continuent de passer avec succès.
Résultats et impact
Grâce à cette mise à jour, l’équipe a pu renforcer la sécurité des communications entre les machines GEN3 et les serveurs, tout en améliorant la scalabilité du système. Cette réussite sera un modèle pour la mise à jour des autres générations de machines à l’avenir.
Bilan personnel : Une expérience formatrice
Ce stage chez Quadient m’a permis de développer de nombreuses compétences, tant professionnelles que techniques. J’ai appris à travailler dans un environnement agile avec des méthodologies comme Scrum, et à manipuler des technologies comme websockets et NodeJS. Malgré la difficulté de travailler à distance, j’ai pu m’adapter et m’immerger dans un environnement de développement de haut niveau.
Cette expérience m’a également permis de réaliser à quel point le travail en équipe et la communication sont essentiels dans un projet d’envergure. Bien que ce stage ait mis en lumière certaines lacunes dans ma formation initiale, il m’a aussi donné les outils pour continuer à progresser et à approfondir mes connaissances.
Ce stage chez Quadient a été une étape clé dans mon parcours, me donnant non seulement un aperçu du monde professionnel, mais aussi des compétences techniques concrètes qui me seront utiles pour la suite de ma carrière.