Anecdotes pedroviennes / Réalisations en informatique

Réalisations en informatique

Cette page recense mes différentes recherches et réalisations de projets informatiques de plus ou moins grande envergure. Il n'y a pas de tentative de classement particulier, si ce n'est par ordre chronologique dans l'avancée de mes études à l'UTBM. Cette page tente d'être la plus exhaustive possible, mais il est possible que j'ai oublié certaines de mes créations.

Elle a pour but de compléter les informations trop restreintes disponibles sur mon CV.

Parallélisation de tâches de preuves avec l'Atelier B (Février / Juillet 2008)

mots-clé / tags : Atelier B, stage de fin d'études, Qt

J'ai cloturé mes études sur un stage au sein de la société ClearSy, par le développement d'une application graphique en Qt permettant de lancer sur des machines distantes partageant le même système de fichiers des tâches de preuves sur un projet B (i.e. utilisant la méthode B). Le programme fonctionnant sur les versions 3.7 et inférieures assure un gain de temps intéressant. L'application sera prochainement disponible, et le concept a été repris dans la future version 4.

Participation au projet de cartographie libre OpenStreetMap (depuis février 2008)

mots-clé / tags : cartographie, SIG

Ayant fait l'acquisition d'un GPS, j'ai souhaité participer au projet libre de cartographie OpenStreetMap. A l'heure actuelle il existe principalement deux entreprises fournissant des données propriétaires en terme de données géographiques. Le but du projet est de fournir une base de données libre.

Contributeur actif sur Aix-En-Provence (je suis responsable actuellement d'environ 80% des données sur la ville), j'ai par ailleurs développé des outils de statistiques et de détections d'erreurs, ainsi que divers autres scripts, utilisant les données, ainsi que PostGreSQL et PostGIS.

Parallélisation de processus utilisant PVM (Octobre / Novembre 2007)

mots-clé / tags : PVM, parallélisation de tâches, C

Lors d'un cours dispensé au semestre d'automne 2007 à l'UTBM, nous sommes chargés d'utiliser le langage C et les bibliothèques PVM afin de générer un graphe et d'assurer la communication entre les voisins des noeuds du graphe. Je me suis attardé sur la génération d'un graphe de façon aléatoire - ce qui s'avère relativement compliqué -, ainsi que de l'implémentation basique d'un protocole de communication entre les noeuds.

Les sources de ce projet ne sont pas encore disponibles, mais me donne envie de creuser certains aspects de la théorie des réseaux Peer2peer.

Programmation C Xlib et OpenCV (Octobre 2007)

mots-clé / tags : OpenCV, XLib

Ayant découvert par hasard les possibilités de la bibliothèque Opensource d'Intel OpenCV, j'ai voulu développer une sorte de souris virtuelle utilisant une webcam, pour détecter les mouvements et bouger le pointeur de la souris.

Le résultat était assez intéressant, mais là encore, un manque de temps me pousse à arréter le développement

* Les sources du projet
* Billet sur mon blog

Projet d'initiation à l'administration système UNIX : LDAP

mots-clé / tags : LDAP, administration, UNIX, UserModeLinux

Lors d'un cours sur l'administration système UNIX, nous - un groupe de 4 étudiants - avons dû produire un tutoriel sur l'installation, la configuration et l'utilisation de LDAP sur un parc informatique. Ce projet devait être agrémenté d'une soutenance, au cours de laquelle nous avons présenté le déploiement de notre solution sur une seule machine, en utilisant UserModeLinux

Le rapport / tutoriel

Projet d'initiation à Java Mobile (J2ME) : Bomberman

mots-clé / tags : Java mobile, J2ME, embarqué, bluetooth

Au cours d'une UV sur les systèmes embarqués et l'informatique mobile, j'ai développé en collaboration avec une étudiante de mon école, à développer un jeu de Bomberman multijoueur, utilisant le protocole Bluetooth, en Java mobile Edition.

Possédant un Palm muni de PalmOS 5, j'ai tenté une exécution sur ce type de périphériques, malheureusement, les JVM fournies ne permettaient pas l'utilisation du bluetooth sur cet appareil.

Les sources du projet

Projet Gestion du système de gestion des UVs

mots-clé / tags : Oracle, ASPdotNet 2.0, Microsoft, Visual Studio

Lors d'un cours sur l'optimisation des bases de données (Code BD50 et GL52) et le génie Logiciel, j'ai en collaboration avec 3 autres étudiants de l'UTBM, développé un système de gestion des enseignements, prenant en compte les particularités propres à mon école. Ce projet a servi de base à la rénovation du système, en cours de développement par une entreprise extérieure.

Le programme de ce projet prévoyait la rédaction d'un cahier des charges, et l'écriture d'un prototype fonctionnant avec le serveur Oracle, et un serveur IIS de microsoft, utilisant le langage ASP Dot Net 2.0 pour la génération des pages.

Programmation Python (Mars / Avril 2007)

mots-clé / tags : Markov, intelligence artificielle, IRC

Suite à un atelier de découverte du langage Python, proposé par David Anderson pour le club Lolut, j'ai souhaité creuser plus en profondeur certains aspects de ce langage, et j'ai donc codé une sorte de Bot IRC, capable d'apprendre une sorte de langage, et de restituer des phrases, en utilisant des chaînes de Markov.

J'aurais aimé approfondir les aspects d'intelligence artificielle, mais par manque de temps, le projet est au point mort.

* Exemple basique de fonctionnement
* Page du projet

Découvertes et modifications personnelles du driver stk11xx (Février 2007)

mots-clé / tags : GNU/Linux, syntek

Ayant reçu un nouvel ordinateur portable début 2007, le driver de la Webcam intégrée n'était pas encore supportée par un driver Linux reverse-ingineeré. J'ai modifié les sources afin qu'il fonctionne avec mon modèle.

Ma participation au développement du driver a été quasi-nulle, par manque de connaissances en ingénierie inverse et en code pour noyau, mais cela m'a permis, à l'aide du très bon livre Linux Device Drivers, de découvrir quelques notions et aspects de la programmation noyau.

Page SourceForge du driver

Améliorations du module LDAP de Roundcube (Automne 2006)

mots-clé / tags : PHP, LDAP, MySQL

Roundcube est un client Mail léger ayant pour principal intéret son interface moderne et l'utilisation quasi omniprésente de Javascript. J'ai souhaité ajouter la fonctionnalité d'auto-complétion des addresses mail provenant d'une source LDAP, ainsi que de l'affichage des attributs JpegPhoto provenant des informations de la classe InetOrgPerson. Ces patchs n'ont malheureusement pas été appliqués.

* Billet sur mes modifications

Portage et développement d'applications sous Windows CE 5 (Automne 2006)

mots-clé / tags : Windows CE, passerelles intelligentes, Webdyn, HTTP, FTP

J'ai été amené à effectuer mon premier stage de longue durée (6 mois) au sein de l'entreprise Webdyn. Cette expérience m'a permis de découvrir la programmation sous environnement Windows, principalement Windows CE, en C et C++.

Hormis le portage d'une application existante, j'ai notamment eu à produire et adapter du code d'un serveur FTP en C++ durant mon stage.

Ce stage a été formateur d'un point de vue technique et du travail au sein d'une entreprise.

Optimisation et recherche opérationnelle (Printemps 2006)

mots-clé / tags : IA, optimisation, algorithmique

Durant mon deuxième semestre en génie informatique, j'ai travaillé en collaboration avec David Anderson et Maxime Petazzoni sur un projet ayant pour but de rechercher une meilleure solution à un problème d'affectation d'étudiants dans des cours

Découverte du C système (Automne 2005)

mots-clé / tags : C, IPC, LO41, solaris

Lors de ma première année de cycle ingénieur, les étudiants sont amenés à suivre un cours (codifié LO41), proposant de découvrir les divers aspects de la programmation C système et des mécanismes de synchronisation et de communication inter-processus sous Solaris.

L'obtention de ce cours été soumis à la réalisation d'un projet mettant en jeu toutes ces notions.

* Les spécifications
* Le rapport
* Les sources

Système d'acquisition et transmission vidéo sur réseau TCP/IP - PedrovTV (Printemps 2005)

mots-clé / tags : VLC, interface Web, votes

Pendant mes deux premières années d'UTBM, je vivais en résidence étudiante à Sévenans ; cette résidence disposant d'un réseau interne, peu d'étudiants disposaient d'un téléviseur chez eux. J'ai donc pu découvrir l'utilisation avancée de VLC afin de proposer une capture du flux vidéo d'une carte PC/TV, couplée à une interface Web qui permettait à chacun de voter et d'effectuer un changement de chaîne.

N'habitant plus ladite résidence, et recevant la télévision via l'ADSL, je ne maintiens plus ce projet.

Liens : L'ancienne page du projet

Découverte du Shell UNIX bash (Printemps 2005)

mots-clé / tags : UNIX, Linux, Bash, NCurses

Lors d'un cours sur la découverte des systèmes UNIX - que j'utilisais quotidiennement depuis un an -, j'ai été amené à réaliser un Tetris en Bash en collaboration avec un étudiant de ma promotion, Bertrand Svetchine.

Liens : Le programme Complet.

Développement du site web de l'Association des étudiants de l'UTBM (printemps 2004 à Janvier 2008)

mots-clé / tags : AE, UTBM, PHP, MySQL, PostGreSQL, Graphviz, PostGIS, géolocalisation, développement WEB, Javascript, AJAX, XML, CMS, commerce électronique

Depuis la fin de ma première année de classe préparatoire intégrée à l'UTBM, je participe au développement du site Web de l'Association des étudiants. cette activité est très enrichissante tant dans la découverte du monde de l'associatif, que dans la résolution de problèmes techniques, et principalement la découverte des problématiques du développement web

Mon apport en terme de fonctionnalités à ce site ont été nombreuses. Sans avoir la prétention d'être exhaustif, voici une liste des différents éléments dans lesquels j'ai pu contribuer :

* Système de vente en ligne basé sur Sogenactif, proposé par la Société Générale.
* Système de géolocalisation, basé sur des données géographiques libres, et le SGDB PostGreSQL / PostGIS
* Forum de discussion
* Génération d'un PDF pour le trombinoscope des étudiants
* Système de génération d'images graphiques diverses utilisant entres autres la bibliothèque PHPgd ou l'outil graphviz
* Système de commentaires sur les cours dispensés à l'UTBM
* Système de covoiturage (A venir, en cours de finalisation)
* ...

Note : Nous avons profité, avec deux autres étudiants de l'UTBM, du projet d'un cours sur les bases de données afin de fournir au site une structure de base de données (code BD40) respectant les enseignements dispensés (norme 3FN notamment).

Liens : Site Web de l'Association

Bot pour RealTimeBattle (Novembre 2003)

mots-clé / tags : bot, Real Time Battle, intelligence artificielle

Lors d'une coding Party organisée par le club LolUT de l'association des étudiants de l'UTBM, une "coding party" a été organisée autour du système RealTimeBattle. Mon bot, nommé bender est arrivé deuxième. L'intelligence artificielle n'était pas très évoluée, du fait de l'état de mes connaissances de l'époque, et du délai (une nuit). Je n'arrive malheureusement plus à mettre la main sur les sources C de mon programme.

Plus d'informations sur l'événement ici.

Dernière mise à jour : dimanche 10 mai 2009, 18:37