ProjetsWeb, jeux & communautés
Transcendence
Onitama en ligne, en équipe
- Période
- juil. 2026 – oct. 2026
- Cadre
- cursus 42
- Équipe
- en groupe
- Note
- pas encore évaluée
- TypeScript
- NestJS
- Svelte
- Docker
- Prisma
- Node.js
- PostgreSQL
- DevOps
- Web
- Jeu
Le dernier projet du Tronc Commun de 42, à cinq : une adaptation web du jeu de plateau Onitama, jouable en ligne contre d’autres joueurs ou contre une IA.
Le jeu
Onitama se joue sur un plateau de 5 × 5, avec des cartes de déplacement qui s’échangent entre les joueurs. Notre version propose le matchmaking, les invitations entre amis, une messagerie, des profils, l’A2F, et des fonctionnalités liées au RGPD, dans un univers dessiné par l’équipe.
L’IA cherche ses coups avec un algorithme alpha-bêta, sur quatre niveaux de difficulté qui changent la profondeur de recherche.
L’architecture
Le front-end est en Svelte, le back-end en NestJS, découpé en modules. Les parties en temps réel (partie en cours, file d’attente, notifications) passent par des WebSockets, synchronisés par Redis. Les données sont dans PostgreSQL via Prisma.
Côté sécurité, un pare-feu applicatif (ModSecurity) filtre les requêtes avant le back-end, et tous les secrets sont stockés dans Vault, générés au premier lancement.
Ma part
Je me suis occupé de parties du back-end et du DevOps : notamment l’authentification et l’A2F, les utilisateurs, les amis, les messages et l’envoi de mails, ainsi que la mise en place du back-end et de son conteneur.
À cinq, le plus dur n’était pas le code : il fallait se coordonner, se mettre d’accord sur les interfaces entre front et back, et communiquer en continu.
Ce que j’en retiens
- Dans une équipe, une API bien définie évite des journées de malentendus.
- La sécurité se pense dès l’architecture, pas à la fin.