MikMak est en ligne!

Pourquoi le projet MikMak?

Un jour, j’étais avec un ami et il m’a proposé de jouer aux échecs avec lui.
Nous avons cherché un site qui permettait de jouer rapidement une partie d’échec sur smartphone sans installer d’application.
Finalement, tout les services étaient difficiles d’accès.
C’est de cette idée qu’est né MikMak : je veux jouer rapidement aux échecs en ligne avec un smartphone.

Qu’est-ce que le projet MikMak?

Mikmak est un service hébergé sur internet, qui permet de charger des jeux dynamiquement et de jouer en ligne.
Le service est aussi en charge de la persistance des parties, ce qui fait que même en cas de crash du server, vous ne perdez pas les parties en cours.
Les trois jeux développés sont aujourd’hui : le morpion, le puissance 4 et les échecs.

Techniquement c’est quoi?

Mikmak c’est trois couches complétement séparées:

L’interface graphique:

Simple page HTML5, Css et Javascript.
Utilisant la nouvelle balise ‘canvas’ pour dessiner le plateau.
Les requêtes au services sont faîtes via AJAX (jquery).

Le service

De type Restfull, hébergé dans le cloud, basé sur WebApi, écoutes les requêtes HTTP GET (format JSONP, supporte les requêtes cross-domain).
De ce fait, pour accéder au service vous pouvez vous-même construire les requêtes à la main et les tester avec n’importe quel navigateur.
Ce qui fait qu’il est très facile de consommer le service à partir de n’importe quel langage, depuis n’importe quelle plateforme.
La persistance est faîte en base de donnée.
Les librairies contenant les jeux sont chargés dynamiquement, aujourd’hui au démarrage par réflexion, mais il serait facile de pouvoir les charger à chaud à la volée au cour de l’exécution du service.
facile mais inutile.

les jeux

Simple bibliothèque de classes, doit contenir une classe qui respecte une interface spécifique MikMak qui définit le jeux.
Ces bibliothèques contiennent toute la logique « métier », ce sont elles qui font évoluer la partie.

Pour y accéder c’est ici

Client léger MikMak

Comments are closed.