William Ammouial
E-Portfolio
Mes Compétences
Alger - Forum Unesco
Présentation du projet :
Ce projet est un projet tutoré qui s'étend sur toute l'année dans le cadre de la 1ère année de DUT Informatique. Il s'agit d'un projet en groupe en partenariat avec l'UNESCO qui a pour objectif de valoriser le patrimoine mondial et dans notre cas Alger grâce au numérique.
Lien vers le projet
Missions :
- Recherche documentaire.
- Wireframing.
- Développement du site statique : HTML, CSS, Bootstrap, JQuery.
- Développement du site dynamique : PHP, SQL.
Stormbound - WallimLeo
Présentation du projet :
Dans le cadre d'un projet de semestre en Programmation JAVA nous avons du réaliser ne copie du jeu de cartes sur mobile Stormbound : https://paladinstudios.com/stormbound/ Il y a possibilité de composer ses propres decks parmi une collection de cartes identique à celle du jeu d'origine et il est aussi possible d'affronter une IA capable de prévoir des coups plusieurs tours à l'avance.
Lien vers le projet
Missions :
- Création de l'Architecture Logique et de la répartition des classes.
- Création des classes et de l'interface graphique.
- Développement de l'IA.
- Travail d'équipe en duo.
Linkebot
Présentation du projet :
Il s'agit d'un programme réalisé pour une entreprise dans le cadre de la prospection de nouvelles personnes sur le réseau social LinkedIn. Le programme s'ouvre sur une interface graphique qui nous permettra de configurer le comportement du bot. On doit tout d'abord choisir les mots clés qui vont être recherchés, le nombre de pages de résultats qu'on veut traiter, puis renseigner ses informations de connexion et le bot va ouvrir une fenêtre de Mozilla Firefox et ajouter tous les gens proposés dans les résultats de recherche.
Lien vers le projet
Missions :
- Création de l'interface graphique.
- Création du bot.
- Tests et débogage.
Technologies utilisées :
- Python 3
- Selenium avec Mozilla Firefox
- TkInter pour l'interface graphique
Rogue AI M(O)BA
Présentation du projet :
Dernier projet majeur de développement Unity. Réalisé en équipe de 5 sur le dernier semestre de la deuxième année. Génération aléatoire de terrain, mécaniques similaires à celles de League of Legends, réalisation de 3 IA simples et une IA plus complexe pour les différents types d'ennemis et boss. Le but est de finir tous les niveaux et à chaque fin de niveau on peut choisir un nouveau pouvoir à binder à une touche après le combat contre le boss. Conception artistique du jeu.
Lien vers le projet
Missions :
- Gestion des niveaux.
- Développement des ennemis simples et de leurs IA.
- Développement des menus et du cycle global du jeu.
- Composition, mix et gestion du son du jeu.
Technologies utilisées :
- Unity, C#
- Reaper
- FL Studio
POMME
Présentation du projet :
Projet annuel de gestion de projet en deuxième année de DUT Informatique consistant à réaliser une application pour l'AP-HP de Dossiers Médicaux Partagés (DMP). Nous avons pour cela répartit différents rôles aux 5 membres de l'équipe parmis laquelle j'étais MOE. Ce projet est réalisé comme un site web avec HTML5/CSS3, Javascript, Bootstrap et Python avec Django.
Lien vers le projet
Missions :
- Répartition des rôles et rédaction des livrables.
- Travail d'équipe et communication.
- Codage en fonction des architectures produites avant.
- Présentation et livraison du produit à la fin de l'année.
Technologies utilisées :
- Python 3
- Django
- HTML5/CSS3
- Javascript
- Bootstrap
Touristic Violence
Présentation du projet :
Second projet majeur de développement Unity focalisé sur la génération aléatoire de terrains. Il s'agit d'un tower defense réalisé avec mon comparse Armand Colin lors de notre seconde année d'école d'ingénieur à l'ESIEE. Plusieurs niveaux s'enchainent relachant constemmment des hordes d'ennemis. On gagne de l'argent en battant des ennemis et on peut ensuite construire différents types de tours, ayant chacunes leurs propres particularités.
Lien vers le projet
Missions :
- Génération/gestion des niveaux, des vagues et des ennemis.
- Développement des menus et du cycle global du jeu.
- Composition, mix et gestion du son du jeu.
Technologies utilisées :
- Unity, C#
- Reaper
- FL Studio
ARCH-Wil
Présentation du projet :
Ce projet est un projet personnel visant à faciliter le transfert de données contenues dans un dossier ou encore leur archivage. Tous les fichiers et dossiers présents dans le dossier sélectionné sont récursivement ajoutés au fichier .wil que l'on peut si l'on veut encrypter afin de garantir la confidentialité des données. L'utilisateur a juste à rentrer un mot de passe pour encrypter le fichier et ce dernier sera encrypté avec de l'AES 256 qui offre une forte fiabilité. Il y a aussi une option d'installation et de desinstallation du programme pour qu'il soit copié dans System32 de Windows et ainsi qu'il soit automatiquement accessible depuis le cmd, de plus au type de fichier .wil est associé un icone en forme de hamburger.
Lien vers le projet
Missions :
- Création d'un modele binaire de fichier.
- Gestion du cryptage et du décryptage.
- Gestion de la navigation dans les dossiers et sous-dossiers.
- Création des fonctions d'installation et de désinstallation.
Technologies utilisées :
- Python 3
- Pyinstaller
SongDetector
Présentation du projet :
Projet de deep learning de ma deuxième année d'école d'ingénieur à l'ESIEE Paris en duo avec Armand Colin. Nous avons choisi de développer un réseau de neurones capable de donner le pourcentage de correspondance à divers styles musicaux d'une musique donnée. Les caractéristique de la musique sont extraites et envoyé au réseau de neuronnes entrainé préalablement sur 1000 échantillons de chaque style.
Lien vers le projet
Missions :
- Création du réseau de neurones.
- Préparation des données.
- Développement de l'application.
- Implémentation à mon site web.
Technologies utilisées :
- Python 3, TensorFlow, Keras...
- Django pour l'intégration web.
- Diverses librairies Python de traitement audio.
Princesse Juwico
Présentation du projet :
Il s'agit de mon projet final d'ISN en Terminale S consistant à la création d'un jeu vidéo en Python 3 à l'aide de la bibliothèque graphique PyGame. Nous étions un groupe de 3 où je me suis chargé de toute la partie développement tandis que mes camarades s'occupaient des graphismes et des sons. Le jeu possède un niveau central qui redirige sur des petits niveaux à la façon d'un Mario. Le projet a duré de Janvier 2017 à Juin 2017.
Lien vers le projet
Missions :
- Ecriture des classes du jeu.
- Création des niveaux.
- Mise en relation des différentes phases du jeu.
- Tests et débogages.
Technologies utilisées :
- Python 3 et sa bibliothèque PyGame.
- Paint.net pour les retouches d'images.
- Audacity pour les retouches des sons.
T-Bike
Présentation du projet :
Premier projet majeur de réalisation d'un jeu sous Unity en première année d'école d'ingénieur à l'ESIEE. Réalisé en duo avec Armand Colin. T-Bike est un jeu 3D où l'on doit battre tous les ennemis de la carte pour avancer. Pour cela, on peut utiliser simultanément deux armes trouvables dans des coffres. Projet semestriel d'Unity.
Lien vers le projet
Missions :
- Génération et gestion des niveaux.
- Développement des menus et du cycle global du jeu.
- Composition, mix et gestion du son du jeu.
Technologies utilisées :
- Unity, C#
- Reaper
- FL Studio
LabyrinthGenerator
Présentation du projet :
Projet personnel réutilisant certains principes comme la percolation que j'ai eu l'occasion d'étudier aux Pays-Bas lors de mon Erasmus. On donne une dimension N et une matrice NxN est générée selon certains paramètres modifiables (taux d'apparition des murs,...). Ensuite les clusters des différentes cases libres séparées par des murs sont stockés et un ajout de case de portes permettant de relier les clusters est réalisé. Ensuite des portes d'entrée et de sortie sont trouvées en cherchant la plus grande distance possible à parcourir dans les cases libres. Cela nous donne un labyrinthe généré aléatoirement forcément résolvable comportant plusieurs clusters pouvant correspondre à des environnements différents dans un jeu ou la possibilité d'ajouter un système de clé de cluster pour déverouiller la porte menant à un autre cluster.
Lien vers le projet
Missions :
- Réalisation des différents algorithmes.
- Application adaptée de la théorie.
- Implémentation à mon site web.
- Création d'un jeu l'utilisant en parallèle.
Technologies utilisées :
- Python 3, NumPy, PIL
- Django pour l'intégration web.
Casse-brique Simple
Présentation du projet :
Petit projet de semestre consitant à réaliser un casse-briques simple en Python 3 avec la bibliothèque graphique UPEMTK dérivée de TkInter. Le programme s'ouvre sur un petit menu et donne la possibilité de lancer le jeu en mode automatique ou de jouer tout seul ou encore de lancer un niveau précedemment crée dans un fichier .txt comme c'est expliqué dans le README du projet.
Lien vers le projet
Missions :
- Développement du jeu.
- Développement de l'interface graphique.
- Ajout de la possibilité de personnaliser les niveaux.
Technologies utilisées :
- Python 3
- UpemTk (dérivé de TkInter)
Mes Réalisations
Alger - Forum Unesco
Projet consistant à élaborer et réaliser un site Internet portant sur le patrimoine culturel de l'UNESCO à Alger.
En savoir plusStormbound - WallimLeo
Copie du jeu mobile Stormbound réalisé en Java pour un projet de semestre. Implémente une IA à affronter.
En savoir plusLinkebot
Programme se connectant à LinkedIn et ajoutant toute personne correspondant à un mot clé.
En savoir plusRogue AI M(O)BA
Projet final d'Unity en équipe de 5 pour le développement d'un jeu complet.
En savoir plusPOMME
Application de gestion de Dossiers Médicaux Personnalisés réalisée pour un projet annuel.
En savoir plusTouristic Violence
Second jeu unity 3D. Tower defense avec génération de niveau aléatoire et parametrables.
En savoir plusARCH-Wil
Petit logiciel écrit en Python 3 pour archiver un dossier et tout son contenu dans un fichier crypté ou non.
En savoir plusPrincesse Juwico
Projet final d'ISN en terminale S consistant à la création d'un jeu vidéo en Python 3 à l'aide de PyGame.
En savoir plusT-Bike
Premier jeu unity 3D développé en école d'ingénieur. Combat avec un dragon et des armes modernes.
En savoir plusCasse-brique Simple
Petit casse-briques réalisé avec Python 3 et TkInter pour un projet de semestre.
En savoir plus