Julien's Projects



Projets Scolaires



Récolte de canne à sucre avec système multi-agents

Janvier 2011

Pour concrétiser ce que nous avons appris en cours sur les systèmes multi-agents, nous avons réalisé ce projet visant à optimiser la récolte de canne à sucre. Pour traiter ce problème, nous avons modélisé les usines de traitement, les parcelles à récolter et les camions qui transportent la canne à sucre par des agents.

Les contraintes du projets étaient de résoudre ce problème avec des APF (Artificial Potential Fields) ainsi, nous avons créé des forces de répulsions/attractions qui agissent sur les 3 types d'agents que nous avons défini.

Compétences acquises : Java, multi-agent, JANUS platforme.

Android application, optimisation de transport à Belfort

Janvier 2011

J'ai moi-même proposé ce sujet en tant que projet libre dans mon université car je souhaitais développer une application utile pour la vie de tous les jours et aussi intéressante a développer. Intéressant, en effet car j'ai pu (avec un autre étudiant tout de même) développer pour l'embarqué sur la platforme Android et mettre en place un algorithme de recherche de chemin le plus court dans un graphe (Dijkstra). L'objectif était de mettre à disposition des usagers du réseau de bus de Belfort un outil qui donne le chemin le plus rapide en temps entre deux points (adresse, position actuelle avec le GPS du mobile ou encore un arrêt de bus).

 L'application Android affiche du contenu en récupérant des informations sur le réseau de bus que nous avons mis en base de données (avec l'accord de l'université). Ainsi, l'application n'est qu'une interface.

L'autre grande partie du projet, c'est le webservice. Il permet une utilisation de l'application sur un PC classique et sert de ressource à l'application mobile. Le calcul du chemin le plus court est réalisé sur le serveur qui renvoie au format JSON les points de passage à l'application Android.

 

 

une description plus complète est disponible sur ce site :

http://optymize.ionyse.com/web/

Compétences acquises : Java, android, JSON, développement embarqué, optimisation de parcours.

Lego Mindstorm autonome dans un labyrinthe

Juin 2010

Ce projet s'est déroulé sous la forme d'un challenge entre groupe d'étudiant. L'objectif était de fait jouer des robot LEGO Mindstorm à un jeu de capture the flag. Chaque groupe avait un robot qui devait découvrir un labyrinthe et s'arrêter sur des zones de couleur 3 secondes pour prendre possession de la zone.

Un programme a été développé pour le robot en JAVA (la brick LEGO a été flashé pour cela) dans le but de se déplacer dans le labyrinthe. Le robot envoie régulièrement des infos du monde qu'il perçoit à l'ordinateur par bluetooth.

Un second programme a été développé sur l'ordinateur pour communiquer avec le robot et aussi donner une interface utilisateur simple donnant la vision du robot du monde. L'application sur ordinateur donne des consignes au robot afin qu'il se dirige rapidement vers les zones à l'aide d'un algorithme A*.

Compétences acquises : Java, communication bluetooth, algorithme A*

Problème d'optimisation de transport

Juin 2009

L'objectif de ce projet était de minimiser le coût de transport de marchandises de camions livrant des clients. Notre programme s'exécute en deux minutes et donne la meilleur solution trouvée.

Le problème est de type VRPTW (vehicle routine problem with time windows), on a donc un nombre de clients variable à livrer dans les temps avec un certain nombre de camion.

Afin de résoudre ce problème, nous avons appris plusieurs méthodes (métaheuristiques) en cours et nous nous sommes orientés vers une recherche par recuit simulé que nous avons personnalisé. Ce projet a été réalisé en C++. 

Compétences acquises : POO, C++

Labyrinthe 2D en Java

Janvier 2009

Projet JavaCe projet avait pour but de programmer en Java (Orientée Objet) un labyrinthe en deux dimensions avec des murs mobiles. Nous avons conçu le jeu en UML d'abord avec le logiciel Jude. La partie programmation s'est ensuite déroulée sous Eclipse. La partie graphique du projet est volontairement minimaliste (utilisation de SWING) car l'objectif était de se concentrer principalement sur le déplacement du joueur et son intéractivité avec les ennemis.
Les positions initiales des éléments du labyrinthe sont stockées dans un fichier xml qui est lu au chargement du jeu.

Notre personnage peut ramasser des objets, combattre les ennemis avec des armes différentes, se guérir etc. Les monstres quant à eux recherchent (de manière très simple) le joueur. 

Compétences acquises : Java, UML, XML.

CVthèque avec MS Access

Janvier 2009

Projet MS AcessDans un module consacré aux systèmes d'information, nous avons réalisé une application permettant de stocker des CVs dans une base de donnée Access. Ainsi il est possible d'ajouter/rechercher/modifier/supprimer des CVs grâce à des requêtes SQL exécutées en Visual Basic pour Application.

 

 

Compétences acquises : MS Access, SQL, VBA, MERISE.

Système de gestion routier en C système

Janvier 2009

Projet C systèmeCe projet porte sur la création d'un Système d'Aide à l'Exploitation d'un réseau de bus en utilisant le C système (Création de processus, files de messages, mémoire partagée, mutex, sémaphores, signaux, ...). Nous avons développé ce projet sous GNU Linux en vérifiant la compatibilité avec Sun Solaris.

Ce système d'aide doit simuler le fonctionnement d'un réseau de bus avec la gestion d'éventuels accidents, pannes, retard etc ...

Compétences acquises : C système.

La cryptologie

Juin 2008

J'ai travaillé un semestre sur la cryptologie avec le suivi d'un professeur de mathématiques de mon université M. Holweck (que je remercie Smile). Le sujet traité portait sur l'étude de complexité des algorithmes de cryptage/décryptage.

Pour simuler le (dé)cryptage de messages, il m'a fallut utiliser des grands nombres et donc utiliser la librairie GNU GMP du langage C pour réaliser mes calculs et analyser les temps d'exécutions.

Compétences acquises : C avec lib. GNU GMP, Latex.

Creation d'une base de donnée de film

Avril 2008

Dans le cadre de l'UV Initiation au système unix et programmation en C système, nous avions un projet à réaliser avec le langage shell BASH. Le sujet était libre et nous avons choisi de créer une base de données de films à partir de vidéos placées dans un certain dossier.

Des informations sur les films sont récupérées sur allocine et misent en forme afin de pouvoir les ajouter à une base de données MySQL. Quelques pages php affichent simplement ces informations sous forme de site web.
Compétences acquises : Shell Bash, PHP, MySQL.

Jeu de la vie avec Maple

Janvier 2008

Projet maple

 L'objectif était de simuler un automate cellulaire d'abord en deux dimensions puis trois.

On part d'un état obtenu de manière aléatoire et nous appliquons des règles spécifiques de survie et de naissance afin qu'il se développe.

Compétences acquises : Maple.