Stage - Développement d'un éditeur de programmation par blocs

Localisation

Paris ou Montpellier, France

L'entreprise :

DecisionBrain est une jeune entreprise internationale qui développe et vend des solutions logicielles d'aide à la décision

Le stage se déroulera de préférence dans nos bureaux à Paris (10e) ou à Montpellier (Millénaire). Le télétravail est possible s'il est imposé par la réglementation.

Decision Optimization Center

DecisionBrain développe une plateforme d'optimisation pour créer, déployer et maintenir des solutions d'aide à la décision entièrement évolutives. Rapidement, facilement, efficacement. Cette plateforme nommée DOC accélère la création et le déploiement de solutions d'aide à la décision. Elle est écrite en Java pour le back-end et en Angular pour le front-end, et repose sur un certain nombre de technologies telles que Spring, Docker, etc.

Description du poste :

L'une des caractéristiques de la plateforme DOC est de fournir un langage de script dédié à l'orchestration du processus de décision Grâce à ce langage, le développeur ou la développeuse qui utilise la plateforme peut écrire des scripts dans lesquels il/elle demande des informations à l'utilisateur, déclenche des tâches d'optimisation, récupère des données à partir d'une base de données ou les y enregistre, etc.

Pour l'instant, le langage de script n'a pas de syntaxe concrète. Le seul moyen d'écrire un script est d'écrire un code Java qui crée les objets qui composent l'arbre de syntaxe abstraite de votre script. Parmi les différentes possibilités d'une syntaxe concrète, une syntaxe basée sur les blocs est au centre de ce stage.

Le but de ce stage est d'étudier et de développer un éditeur de script visuel basé sur la bibliothèque Blockly de Google (https://developers.google.com/blockly/). Votre mission inclut :

  • La définition du lexique graphique correspondant aux expressions et instructions du langage script.
  • Selon les cas, cela consistera soit à configurer les composants existants de Blockly, soit à en écrire de nouveaux.
  • L'intégration de l'éditeur basé sur la bibliothèque Blockly dans notre interface utilisateur Angular
  • Définition d'un format de persistance et d'échange pour les scripts, basé sur les documents XML produits par Blockly.
  • Le développement des fonctionnalités de gestion des scripts du côté de Java.
  • Compétences

    Le sujet du stage touche à une variété de technologies. La majeure partie de sa complexité vient de là, et probablement une partie importante de son intérêt aussi. Nous n'attendons pas du candidat ou de la candidate qu'il/elle maîtrise pleinement toutes ces technologies, mais il/elle doit posséder de solides compétences dans un nombre suffisant d'entre elles pour pouvoir acquérir les technologies manquantes. Les technologies en question comprennent :

    • Le développement back-end, de préférence en Java. L'utilisation d'un framework d'injection de dépendances tel que Spring. Une connaissance des bases de données, en particulier MongoDB.
    • Le développement Front-end, de préférence avec Angular.
    • Les systèmes de versionnement, de préférence Git. Les outils de compilation tels que Gradle ou Maven.

    Au-delà des compétences techniques, le/la candidat(e) doit être autonome et capable de collaborer efficacement avec les équipe de DecisionBrain. Des niveaux raisonnables en français parlé et en anglais écrit sont obligatoires.

    Qui sommes nous ?

    Chez DecisionBrain, le travail en équipe est primordial; il nous rend plus efficace et productif et nous permet de fournir de meilleurs résultats à long terme à nos clients. Si vous souhaitez rejoindre notre équipe, nous recherchons des personnes qui sont non seulement passionnées par les logiciels et la technologie, et qui en même temps partagent notre vision et nos valeurs et ainsi contribuent à constituer une équipe solide.

    Vous rejoindrez une jeune entreprise visionnaire et en pleine croissance, vous pourrez avoir un impact direct sur son évolution et son succès. Vous évoluerez rapidement avec une équipe très expérimentée et dynamique, et travaillerez avec des clients du monde entier.

[contact-form-7 id="1760" title="Formulaire de contact Emplois"]