Motus Développement d’un jeu en ligne en MVC

Année

2025

Dans le cadre d’un projet scolaire, nous avons développé une application web permettant de jouer au jeu Motus en mode défi à deux joueurs sur un même ordinateur. L’objectif était de reproduire le fonctionnement du jeu télévisé avec un système de tours alternés, une base de données de mots et un score calculé dynamiquement, tout en respectant une architecture MVC.

Le projet imposait l’utilisation de plusieurs technologies : un frontend en HTML, CSS et JavaScript pour gérer l’interface utilisateur, un backend en PHP pour la logique du jeu et la gestion des sessions, ainsi qu’une base de données MySQL pour stocker les mots et les scores des joueurs.

Dans ce binôme, j’ai pris en charge toute la partie développement du jeu, de la gestion de la base de données avec MySQL et PHPMyAdmin jusqu’à l’intégration des différentes fonctionnalités backend et frontend.

Compétences utilisées

Développement web (HTML
CSS
JavaScript)
programmation backend (PHP)
gestion de base de données (SQL
PHPMyAdmin)
architecture MVC
conception et intégration d’interfaces

Développement et architecture technique

L’architecture MVC a été le cadre structurant du projet, permettant de bien séparer les données, la logique métier et l’affichage. La mise en place du modèle a nécessité la création d’une base de données relationnelle sous MySQL, où étaient stockés les utilisateurs, les parties jouées et la liste des mots disponibles.

Le backend en PHP assurait la gestion du jeu :

- Sélection aléatoire d’un mot en base de données, affichant uniquement la première lettre

- Attribution des couleurs aux lettres en fonction de leur présence et de leur position correcte

- Gestion des tours de jeu et du temps imparti pour chaque essai

- Calcul du score final et enregistrement des meilleures performances

Côté frontend, JavaScript a permis de rendre l’expérience dynamique en gérant les entrées utilisateur, l’affichage progressif des résultats et les animations des lettres colorées.


Défis techniques et solutions

L’un des principaux défis du projet a été de gérer la communication entre le backend et le frontend, tout en garantissant un affichage fluide et réactif. La mise en place de requêtes AJAX a permis d’optimiser l’interaction entre l’utilisateur et la base de données sans rechargement de page.

La structuration des données en base de données a également représenté un enjeu clé. Il a fallu concevoir un système de stockage efficace des parties, capable d’enregistrer les performances des joueurs, tout en assurant une bonne fluidité des requêtes pour ne pas ralentir l’exécution du jeu.

Enfin, l’intégration du jeu dans un environnement hébergé sur une machine virtuelle a demandé une attention particulière pour assurer le bon fonctionnement des scripts PHP et SQL dans un cadre technique imposé.


Résultat et apprentissages

Ce projet a été une excellente opportunité pour renforcer mes compétences en développement backend et gestion de base de données, tout en consolidant ma maîtrise de l’architecture MVC. Il a également permis d’approfondir des notions essentielles comme l’optimisation des requêtes SQL, la gestion des sessions et l’interactivité frontend.

Au-delà des aspects techniques, travailler sur un projet structuré et appliqué à un jeu interactif m’a permis d’aborder les contraintes liées à la conception d’un système dynamique, tout en garantissant une expérience utilisateur fluide et performante.

Pas mal non ?
Un appel, et on passe à l'étape suivante.

Pas mal non ?
Un appel, et on passe à l'étape suivante.