Suite GTA Roleplay

Juillet 2020 - Présent

Écosystème de 103 repositories pour serveur GTA V Roleplay FiveM — Lead Tech & coordinateur équipe dev

Stack technique

Lua 5.4FiveMTypeScriptReactPHPLaravelNestJSExpressPrismaTypeORMMySQLRedisRabbitMQWebSocketDockerGitHub ActionsAnsibleNginxJiraJavaScriptGoSvelte

Contexte

Lead Tech et coordinateur de l’équipe de développement du serveur GTA V Roleplay 21JumpClick. Structure organisationnelle : Admin > Coordinateurs > Devs, avec des équipes spécialisées (fivem, web, bot, tablet, system, artistes). Le projet s’appuie sur 103 repositories GitHub, dont 99 privés, avec un workflow Jira, des branches feature/hotfix/release et une CI/CD GitHub Actions.

Problème

Un serveur Roleplay GTA V à grande échelle demande bien plus qu’un simple mod : des systèmes de jeu persistants (véhicules, métiers, personnages, économie), des outils métier pour l’administration (intranet, gestion des factions, whitelist joueurs), une communication temps réel entre FiveM et les services web, une modération Discord automatisée, et une infrastructure capable de tenir plusieurs centaines de joueurs simultanément.

Mon rôle

En tant que Lead Tech, j’ai coordonné la validation et le merge des PR de toutes les équipes (fivem, web, bot, tablet, system), défini l’architecture et les standards de code, et assuré la cohérence technique du codebase. En parallèle, j’ai contribué directement sur des périmètres critiques avec une ownership forte sur le backend métier et le système principal FiveM.

Impact

  • Lead Tech & coordinateur : validation et merge des PR de toutes les équipes
  • 14,475 commits personnels sur 70 repositories actifs
  • 1er contributeur de RessourceFivem : 9,136 commits Lua (~54% du repo)
  • Owner quasi-exclusif de IntranetBackend PHP/Laravel : 3,445 commits (~98% du repo)
  • Owner de plusieurs briques clés : nuiMenus, mapAnnotations, leader-board, auth, 21backend
  • Workflow professionnel : Jira, branches feature/hotfix/release, CI/CD GitHub Actions

Contraintes

  • Coordination de ~15 développeurs répartis en équipes spécialisées
  • Synchronisation temps réel critique entre FiveM et les services web
  • Performance Lua côté FiveM sous forte charge
  • Haute disponibilité des services en production pour des centaines de joueurs

Fonctionnalités

  • RessourceFivem : système principal FiveM (véhicules, métiers, personnages, économie, admin)
  • IntranetBackend : backend métier (factions, joueurs, finances, livraisons)
  • IntranetFrontend : interface web interne pour l’équipe admin
  • mapAnnotations : outil cartographique interne
  • tablet_nui : tablette in-game
  • leader-board : classement joueurs Prisma
  • realTimeMap : carte joueurs temps réel
  • Provisioning : provisioning serveurs
  • whitelist-backend/frontend : système de candidature joueurs
  • nuiMenus : système de menus in-game
  • auth : service d’authentification

Contributions clés

  • Lead Tech : coordination technique globale et arbitrage des choix d’architecture
  • Validation et merge des PR de toutes les équipes sur les périmètres fivem, web, bot, tablet et system
  • RessourceFivem : première contribution sur le cœur gameplay et les systèmes métier FiveM
  • IntranetBackend : ownership quasi totale du backend Laravel pour les fonctionnalités métier critiques
  • IntranetFrontend : contribution active sur l’interface web interne
  • NUI / frontend in-game : ownership de mapAnnotations, nuiMenus, leader-board et realTimeMap
  • Backend & API : contribution sur 21backend, auth, CronServer et les services associés
  • Bots Discord et infrastructure : contribution aux bots, provisioning Ansible, Nginx et CI/CD GitHub Actions

Ce que j'ai appris

Ce projet m’a appris à opérer comme un vrai Lead Tech sur un environnement complexe : coordination multi-équipes, gouvernance du codebase, arbitrage technique, performance sous charge et synchronisation temps réel entre plusieurs services. Il a renforcé mon expertise sur les architectures backend Laravel, les ressources FiveM Lua et les pratiques DevOps nécessaires à un produit live à grande échelle.