Mes projets EPITECH
Voici quelques projets que j'ai developpé dans le cadre de mon cursus :
NIOS
NIOS, de l'acronyme récursif « Nios Is Open Source », est mon projet de fin d'étude. Il consistait à développer un site communautaire permettant de regrouper les utilisateurs des différent corps de métier du jeux vidéo et de promouvoir le jeux open source.
Partis du constat qu'à ce moment aucun moyen ne permettait aux créateurs indépendant de jeux vidéo de trouver des contacts, afin de mettre en œuvre une idée ou une compétence. La plate forme permettait de résoudre ce problème tout en fournissant un moyen de communication une fois un projet terminé.
Informations technique :
- Language(s) : PHP / Ruby
- Systèmes : Microsoft Windows XP, Microsoft Windows Seven, Linux Distribution Ubuntu, Mac OSX
- Serveur : Apache
- Outils utilisé(s) : SVN, cakephp, qt
Organisation du projet :
Les projets de fin d'étude (aussi nomée Epitech Innovating Project) sont à réaliser ´ plus de 4. Pour notre cas nous étions sept.
Partie réalisé par mes soins :
- Participation au développement du site communautaire
- Création du mécanisme de profile utilisateur.
- Création du système de création de Portfolio.
- Outils d'installation sur Linux et Window
- Documentation
- Document de l'existant,
- Document de conception,
- Cahier des charges,
- Document techniques,
- Document utilisateurs
Gomoku
Pour ce projet, avons dû implémenter un jeu de Gomoku Ninuki, ainsi qu'une intelligence artificielle capable de jouer... Et surtout, de gagner.
Nous avons donc dû implémenter ces trois principaux composants :
- L'arbitre, comportant l'ensemble des règles du jeu, devant être capable de déterminer si un coup est valide, quelles sont les conséquences, déclarer la victoire... Autrement dit, nous avons dû créer le moteur du jeu.
- L'interface graphique, qui devait permettre à un humain de jouer, mais aussi d'observer les différentes statistiques du jeu.
- L'intelligence artificielle, devant être capable de mettre en œuvre une stratégie gagnante et devant être pertinente et rapide.
Informations technique :
- Language(s) : C/C++
- Systèmes : Microsoft Windows Seven
- Outil(s) utilisé(s) : SVN, algorithme Min-Max
Contribution au projet :
- Création de l'intelligence artificielle
- Pour ce projet, l'IA devait absolument utiliser l'algorithme Min-Max
Taquin
Pour ce projet, avons dû implémenter une intelligence artificielle capable de jouer au taquin, en utilisant l'algorithme A*Informations technique :
- Language(s) : C/C++
- Systèmes : Linux Distribution Ubuntu
- Outil(s) utilisé(s) : SVN, algorithme A*
Contribution au projet :
- Création de l'intelligence artificielle
Le R-Type
Le R-Type est classé dans la rubrique "Jeux" de mon portfolio
Suivez ce liens pour vous y rendre
Le Zappy
Le zappy a été un projet phare de ma deuxième année d'EPITECH. Ce projet consistait à créer un serveur de jeu en C et un client graphique.
Ce Jeu consiste à gérer un monde et ses habitants. C'est un monde simple avec de la nourriture et six pierres différente. Le habitants on pour objectif de s'élever dans la hiérarchie, tout en restant pacifique.
Organisation du projet :
Ce projet était à effectuer à six.
- Client Graphique
- Client IA
-
Serveur
- Réception des données
- Application des commandes
-
Gestion du temps (Partie réalisée par mes soins)
Je me suis occupé de tous tous les facteurs incident sur le temps, tant en ce qui concernait la durée d'application des commandes, que le décès des joueurs (famine).
Le Techweb
Le Techweb est classé dans la rubrique "Web" de mon portfolio
Suivez ce liens pour vous y rendre
Le 42sh
Le but de ce projet fut de réaliser un Shell de type bash ou tcsh en C.
Le 42sh fait parti des trois projets les plus importants que nous devions rendre en fin de première année.
Le projet consistuait en l'écriture d'un Shell du niveau de bash, tcsh et autres. Il se décomposait en deux parties :
- Une partie obligatoire qui représentait 40% de la note du projet.
- Une partie optionnelle qui ne être faite que si la partie obligatoire fonctionne complètement.
La stabilité et l'utilisation de l'ensemble est largement prise en compte.
Aperçu final :
Organisation du projet :
Ce projet était à effectuer à quatre.
- Gestion de l'affichage
- Gestion d'un fichier de configuration
-
Parsing des commandes. (Partie réalisée par mes soins)
Pour cela il a fallut que je découpe les commandes entrées par l'utilisateur en fonction des séparateurs (&&, ||, ;), des parenthèses et cetera.
Cela pour en arriver à séparer les commandes les une des autres. Ainsi que les executer en fonction des résultats des commandes précédentes.
- Gestion des redirections
- Option : Utilisation des term-caps (pour l'affichage)
- Option : Gestion de l'historique des commandes
- Option : Gestion des parenthèses (Partie réalisée par mes soins)
- Option : Gestion des inhibiteurs (Partie réalisée par mes soins)
J'ai dû effectuer des fonctions génériques permettant à mes collègues de récupérer un mot ou une chaîne de caractère, "utilisable".
Le Raytracer
Le but du projet était de réaliser un programme, en C, qui génèrait des images de synthèse suivant la méthode du Raytracing à partir d'un fichier de configuration.
Nous avions pour cela uniquement droit à une partie de la bibliothéque libX.
Exemples de résultats :
Organisation du projet :
Ce projet était à effectuer à quatre.
-
Parsing du fichier de configuration. (Partie réalisée par mes soins)
A partir d'un fichier de format xml j'ai dû enregistrer les configurations d'objets d'une scène.
Cette expérience m'a permis d'apprendre a utiliser les bibliothèques XML.
- Lancement des rayons, gestion des contacts avec les objets de la scène.
-
Réflexion des objets (Partie réalisée par mes soins)
Après étude, pour savoir comment gérer cet évènement, j'ai pu constater qu'il suffisait de lancer un nouveau rayon (partie 2) pour obtenir la réflexion.
- Transparence
- Option : Déformation des surfaces
- Option : Mouvement dans la scène
Le BSQ
Le BSQ est un petit projet que nous avons eu a faire dans le courant de notre première année d'EPITECH. Il s'agissait de trouver ou il est possible d'insérer le plus grand carré dans une carte parcemée de point.
Exemple :
- La réception de la carte
- Et trouver l'emplacement idéal pour notre carré.
Organisation du projet :
Ce projet était à effectuer à deux.
Mon binome s'est occupé de réaliser la première partie, et moi la seconde.
Ce n'est qu'après, comme nous avions du temps que j'ai effectué le rendu graphique présenté ci-dessus pour notre projet.







