Créer un Bot pour des jeux Pokémons
Découvrez comment lire ou écrire les données en mémoire d'une ROM Pokémon pour en automatiser des tâches.
Bonjour, je suis Damien Brebion, et je suis titulaire d'un diplôme en tant qu'analyste et développeur. Actuellement, je travaille en tant que consultant dotnet chez Genesis Consult.
Depuis longtemps, j'ai nourri un vif intérêt pour le domaine de l'informatique, ainsi que pour les défis qu'il présente.
Je suis quelqu'un de persévérant et je ne renonce jamais facilement. Lorsque je m'engage dans quelque chose, j'aspire à le réaliser avec excellence, en veillant à ce que tout soit soigné et fonctionnel.
Je vous souhaite une agréable visite sur mon site !
Adaptabilité
Je suis en mesure de mener à bien des projets complexes, en m'adaptant aux besoins changeants et en fournissant des solutions efficaces dans des délais serrés.
Orienté client
Je suis capable de comprendre les besoins des utilisateurs et de développer des solutions personnalisées pour répondre à leurs exigences, en veillant à offrir une expérience utilisateur optimale tout au long du processus de développement.
Passionné
L'informatique, c'est plus qu'un travail, c'est une passion. C'est pourquoi je suis constamment à la recherche de nouvelles technologies et de meilleures pratiques pour améliorer mes compétences.
Certification Professional Scrum Master 1
Certifié par https://www.scrum.org/
Baccalauréat Analyste-Programmeur
Henallux IESN - Namur
CESS & Diplôme d'électricien
Athénée Royale Louis Delatte - Fontaine l'Évêque
Découvrir
OPS Pro est une application de simulation pour le jeu de cartes One Piece TCG.Ce projet consistait à développer un client et un serveur qui communiquent entre eux en temps réel pour permettre aux joueurs de jouer au jeu de cartes gratuitement.Pour cela, j'ai développé un scraper qui récupère toutes les cartes du jeu, un client qui permet d'avoir une interface, et un serveur qui gère les données, les règles et qui communique avec les joueurs.
Découvrir
Découvrir
Pokebot est un outil que j'ai développé en utilisant l'API de l'émulateur BizHawk.Cet outil permet de lire les données de la mémoire RAM du jeu et d'exécuter des bots en fonction des paramètres sélectionné. Le bot va exécuter des tâches automatiques et s'arrêter quand sa tâche initiale est terminée.Cet outil est parti d'une curiosité sur le fonctionnement des jeux GBA Pokémons mais j'ai finalement décidé d'en faire un projet Open Source et expliquer comment je suis arrivé à le concrétiser.
Découvrir
Découvrir
Pour votre information, Minecraft est un jeu vidéo développé par Mojang. Le terme "launcher" désigne un exécutable préalable au jeu, permettant d'accéder aux actualités, de choisir la version du jeu et de le lancer.Il y a quelques années, j'ai entrepris le développement d'un launcher Minecraft en Java, en me basant sur un tutoriel vidéo. Cependant, avec l'évolution de Java, le launcher était devenu obsolète et présentait des dysfonctionnements sur de nombreuses machines Windows. En me remémorant mon travail passé, j'ai souhaité explorer l'existence de nouvelles bibliothèques intéressantes pour créer un launcher. J'en ai découvert une, mais exclusivement disponible en C#. J'ai donc décidé de me lancer le défi de réaliser un nouveau launcher en partant de zéro, en utilisant un autre langage de programmation.L'objectif de ce projet était de développer un launcher personnalisé, capable d'exécuter une version précise de Minecraft, en incluant des fichiers supplémentaires tels que des packs de ressources ou des configurations spécifiques. Pour cela, j'ai mis en place un serveur web permettant de télécharger les fichiers requis, tout en vérifiant leur intégrité grâce à leur empreinte cryptographique (hash). De plus, il était nécessaire d'utiliser l'API Discord pour afficher sur le profil de l'utilisateur qu'il joue actuellement via le launcher. Enfin, l'utilisation des API de Microsoft et Mojang était primordiale pour permettre à l'utilisateur de se connecter à son compte Minecraft et de lancer le jeu.Finalement, j'ai réussi à développer ce launcher de A à Z, en incluant un exécutable "bootstrap" pour le téléchargement initial du launcher. Ainsi, si des mises à jour ou autres modifications sont nécessaires, les utilisateurs n'ont pas besoin de télécharger à nouveau le launcher, ils peuvent simplement exécuter le bootstrap qui se chargera de la mise à jour. De plus, l'administrateur dispose d'un fichier de configuration disponible sur le serveur, lui permettant de modifier certains comportements du launcher sans nécessiter de connaissances techniques spécifiques, tels qu'une clé API, des messages Discord, un logo, et bien d'autres éléments.
Découvrir
Découvrir
Ce projet consistait à développer un site de vente en ligne en utilisant le framework Spring. Notre objectif était de créer une plateforme permettant l'affichage d'articles organisés par catégories, la possibilité de changer de langue, la création de comptes utilisateurs, la connexion, la gestion du panier d'achat et le paiement via PayPal.Dans le cadre de ce projet, nous avons réussi à mettre en œuvre l'ensemble de ces fonctionnalités, en y incluant des tests unitaires. De plus, afin de garantir une sécurité optimale, nous avons pris la décision d'utiliser l'API PayPal du côté du backend et pas du côté client.Ce projet s'est avéré extrêmement intéressant, notamment lors de la configuration de l'environnement et de l'apprentissage d'une technologie que je ne connaissais pas auparavant, mais qui est largement utilisée de nos jours.Je suis ravi de souligner que ce projet a été couronné de succès, et a obtenu la note de 18/20 lors de l'évaluation à l'examen.
Découvrir
Découvrir
Le but initial de ce projet était de concevoir plusieurs services interagissant de manière cohérente. Ainsi, nous avons développé une interface Web en utilisant React pour les administrateurs, une application mobile Android pour les utilisateurs, et nous avons également mis en place une API REST permettant la communication avec une base de données PostgreSQL.Ce projet s'est révélé extrêmement captivant, car nous sommes partis d'un problème existant pour lequel nous avons su trouver une solution et la concrétiser. Tout au long du processus, nous avons travaillé en binôme et nous avons participé à diverses réunions avec des représentants de l'école afin de faire évoluer notre projet et le rendre fonctionnel.Selon moi, ce projet s'est approché de la réalité d'un projet professionnel en entreprise, et nous l'avons abordé avec le plus grand sérieux pour développer la meilleure solution possible.Finalement, notre motivation nous a poussés à élargir la portée de la base de données ainsi que les fonctionnalités offertes, afin de proposer un prototype fonctionnel et non un simple début de prototype comme demandé.Je suis fier de mentionner que ce projet a obtenu la note de 20/20 lors de l'évaluation de l'examen, témoignant ainsi de notre succès.
Découvrir
Découvrir
Ce projet a été entrepris initialement dans le but de m'exercer et d'approfondir mes connaissances en React. Par ailleurs, j'ai été captivé et animé par une certaine curiosité à l'égard du fonctionnement de la bibliothèque Socket.io, qui jouit d'une popularité indéniable.C'est ainsi que j'ai amorcé une réflexion approfondie afin de concevoir un projet concret, qui a finalement abouti à l'idée d'un système de chat en temps réel. Ce projet s'est révélé extrêmement enrichissant, m'offrant une occasion privilégiée d'acquérir de nouvelles compétences.
Découvrir
Découvrir
Durant mon emploi étudiant, nous avons été chargés de concevoir une application open source visant à simplifier les tâches administratives laborieuses en permettant aux candidats aux élections de les remplir en ligne. De plus, cette application offrait la possibilité à quiconque de visualiser et d'analyser les données ainsi recueillies.La particularité de ce projet résidait dans son caractère entièrement anglophone, ce qui constituait un défi de taille pour moi.A la demande de notre client, le gouvernement flamand, nous avons dû faire appel à des technologies telles que Solid, Linked Data, React et Typescript. Étant peu familier avec ces outils, notre équipe a dû consacrer environ une semaine à en acquérir une maîtrise suffisante pour expliquer nos choix au client et documenter notre travail réalisé.Cette expérience s'est avérée extrêmement enrichissante à la fois sur le plan intellectuel et social.
Découvrir
Découvrir
J'ai eu l'opportunité de rencontrer une personne à la recherche de développeurs PHP pour améliorer leur site web. Étant vivement intéressé par le projet, et conscient de son envergure par rapport à mes expériences antérieures, j'ai immédiatement proposé mon assistance.Ce projet s'est révélé complexe, car le code existant était obsolète. J'ai dû procéder à une refonte complète de la base de données, du code backend et du design. Heureusement, nous étions deux sur le projet. L'un de nous se concentrait principalement sur l'administration du serveur, l'optimisation et le design, tandis que mon rôle consistait à relier la base de données au site web, en plus d'afficher et d'enregistrer les données.Cette expérience s'est avérée extrêmement enrichissante, car j'ai acquis de nombreuses connaissances tout au long du projet.
Découvrir
Découvrir
J'ai entrepris la réalisation d'un exemple de site vitrine afin d'exposer l'étendue de mes compétences et de parfaire mon utilisation appropriée de Bootstrap. Cette démarche m'a également permis d'approfondir ma compréhension de cet outil.Chaque jour, je m'investis dans une réflexion continue visant à concevoir de nouveaux designs, afin d'accroître ma flexibilité, d'explorer l'utilisation de nouvelles technologies et d'acquérir des connaissances sur de nouveaux concepts fascinants.Je suis donc ravi de vous présenter mon premier site vitrine, qui témoigne de mon engagement et de ma volonté de progresser dans le domaine.
Découvrir