Contrat : STAGE
Description du poste :
Contexte
Berger-Levrault développe de nombreuse applications en utilisant le framework Angular et Spring Boot. À mesure que les applications web deviennent de plus en plus complexes et évolutives, la nécessité d’une sérialisation des données efficace devient cruciale pour garantir des performances optimales, une rapidité accrue et une meilleure utilisation des ressources.
Traditionnellement, JSON est utilisé pour la sérialisation des données dans les APIs REST en raison de sa simplicité et de sa large compatibilité. Cependant, la nature textuelle de JSON conduit souvent à des tailles de charges utiles plus importantes, à un temps d’analyse plus long et à une consommation accrue des ressources. En revanche, Protobuf, développé par Google, offre une approche de sérialisation binaire plus efficace. Il peut réduire considérablement la taille des données, accélérer la sérialisation et la désérialisation, et diminuer l’utilisation du CPU, ce qui en fait une alternative robuste à JSON pour améliorer les performances et réduire la consommation d’énergie dans les services web.
Au sein de la DRIT, Direction de la Recherche et de l’Innovation, de Berger-Levrault, nous sommes amenés à concevoir des outils permettant de faciliter le travail des équipes de
productions. En particulier, nous avons proposé une approche semi-automatisée pour le refactoring des bases de code existantes des APIs REST, garantissant un remplacement transparent de la sérialisation JSON par Protobuf.
Objectif
L’objectif de ce stage est d’appliquer cette approche à plusieurs applications chez Berger-Levrault afin d’évaluer son efficacité dans des scénarios réels. L’évaluation se concentrera sur des indicateurs clés tels que la réduction de la taille des données des charges utiles, l’amélioration du temps de réponse, l’utilisation du CPU et la consommation d’énergie. Les résultats fourniront des informations précieuses sur les avantages et les défis de la migration des approches de sérialisation des données dans les applications web modernes.
Date de démarrage du stage : Printemps 2025
Stage conventionné avec gratification (jusqu’à 1000€ par mois)
️ Les titres-resto à 11€ / jour travaillé (prise en charge employeur de 6€)
✈️ Si vous n’êtes pas basé en France et que votre école est à l’étranger > nous prenons en charges vos billets A/R (de début et fin de stage).
Ce stage s’adresse à un(une) étudiant(e) en dernière année d’école d’Ingénieur ou équivalent universitaire (BAC+5), ayant une orientation en Génie Logiciel.
La personne candidate doit posséder les qualifications suivantes :
Maîtrise de Java
Familiarité avec Spring Boot, REST API et gRPC
Compréhension de JSON, des Protocol Buffers (Protobuf) et de leurs rôles dans la sérialisation des données
Analyse et refactorisation du code sont un plus
Outils de surveillance des performances des applications web
Utilisation d’environnement git (GitLab)
De plus, nous demandons à la personne candidates:
Compétences analytiques et de résolution de problèmes
Un travail autonome avec compte rendu régulier
Une grande réactivité face aux défis techniques
Capacité rédactionnelle et de synthèse
Une maitrise de l’anglais
Curiosité pour les pratiques de génie logiciel durable
Lieu : Mauguio
Niveau d’études min. requis : 5- Master ou MBA