Fork me on GitHub

La Guerre des 631

Jeu web où les étudiants d’une classe jouent quotidiennement afin d’être le dernier survivant.

  • Premier projet en PHP avec une base de données SQL (SQLite)
  • Premier projet avec un framework CSS : Bootstrap
  • Premier projet avec un framework PHP : Atomik
  • Premier projet avec administration d'un serveur web sous GNU/Linux : Nginx
  • Dépot GitHub (licence WTFPL)

Détails

À la fin de mon autoapprentissage du PHP (principalement grâce à OpenClassroom), au début de la seconde, j’ai mis en application mes nouvelles connaissances en réalisant ce petit projet.

Le principe est le suivant : chaque jour, chaque élève d’une classe (ma classe de lycée en l’occurrence) peut se connecter pour asséner trois coups à des élèves de son choix. Comme à Koh-Lanta, à la fin, il n’en reste plus qu’un.

La première version du site, programmée procéduralement, n’avait aucune feuille de style, rendant l’interface très austère. Malgré le concept un peu spécial, tous les élèves de ma classe de seconde (524) ont joué le jeu et ont apprécié l’expérience.

La deuxième version, pour une nouvelle partie encore une fois au sein de ma classe de seconde, s’est vue ajouter un design responsive avec de jolies barres de vie grâce au framework CSS Bootstrap. J’ai également tout recodé, cette fois en orienté objet. C’est mon premier projet en POO et avec Bootstrap.

La troisième et dernière version du site, pour ma classe de terminale (631), a encore une fois été entièrement refaite. Cette fois, je me suis intéressé aux frameworks PHP, et dans le cas présent à AtomikFramework, un petit framework français très léger et très facile à utiliser, qui n’est malheureusement plus maintenu aujourd’hui.
De nouvelles fonctionnalités ont été ajoutées : chaque jour, on peut soigner un élève. Les Dieux font également leur apparition, ceux-ci sont des représentations de nos professeurs dans chaque matière. Chaque jour, un Dieu frappe un élève au hasard et un autre soigne un élève au hasard.
En bonus, une interface d’administration était disponible, et surtout un journal visuellement agréable de toute l’activité du site, me permettant de repérer facilement les tentatives de triche (les mots de passe étant par défaut la date de naissance des élèves, certains peuvent se connecter sur le compte de quelqu’un d’autre).

Ce projet fut aussi l’occasion pour moi de m’initier à l’administration serveur sous GNU/Linux. Ce site était en effet hébergé chez moi sur un Raspberry Pi Model A (à l’époque où les Raspberry Pi commençaient à se développer) avec la distribution Raspbian (Debian pour Raspberry Pi). Afin d’optimiser et d'obtenir les meilleurs performances possibles, j'ai choisi d'utiliser Nginx comme serveur web et SQLite pour la base de données.

Mon amour pour la console est ainsi né ! ❤