Ingénieur junior cherche entreprise attentionnée
désireuse de l'accueillir en son sein.
Cet être attachant saura s'intégrer dans votre équipe
de développement où il s'épanouira aisément
et fera montre de son bien-être en participant à
l'élaboration de solutions applicatives les plus variées.
Fort de ses expériences passées, faites de divers projets
et de deux stages professionnels de six mois, il s'adapte à tout
type d'environnement (Unix ou Windows..., Java ou C++..., Eclipse ou VI...)
et a tout particulièrement développé des aptitudes
à vivre en milieu web (J2EE/Hibernate ou PHP/MySQL, JavaScript,
AJAX...).
Il est propre et conçoit, développe et communique
efficacement ; il emploie naturellement des méthodes variées
pour évoluer avec agilité dans son environnement :
formalismes et design patterns adaptés au problème,
solutions aussi simples que possible, tests unitaires, etc... D'une
manière générale il montre son plein potentiel au
sein d'une meute soudée et appliquant quelques méthodes
agiles.
Il est également capable de collaborer avec d'autres
espèces, qu'elles soient anglophones, germanophones ou plus
simplement UMLophones, grâce à l'apprentissage de leur mode
de communication et à une expérience dans leur milieu.
En effet il sort actuellement du sevrage de sa mère
l'Université de Technologie de
Belfort-Montbéliard (UTBM), via un stage de six mois chez
Hewlett-Packard à Böblingen en
Allemagne. Ce sevrage prend fin le 31 juillet 2008, et
malgré tout l'intérêt que lui a porté sa maison
d'accueil, la nature lui dicte actuellement de remonter le courant en
direction de ses origines parisiennes.
Cursus :
Ce fichier (PDF) contient la description des cours que j'ai suivis à l'UTBM. Une version actualisée en français est à venir...
Stages :
De février 2008 à juillet 2008 (6 mois en stage à plein temps)
Entreprise : Hewlett-Packard Software, Böblingen, Allemagne
Niveau d'intervention : Ingénieur R&D logiciel
Objet : Application Web pour la surveillance d'infrastructures informatiques (complément de l'"Operations Manager" de HP Software)
Activités :
- spécification et décomposition des fonctionnalités à implémenter ;
- conception des composants de l'application ;
- implémentation de la business logic comme du front-end ;
- tests unitaires ;
- études technologiques.
Environnement technique :
- Technologies/Langages :
- J2EE, JSF, Hibernate, JMS, JavaScript, Ajax, XML, CSS
- Outils :
- Eclipse, Maven, Ant, JUnit + JMock, ClearCase puis Subversion, outil interne pour la répartition des tâches et le tracking des défauts, etc...
De septembre 2006 à janvier 2008 (6 mois en stage à plein temps + 11 mois de suivi pendant mes études)
Entreprise : Géniutt, Troyes, France
Niveau d'intervention : Développeur Web
Objet : Espace en ligne dynamique personnalisable dédié aux communautés et favorisant le partage d'informations.
Activités :
- développement et documentation d'un framework PHP et JavaScript pour les besoins du portail ;
- spécification des applications composant le portail ;
- réalisation de maquettes ;
- études de faisabilité d'interfaces avancées côté client ;
- développement des composants en PL/SQL, PHP, JavaScript ;
- veille à la compatibilité avec les navigateurs Web les plus utilisés ;
- veille au respect des recommandations du W3C.
Environnement technique :
- Technologies/Langages :
- langage PHP, SGBD : MySQL, langage PL/SQL, langage JavaScript, techniques Ajax, CSS
- Outils :
- Subversion, Outil pour le tracking des défauts
Projets scolaires :
De mars 2008 à juin 2008
Objet : un département de recherche de mon université travaille sur des problèmes de transports et utilise pour cela différentes méthodes d'intelligence artificielle. Il m'a été donné en projet personnel de réaliser une bibliothèque Java pour implémenter des problèmes d'apprentissage par renforcement. Il s'agissait de permettre à un agent d'apprendre à agir correctement en fonction de stimuli positifs ou négatifs de son environnement.
Activités :
- étude du domaine, lectures scientifiques sur l'apprentissage par renforcement ;
- modélisation des concepts impliqués, création de l'architecture de la bibliothèque ;
- implémentation du modèle en TDD (test-driven development) ;
- implémentation de l'interface selon modèle MVC ;
- documentation avec Javadoc ;
- développement d'exemples d'utilisation et de preuves de l'efficacité de la bibliothèque.
Environnement technique : Java.
De octobre 2007 à janvier 2008
Objet : éditeur collaboratif de fichiers texte. L'application permet à plusieurs utilisateurs de se partager des fichiers et de les éditer en même temps. Dans ce dernier cas, chaque utilisateur voit la position des autres dans le document afin d'éviter les conflits, et le cas échéant les conflits sont gérés par l'application dans la mesure du possible. Les fichiers sont sauvegardés sur un serveur.
Activités :
- conception de la solution (multi-agent pour le partage et l'édition des fichier, centralisée pour la sauvegarde et la gestion de conflits, spécification de la gestion des conflits, etc...) ;
- maquette de l'interface ;
- implémentation de la logique ;
- implémentation de l'interface selon modèle MVC.
Ces activités ont été réalisées par ajouts successifs de fonctionnalités, selon certaines pratiques agiles : test driven development, user stories, simple design & refactoring, pair-programming.
Environnement technique : Java/Swing, Hibernate et MySQL, plateforme multi-agent MADKit.
De mars 2007 à juin 2007
Objet : un département de recherche de mon université travaille sur un véhicule intelligent et recherche constamment des périphériques intéressant pour prendre parfois le contrôle de ce véhicule, dans la réalité et dans un programme de réalité virtuelle le représentant. Il a été assigné à trois collègues et à moi-même la réalisation d'une bibliothèque/driver multi-plateforme (Linux, Windows) pour utiliser la Wiimote (controlleur de la console Wii de Nintendo se connectant via Bluetooth) dans ce cadre. La bibliothèque fournit la possibilité de connecter la manette à une machine spécifique et de transmettre les données à une machine cliente hébergeant l'application finale (monde virtuel ou véhicule).
Activités :
- analyse des solutions existantes, recherche d'une base ;
- modification/réorganisation d'une bibliothèque Linux pour isoler la gestion du Bluetooth spécifique à Linux ;
- développement de la partie Bluetooth pour Windows ;
- développement de la communication entre la machine à laquelle est connectée la Wiimote et la machine cliente, et spécification d'un protocole de transmission des données de la manette entre ces deux entités.
Environnement technique : langage C, bibliothèques Windows .dll et linux .so, bibliothèque Bluetooth BlueZ pour Linux.
Autres projets entre 2005 et 2008 par ordre chronologique :
- application de gestion de collection de timbres (MS Access et VBA) ;
- démonstration de communication inter-processus en utilisant les IPC sous Linux (C, en ligne de commande) ;
- programme de résolution du jeu des tours de Hanoï (LISP, en ligne de commande, algorithme de type A*) ;
- application graphique de gestion de lignes de bus (Java/Swing) ;
- carte interactive pour la découverte d'une ville, avec quizz des connaissances acquises (Flash) ;
- programme de résolution de problème d'emploi du temps utilisant un algorithme d'optimisation en essaim particulaire (C++, programme en ligne de commande analysant des fichiers de données en entrée et donnant un fichier solution en sortie) ;
- web-agenda de type Google Calendar (entièrement en PL/SQL, interface comprise via des PL/SQL Server Pages + JavaScript côté client) ;
- simulation de tornade avec un système de particules obéissant a des lois physiques (Java 3D) ;
- audit d'une extension au CMS Plone ajoutant des fonctionnalités de gestion de workflow (Python) ;
- jeu de type "city builder", réalisé avec le logiciel Virtools de Dassault Systèmes, afin d'appliquer des principes de la réalité virtuelle.