Paul VOUGNY

téléphone+33 (0)6 20 17 11 05
e-mailcontact@paulvougny.fr

Né le 31 mars 1983 (37 ans)
Titulaire du permis B

GÉNIE INFORMATIQUE & SON

Dernière mise à jour le 30 novembre 2017

Projets EPITA

Prépa

XVI - projet INFO SUP, 2003-2004
XVI est un jeu de stratégie sur un plateau en trois dimensions, développé en Pascal (Delphi) par une équipe de quatre étudiants sur tout le long de l'année.
cHromoZom' - projet INFO SPÉ, 2004-2005
cHromoZom' est un jeu de la vie développé en C sous une plate-forme Unix. Pour le mettre en place, quatre étudiants ont étudié l'intelligence artificielle, les statistiques de comportement des données, l'assistance réseau de l'utilitaire et la modélisation 3D des différentes entités.

haut de page

ING 1

EvalExpr (27 Sep. 2005)
Il s'agit de réaliser une machine qui évalue une expression arithmétique. L'exécutable lit sur l’entrée standard l'expression arithmétique et retourne le résultat sur la sortie standard.
GetLn (27 Sep. 2005)
Le Getln permet de récupérer dans un flot les lignes une à une.
Match (27 Sep. 2005)
Les exercices demandés ont pour but d'introduire la notion de globbing. Le globbing est un procédé utilisé par les applications pour permettre aux utilisateurs de désigner de facon concise un ensemble de noms de fichiers. On peut ainsi, si un répertoire contient uniquement les fichiers a.out toto1.o toto1.c toto2.c toto3.c, faire réference aux sources en utilisant la syntaxe *.c ou toto?.c. Les caractères spéciaux, comme '*', '?', sont appelés des méta-caractères. Le procédé employé, le globbing, peut se diviser en plusieurs étapes. Parmi celles-ci se trouve une règle qui consiste à vérifier qu'un nom de fichier "correspond" bien au motif proposé. Un méta-caractère '*' "matche" n'importe quelle séquence d'au moins zéro caractère. Un méta-caractère '?' "matche" exactement un caractère. Attention, la syntaxe utilisée par le globbing est différente de celles des expressions rationnelles ! Ne pas confondre les deux, ils ne sont pas faits pour faire la même chose !
Libstream (2 Oct. 2005)
Ce mini projet a pour objectif de recoder les fonctions de gestion de flots d'entrée/sortie de la bibliothèque C standard. En d'autres termes, la LibStream est l'ensemble des routines du langage C qui permettent de manipuler les fichiers et les dossiers.
Find (9 Oct. 2005)
Find est une reproduction exacte de la commande Find du Shell d'un terminal sous Unix. C'est un utilitaire très répandu dans le monde Unix et qui a pour but de satisfaire une recherche commandée par un utilisateur concernant les fichiers et répertoires.
Malloc (16 Oct. 2005)
Le but de ce mini projet est de mettre en application la gestion de la mémoire en réalisant une implémentation de l'allocateur de la bibliothèque standard.
Norps (23 Oct. 2005)
Le but de l'exercice est de créer un interpréteur de commandes permettant de charger une bibliothèque dynamique et d'exécuter des fonctions dont le code est compilé dans cette bibliothèque. Des lignes de commandes sont accéptées en entrée, le but n'étant pas de coder un parser ultra robuste. Le programme peut fonctionner en mode interactif ou en mode non-intéractif.
MyReadISO (4 Nov. 2005)
Le but de ce mini projet est de créer un programme Unix capable de lire un système de fichiers pour CDROM. L'intérêt est d'apprendre à se référer à des spécifications techniques (ici la norme ISO9660) pour écrire le code d'un projet
Rush TRON (6 Nov. 2005)
Le but de l'exercice est de réaliser une version du célèbre jeu Tron, tiré du film de 1982. L'affichage est géré avec la libSDL et les fonctions de la libc.
MP6 (13 Nov. 2005)
Le Mini Projet numéro 6 comprend trois exercices : le traitement multitache (Threads), la gestion des signaux UNIX et pour finir une réadaptation de la fonction printf du langage C.
Mini SH (20 Nov. 2005)
Le Mini SH est un terminal simplifié (mini shell) qui reprend les fonctions de base du Shell. C'est un premier pas vers le 42SH.
MyFTPd (20 Nov. 2005)
De nombreuses applications utilisent aujourd'hui le réseau pour s'échanger des données, et l'utilisation du réseau augmente tous les jours. Ce projet a donc pour but de se familiariser avec la programmation d'application réseau, le but étant d'implémenter un serveur FTP (File Transfert Protocol). Dans la continuité du mini-projet MyReadISO, l'une des difficultés de l’exercice est de suivre un standard. Celui-ci est décrit dans une RFC.
Corewar (Déc. 2005)
Corewar est une machine virtuelle qui consiste à manipuler des données binaires grâce à des instructions en assembleur. A plus haut niveau, il s'agit finalement de vaisseaux qui se déplacent sur un circuit grâce à des marqueurs, la piste étant une plage de mémoire bien définie.
42sh (Mar. 2006)
Le but de l'exercice est d'implémenter un interpréteur de commande (shell) de type Bourne. Il respecte le comportement de Bash 3.00.16 et la norme "XSI Command Language".
Recalage (20 Déc. 2005)
Ce projet a pour but de recaler un nuage de point avec une surface, c'est-à-dire de trouver la transformation rigide (translation et rotation) qui met en correspondance le nuage et la surface.
IBC (29 Jan. 2006)
Le projet IBC (Indian Background Classifier) a été importé d'Inde, plus précisément de l'Indian Institute of Technologies Kanpur, qui est une des universités partenaire de l’EPITA. Le but est mettre en application les notions mathématiques concernant les probabilités et les matrices, et ainsi se familiariser avec le Machine Learning qui est à la base de tous les algorithmes d'intelligence artificielle.
JDV (12 Mar. 2006)
Le jeu de la vie (JDV) se base sur un principe très simple : le mode de vie des fourmis. Une colonie de fourmis est basée autour de sa reine et est composée en grande partie d'ouvrières qui bien qu'indépendantes entre elles, travaillent dans un but commun : la survie de la colonie. La base de ce projet est les systèmes multi-agents. Avec un système de ce type, on peut reproduire grossièrement un comportement de société de fourmis. Chaque fourmi a une tâche très précise et très limitée, c'est un agent. La colonie est composée de milliers de fourmis et cette entité représente le système multi-agent. Ici la communication se fait de proche en proche. Une fourmi n'a qu'une vision très limitée du monde.
AMDB (2 Mai 2006)
Le but principal du projet est d'apprendre à utiliser un SGBD. La syntaxe utilisée est celle de PostgreSQL, un sgdb libre offrant de nombreuses fonctionnalités. Le langage utilisé pour le code est Ruby.
JaKaYaVa (3 Juin 2006)
Le projet JaKaYaVa, ou plutôt DaZelVodKaYa, est une réprise du célèbre Zelda sur les consoles Nintendo. En un mois, nous avons repris les principaux éléments du jeu qui donnent envie de jouer et même de continuer à coder.
Tintin, option MacOS X (3 Juillet 2006)
Tintin est un utilitaire de gestion de flux RSS, développé en Obective C sur une plate-forme Mac OS X, avec l'API Cocoa.
LZW, miniTC (5 Mar. 2006)
La méthode Lempel-Ziv-Welch (LZW) consiste à compresser en un code binaire un mot, une phrase ou même un paragraphe entier. Supposons que nous disposions d’un dictionnaire initial composé de 255 caractères correspondant à la table ASCII, le rang des caractères est compris entre 0 et 254. 255 est une valeur réservée. Ainsi, si l'on cherche 'X' dans le dictionnaire, on aura le rang 88. Le principe est fondé sur le fait qu'une séquence de caractères peut apparaître plusieurs fois dans un fichier (compression par répétition). Au fur et à mesure de la compression du fichier, nous allons remplir notre dictionnaire à chaque nouvelle séquence de caractères rencontrée. De cette manière, si nous retombons sur une séquence déja rencontrée, nous n'allons pas renvoyer caractère par caractère, mais seulement l'indice de la chaîne correspondante dans notre dictionnaire. Toute l'astuce de cet algorithme réside dans le fait que le dictionnaire n'a pas à être transmis : il est reconstruit au fur et à mesure de la décompression !
Minimathique (25 Fév. 2005)
Ce projet est réalisé en C++, il utilise donc la programmation orientée objet. Plusieurs objectifs : lire plusieurs expressions arithmétiques écrites au format préfixe ; les expressions peuvent contenir : '+', '-', '*', '/' ; faire le calcul au fur et à mesure du parsing ; détecter les erreurs lors de l'exécution ; afficher l'arbre hiérarchique de l'expression ; ajouter la possibilité de sauvegarder des expressions (et gérer l'utilisation d'une variable non définie) ; utiliser des listes dynamiques...
Tiger Compiler (Juin 2006)
Le plus gros projet de l'année : réaliser un compilateur Tiger en C++.

haut de page

Spécialisation MTI

J2EE : Accomex
.NET : iPouet/Moteur de recherche
WPF Vs Apollo : Leicapollo
FLEX : carnet d'adresses
Search Engine Optimisation : Wikimages
CMS eZpublish
PHP : traitement de documents Open Office

haut de page