Mes Projets

Cette page recense une sélection de mes projets de Licence et Master. Ils sont classés des plus récents aux plus anciens en fonction du langage utilisé.

Hackenbush

Ce projet a été réalisé dans le cadre du cours Interfaces Graphiques, qui avait pour but de créer des interfaces en Java en utilisant la bibliothèque Swing et AWT.

Hackenbush est un jeu mathématique deux joueurs qui se jouent avec des segments bleus, rouges et verts interconnectés entre eux par leurs extremités. De plus, il y a un segment "spécial" appelé le sol. Tous les segments du jeu doivent touchés le sol eux-mêmes ou par l'intermédiaire de leurs voisins. Un segment qui ne serait plus en contact du sol est retiré. Un joueur est représenté par la couleur rouge ou bleue. Le but du jeu est de retirer les segments de sa couleur ou les segments de couleur verte. Le joueur qui retire en dernier son segment a gagné. Pour plus de détails.

Graphes Connexes

Ce projet a été réalisé dans le cadre du cours Algorithmique, qui avait pour but d'étudier différents algorithmes sur des graphes.

Le but du projet était d'implémenter les algorithmes de Kosaraju et Tarjan vus en cours, afin de construire le graphe réduit des composantes fortements connexes.

Site de rencontre

Ce projet a été réalisé dans le cadre du cours de Base de Donnée. Ce cours m'a permis d'apprendre le langage SQL et m'a permis d'utiliser Java pour intéragir avec une base de donnée (ici Postgres).

Le but du projet était de créer une base de donnée sur Postgres pour un site de rencontre, qui intéragisse avec une interface graphique en Java. Tout d'abord, il a fallu créer une base de donnée à l'aide d'un MCD (Modèle Conceptuel de Donnée), qui a été ensuite retranscrit en MLD (Modèle Logique de Donnée). Ensuite, dans le programme Java, il a fallu préparer les requêtes SQL en fonction des recherches que pouvaient effectuer les utilisateurs.

Un "tchat" pair à pair

Ce projet a été réalise dans le cadre du cours de Programmation Réseau. Ce cours m'a permis d'apprendre les bases du réseau (modèle client/serveur,...) en utilisant le langage Java. De plus, on devait respecter un protocole de communication fourni.

Le but du projet était de réaliser un logiciel de messagerie instantané intéropérable, c'est à dire qu'il devait pouvoir communiquer avec les autres logiciels créés par les élèves. Il fallait donc respecter scrupuleusement le protocole fourni.

Pour corser la difficulté, nous avons réalisés une interface graphique poussée.

Un jeu de plateau:Borodino

Ce projet a été réalisé dans le cadre du cours de Programmation Java. Ce cours m'a permis d'approfondir mes connaissances de programmation sur le langage Java.

Le but du projet était de réaliser un jeu de plateau baptisé Borodino.

Ce projet avait surtout pour but d'intégrer, aux étudiants que nous étions, la conception objet de Java.

Un compilateur

Ce projet a été réalisé dans le cadre du cours de Compilation. Ce cours m'a permis d'apprendre les bases et les techniques employées par un compilateur.

Le but du projet était de réaliser un compilateur pour un langage fictif appelé CTigre dont la syntaxe est proche de OCaml. Il fallait donc partir d'un programme écrit en CTigre pour obtenir un code assembleur (ici MIPS).

Cela m'a permis de voir toutes les étapes d'un compilateur.

Un interpréteur pour Mini-Logo

Ce projet a été réalisé dans le cadre du cours de Caml. Ce cours m'a permis d'apprendre les bases du langage OCaml.

Le but du projet était de réaliser un interpréteur de commandes pour le langage LOGO.

Espace de messages

Ce projet a été réalisé dans le cadre du cours de Systèmes avancés. Ce cours m'a permis d'approfondir mes connaissances sur le langage C, des processus sous Unix et des communications entre processus (signaux, mémoire partagée, ...).

Le but du projet était de réaliser une bibliothèque de fonctions permettant la communication entre processus d'un même système.

Arkanoid

Ce projet a été réalisé dans le cadre du cours de Systèmes. Ce cours m'a permis d'apprendre les bases du langage C, du fonctionnement du système de fichier Unix, des processus et des communications entre processus.

Le but du projet était de réaliser un système d'archivage nommé Arkanoid.