Portfolio // 2026
LOC // MONTPELLIER
Index
JiFoosball
Full Stack // 2025-2026Scolaire

JiFoosball

Application web et mobile pour la Ligue Amateur de Babyfoot Français (LABAF). Gestion de matchs, tournois et carte des bars.

Technical Specifications

Validation
AC11
C1 // Réaliser

Choisir et implémenter les architectures adaptées

Apprentissage critique
AC13
C1 // Réaliser

Intégrer des solutions dans un environnement de production

Apprentissage critique
AC64
C6 // Collaborer

Accompagner le management de projet informatique

Apprentissage critique
CE11
C1 // Réaliser

En respectant les besoins décrits par le client

Analyse rigoureuse du cahier des charges et respect des spécifications fonctionnelles.

Compétence élémentaire
CE14
C1 // Réaliser

En choisissant les ressources techniques appropriées

Sélection des outils, frameworks et matériels les plus adaptés aux contraintes du projet.

Compétence élémentaire
CE61
C6 // Collaborer

En inscrivant sa démarche au sein d'une équipe pluridisciplinaire

Collaboration active avec des designers, chefs de projet et autres métiers pour une vision globale.

Compétence élémentaire
CE62
C6 // Collaborer

En accompagnant la mise en oeuvre des évolutions informatiques

Soutien technique et pédagogique lors du déploiement de nouvelles fonctionnalités ou systèmes.

Compétence élémentaire
Constraints
7 mois
4 personnes
Tech Stack // Built With
kotlin.svgKotlin
HTML5.svgHTML & CSS
typescript.svgTypeScript
tailwind.svgTailwind CSS
nextjs.svgNext.js
github-mark.svgGitHub
spring.svgSpring

Projet de SAE de 3ᵉ année de BUT Informatique, réalisé pour un vrai client à Paris : l'association LABAF (Ligue Amateur de Babyfoot Français). Ce projet universitaire est le plus gros de formation du BUT Informatique. De grande envergure, il visait à livrer un système complet permettant de gérer des matchs et tournois de babyfoot amateur via une application web et une application mobile offrant les mêmes fonctionnalités.

Un écosystème complet

L'objectif était de créer un outil centralisant toute l'activité de la ligue. Contrairement à beaucoup de projets où les rôles sont séparés par plateforme, nous avons fait le choix d'offrir exactement les mêmes fonctionnalités sur le web et sur le mobile :

  • Omniprésence des fonctionnalités : Que ce soit sur web ou mobile, un utilisateur peut aussi bien gérer son profil de joueur que modérer des bars ou organiser un tournoi complet s'il en a les droits.
  • Expérience Unifiée : Les joueurs peuvent trouver des bars partenaires, lancer des matchs et suivre les tournois depuis n'importe quel support.
  • Back-end Robuste : Une API Spring Boot centralisée gérant l'authentification sécurisée, les notifications en temps réel et la logique complexe des tournois pour toutes les plateformes.

Gestion de tournois complexes

L'un des défis majeurs fut l'implémentation de différents formats de tournois, notamment le système suisse pour les phases de poules et les arbres d'élimination directe pour les phases finales. Nous avons dû concevoir des algorithmes capables de générer les rencontres automatiquement tout en respectant les contraintes de temps et de nombre de tables disponibles.

Vue d'ensemble de l'application mobile LABAF

Vue d'ensemble de l'application mobile LABAF

01
Centre de match : matchs à venir, en cours et passés

Centre de match : matchs à venir, en cours et passés

02
Carte interactive des babyfoots, vue des bars sur Paris

Carte interactive des babyfoots, vue des bars sur Paris

03
Gestion automatisée des tournois : phase de poules en système suisse

Gestion automatisée des tournois : phase de poules en système suisse

04
Génération dynamique de l'arbre de phase d'élimination

Génération dynamique de l'arbre de phase d'élimination

05

Stack Technique

Le système repose sur une architecture moderne et modulaire :

  • Frontend Web : React avec TailwindCSS pour une interface complète, rapide et réactive.
  • Mobile : React Native (Expo) avec NativeWind pour une expérience fluide sur iOS et Android.
  • Backend : Kotlin avec Spring Boot et Spring Security (JWT).
  • Base de données : PostgreSQL pour la persistence des données joueurs, matchs et lieux.

Cette expérience fut particulièrement formatrice car elle nous a confrontés aux exigences d'un client réel et à la nécessité de maintenir une cohérence totale entre plusieurs plateformes.