Skip to content
Snippets Groups Projects
Select Git revision
  • 05ca6f4db85b1b3847e6f1d22648f255be2bf083
  • master default
2 results

jeu-de-la-vie

Le jeu de la vie pour plusieurs éditeurs

Description

Dans le cadre de ma licence, je devais faire une application web qui simulait le jeu de la vie. Le but principal de ce projet était la gestion de conflits en base de données.

J'ai pensé deux manières de faire :

  • Niveau d'isolation SERIALIZABLE
  • Niveau d'isolation READ_COMMITTED

Ma première approche était de mettre SERIALIZABLE pour qu'une seule session modifie la grille à la fois. De cette manière, aucun conflit n'est possible. Le gros problème de cette manière c'est que lorsqu'une session est connectée/en cours de transaction, les autres ne peuvent rien faire.

Le but de projet étant d'avoir un jeu de la vie collaboratif, j'ai adopté la seconde approche avec READ COMMITTED qui permet un jeu de la vie plus collaboratif puisque chaque session peut modifer l'état des cellules à son aise tant qu'elles ne modifient pas la même cellules. Les états de celulles son alors regoupées lors des commits.

Vous pouvez lancer l'application en local avec ./gradlew run et en utilisant localhost:8081.