Passion.Création.Innovation.

“The advance of technology is based on making it fit in so that you don’t really even notice it, so it’s part of everyday life.”
Photo de Mathis Goichon

À Propos

Je suis Mathis Goichon, apprenti ingénieur en informatique de l’INSA de Lyon. Je travaille au sein de la direction des systèmes d’information d'Orange France en tant que développeur logiciel.

Passionné, autonome et rigoureux, j'aime m'impliquer dans des projets innovants et proposer des axes d'amélioration pertinents.

Ayant le sens du détail, je m'attache à concevoir des outils simples, élégants et performants.

Compétences

Microservices - Cloud Native

Spécification et développement de microservices REST dans une approche Design First et Code First. Utilisation de Swagger et génération de code avec OpenAPI Generator. Développement en Java/Kotlin Spring Boot.

IHM - Fluidité & Réactivité

Réalisation d'IHMs avec Angular et Svelte. Utilisation du framework Bootstrap et excellente maîtrise du CSS. Approche par composants afin de favoriser la réutilisabilité. Très grande attention portée aux détails et à la fluidité du visuel.

Cloud - DevOps

Mise en place de chaînes de CI/CD complètes avec GitLab CI/CD. Etape de build jusqu'au déploiement en passant par l'analyse statique, les tests et la gestion d'environnements. Contribution au projet open source to-be-continuous.

Gestion de projet - Agilité

Familié avec la gestion de projet agile (Scrum/Kanban) et les différentes cérémonies : daily, weekly, démonstrations et rétrospectives. Accompagnement et coordination de différentes équipes de développement au sein d'une activité transverse.

Télécharger mon CV

Réalisations

Médiation de services

Structurer et organiser un collectif au sein d'un projet transverse

Dans le cadre de mon projet de fin d'étude, j'ai travaillé sur un projet dont l'objectif est de proposer un ensemble de microservices mutualisés à destination de différentes applications en production au sein de l’entité B2B d'Orange France. Le projet permet d’effectuer les traitements du SI en offrant la possibilité de composer les processus, diminuant ainsi la complexité du patrimoine applicatif de l’entité. Il permet notamment de collecter des données de différentes sources et de les agréger en suivant différentes règles métiers pour masquer cette complexité aux applications appelantes. Enfin, il fournit un cache de haute disponibilité pour réduire le nombre d’appels auprès des partenaires afin d’augmenter la performance et la résilience. Au niveau de la volumétrie, le projet expose 40 microservices qui sont appelés par 16 applications en production au sein de l’entité. Dans ces applications, il y a notamment différents espaces clients, portails ou chatbots à destination des clients professionnels d'Orange. Le projet s’appuie sur 60 partenaires métiers du système d’information et représente un volume quotidien moyen de 2 millions de requêtes. Ce volume représente entre autre une très grande part de l'activité associée aux clients Pro/PME ainsi qu'une part des clients Entreprises d'Orange. Dans ce contexte, j'ai pu intégrer le cycle de vie d'un projet à haute valeur ajoutée, allant de la conception avec les business analysts jusqu'à la gestion de la production et la supervision. Par ailleurs, j'ai pu travailler sur la mise en oeuvre d'une solution de visualisation sur l'usage des caches afin de mieux les valoriser. J'ai également contribué à la mise en place d'un serveur de Mock qui a vocation à devenir une solution nationale afin de faciliter les interactions en offrant aux fonctionnels les moyens de créer facilement un comportement métier sans développement. Enfin, j'ai accompagné et coordonné différentes équipes de développement au travers de différents workshops.

Démonstrateurs d'architectures

Contribution à la communauté des architectes d'Orange France

Dans le cadre de mon apprentissage pour devenir ingénieur en informatique, j'ai intégré une équipe qui vise à réaliser des préconisations et des démonstrations d’architectures pour la communauté des architectes d'Orange France. Cette équipe regroupe des experts de manière ponctuelle, reconnus dans différents domaines afin de contribuer sur les points techniques. Le projet vise notamment à illustrer des préconisations d’architectures fonctionnelles, techniques et logicielles via des démonstrateurs et des PoCs. Ce projet illustre alors différents cas d’usages disponibles en ligne via une boutique fictive. C'est également un support pour différentes formations internes Orange. C'est dans ce cadre que j'ai conçu et mis en oeuvre un démonstrateur d'architecture sur le GreenIT. J'ai réalisé une refonte de l'IHM de l'application en Svelte, et fait une comparaison (poids du DOM, des scripts, charge mémoire, etc.) avec l'IHM précédente écrite en Angular. Cela m'a conduit à faire un retour d'expérience sur la technologie Svelte et j'ai présenté mes résultats à la communauté. De plus, j'ai mis en place des chaînes de CI/CD complètes (Build, Test, Analyse de qualité, Déploiement Blue/Green, Recette, Rollback) afin d'illustrer le développement dans une démarche DevOps. Par ailleurs, j'ai maintenu les démonstrateurs en place en stabilisant certains partenaires, en incrémentant les versions Java Spring Boot, Angular et en gérant les dépendances Maven.

Contribution au projet to-be-continuous

Généralisation du template Node et développement d'un sample pour Svelte

To be continuous est un projet open source qui propose un ensemble de modèles GitLab CI développés et maintenus par des experts DevOps permettant de construire des pipelines CI/CD à l'état de l'art en quelques minutes. Ainsi, il suffit d'inclure les modèles souhaités (Maven, Gradle, Node, SonarQube, Postman, etc.) et d'initialiser quelques variables afin d'obtenir un pipeline production ready. Dans le contexte de la mise en oeuvre de chaînes de CI/CD, j'ai eu l'opportunité de contribuer sur le template Node. Ce template permet notamment d'effectuer l'étape de Build pour les projets utilisant comme gestionnaire de paquets npm. Le but de ma contribution a été de généraliser l'usage de ce template afin qu'il soit possible d'utiliser le gestionnaire de paquets Yarn. L'objectif final est alors de permettre l'usage de ce template à tous les projets utilisant npm ou yarn comme gestionnaire de paquets (notamment les projets Node, React, Vue, Svelte, etc.). Par ailleurs, j'ai également réalisé un sample pour une application Svelte utilisant le template Node pour les étapes de Build, Lint et Audit ; le template Sonar pour l'analyse statique de la qualité du code ; et enfin le template S3 pour le déploiement dans un conteneur Amazon S3. L'objectif de ce sample est d'illustrer comment utiliser l'outil pour une application Svelte. Au delà de l'aspect technique, cette contribution open source m'a permis d'améliorer ma rigueur de développement, de mieux nommer et découper mes commits en respectant différentes normes (notamment le semantic release), de structurer mes contributions au travers de merge/pull request avec des revues de codes, commentaires, échanges, etc.

Au delà des réalisations présentées, j'ai eu l'occasion de découvrir d'autres problématiques dans des contextes différents, que ce soit lors de formations ou de projets académiques. J'ai, par exemple, suivi une formation K8S de 3 jours donnée par l'entreprise Takima, avec notamment la mise en place d'une architecture GitOps à partir de Gitlab, Ansible, Terraform, K8S et AWS. Il y a d'ailleurs eu un talk par Takima de 3h au Devoxx France 2023 sur le sujet : voir ici. Par ailleurs, j'espère réellement avoir l'opportunité d'assister (voire de participer) au Devoxx les années à venir ; en attendant je me réjouis des rediffusions sur YouTube. Du point de vue académique, j'ai eu l'occasion de travailler sur un moteur de recherche de Grandes Ecoles Françaises entièrement fondé sur la base de connaissance DBPedia et sur le Web Sémantique : projet ici. J'ai également contribué à la réalisation d'un compilateur C, avec notamment la rédaction de la grammaire, d'une représentation intermédiaire et de quelques optimisations : projet ici. J'ai aussi participé à la création d'un agrégateur de données sur fenêtre glissante sur des objets contraints dans le web des objets (IoT). L'objectif est notamment de déporter au maximum le traitement de la donnée sur les objets en local en limitant l'usage du Cloud et la charge réseau associée : pré-publication ici. Enfin, j'ai eu l'opportunité de mettre en oeuvre des pipelines de traitement de données issues des principaux exchanges centralisées (Binance, Bitfinex, Coinbase, etc.) avec pour objectif de fournir des visualisations permettant d'assister les acteurs dans leurs décisions.

Contact

mathisgoichon@gmail.com 06 29 83 49 39