STAGE - Ingénieur Logiciel Embarqué - Générateur de code / Interface - F/H
Location: Elancourt
Lieu : Elancourt, France
Construisons ensemble un avenir de confiance
Thales est un leader mondial des hautes technologies spécialisé dans trois secteurs d’activité : Défense & Sécurité, Aéronautique & Spatial, et Cyber & Digital. Il développe des produits et solutions qui contribuent à un monde plus sûr, plus respectueux de l’environnement et plus inclusif. Le Groupe investit près de 4,5 milliards d’euros par an en Recherche & Développement, notamment dans des domaines clés de l’innovation tels que l’IA, la cybersécurité, le quantique, les technologies du cloud et la 6G. Thales compte près de 85 000 collaborateurs dans 65 pays.
Nos engagements, vos avantages
Notre savoir-faire technologique
Notre attention portée à l’équilibre des collaborateurs
Un environnement inclusif et bienveillant
Un engagement sociétal et environnemental reconnu (Thales Solidarity, indice CAC 40 ESG…)
Votre quotidien
Au coeur de Saint Quentin en Yvelines, le site d'Elancourt est un des centres d’excellence technologique Thales les plus importants. La diversité et la technicité des systèmes et équipements mobilisent des savoir-faire dans plus de 80 métiers dans les solutions de défense, de sécurité de haute technologie et de services numériques.
Dans le cadre du développement logiciel embarqué et des systèmes distribués, les interfaces entre composants sont souvent définies à l’aide de fichiers IDL (Interface Description Language). Ces fichiers permettent de décrire de manière standardisée les structures de données, les méthodes et les types utilisés par un système.
L’objectif de ce stage est de concevoir et développer un générateur de code automatique capable de transformer un fichier IDL en plusieurs sorties :
- Un fichier C contenant les descriptions d’interfaces,
- Un fichier C++ contenant les descriptions d’interfaces.
- Un fichier de conversion automatique entre les structures C++ et les structures C.
Le générateur utilisera probablement des templates Jinja pour automatiser la génération de code, garantissant ainsi une cohérence et une maintenabilité accrues.
En nous rejoignant, vous vous verrez confier les missions suivantes :
Analyser le format IDL
- Comprendre la syntaxe et les spécificités du format IDL.
- Identifier les éléments clés à extraire (structures, interfaces, types, méthodes).
Concevoir l’architecture du générateur
- Définir une architecture modulaire pour le traitement des fichiers IDL.
- Choisir les technologies adaptées (ex : Python pour le parsing, Jinja pour les templates).
Développer le parseur IDL
- Implémenter un analyseur syntaxique pour extraire les informations du fichier IDL.
- Valider la conformité des fichiers d’entrée (gestion des erreurs, validation des structures).
Générer les fichiers de sortie
- Fichier C : Générer une description d’interface en C, compatible avec les standards du langage.
- Fichier C++ : Générer une description d’interface en C++, en exploitant les fonctionnalités modernes du langage (ex : classes, namespaces).
- Fichier de conversion : Créer un mécanisme automatique pour convertir les structures C++ en structures C (et vice versa), en utilisant des templates ou des macros.
Automatiser la génération avec Jinja
- Concevoir des templates Jinja pour chaque type de sortie (C, C++, conversion).
- Intégrer ces templates dans le processus de génération pour une production flexible et maintenable.
Valider et tester le générateur
- Tester le générateur avec des fichiers IDL représentatifs, vérifier la cohérence des sorties (C, C++, conversion) et leur conformité aux attentes.
Votre profil
- Vous suivez un cursus de niveau BAC+5 en informatique et vous recherchez un stage de 6 mois ?
- Vous avez idéalement une 1ère expérience dans la génération de code ?
- Vous maitrisez le langage de programmation C++ et Python ?
- Vous êtes à l'aise sur les environnements Unix/Linux ?
- Vous avez des notions sur le générateur de code ?
- Vous faites preuve de rigueur et d'autonomie ?
- Alors ce stage est fait pour vous !
- Tous nos stages sont conventionnés et soumis à une gratification dont le montant est déterminé selon votre niveau d’études.
- Thales, entreprise Handi-Engagée, reconnait tous les talents. La diversité est notre meilleur atout. Postulez et rejoignez nous !
Job description provided by Thales.
View the original posting