implémentation complète RA1-RA5 (QoS, timeouts, reconnexion, monitoring)
📌 Description
Implémentation complète et optimisation du lot Réseau (Tâches RA1 à RA5) et correction de dysfonctionnements Frontend critiques.
Détails des implémentations :
- RA1 & RA3 (Timeouts & Reconnexions) : Mise en place d'un système de timeout de 10 secondes lors d'une déconnexion socket. Si le joueur ne revient pas (F5 ou reconnexion), un auto-FOLD est déclenché. La reconnexion annule correctement ce chronomètre.
- RA2 & RA5 (Monitoring & Latence) : Ajout d'un système de logs pour traquer le nombre de connexions simultanées en temps réel et chronométrer le traitement des événements de jeu (QoS très performante mesurée à < 5ms).
- RA4 (Optimisation Bot) : Ajout du suivi de la Qualité de Service (QoS) des bots pour certifier des temps de réponse < 500ms (en pratique ~1ms).
-
Frontend - Fix Boucle Infinie : Résolution d'un bug majeur dans
WaitingRoom.tsxqui spammait l'API en boucle à cause de références instables dans unuseEffect. -
Frontend - Fix Spam Bot & Blocage : Résolution d'un bug dans
Game.tsxoù l'API Bot était appelée en double à cause du StrictMode. Ajout de la gestion des refus serveurs (ACTION_ERROR,INVALID_RAISE) pour afficher un toast et débloquer l'interface utilisateur.
🔗 Lien vers l'issue
✅ Type de changement
-
Feature (nouvelle fonctionnalité) -
Fix (correction de bug) -
Refactor (pas de changement fonctionnel) -
Docs (documentation) -
Chore (maintenance technique) -
Hotfix (urgence)
🧪 Comment tester
- Démarrer les bases de données et le projet (
npm run start). -
Tester le monitoring : Ouvrir plusieurs onglets et vérifier le terminal du serveur (
[Monitoring Réseau] 🌐 Nouvelle connexion... Total simultanées: X). - Tester le Timeout (RA3) : Lancer une partie, fermer violemment l'onglet. Vérifier le terminal : un compte à rebours de 10s se lance, puis déclenche un Auto-FOLD.
- Tester la reconnexion (RA1) : Actualiser la page (F5) en pleine partie. Le terminal doit indiquer que le joueur est de retour et le compte à rebours est annulé, le jeu continue de façon fluide.
-
Tester la QoS Bot (RA4) : Jouer contre un Bot, vérifier le terminal :
[Monitoring QoS] 🤖 Décision bot calculée en Xms(doit être très inférieur à 500ms et ne s'afficher qu'une seule fois par tour).
✅ Checklist
-
Tests unitaires ajoutés/mis à jour -
Documentation mise à jour -
Pipeline CI vert -
Relu par un reviewer
👥 Reviewers requis
-
Backend (@azra, @soheil) -
Frontend (@mohamed, @yigit) -
Sécurité (@linda, @massi) -
BDD (@elhadj)
🚨 Impact potentiel
-
Breaking change -
Performance -
Sécurité
Edited by BADSI MASSI