UTBM - Technical

The UTBM is the university where I studied for 5 years. You'll find here most of the technical projects (i.e. computer related) I realized while there. Most of those projects were done in pairs or more, thus I can't give any right or permission to reuse. Sorry dear readers, the rest of this page is not available in English.

Jeu 4L Trophy sous Virtools (TW5X : Travaux à caractère industriel)

march 2006 - june 2006

Un jeu qui a été réalisé à 4, en 4 mois, avec l'aide de Virtools. Le thème : le 4L Trophy. C'est un raid à caractère humanitaire (du moins... en théorie) se déroulant en février dans le désert marocain. Une sorte de Paris-Dakar en 4L pour étudiants.
L'objectif a été pour nous :

  • de faire un peu de pub au club 4L Trophy de l'école

  • de faire un peu de pub à l'école en montrant ce dont on est capables (les labos notamment, où la réalité virtuelle est dans le vent, aiment beaucoup Virtools)

Les délais étant serrés, et comme il faut aller en cours la journée (et gérer 3 autres projets), le gameplay est simple : un petit jeu de rally, avec checkpoints et déplacement dans le désert.
Le jeu ce joue à l'adresse ci-dessus, moyennant l'installation du plugin Virtools (qui existe pour IE et Firefox) - et un gros temps de chargement, bande passante de Free oblige.


Plugin de simplification de terrain en temps réel pour Virtools (IN55 : Synthèse d'image)

march 2006 - june 2006

Il s'agissait d'un sujet "couplé" avec le jeu 4L Trophy, qui avait pour but de muscler un peu le projet niveau code. L'idée de base est simple : le jeu se joue dans le désert, soit un très grand terrain. Et une liberté de mouvement totale rends la chose plus "réaliste".
Techniquement, il est donc nécessaire de faire des calculs sur les maillages pour limiter le nombre de polygones à afficher (le "LOD", Level Of Detail) - c'est la technique qui a impressionné par exemple à la sortie de Halo ou de Black and White. Sinon, c'est peine perdu : un terrain trop grand surcharge rapidement une machine, aussi moderne qu'elle soit.
C'était donc l'objectif de notre projet : implémenter une simplification de terrain temps réel sous Virtools, chose inexistante par défaut (il existe des LOD "généraux", mais aucun adapté spécifiquement aux terrains).
(screenshots et code à venir, fin août - je ne les ai pas sous la main...)


Site de gestion de parc d'hôtels (IN56 : Techniques avancées pour le multimédia - rien que ça)

march 2006 - june 2006

Une UV que je déconseille à tous les étudiants de l'UTBM : aucun intérêt, profs pas encourageants, aucun rapport avec la filière, et j'en passe. Évidemment : on nous donne un sujet 3 semaines avant la date de rendu. Encore plus évidemment : il faut faire un site web en JSP en ayant vaguement effleuré la chose dans un TP d'une demi-heure. Réjouissantes nuits blanches à configurer Tomcat et à apprendre à s'en servir...
On aura quand même réalisé un site (à 4) qui marche à peu près : "Waïkiki Inn Paradise", le site de réservation de l'hôtel de vos rêves !


Optimisation d'emploi du temps (AG41 : Optimisation et recherche opérationnelle)

march 2006 - june 2006

Une UV à suivre ! De l'algorithmique avancée : depuis la programmation linéaire jusqu'aux algorithmes génétiques, le sujet est vaste mais très bien couvert.
Notre projet : des heures de cours, des étudiants... Faites les emplois du temps. À l'UTBM, c'est un problème complexe ! Par manque de temps, je n'ai pas beaucoup participé, mais l'algorithme de "vente aux enchères" des cours que nous avons adopté se débrouillait plutôt pas mal.


TPs Matlab (MT44 : Analyse numérique et splines)

march 2006 - june 2006

3 gros TPs de Maths, sous Matlab :

  • comparaison d'algos de calcul de polynôme

  • comparaison d'algos d'approximation d'intégrales (méthodes classiques et gaussiennes)

  • calcul et dessin de polynômes d'interpolation et de splines.

(code fin août...)


Tps Matlab (MT51 : Mathématiques pour l'image)

march 2006 - june 2006

Encore 2 gros TPs sous Matlab, sur les transformations du plan. Composées de transformations, calculs matriciels, coordonnées homogènes, etc.


TPs Java3D, OpenGL et DirectX (IN55 : Synthèse d'image)

march 2006 - may 2006

Une petite introduction facile avec Java3D, et ses scene graphs tous faits. Du cube tournant amélioré sous OpenGL, assez facile aussi, sauf quand le gimbal lock s'en mêle. Puis du cube tournant amélioré sous DirectX aussi, un peu plus dur car je connais moins.


TPs sur les TDA en Java (LO42 : Théorie de la programmation - TDA et structures de données)

september 2004 - january 2005

Deux TPs notés sur les Types de Données Abstraits :
* Le TP2 traite de l'efficacité des tris (complexité, temps d'éxecution) ;
* Le TP5 est un calcul de plus court chemin dans un graphe (avec JGraph).


TPs sur les microprocesseurs (MI41 : Architecture des système informatiques)

september 2004 - january 2005

Voici deux TPs notés assez poussés, réalisés dans le cadrde d'une UV présentant (principalement) le fonctionnement des microprocesseurs :
* Le TP4 simule le fonctionnement d'un processeur simplifié (en VHDL implanté dans un circuit logique programmable) ;
* Le TP5 est une initiation à l'assembleur ARM.


TPs sous Access (BD40 : Système d'information)

march 2004 - june 2004

5 TPs d'application d'un cours sur les bases de données (qui est aussi dans l'archive). Malgré un prof un peu brouillon et l'utilisation d'Access (probablement une des pires versions)... j'ai beaucoup appris (notamment au niveau des conventions MLD/MCD) !


L'Architecte et le Minotaure (IA41 : Intelligence artificielle : initiation et représentation des connaissances)

march 2004 - june 2004

Un projet passionnant : il fallait simuler la construction d'un jeu de blocs, avec prise en compte des impossibilités de placement, des effondrements, etc. Puis être capable d'effectuer un calcul du plus court chemin entre deux points.
Et tout cela... en LISP. Langage auquel je n'avais jamais touché ! L'affichage (simpliste mais efficace) a quant a lui tout bêtement été réalisé en C avec OpenGL.


Animation Flash sur l'hygiène dentaire (IN42 : Multimédia en ligne et hors ligne)

march 2004 - june 2004

Projet de fin de semestre pour une UV consacrée principalement à l'apprentissage de Flash et de Director.
Il s'agit d'une animation destinée aux enfants, visible à l'URL ci-dessus.


Simulation d'une fourmilière (LO43 : Bases fondamentales de la programmation orientée objet)

march 2004 - june 2004

Ce projet, réalisé en Java (3D avec GL4Java), simule le fonctionnement d'une fourmilière : spécialisation des fourmis (reine, ouvrières, soldats), recherche de nourriture, élimination des fourmis adverses...
Il fut l'occasion d'appliquer la POO apprise en cours, avec l'obligation de présenter clairement la démarche objet suivie (rôle des classes, graphes UML, etc.).


Projets en C (LO21 : Algo. et programmation : niveau II)

september 2003 - january 2004

Les deux projets m'ayant servi à apprendre le C (tous deux sont codés uniquement pour DOS) :
* Le 1er résoud une équation à n inconnues par la méthode du pivot maximum ;
* Le 2nd affiche les tables de vérité des équations booléennes (par exemple (a+!b)).


Projets Unix (LO22 : Initiation au système unix et programmation en C)

september 2003 - january 2004

Deux petits projets autour d'Unix :
* Un blackjack en C (se joue à 2) ;
* L'amélioration d'un jeu de serpent en shell script.


Automate Cellulaire (MT26 : Suites- Séries - Fonctions de variables complexes)

september 2003 - january 2004

Un jeu de la vie réalisé sous Mapple. Le principe : l'action se déroule sur un terrain quadrillé de cellules et le temps est divisé en tours. À chaque tout une cellule peut soit naître, soit mourir, soit rester dans son état, en fonction de l'état des cellules avoisinnantes. Selon les paramètres entrés, on peut obtenir des résultats différents et parfois surprenants !
L'affichage est possible en 2D et 3D et tous les paramètres sont modifiables : vous trouverez des exemples de déroulement en GIF dans l'archive (cependant attention : ils sonts lourd à charger car l'exportation GIF n'est pas très optimisée sous Mapple).


Réalisation d'une fontaine en forme de coquillage (TN10 : Réalisation)

march 2003 - june 2003

TN10 est une sorte d'UV de bricolage à sujet aléatoire. Pas de chance : je suis tombé sur un sujet totalement inintéressant.
Ne perdant pas courage, nous avons passé des heures (avec mon binôme) à tailler du béton cellulaire... pour finalement rater l'UV. Quel gâchis ! D'autant plus que le résultat était honorable (moche, mais honorable).


Site sur Carl Gustav Jacob Jacobi (LO10 : Microordinateur et applications)

september 2002 - january 2003

LO10 avait pour objectif de nous inculquer les bases de l'informatique. Bien sûr, difficile de faire ça correctement, ça a donc été n'importe quoi.
Il y avait cependant un site à réaliser sur un scientifique imposé. Ca a été l'occasion pour moi de :
* 1) bien rigoler ;
* 2) apprendre le CSS (que l'on a à peine évoqué en cours, où l'on manipulait tranquilou les balises <font>...).