Julian BRUYAT

Bienvenue sur mon portfolio

Je suis doctorant à l'INSA Lyon au sein du laboratoire LIRIS et de l'équipe TWEAK. Ma thèse porte sur l'interopérabilité entre les graphes de propriétés et le web sémantique.

Julian BRUYAT
Développeur

29 ans
Région lyonnaise
Français (langue maternelle) - Anglais courant
Permis B

Formation

2020 - En cours : Doctorat en Informatique

INSA Lyon / Laboratoire LIRIS (69100 Villeurbanne)
Des graphes de propriétés aux graphes de connaissances

2017 - 2020 : Master Informatique

Université Claude Bernard Lyon 1 (69100 Villeurbanne)

2016 - 2017 : 3eme année de Licence en Informatique

Université Aix-Marseille, Faculté des sciences Aix-Montperrin (13090 Aix-en-Provence)

2014 - 2016 : BTS SIO, spécialité SLAM

Centre Scolaire Notre Dame (69400 Villefranche-sur-Saone)
Brevet Technicien Supérieur : Services Informatiques aux Organisations, spécialité Solutions Logicielles et Applications Métiers

Expériences Professionnelles

3 Février 2020 - 31 Juillet 2020 : Stage sur le sujet "Web Assembly pour le Web sémantique"

Laboratoire LIRIS - Equipe TWEAK (69100 Villeurbanne)
• Exportation des Datasets RDF de Sophia de Rust vers Web Assembly
• Implémentation d'un dataset RDF en Rust pour Web Assembly et Javascript
• Mesure de performances

11 Janvier 2016 - 19 Février 2016 : Stage de développement d'application en VBA Excel

Blanchisserie Morellon (69210 Lentilly)
• Création d’un prévisionnel de charges à partir de données extraites sur le logiciel de facturation de l’entreprise. Ce logiciel permet également de générer des graphiques sur l’activité annuelle.
• Assurer un suivi utilisateur de l’application de création de planning, proposer et réaliser des améliorations afin d’en améliorer l’ergonomie, ainsi que de réparer les bugs

26 Mai 2015 - 26 Juin 2015 : Stage de développement d'application en VBA Excel

Blanchisserie Morellon (69210 Lentilly)
• Conception de macros en VBA Excel afin d’automatiser la création des plannings de la semaine de l’usine. Le but étant ensuite de pouvoir imprimer des plannings différents pour les différents postes, ne contenant que les informations les concernant.

Compétences

Les outils auxquels je suis le plus habitué sont les suivants


Langages de programmation

  • Bas niveau : C++17, Rust
  • Haut niveau : Java, Javascript, Python

Bases de données

  • MySQL / MSSQL

IDE

  • Visual Studio / Visual Studio Code
  • IntelliJ / PyCharm

Systèmes d'exploitation

  • Windows 7 / 10
  • Linux (Ubuntu)

Autres outils que j'ai
pratiqués par le passé

  • Autres langages : C, C#, PHP, VBA, Assembleur (ARM / NASM)
  • Autres paradigmes : Fonctionnel (OCaml), Prolog
  • Programmation pour Android avec Android Studio

Contact

Vous pouvez me contacter par email à l'adresse pro [a entouré] suivi du nom de domaine du site.
Votre email me sera transmis sur ma "vraie" boite email, que je ne met pas en public afin de limiter l'impact des robots spammeurs.

Par le passé, je proposais un formulaire sur cette page, que j'ai décidé de retirer pour avoir un site intégralement statique.

Projets de Master

Février 2020 - Juillet 2020 : Web Assembly pour le Web Sémantique

Lire le rapport - Présentation

Wasm-ify Sophia - WasmTree (@bruju/wasm-tree)

Dans le cadre du stage de Master 2, j'ai travaillé sur un projet visant à faire améliorer les performances du Web Sémantique grâce au Web Assembly.
Ce stage a été réalisé au sein du laboratoire LIRIS dans l'équipe TWEAK.
Lors d'une première phase exploratoire, nous avons exploré les possibilités d'exporter des Datasets issus de Sophia vers Web Assembly. Face au manque d'efficacité de cette méthode, nous avons fait le choix de nous détacher de Sophia pour proposer un objet Javascript dont seule la gestion des indexes de termes est gérée par Web Assembly

Janvier - Juin 2019 : Outillage pour l'étude des passes de LLVM

Lire le rapport - Poster

Dans le cadre de l'unité d'enseignement "Projet d'Orientation en Master" en M1, j'ai été amené à travailler sur le compilateur LLVM et plus particulièrement sur la réalisation d'un outillage permettant d'étudier l'ordre des passes d'optimisation de LLVM.
Ce projet a été réalisé au laboratoire LIP (Laboratoire de l'Informatique du Parallélisme) au sein de l'équipe CASH (Compilation and Analysis, Software and Hardware).
Les contributions principales de ce projet sont l'identification des obstacles pour benchmarker des ordres de passes et la proposition d'une solution se reposant sur la Test Suite de LLVM.
Par la suite, un autre stagiaire a repris mon travail et l'ensemble du code produit est disponible sur Github

Projets réalisés en cours

Janvier 2020 : The dynamics of collective sorting robot … in a HTML page

Codé en : HTML / CSS / Javascript

Le rendu directement sur votre navigateur - Dépôt du projet


Un des TPs que j'ai dû réalisé se reposait sur l'article The dynamics of collective sorting robot-like ants and ant-like robots de Jean-Louis Deneubourg.
L'objectif de ce TP est de placer sur une grille des éléments de manière aléatoires, et de les faire trier par couleur par des petits agents indépendants avec une intelligence très limitée (symbolisés en noir).
Le choix du langage étant libre, afin d'avoir un code facile à lire, à compiler et à exécuter, j'ai eu l'idée de réaliser ce projet sous la forme d'un unique fichier html.
Aimant beaucoup trop le rendu final, je met ce TP en avant ici.

Octobre 2015 - Avril 2016 : Azure Lemon - Application Azure School

Technologies utilisée : Android Studio, Java, Eclipse, PHP

Durant toute ma seconde année de BTS SIO 2, nous avons réalisé en groupe de trois une application qui pourrait être potentiellement utile pour une école.

A ce titre, nous avons développé une application nommée Azure School (en référence en nom de notre entreprise fictive Azure Lemon) proposant les fonctionnalités suivantes :

  • Gestion des devoirs
  • Visualisation des absences et retard
  • Visualisation des repas du self
  • Possibilité de participer à des quizzs proposés par les enseignants
  • Gestion de la liste d’appel (possibilité pour les élèves de savoir quand ils en sont chargés et pour les enseignants d’avoir la liste directement sur leur téléphone)

L’application a été développée avec la technologie Android (Java). Le site web complémentaire à l’application a lui été développé sous PHP. L’ensemble tourne sur une base de donnée en MySQL sur l’application exemple.

Projets en stage

Hiver 2016 : Prévisionnel de charges

Technologies utilisée : Microsoft Excel, VBA

A partir de l'extraction du logiciel de facturation de la Blanchisserie Morellon, le but est de pouvoir repertorier par catégories les différents articles loués.
Ces données permettent ensuite de générer des graphs de l'évolution de l'activité et de la productivité.
En utilisant une estimation de l'évolution de l'activité saisie par l'utilisateur, l'application est capable d'estimer les besoins horaires requis pour une semaine future.

Printemps 2015 : Générateur de planniong

Technologies utilisée : Microsoft Excel, VBA

L'objectif était de concevoir un logiciel permettant de standardiser les plannings distribués dans la Blanchisserie Morellon en proposant une interface de saisie.
Le logiciel peut stocker la liste des clients ainsi que la liste des articles qu'ils possèdent afin de générer des plannings différents avec seulement les types de clients voulus.

Le logiciel a été developpé lors du Printemps 2015 et a été modifié fin janvier 2016 aprés avoir reçu le retour des utilisateurs

Projet personnel

Avril 2015 / Semestre 2 de 2018 : Lecteur de fichiers RPG Maker 2003

Langage de programmation utilisé : Java

Code source disponible sur git (Licence MIT)
Déchiffreur de fichiers
Traducteur des instructions
Implémentations détournées des instructions pour un cas pratique

RPG Maker 2003 est un logiciel de création de jeux vidéo s'adressant à un public ne sachant pas programmer. Il se repose sur de la programmation faite à la souris en choisissant les instructions que l'on souhaite dans un menu. Bien qu'il propose des systèmes de base pour les combats, les boutiques, les menus …, de nombreux créateurs reprogramment leurs propres systèmes avec le système "d'évènements" du logiciel. Ces systèmes, si ils marchent, ne permettent pas vraiment d'extraire facilement les données et d'avoir une vue d'ensemble. Le but global de ce projet est d'adresser ce problème.

Appréciant fortement un jeu créé sur RPG Maker 2003, le projet de base consistait à extraire des suites d'instructions présentes (exemple : Si la variable 50 (id du monstre) vaut 80, alors mettre la variable 55 (hp du monstre1) à 50, la variable 87 (force du monstre 1) à 40 etc) en un tableau des statistiques des monstres lisibile pour l'humain. Le but est donc de détourner les instructions inscrites.

Le projet a ensuite évolué afin d'automatiser l'extraction des instructions des fichiers (qui devaient être copier collées par l'utilisateur à la base) et simplifier la mise en place de nouvelles implémentations.

En l'état actuel, le projet se décompose en trois sous projets : une bibliothèque de lecture générique de fichiers RPG Maker 2003 capable de déchiffrer le format binaire, une bibliothèque chargée de donner un sens aux instructions (à la base inscrites et présentées sous la forme code de l'instruction - une chaîne de caractères - un tableau de nombres), et enfin une petite application où j'implémente tous les cas pratiques qui m'interessent.

Le choix de Java a été fait à l'origine pour que je puisse facilement revenir sur le code, ce projet répondant à un besoin qui est ponctuel mais régulier (quelques fois par années pour établir des tableaux de statistiques). L'implémentation actuelle a permis néanmoins d'étendre les usages (en lisant non plus seulement les monstres, mais également en essayant d'extraire les formules de dégâts des attaques, la liste des objets vendus dans les diverses boutiques …).