Les missions du poste
Les industries de télécom connaissent un écosystème mouvant et des transformations technologiques majeures. Elles doivent fiabiliser leurs infrastructures, leurs applications Telco Cloud et anticiper les évolutions rapides des usages et du trafic sur le réseau. Face à des risques de pannes d'envergure, l'exigence de résilience est forte. Elle requiert des mises à jour logicielles fréquentes et la maîtrise de la complexité inhérente de ces systèmes distribués et dynamiques. Les opérateurs Kubernetes sont devenus des contrôleurs logiciels clés pour la gestion du cycle de vie du Telco Cloud. Malgré l'existence de kits de conception et de guides de bonnes pratiques, la diversité des implémentations et les spécificités métiers de ces opérateurs laissent place à des bugs internes, reconnus difficiles à détecter. Les causes sont multiples : configurations incorrectes des ressources manipulées par ces opérateurs, défauts d'ordonnancement des étapes nécessaires au cycle de vie, concurrence entre opérateurs. Les conséquences prennent différentes formes : panne, blocage, faille de sécurité, perte de données, consommation inutile de ressources. Dans un contexte GitOps et CI/CD, elles concernent toutes les phases du cycle de vie des ressources déployées dans le Cloud. Le fonctionnement des opérateurs Kubernetes, stable, reproductible et sécurisé est crucial. Des travaux académiques récents proposent de générer automatiquement des plans de test ou de la vérification formelle du comportement d'un opérateur avant déploiement. Ces approches se limitent à l'analyse d'un unique opérateur Kubernetes. Elles ne couvrent pas les interactions complexes entre opérateurs, qui provoquent des situations de conflits ou de dépendances critiques, difficiles à déceler lors des phases de réconciliation. Le déploiement de ressources par un opérateur est compromis s'il reste en attente de ressources supprimées ou bloquées par un autre opérateur.
L'objectif de la thèse est de développer des techniques de vérification continue du comportement des opérateurs, fondées sur de l'analyse statique automatisée de leur code en intégrant leurs interactions et l'état réel des ressources déployées. Il s'agit par exemple de vérifier le risque de concurrence entre opérateurs sur une même ressource. L'approche doit répondre aux exigences de déploiement multi-clusters, à grande échelle, d'expressivité des propriétés à garantir et conduire au développement d'outillages intégrables dans des processus CI/CD.
Le profil recherché
Des compétences en langages de programmation, sémantique, modélisation et vérification formelles sont recherchées pour le poste. En outre, vous présentez une appétence pour le développement d'outils, la validation expérimentale sur plate-forme. Des compétences en Golang, Rust et/ou Python, Linux seront utiles.
Vous disposez également d'une aisance tant à l'oral qu'à l'écrit en français et en anglais, êtes curieux.se, méthodique, autonome, motivé.e par la recherche en milieu industriel, avez un esprit de synthèse, êtes capable de vous intégrer à une équipe de recherche et de travailler en mode collaboratif.
Une première expérience en modélisation d'architecture logicielle répartie, en virtualisation d'infrastructure réseau ou avec les opérateurs Kubernetes serait un plus. Une contribution à la soumission d'un article scientifique serait également fortement appréciée.
Infos complémentaires
Les étapes de recrutement
Les étapes de recrutement peuvent varier selon l'offre à laquelle vous postulez.
-
Proposition d’entretien ou réponse négative dans les 15 jours après votre candidature
-
Entretien en visio ou présentiel avec le/la consultant(e) en recrutement sous 15 jours
-
Rencontre en visio ou présentiel avec le/la manager
-
Votre candidature est retenue, félicitations ! Vous recevez votre proposition d'embauche
-
Bienvenue chez Orange :) votre programme d’intégration démarre
-
En cas de réponse négative, nous restons à votre disposition pour un debrief
-
Orange en images
Publiée le 16/04/2026 - Réf : 29101240 2026-51681