Skip to main content

Spécification des API

Cette page complète le contexte du projet. Elle propose les contrats REST et WebSocket d’Ultimate Patriot: Power & Assault (UPPA) pour les développeurs Unity, backend et web. Tous les endpoints et événements sont des propositions : ce dépôt contient la documentation, sans implémentation applicative permettant de confirmer leur existence.

Une partie lancée contient exactement quatre joueurs, répartis en deux équipes de deux. Son lobby peut être incomplet pendant la préparation. Le créateur affecte les joueurs aux équipes et demande le démarrage. Les spectateurs consultent la partie sans authentification et ne peuvent pas la modifier.

Lire les spécifications​

PageContenu
Architecture et responsabilitésRépartition des calculs entre Unity, backend et client web.
Modèle et représentation publiqueClasses, identifiants et objets JSON partagés.
Machine à étatsPhases d’une partie, transitions et réinitialisation des joueurs.
API RESTComptes, authentification, consultation des parties et statistiques.
Conventions WebSocketConnexions, enveloppes, séquences, déduplication et instantanés.
Lobby et équipesCréation, inscription, affectation des équipes et démarrage.
Déplacements et combatMouvements, tirs, touches, dégâts et éliminations.
Rounds et fin de partieNotifications et séquence des transitions de rounds.
SpectateursAbonnement anonyme et mises à jour de la carte web.
Statistiques et persistanceCompteurs, résultats finaux et sauvegarde.
Erreurs et reconnexionRefus, codes d’erreur et reprise après une coupure réseau.

Pour le client Unity, commencer par les conventions WebSocket, puis le lobby, le gameplay et les rounds. Pour le client web, consulter l’API REST et le canal spectateur. La machine à états constitue la référence commune pour le cycle de vie des parties.