STAGE 2026 - Génie logiciel - MoTion: Model transformaTion -F/H

Stage
Limonest
Salaire : 5,4K à 6K €
Éducation : Bac +5 / Master
Postuler

Berger-Levrault
Berger-Levrault

Cette offre vous tente ?

Postuler
Questions et réponses sur l'offre

Le poste

Descriptif du poste

🔍 Sujet : MoTion - Model transformaTion

 

 

🧩 Contexte :

 

MoTion (venant de MOdel transformaTION) est un langage et un outil de pattern matching avancé qui fonctionne dans Pharo. Avec MoTion, des patterns peuvent être exprimés en utilisant un syntaxe spécifique, afin de rechercher des correspondances dans un modèle importé dans Pharo. Dans la plupart des cas, MoTion est utilisé pour trouver des correspondances dans des modèles représentant des logiciels qui peuvent être codés en Java, TypeScript, etc. Par exemple, les développeurs peuvent utiliser MoTion pour trouver toutes les structures if/else dans un modèle représentant un logiciel programmé en Java.

Pour le moment, MoTion fonctionne très bien pour effectuer du pattern matching, grâce à deux points forts :

  • La flexibilité qu’il offre pour déclarer un pattern de manière déclarative.
  • La variété des symboles utilisés pour exprimer un pattern, dont certains permettent des fonctionnalités complexes, comme la recherche répétée (repeated search), qui effectue des recherches récursives jusqu’au bout afin de trouver toutes les correspondances possibles.

Par contre, MoTion, et comme son nom l’indique, était également censé réaliser des transformations, et pas seulement des recherches. Ce principe est bien connu dans le contexte de la transformation de modèles, comme avec ATL et QVT, où le pattern matching est utilisé pour identifier des correspondances dans des modèles. Cependant, avec ces langages, les développeurs peuvent aussi exprimer des règles de transformation, qui permettent de transformer les éléments d’un modèle, trouvés à l’aide du pattern matching suivant un motif A, en d’autres éléments correspondant à la description d’un motif B, appelé motif cible.

 

 

🎯 Objectif : Le stage aura donc comme objectif de pouvoir ajouter cette fonctionnalité de transformation d’un motif A vers un motif B des modèles FAST (qui représentent l’AST d’un source code).

 

 

🛠️ Missions :

  • Explorer Pharo et Moose (Famix, FAST, MoTion …) étant débutant.

  • Ajouter 2 fonctionnalités pour MoTion pour pouvoir comprendre comment cela fonctionne: match avec des nombres et limited recursive

  • Faire des recherches pour comprendre comment les transformations sont faites au niveau AST (par exemple avec ATL ou QVT ou autres …)

  • Appliquer la transformation sur MoTion + ajouter des tests


Profil recherché

  • Vous êtes étudiant(e) en dernière année d’école d’ingénieur ou équivalent universitaire (BAC+5), ayant une orientation en Génie Logiciel et vous recherchez un stage de 6 mois débutant au printemps 2026.
  • Vous possédez un langage orienté objet (Java, C#, Pharo, …).
  • Vous utilisez un environnement Git.
  • Vous avez une capacité rédactionnelle et de synthèse.
  • Vous faites preuve d’autonomie.

Déroulement des entretiens

  • Postulez via notre espace candidat.
  • Si votre profil nous fait lever un sourcil, attendez-vous à recevoir un appel pour un premier échange téléphonique
  • Vous avez réussi à piquer notre curiosité ! Attendez-vous à ce qu'on vous propose un deuxième échange, que ce soit à distance ou dans nos locaux. Et naturellement, on ne vous laissera pas en plan, vous aurez une réponse de notre part, que cela soit positif ou négatif
  • DIVERSITE ET INCLUSION : CHEZ NOUS, C’EST PLUS QU’UNE POLITIQUE, C’EST UNE FORCE !

    Nous nous engageons à :

  • Accueillir et intégrer les talents uniques des personnes en situation de handicap
  • Cultiver une culture d'inclusion où la différence est valorisée
  • Sensibiliser et accompagner nos équipes aux enjeux de diversité
  • Parce que la singularité de chacun est une richesse, nous mettons tout en place pour que chaque collaboratrice et collaborateur puisse s'exprimer et s'épanouir pleinement.

    Envie d’en savoir plus ?

    D’autres offres vous correspondent !

    Ces entreprises recrutent aussi au poste de “Développement de logiciels et de sites Web”.

    Postuler