Aller au contenu

Étudiant finissant · Techniques de l'informatique

Zachary Gauthier

Futur ingénieur informatique · Développeur full stack

Je suis en 5e session de Techniques de l'informatique au Cégep de l'Abitibi-Témiscamingue. La programmation a toujours été ma passion, surtout le développement web : autant la partie que l'on voit à l'écran (le frontend) que la mécanique cachée du serveur et de la base de données (le backend). J'ai notamment conçu le site web et la base de données d'un jeu réalisé en équipe, puis créé seul un jeu de combat avec Unity. Après le cégep, je veux poursuivre au baccalauréat en génie informatique à l'Université de Sherbrooke.

Zachary Gauthier

Abitibi-Témiscamingue, Québec

Formation actuelle
DEC en Techniques de l'informatique
5e session sur 6
Objectif
Baccalauréat en génie informatique, Université de Sherbrooke
Projet le plus récent
Ragdoll Rampage
Domaines
Web full stackBases de donnéesJeux vidéo
  • 5/6session actuelle du DEC
  • 2projets majeurs réalisés
  • 12semaines de développement
  • 12langages, outils et technologies

Parcours

Mon parcours

Ma scolarité, de l'école secondaire jusqu'à l'université, et les formations qui m'ont le plus appris.

Scolarité

  1. ProjetProjet d'études · après le DEC

    Baccalauréat en génie informatique

    Université de Sherbrooke

    Prochaine étape de mon parcours, pour approfondir la conception de logiciels et de systèmes informatiques.

  2. En cours2024 – [À CONFIRMER : printemps 2027]

    DEC – Techniques de l'informatique

    Cégep de l'Abitibi-Témiscamingue

    Présentement en 5e session (3e année) sur 6. Programmation web, développement de jeux vidéo, architecture d'applications, bases de données et systèmes d'exploitation.

  3. TerminéDiplômé en 2024

    Diplôme d'études secondaires (DES)

    École secondaire La Source, Rouyn-Noranda

Formations

Je n'ai pas encore suivi de formation en dehors du cégep. Voici les cours de mon DEC qui m'ont le plus formé, reliés aux projets qu'ils m'ont permis de réaliser.

Cours marquants du DEC

  • Hiver 2026

    Développement de jeux vidéo (420-146-AT)

    Créer un jeu complet avec le moteur Unity : physique, contrôles, interface, sons et publication.

    Projet réalisé : Ragdoll Rampage
  • [À COMPLÉTER : session]

    Architecture d'applications

    Organiser le code d'un logiciel en couches séparées (affichage, logique, accès aux données) pour qu'il reste clair et facile à faire évoluer.

  • [À COMPLÉTER : session]

    Programmation Web

    Construire des sites web dynamiques, de la page affichée dans le navigateur jusqu'au serveur et à la base de données.

  • [À COMPLÉTER : session]

    Systèmes d'exploitation

    Comprendre et utiliser le système qui fait fonctionner un ordinateur, notamment Linux et sa ligne de commande.

Connaissances

Ce que je maîtrise

Les langages, logiciels et outils que j'utilise, chacun expliqué en une phrase.

Langages

  • C#Langage de Microsoft avec lequel j'ai programmé mes deux jeux et le site web de Donjon Escape.
  • JavaScriptRend une page web interactive : menus, boutons, animations.
  • PHPFait fonctionner un site côté serveur, par exemple pour traiter un formulaire.
  • PythonLangage simple et polyvalent, idéal pour automatiser des tâches.
  • HTML et CSSLe squelette (HTML) et l'habillage (CSS) de toute page web.

Bases de données

  • MySQLStocke et retrouve les données d'une application, comme les héros et l'or des joueurs de Donjon Escape.

Systèmes

  • LinuxSystème d'exploitation très utilisé sur les serveurs, que je pilote en ligne de commande.

Outils et moteurs

  • UnityMoteur de jeu vidéo : il gère l'affichage, la physique et les sons. Utilisé pour Ragdoll Rampage.
  • .NET et BlazorOutils de Microsoft pour créer des applications et des sites web en C#.
  • Windows FormsOutil pour créer des fenêtres d'application Windows, utilisé pour le jeu Donjon Escape.
  • Git, GitHub et GitLabGardent l'historique de chaque modification du code et permettent de travailler à plusieurs.
  • JetBrains RiderLogiciel dans lequel j'écris et je teste mon code C#.

Compétences

Mes compétences

Des aptitudes développées par l'expérience, chacune appuyée par une situation concrète.

  • Travail d'équipe

    Excellent

    Pour Donjon Escape, Xavier Trudel et moi, nous nous sommes clairement partagé le travail : je me suis occupé du site web, de la base de données et d'une partie du jeu, et Xavier s'est concentré sur le jeu. Nous avons travaillé sur le même code pendant six semaines, avec plus de 280 sauvegardes (commits) fusionnées dans Git.

    Preuve : Donjon Escape
  • Planification de projet

    Dans mon cours de conception logicielle, [À COMPLÉTER : ce que tu as planifié et comment, ex. découpage en tâches, échéancier]. Pour Ragdoll Rampage, j'ai aussi avancé une fonctionnalité à la fois sur six semaines : déplacements, puis armes, puis défense, puis menus et sons.

    Preuve : Ragdoll Rampage
  • Leadership

    Bon

    [À COMPLÉTER : une situation concrète où tu as guidé, motivé ou aidé d'autres personnes (équipe, travail, sport…)]

  • Autonomie

    J'ai réalisé Ragdoll Rampage seul, de l'idée jusqu'au jeu complet : j'ai choisi les outils, intégré un pack de ressources existant et appris par moi-même à faire bouger des personnages avec la physique.

    Preuve : Ragdoll Rampage

Réalisations

Mes réalisations

Mes projets, du plus récent au plus ancien. Cliquez sur « Voir les détails » pour lire les objectifs, ma contribution, le résultat et ce que j'en ai appris.

  1. Hiver 2026Ragdoll RampageProjet individuel
  2. Automne 2025Donjon EscapeÉquipe de 2 · avec Xavier Trudel
Deux personnages bâtons s'affrontent ; celui de droite est protégé par un bouclier hologramme turquoise. Barres de vie et minuterie en haut de l'écran.

Cours 420-146-AT Développement de jeux vidéo

Ragdoll Rampage

Jeu de combat 1 contre 1 où la physique dicte les règles

  • Durée : 6 semaines
  • Projet individuel
  • Jeu vidéo
  • Unity
  • C#
  • Physique 2D
  • Projet individuel

Un jeu de combat pour deux joueurs sur le même clavier. Les personnages sont des « ragdolls » : des pantins mous qui réagissent aux coups comme de vraies poupées de chiffon.

Voir les détailsMasquer les détails

C’est quoi ?

Ragdoll Rampage est un jeu de combat où deux personnes s’affrontent sur le même clavier. Les personnages sont des ragdolls (des « poupées de chiffon ») : leur corps est mou et réagit de façon réaliste à chaque coup, ce qui rend chaque combat imprévisible et drôle.

Le défi et mes objectifs

C’était le TP3 du cours de développement de jeux vidéo, et je l’ai réalisé seul. Je voulais :

  • Créer un jeu complet de A à Z : menu d’accueil, guide, combat, fin de partie, musique et sons.
  • Faire de la physique le cœur du jeu. Je m’étais inspiré du jeu Stick Fight: The Game, où les combattants tombent, glissent et se font projeter.
  • Permettre à deux joueurs de jouer sur un seul clavier, chacun avec ses propres touches.

Ce que j’ai fait

J’ai avancé une fonctionnalité à la fois, sur six semaines :

  1. Les bases (semaine 1). J’ai intégré un pack d’assets (un ensemble de ressources prêtes à l’emploi) qui fournit un pantin articulé. Je l’ai ensuite programmé pour qu’il marche et saute.
  2. Le combat (semaines 2 et 3). J’ai ajouté les coups de poing, une hache, la possibilité de ramasser une arme et d’attaquer dans toutes les directions.
  3. La défense (semaine 3). J’ai ajouté les dégâts, puis un bouclier hologramme qui bloque la moitié des dégâts et qui a sa propre jauge d’énergie. J’ai aussi ajouté la mort des joueurs et une minuterie de 5 minutes.
  4. La lisibilité (semaine 4). La caméra suit les deux joueurs en même temps et chacun a sa barre de vie.
  5. Les menus et la finition (semaines 5 et 6). J’ai fait un menu d’accueil où l’on peut attraper le titre et le lancer contre les murs, un guide « Comment jouer ? », des contrôles séparés pour chaque joueur, une carte, de la musique et des effets sonores 8-bit.

Mon choix technique principal : d’habitude, dans un jeu, on joue une animation puis on déplace le personnage. Ici, j’ai fait l’inverse : j’applique des forces sur les membres du pantin, et c’est la physique qui produit le mouvement. Un coup de poing, c’est littéralement un bras projeté vers l’avant par une force. C’est ce qui donne au jeu son côté chaotique.

Action Joueur 1 Joueur 2
Se déplacer W A S D Flèches
Attaquer F J
Bouclier G K
Prendre une arme H L

Pause : P

Le résultat

Le jeu est complet et jouable : on lance une partie depuis le menu et les deux joueurs se battent jusqu’à ce que l’un tombe à zéro point de vie (« Joueur X remporte le combat ! ») ou que la minuterie atteigne zéro (égalité). Des armes apparaissent au fil du combat. J’ai aussi préparé une version web du jeu et rempli le formulaire de publication demandé dans le cours. Le jeu n’est pas publié en ligne pour l’instant.

Ce que j’ai appris

Techniquement :

  • Utiliser un pack d’assets : comprendre du code écrit par quelqu’un d’autre, l’intégrer et l’adapter à mon jeu au lieu de tout refaire.
  • Programmer la physique pour produire les actions, plutôt que de faire une action qui modifie ensuite la physique. Ça demande de penser en forces, en poids et en articulations.
  • Gérer deux joueurs sur un seul clavier avec le système de contrôles de Unity (Input System).

Personnellement :

  • [À COMPLÉTER : ce que ce projet seul t’a appris sur toi, ex. organiser ton temps, rester motivé sans équipe, prendre des décisions seul.]
Menu d'accueil gris avec le titre Ragdoll Rampage et les boutons Jouer et Guide.
Le menu d'accueil : on peut attraper le titre à la souris et le lancer contre les murs.
Le joueur rouge frappe le joueur blanc, qui se protège avec son bouclier.
Une attaque bloquée : le bouclier absorbe la moitié des dégâts et sa jauge bleue diminue.
Les deux joueurs au corps-à-corps près d'un mur ; le message Nouvelle arme : Axe apparaît en rouge.
Une nouvelle arme vient d'apparaître : le premier joueur qui l'attrape prend l'avantage.

Technologies utilisées

  • Unity 6
  • C#
  • Unity Input System
  • Physique 2D (Rigidbody 2D)
  • TextMesh Pro
  • Pack CGC Studio 2D StickMan Controller
  • Shield Shader FREE

Liens

Illustration faite à partir des images du jeu : un barbare, un sorcier et un archer font face à des monstres et à la Faucheuse, le boss final, sur le sol pavé du donjon.

Cours 420-139-AT [À COMPLÉTER : nom du cours]

Donjon Escape

Jeu d'action relié à un site web et à une base de données

  • Durée : 6 semaines
  • Équipe de 2 · avec Xavier Trudel
  • Jeu vidéo
  • Site web
  • C#
  • Windows Forms
  • Blazor
  • MySQL
  • Travail d'équipe

Un jeu où l'on doit survivre à 11 vagues de monstres. Il est relié à un site web où l'on crée son héros et dépense, dans une boutique, l'or gagné en jouant.

Voir les détailsMasquer les détails

C’est quoi ?

Donjon Escape est un jeu d’action vu de dessus : on choisit un héros (barbare, archer, sorcier…) et on doit survivre à 11 vagues de monstres en battant le boss de chaque vague. Le jeu est relié à un site web où l’on crée son personnage et où l’on dépense, dans une boutique, l’or gagné en jouant.

Le défi et mes objectifs

Le cours demandait de programmer un jeu avec Windows Forms, un outil de Microsoft qui sert normalement à créer des fenêtres de logiciels, pas des jeux. Avec mon coéquipier Xavier Trudel, nos objectifs étaient de :

  • Relier trois morceaux : le jeu, un site web et une base de données (un classeur géant et organisé où l’on range les informations).
  • Garder la progression du joueur : l’or gagné et les objets achetés devaient être sauvegardés d’une partie à l’autre.
  • Nous répartir le travail pour avancer en parallèle sans nous marcher sur les pieds.

Ce que j’ai fait

Xavier s’est concentré sur le cœur du jeu (ennemis, boss, vagues, classes de héros). De mon côté, je me suis occupé du site web, de la base de données et d’une partie du jeu :

  • Le site web, en entier. Je l’ai fait avec Blazor, un outil qui permet de créer un site en C#, le même langage que le jeu. J’ai fait la page d’accueil, la création de personnage, la boutique (choisir une quantité, acheter avec son or) et l’inventaire, protégé par un mot de passe pour que personne d’autre ne dépense notre or.
  • Le lien avec la base de données. J’ai écrit les repositories (le seul endroit du code qui a le droit de parler à la base de données) et les mappers (des « traducteurs » qui transforment une ligne de la base de données en objet utilisable dans le jeu). J’ai aussi fait la sauvegarde des personnages et des objets.
  • Les fenêtres du jeu. J’ai fait les fenêtres pour créer un personnage, le choisir et lancer une partie.
  • Des morceaux du jeu. J’ai programmé la caméra qui suit le joueur, les collisions avec les murs (le joueur ne traverse plus les murs), les éléments de décor, un outil qui découpe une feuille de sprites (une grande image qui regroupe tous les dessins d’un personnage) et la potion de vie.

Mon choix technique principal : nous avons placé la logique commune (personnages, objets, accès aux données) dans un projet partagé. Le jeu et le site utilisent ainsi exactement le même code : un objet acheté sur le site existe aussitôt dans le jeu.

Le résultat

  • Le jeu compte 14 classes de héros, 11 boss avec chacun sa propre attaque, des ennemis qui contournent les murs pour traquer le joueur et un système de vagues de plus en plus difficiles.
  • Le site web fonctionne : on y crée un héros, on achète des objets (potions, bottes de vitesse, tomes de force…) et on consulte son inventaire.
  • La progression est sauvegardée dans la base de données MySQL : l’or et les objets restent d’une partie à l’autre.

[À COMPLÉTER : ajoute ici la vidéo de démo ou des captures du jeu et du site web.]

Ce que j’ai appris

Techniquement :

  • Connecter une application C# à une base de données MySQL et organiser le code en couches (affichage, logique, accès aux données).
  • Créer un site web interactif avec Blazor.
  • Travailler à deux sur le même code avec Git : récupérer le travail de l’autre, fusionner nos changements et régler les conflits. Le projet compte plus de 280 sauvegardes (commits).

Personnellement :

  • Communiquer et se diviser le travail : chacun son domaine, avec des points de rencontre clairs entre le jeu et le site.
  • S’adapter à une contrainte. Windows Forms ne fonctionne que sur Windows, alors je ne pouvais pas faire tourner le jeu sur mon Mac. [À COMPLÉTER : comment tu as contourné ce problème.]

Technologies utilisées

  • C#
  • .NET 8
  • Windows Forms
  • Blazor
  • MySQL
  • Git et GitHub
  • JetBrains Rider

Liens

Contact

Travaillons ensemble

Stage, emploi d'été ou simple question sur mes projets : n'hésitez pas à m'écrire.

M'écrire

[À COMPLÉTER : ton.courriel@exemple.com]

[À COMPLÉTER : lien LinkedIn et profil GitLab dans src/data/profil.ts]

Abitibi-Témiscamingue, Québec