Page personnelle de Kyllian Gautier-Touguay

{ Développeur informatique }

Rien ne nous rend aussi grand qu'une paire d'échasses - Prof. Choron

menu

Projets

Projets personnels et professionnels

Présentation de mes projets

projets

Voici la page de présention des projets que j'ai réalisés dans un cadre professionnel ou personnel.

J'ai en effet, dans le cadre de ma formation en DUT informatique, eu à réaliser plusieurs projets en équipe. Avec les connaissances acquises au cours de celle-ci, je me suis lancé dans le développement de plusieurs projets personnels.

Dans le menu à gauche, vous pouvez consulter la fiche détaillée de chacun des projets que j'ai réalisés. Mon site web étant en cours de développement, tous mes projets n'y figurent pas encore, et des articles seront prochainement publiés.

Écrit par Gautier-Touguay Kyllian

Projet premier site personnel

Cahier des charges

Il s’agissait de développer un site internet sur lequel je pouvais publier des articles, mais surtout mettre à disposition mon CV et mon profil professionnel.

Il devait contenir des pages sur lesquelles seraient décrits mes compétences, mes expériences professionnelles et mes projets. Je devais également me servir de ce site pour que l'on puisse me contacter.

Le site devait être ergonomique, moderne et simple dans sa navigation. Il devait également proposer des services tels que la mise à disposition au téléchargement des documents de cours, de TD et d'autres documents concernant ma formation pour que d'autres étudiants puissent y accéder.

Réalisation

J'ai réalisé ce projet seul, en utilisant la documentation dont j'avais besoin sur internet et en me servant de plusieurs logiciels et outils, dont quelques uns que j'ai découverts au cours de ma formation en DUT informatique.

  • Langages informatiques utilisés

    HTML5, CSS3, PHP et JavaScript (avec JQuery)

  • Logiciels informatiques

    Geany et Bluefish m'ont permis de développer ce site internet.
    Gimp 2 m'a permis de créer des images et des icônes.

  • Outils informatiques

    J'ai utilisé Lamp server (Apache 2) pour concevoir mon site, réaliser sa structure et mes tests.
    Le site internet Favicon m'a permis de réaliser une icône de type favicon.

Afin de rendre mon site consultable, j'ai du trouver un serveur pour l'héberger. Ayant à mon domicile une FreeBox, je disposais de 10Go gratuits de stockage sur les serveurs Free pour le mettre en ligne.

Améliorations

La version mobile de mon site fut un défi intéressant à réaliser. Afin de conserver la facilité de navigation, j'ai du adapter mon site et revoir certaines de ses parties, comme le menu principal. J'ai donc réalisé un système d'onglets avec des icônes.

J'ai créé, grâce au logiciel Gimp 2 de nombreuses images afin de rendre le site plus agréable et la version mobile plus pratique.

Écrit par Gautier-Touguay Kyllian

Gestionnaire de notes

Cahier des charges

Ce projet avait pour but de concevoir un gestionnaire de notes scolaires, rendant plusieurs services. Ce gestionnaire devait calculer les moyennes des matières, des carnets de notes en tenant compte des coefficients. L'utilisateur pouvait créer un carnet de notes, ajouter un titre et une description, créer une matière dans un carnet de notes avec un nom, un coefficient et une description, puis créer des notes dans une matière avec un nom correspondant à l'examen, un coefficient et une valeur.

Le gestionnaire de notes devait présenter les informations sur les carnets de notes de façon simple et intuitive. Il devait pour cela être capable d'afficher toutes ces informations dans une fenêtre organisée.

Une sauvegarde pouvait également être faite pour que les notes ne se perdent pas une fois le gestionnaire fermé.

Réalisation

J'ai réalisé ce projet seul, en utilisant la documentation dont j'avais besoin sur internet et en me servant d'Eclipse IDE que j'ai découvert au cours de ma formation en DUT informatique.

  • Langages informatiques utilisés

    Java

  • Logiciels informatiques

    Eclipse IDE m'a permis de coder toute l'application.

  • Bibliothèques

    J'ai utilisé Java Swing pour coder l'interface graphique du gestionnaire de notes.

Améliorations

Le gestionnaire de notes devait conserver une confidentialité sur les carnets de notes. Le fichier de sauvegarde a donc été crypté lors d'une amélioration, et un mot de passe est demandé à chaque ouverture. Le cryptage est différent et aléatoire entre chaque ouverture.

Afin d'améliorer l'ergonomie, une amélioration a permis à la fenêtre du gestionnaire d'adapter le contenu à ses dimentions.

Écrit par Gautier-Touguay Kyllian

Projet site web actuel

Cahier des charges

La refonte de mon site avait pour but d'améliorer ma page personnelle : la rendre plus claire et plus élaborée que la première version (voir article premier site). Ce nouveau site devait proposer de nouvelles fonctionnalités, comme un formulaire de contact direct ou une présentation de mes projets professionnels et personnels.

Ce site était aussi un challenge me permettant de mettre en pratique les nouvelles connaissances en PHP et en JavaScript acquises lors de ma seconde année de DUT informatique.

Fonctionnalités clés :

  • Site mobile

    Version mobile fonctionnelle et ergonomique avec un menu latéral

  • JavaScript

    Réaliser un site web agréable, avec des animation et des transitions

  • Pages spécifiques
    • Profil professionnel et CV

      Rendre disponible et consultable mon profil professionnel et mon CV

    • Projets

      Présentations de mes projets professionnels et personnels

    • Centres d'intérêt

      Partager mes centres d'intérêts pour mieux me connaître

    • Galerie

      Galerie photo regroupant toutes les photos du site en catégories : screenshoots de projets, photos d'équipes de développements etc

    • Liens utiles

      Page permettant de rendre disponibles des liens que j'utilise fréquement

Réalisation

J'ai dévoloppé la nouvelle version de mon site seul, en utilisant mes connaissances de 1ère et 2nde année de DUT informatique.

  • Langages informatiques utilisés

    HTML5, CSS3, PHP et JavaScript

  • Logiciels informatiques

    Geany et Bluefish m'ont permis de développer ce site internet.
    Gimp 2 m'a permis de créer des images et des icônes.

  • Outils informatiques

    J'ai utilisé Lamp server (Apache 2) pour concevoir mon site, réaliser sa structure et mes tests.
    Le site internet Favicon m'a permis de réaliser une icône de type favicon.

  • Bibliothèques

    JQuery : voir JQuery
    TweenLite & TweenMax : voir Green Sock

Afin de rendre mon site consultable, j'ai du trouver un serveur pour l'héberger. Ayant à mon domicile une FreeBox, je disposais de 10Go gratuits de stockage sur les serveurs Free pour le mettre en ligne.

Améliorations

Une amélioration a été de rendre le formulaire de contact direct interactif, avec des messages d'erreur lorsqu'un champ n'est pas rempli correctement. L'envoi du mail ne sera possible qu'une fois tout les champs rempli sans erreur.

Le site étant en fin de développement, il est possible que d'autres améliorations soient apportées. Elles seront indiquées ultérieurement dans cet article.

Écrit par Gautier-Touguay Kyllian

Jeu vidéo 2048

Cahier des charges

Nous devions, étudiants de premier semestre en DUT informatique, développer le jeu, à ce moment à la mode, 2048. Pour lire les règles et connaître le principe du jeu, regarder cette page.

Ce jeu devait être développé en langage C uniquement. Le joueur aurait pu créer une partie en choisissant le nombre de cases de largeur de la grille. Il aurait pu réaliser des sauvegardes de ses parties et en charger une à partir d'un fichier. L'affichage devait être en couleur sur un terminal, et contrôlé grâce aux touches du clavier.

Réalisation

Nous devions développer ce jeu par équipes de deux étudiants. Le jeu devaît être codé uniquement en C, avec des bibliothèques fournies par nos enseignants.

  • Langages informatiques utilisés

    C uniquement.

  • Logiciels informatiques

    Emacs m'a permis de coder ce jeu tandis que mon binôme a utilisé GEdit.

Les tests du code représentait un grosse exigence des enseignants et une importante partie de la note finale. Nous avons réalisé nos tests en créant un programme avec un main pour chaque test différent. Avec un Makefile adapté, nous pouvions réaliser les tests que nous voulions. les résultats étaient stockés dans un fichier texte et affichés dans le terminal.

Améliorations

Nous avons fait trois principales améliorations :

La première fut les slots de sauvegardes. L'utilisateur pouvait sauvegarder jusqu'à trois parties dans trois fichiers différents.

La seconde fut un menu pricipal contrôlé par les flèches directionnelles du clavier et non par une entrée de numéro au clavier. Pour ce qui est de l'affichage, la sortie du terminal était rafraîchie à chaque appui.

La dernière était l'affichage d'une étoile à côté de l'option "sauvegarder" du menu principal quand une partie en cours ne l'était pas.

Écrit par Gautier-Touguay Kyllian

Jeu éducatif Dobble

Cahier des charges

Ce projet devait se réaliser dans le cadre de notre 3ème semestre de DUT informatique.

Nous étions une équipe de 5 développeurs, avec un chef d'équipe, et en totale autonomie, nous devions développer une application d'entrainement au Dobble destinée à un jeune public (enfants de 5 à 10 ans). Le jeu devait donc être simple dans son interface, avec des images ludiques.

Ce projet devait être rendu en 5 mois, avec un rapport complet et une soutenance.

Équipe et répartition du travail

  • Alan Jaouen

    Chef de projet.
    A principalement réalisé la conception et la mise en place de la base de données

  • Eva Terzago

    Réalisation de la fenêtre de jeu et des images du jeu

  • Adrien Boizard

    Réalisation de la fenêtre de jeu et des classes métiers

  • Klervi Bleschet

    Développement de la partie réseau et de la connexion à la base de données

  • Kyllian Gautier-Touguay

    Réalisation de la fenêtre des paramètres et du menu principal

L'équipe s'est chargée de réaliser ensemble les classes métiers. La réalisation des différents diagrammes nécéssaires au bon déroulement du projet et à la bonne réponse au besoin du client ainsi que d'autres tâches ont été partagées entre différentes sous-équipes :

  • Équipe entière

    Conception des classes métiers et du diagramme de classes

  • Alan Jaouen

    En tant que chef de projet, il s'est chargé de concevoir un diagramme de GANT, de gérer l'avancement et le planning

  • Éva Terzago, Adrien Boizard et Kyllian Gautier-Touguay

    Réalisation du diagramme de cas d'utilisation
    Développement des classes métiers principales

  • Alan Jaouen et Klervi Bleschet

    Rédaction du compte rendu écrit

Réalisation

La totale autonomie donnée par nos enseignants nous a laissé libres de choisir le langage, le logiciel de développement et la gestion de projet.

  • Langages informatiques utilisés

    Java pour le jeu, les GUI et classes métiers

    SQL pour gérer la base de données

  • Logiciels informatiques

    Eclipse IDE nous a permis de développer l'intégralité du projet

  • Bibliothèques utilisées

    Java Swing nous a permis de réaliser l'interface graphique

  • Logiciels tiers

    Gradle : gestionnaire de plugins pour projets Java

    JUnit : plugin permettant de réaliser, d'effectuer et de gérer des tests unitaires du code

    Java Cover Code (JaCoCo) : plugin vérifiant que les tests JUnit couvrent tout le code

    Subclipse : plugin Eclipse permettant d'accéder à un SVN distant

Les tests du code représentants une partie importante de ce qu'attentaient nos enseignants tuteurs, nous avons configuré plusieurs outils (voir au dessus : logiciels tiers) facilitant les tests et fournissant des rapports complets pour le déboggage.

Le projet a débuté fin semptembre 2015 et s'est achevé le 9 janvier 2016. Il représente 200h de travail.

Avancement du projet

Le planning a été établi à partir d'un diagramme de GANTT. Les tâches, en fonction de leur complexité, ont été réparties entre les membres du projet, et un temps conséquent leur à été donné afin de les réaliser correctement. Aucun retard n'a été prit durant le projet. Ce dernier à été rendu achevé avant la date limite fixée par le client.

L'avancement du projet à été suivi par notre chef de projet. Les tâches et leur avancement ont été renseignés au fur et à mesure dans un tableau Excel.

Améliorations

Quelques améliorations et corrections ont été ajoutées : ajout d'une image de fond pour le menu principal, ajout de sons, de voix pour rendre le jeu plus ludique, simplification de l'interface.

Des améliorations peuvent également être apportées : Confirmation de mot de passe lors de la création d'un compte, afficher le mot de passe en "masqué" lors de son entrée, animations lors d'une action dans le jeu.

Écrit par Gautier-Touguay Kyllian

Ordinateur

Cahier des charges

Ce projet consiste au montage d'un ordinateur fixe. c'est un projet personnel, ayant pour finalité d'obtenir un ordinateur puissant à usage professionnel et personnel.

Les exigences sont les suivantes :

  • Pouvoir faire tourner plusieurs VM (Virtual Machines) simultanément

    On cherche à pouvoir faire tourner plusieurs environnements Linux avec des outils comme VirtualBox, sur lesquels des serveurs PHP et BDD seront installés, permettant le développement web d'applications sans rique d'endomager le système principal de l'ordinateur.

  • Permettre la compilation et l'exécution de programmes interprétés (en Java notemment)

    Le Java étant un langage interprété, pour l'exécution de programmes Java lourds, une puissance est nécéssaire afin de faire tourner des JVM (Java Virtual Machine) simultanément, faire du multi-threading, du réseau et développer des GUI (Graphical User Interface).

  • Puissance graphique permettant d'utiliser deux écrans (dual screen)

    Deux écrans permettent un confort supplémentaire pour le travail ou les loisirs. L'ordinateur devra donc être en mesure de produire l'affichage de deux écrans en parallèle.

  • Puissance graphique permettant de jouer aux derniers jeux confortablement

    Les derniers jeux sur le marché étant de plus en plus gourmands en performances, cet ordinateur doit être capable de lancer les jeux les plus lourds pendant 5 ans, en affichant les plus beaux graphismes et en toute fluidité.

Le budget pour cet ordinateur est de 1350 €.

Choix des composants

Voici la liste complète des composants choisis :

Type de composant Composant choisi Prix (€)
Carte mère MSI Z170a Gaming Pro 150
Carte graphique MSI GeForce GTX 980, 4 Go GDDR5 550
Processeur Intel Core i7 6700K Skylake, 4,00 GHz 350
RAM G.Skill RipJaws V Red edition, 2x8 Go, 2133 MHz 95
ROM Kingston SSDNow V300, 240 Go 98
ROM HDD 1,5 To récupération
Refroidissement Corsair Hydro-series H110i GT 140
Alimentation Corsair CX600m 90
Boîtier NZXT Noctis 450 135
Total 1608

De nombreuses réductions m'auront permis d'obtenir de meilleurs composants, tout en respectant le budget initial. Ainsi, le total finalement payé fut : 1357 €.

Afin de répondre aux attentes de puissance, en particulier pour pourvoir faire tourner des VM, une quantité de RAM est nécéssaire. Les 16 Go de RAM choisis sont donc les bienvenus, permettant, avec leur fréquence d'accès rapide (2133 MHz), une rapidité dans l'interface, mais également donnant au système une capacité de stockage temporaire conséquente. Il sera ainsi possible de léguer plusieurs Go de RAM aux différentes VMs sans que le système principal soit ralentit.

Pour une rapidité d'allumage et de démarrage des principaux programmes, un disque SSD Kingston accueillera le système d'exploitation ainsi que le navigateur internet, les différents IDE et quelques autres applications qui seront fréquemment utilisées.

L'ordinateur sera utilisé à des fins professionnelles, mais aussi personnelles. Le stockage ne devra donc pas être un facteur limitant. Le disque dur récupéré offrant 1,5 To de mémoire, le stockage de projets, de sauvegardes, de vidéos et de jeux sera confortable.

Les jeux vidéos récent étant très demandeurs en matière de ressources (surtout en ressources graphiques), il sera nécéssaire d'installer une carte graphique puissante. La carte graphique choisie va permettre de lancer pendant environ 5 ans les derniers jeux les plus gourmands sans que la fluidité en soit affectée. Elle permettra aisément de gérer deux écrans en parallèle, avec ses nombreux ports de sortie vidéo.

Afin que les performances soient toujours meilleures, et pour exploiter au maximum chacun des composants, une bonne carte mère est exigée. La MSI Z170a Gaming Pro ayant un port PCI-express x16, un chipset Z170 et un audio boost 3 de MSI, l'ordinateur sera stable et performant pendant plusieurs années.

Le processeur choisi, le plus puissant de la dernière génération de i7 (Skylake), offrira une puissance de calcul importante, pour le travail comme pour les loisirs. Il sera refroidit par un Watercooling AIO (All In One), un système performant bien qu'assez encombrant.