Fullstack

Othello AI

Application web fullstack du jeu Othello (Reversi) avec intelligence artificielle MinMax, suivi des scores et classement par difficulté.

Type de projetFullstack
Technologies utiliséesAngular, .NET
LangagesC#, TypeScript
Othello AI

Présentation du projet

Othello AI est un projet personnel visant à reproduire le jeu de stratégie Othello dans une version web moderne, tout en intégrant une intelligence artificielle basée sur l’algorithme MinMax. L’utilisateur peut affronter l’IA sur différents niveaux de difficulté, avec une expérience fluide et responsive. Le projet s’appuie sur une architecture fullstack complète : un backend en C# .NET expose une API REST pour la gestion des données, tandis qu’un frontend Angular assure l’interface utilisateur et l’expérience de jeu. L’intelligence artificielle est exécutée côté client afin d’optimiser les performances et réduire la charge serveur. Un système de suivi des scores, de statistiques et de classement (Top 10 par difficulté) vient enrichir l’expérience utilisateur et donner une dimension compétitive au projet. L’application est entièrement fonctionnelle et déployée en ligne, démontrant une capacité à concevoir, développer et livrer un produit complet.

C#.NET 8API RESTAngularMinMaxSQLite

Approche et réalisation

Contexte

Ce projet a été réalisé dans une démarche de montée en compétences sur des technologies modernes côté frontend et backend, tout en explorant les bases de l’intelligence artificielle appliquée aux jeux. L’objectif était de créer une application concrète permettant de relier logique algorithmique, développement web et gestion de données. Le choix du jeu Othello s’est imposé pour sa simplicité apparente mais sa richesse stratégique, idéale pour implémenter un algorithme de décision. Le projet s’inscrit également dans une logique de portfolio, avec une volonté de démontrer la capacité à produire une application complète, fonctionnelle et déployée. Enfin, il répond à un enjeu de structuration de code et d’architecture dans un environnement fullstack.

Objectifs

L’objectif principal était de concevoir une application web complète combinant frontend, backend et logique algorithmique avancée. Il s’agissait notamment d’implémenter une intelligence artificielle performante capable de proposer des coups cohérents via l’algorithme MinMax. Le projet visait également à mettre en place une API REST robuste pour gérer les scores et statistiques utilisateurs. Un autre objectif était d’assurer une expérience utilisateur fluide avec Angular, notamment sur les interactions de jeu en temps réel. Enfin, le projet devait être déployable facilement et accessible en ligne pour démonstration.

Compétences mobilisées

Ce projet m’a permis de renforcer mes compétences en développement fullstack, notamment dans la conception d’API REST avec .NET et la gestion d’un frontend structuré avec Angular. J’ai également approfondi ma compréhension des algorithmes décisionnels en implémentant MinMax dans un contexte concret. La gestion des états de jeu, des interactions utilisateur et des performances côté client a constitué un point clé du développement. J’ai aussi travaillé sur la structuration des données et leur persistance via SQLite. Enfin, le déploiement de l’application m’a permis de me confronter à des problématiques réelles de mise en production.

Résultats

L’application est entièrement fonctionnelle et accessible en ligne, permettant de jouer contre une IA avec différents niveaux de difficulté. Le système de classement et de statistiques apporte une réelle valeur ajoutée en termes d’engagement utilisateur. Le choix d’exécuter l’algorithme côté client permet d’obtenir des temps de réponse rapides, améliorant l’expérience de jeu. Le projet démontre une capacité à mener un développement complet, de la conception à la mise en production. Il constitue une pièce solide dans un portfolio de développeur web fullstack.

Axes d’amélioration

Plusieurs axes d’amélioration sont envisagés, notamment l’optimisation de l’algorithme MinMax (élagage alpha-bêta) afin d’améliorer les performances sur des niveaux de difficulté élevés. L’ajout d’un mode multijoueur en ligne permettrait d’enrichir l’expérience utilisateur. Une amélioration de l’interface utilisateur et de l’UX pourrait également être envisagée pour rendre le jeu encore plus immersif. La mise en place d’un système d’authentification permettrait de personnaliser davantage les statistiques. Enfin, une migration vers une base de données plus robuste pourrait être pertinente dans une optique de montée en charge.

Interface du projet

Aperçu des différentes interfaces du projet, permettant de visualiser l’organisation, l’ergonomie et l’adaptation aux différents formats d’écran.

Page d'accueil du projet fullstack Othello AI
Page du jeux Othello AI

Profil développeur

Ce projet illustre ma manière de concevoir et développer des solutions adaptées à un besoin réel. Je recherche un poste de développeur web, avec la volonté de m’impliquer sur des projets concrets au sein d’une équipe.