Bonjour, je suis Yan Buatois, étudiant en troisième année de licence d'informatique à l'Université de Montpellier.
Je suis âgé de ans et passionné d'informatique depuis toujours.
En effet, j'ai réalisé mes premiers programmes peu avant l'âge de 10 ans, et ai continué à me renseigner à ce sujet en parallèle de mes études au collège, puis au lycée,
avant d'entrer en DUT informatique, qui m'a permis d'acquérir de nombreuses compétences, d'un point de vue plus professionnel.
Cela m'a permis de découvrir plusieurs langages et façons de réfléchir propres à la programmation avant-même de commencer mes études d'informatique.
Au cours de ces deux années de formation, j'ai pu acquérir de nombreuses compétences au niveau de l'informatique, en apprenant de nouvelles méthodes de travail, de nombreux langages de programmation, ainsi que plusieurs technologies, mais aussi des compétences plus générales, notamment en mathématiques, en économie, en droit, en langues et en communication.
J'ai également réalisé de nombreux projets, en équipe ou seul, et pu parfaire mes connaissances au cours d'un stage de 12 semaines.
Ce semestre était un semestre de réorientation me permettant de viser un DUT MMI (Métiers du multimédia et de l'Internet), RT (Réseaux et Télécoms) ou Informatique,
mais aussi de découvrir des points clés de ces différentes formations. J'ai ainsi pu découvrir le réseau, améliorer mes compétences en programmation, et m'essayer à la photographie et à l'infographie.
Ce semestre m'a ensuite permis d'entrer en première année de DUT informatique l'année suivante.
Après mon baccalauréat, j'ai été admis en première année de licence d'histoire. Cependant, ce domaine ne me passionnait pas. J'ai donc rapidement décidé de me réorienter, afin de me diriger vers l'informatique, domaine qui me passionnait depuis toujours.
Mes années de première et terminale m'ont permis de découvrir l'économie et la sociologie, ainsi que les sciences politiques, deux domaines passionnants. J'ai également pu acquérir de nombreuses connaissances, notamment en mathématiques.
D'avril à juin, j'ai effectué mon stage de 12 semaines de fin de DUT au sein de l'entreprise Acute Games, spécialisée dans le développement de jeux vidéo et basée à Carcassonne. Par la suite, j'ai travaillé avec eux en freelance durant le mois de Juillet, puis au cours de l'année étuidante 2019-2020.
Au cours de ce stage, j'ai eu pour mission de réaliser un mini-réseau social intégré au jeu phare de l'entreprise : Urban Rivals. Cette mission a été menée à bien, et j'ai ensuite pu travailler sur plusieurs fronts. À la fois le frontend, avec la réfection de quelques pages du même site, mais aussi le backend, par exemple en intégrant de nouvelles fonctionnalités au jeu, sur la partie "serveur". Cela m'a permis de développer mes compétences en PHP, et de découvrir beaucoup de contraintes, relatives à la fréquentation du site, et au volume de données stocké.
express.js
et j'ai déjà été amené à réaliser plusieurs projets, tels que de petites API REST. Enfin, je maitrise plusieurs outils de l'environnement Node.js, dont npm
, plateforme sur laquelle j'ai publié plusieurs modules.
Enfin, j'ai réalisé plusieurs projets avec le framework electron
, permettant la réalisation d'applications bureau en utilisant Javascript, HTML et CSS.
Composer
et PHPSlim
.
bootstrap
dans sa version 4.
Au cours de ma deuxième année de DUT, j'ai dû réaliser IQChat, un système de discussion instantanée.
Le serveur est réalisé en Node.js, et le client en Javascript, avec Electron. Les deux communiquent grâce à la bibliothèque Socket.io. Les utilisateurs peuvent s'inscrire, se connecter, créer des salons, y inviter d'autres membres et y dialoguer en temps réel. Le projet utilise MongoDB. Le serveur n'est plus en ligne à l'heure actuelle. Toutefois, le code source est disponible en intégralité sur Github.
Le Spot est le nom donné à un mini-réseau social créé au cours de mon stage, pour le site Urban Rivals. Celui-ci permet aux joueurs de communiquer, de partager, notamment, des messages, des images ou des decks.
Sa réalisation a nécessité de tenir compte de nombreux facteurs que je n'étais pas habitué à gérer, tels que l'importance du cache, et le problème posé par le stockage de gros volumes de données. J'ai donc pu découvrir comment les gérer. Cela m'a également appris à travailler sur un gros projet déjà existant, et les difficultés qui peuvent être induites lorsqu'on essaie de le modifier.
Ce projet a été réalisé en PHP pour la partie serveur, et en javascript (avec jQuery) pour ce qui est du client. Il utilise également Bootstrap 4, comme le reste du site.
Durant le troisième semestre de mon DUT informatique, nous avons dû mener à bien un projet,
en groupe de 6 étudiants. Ce projet était la réalisation d'un jeu de Monopoly utilisant l'architecture MVC.
Le jeu devait être réalisé en Java, avec le framework JavaFX et pouvoir fonctionner sans interface graphique, afin, à terme,
de reçevoir des Intelligences Artificielles, et d'utiliser la technique des algorithmes génétiques pour les mettre
au point.
Malheureusement, nous n'avons pas eu le temps d'aller jusqu'au bout, et à l'implémentation des Intelligences Artificielles.
Toutefois, nous sommes parvenus à un jeu quasiment fonctionnel.
Dans ce projet, je me suis concentré sur l'implémentation des mécaniques de jeu, et la partie purement "Modèle" du MVC. J'ai également travaillé sur plusieurs contrôleurs, et quelques fois sur l'interface graphique.
Le CHIP-8 était un langage de programmation hexadécimal destiné à la programmation de jeux vidéo sur des ordinateurs 8 bits. Les avantages de CHIP-8 sont multiples. Tout d'abord, les ROM sont extrêmement simples, composées d'une simple suite d'instructions. Par ailleurs, il n'y a pas de gestion complexe des touches, de la mémoire ou de l'affichage, l'ordinateur n'ayant pas de mémoire vidéo à proprement parler, et se limitant à un écran de très petite résolution, strictement monochrome. Par ailleurs, ceci n'étant pas une console commerciale, les documentations sur son fonctionnement sont nombreuses et simples à comprendre.
Ceci m'a donc permis de découvrir le monde de l'émulation, mais aussi le fonctionnement d'un processeur, certes, basique. J'ai ainsi été amené à me servir de fonctionnalités de Javascript qui m'étaient alors nouvelles. C'est, par exemple, le cas des opérateurs bit-à-bit, très utile pour déchiffrer les codes d'opération. J'ai également pu découvrir comment utiliser un canvas en Javascript, bien qu'en m'en servant de façon très simple.
Ce projet est une implémentation d'un interpréteur du langage brainfuck écrite en C. Ce langage turing-complete n'admet qu'un jeu de 8 caractères, permettant d'écrire différents programmes. Ce projet m'a permis d'améliorer mes compétences en C, mais aussi de me pencher sur l'interprétation de langage de programmation, le langage restant suffisamment simple pour une introduction à ce sujet.
Vous pouvez retrouver tous mes autres projets sur mon Github.