« Transaction » : différence entre les versions

De Boite A Outils
Aller à la navigation Aller à la recherche
Page créée avec « = Transactions = == Description == Cette page permet de gérer vos crédits dans la Boîte à Outils. Elle permet : * d’envoyer des crédits à d’autres joueurs * de consulter votre historique de transactions * de filtrer et rechercher des opérations --- == Accès == Menu '''Joueur''' → '''Transactions''' --- == Vue globale == <br clear="all"/> cadre|gauche|Écran des transactions <br clear="all"/> L’écra... »
 
 
(9 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :


== Description ==
== Description ==
Cette page permet de gérer vos crédits dans la Boîte à Outils.
Cette page permet de '''transférer des crédits à d’autres joueurs''' et de '''suivre vos transactions'''.


Elle permet :
Elle permet :
* d’envoyer des crédits à d’autres joueurs
* de consulter votre historique de transactions
* de filtrer et rechercher des opérations


---
* d’envoyer des crédits
* de consulter les transactions envoyées et reçues
* de filtrer et rechercher dans l’historique
 
👉 Une transaction peut ne pas être immédiate selon l’état du serveur ou des joueurs.


== Accès ==
== Accès ==
Menu '''Joueur''' → '''Transactions'''


---
Depuis le menu principal :
 
* '''Joueur''' → '''Transactions'''
 
[[Fichier:Accès transactions joueur.png|cadre|centre|Accès]]


== Vue globale ==
== Vue de l’écran ==
 
=== Écran principal ===
<br clear="all"/>
<br clear="all"/>
[[Fichier:Ecran transactions joueur.png|cadre|gauche|Écran des transactions]]
[[Fichier:Ecran transactions joueur.png|cadre|centre|Écran des transactions]]
<br clear="all"/>
<br clear="all"/>


L’écran est divisé en deux parties :
L’écran est divisé en deux zones :
* en haut : envoi de crédits
* en bas : historique des transactions


---
* en haut : '''Envoi de crédits'''
* en bas : '''Historique des transactions'''


== Envoyer des crédits ==
== Envoyer des crédits ==


=== Champs disponibles ===
=== Zone d’envoi ===


* '''Univers''' 
<br clear="all"/>
  → sélection du serveur concerné
[[Fichier:Ecran transactions joueur.png|cadre|centre|Zone d’envoi de crédits]]
<br clear="all"/>


* '''Destinataire''' 
=== Champs ===
  → sélection d’un joueur dans la liste


* '''SteamID'''
* '''Univers'''
   → permet de saisir manuellement un destinataire non présent dans la liste
   → serveur sur lequel effectuer la transaction 
  (ex : ''Univ2 - Sans CPU'')


* '''Montant'''
* '''Destinataire'''
   → nombre de crédits à envoyer
   → joueur sélectionné dans la liste


* '''Message'''   
* '''SteamID'''
   → description facultative associée à la transaction
  → permet de saisir un joueur manuellement  
   (utile s’il n’apparaît pas dans la liste)


---
* '''Montant'''
  → crédits à envoyer


=== Envoyer ===
* '''Message'''
  → texte libre associé à la transaction


Cliquez sur '''Envoyer''' pour créer la transaction.
=== Envoi ===
 
Cliquez sur '''Envoyer'''.


✔️ Si tout est valide :
✔️ Si tout est valide :
* la transaction est envoyée au serveur
* un message de confirmation s’affiche
* l’historique est automatiquement mis à jour


⚠️ Contraintes :
* un message s’affiche :
* vous ne pouvez pas vous envoyer des crédits à vous-même
  → '''OK (ID xxx - Frais xxx - Total débité xxx)'''
* le montant doit être supérieur à 0
* la transaction apparaît dans l’historique
* le statut passe à '''Créée'''


---
Exemple réel :
 
* Montant : 100
* Frais : 1000
* Total débité : 1100
 
=== Contraintes ===
 
* impossible de s’envoyer des crédits à soi-même
* le montant doit être > 0
* un seul transfert en cours à la fois (côté serveur)


== Historique des transactions ==
== Historique des transactions ==


La partie basse affiche vos transactions récentes.
=== Zone historique ===
 
<br clear="all"/>
[[Fichier:Ecran transactions joueur historique.png|cadre|centre|Historique des transactions]]
<br clear="all"/>
 
=== Colonnes ===
 
* '''ID''' → identifiant interne
* '''Univers''' → serveur concerné
* '''Sens'''
  * '''Envoyé'''
  * '''Reçu'''
* '''Autre joueur''' → joueur concerné
* '''Montant''' → montant principal
* '''Frais''' → frais appliqués
* '''Statut''' → état actuel
* '''Créée le''' → date de création
* '''Terminée le''' → date de fin (si applicable)
* '''Description''' → message


👉 Les 250 dernières transactions sont chargées pour garder un affichage fluide.
=== Exemple réel ===


---
Transaction affichée :


=== Colonnes ===
* ID : 138
* Univers : Univ2 - Sans CPU
* Sens : Envoyé
* Joueur : babyloune
* Montant : 100
* Frais : 1000
* Statut : Créée
 
👉 Cela signifie que la transaction est enregistrée mais pas encore exécutée.
 
== Filtres ==
 
Situés au-dessus de l’historique :
 
* '''Statut''' (par défaut : En cours)
* '''Type'''
* '''Sens'''
* '''Recherche'''
 
Recherche possible sur :
 
* pseudo
* GUID
* description
* ID
 
👉 Les filtres s’appliquent instantanément.
 
== Actions ==
 
=== Actualiser ===
Recharge les transactions depuis le serveur.
 
=== Détails ===
Affiche les informations complètes d’une transaction.
 
=== Copier GUID ===
Copie l’identifiant unique.
 
== Statuts des transactions ==
 
=== Cycle normal ===
 
* 1. '''Créée'''
* 2. '''Débit en attente'''
* 3. '''Débitée'''
* 4. '''Crédit en attente'''
* 5. '''Terminée'''
 
=== Important ===
 
👉 Une transaction peut rester bloquée en :
 
* '''Créée'''
* '''Débit en attente'''
* '''Crédit en attente'''
 
si :
 
* le joueur source est hors ligne
* le joueur cible est hors ligne
* le serveur est indisponible
 
=== Cas d’erreur ===
 
* '''Échec''' → erreur technique
* '''Annulée''' → arrêt manuel
* '''Rollback''' → remboursement automatique après problème
 
== Fonctionnement réel ==
 
* la transaction est créée dans la BAO
* elle est traitée en arrière-plan côté serveur
* le système attend que les joueurs soient connectés
* le débit et le crédit se font séparément
 
👉 Le transfert n’est donc pas instantané.
 
== Architecture technique ==
 
Le système de transactions repose sur 3 composants principaux :
 
* '''Client (Boîte à Outils)'''
  → envoie les demandes de transfert et affiche l’historique
 
* '''API BAO'''
  → enregistre les transactions et pilote leur exécution


* '''ID''' : identifiant de la transaction
* '''Serveur Empyrion (mod Credits)'''
* '''Univers''' : serveur concerné
   → applique réellement les crédits en jeu
* '''Sens''' :
  * Envoyé → transaction sortante
   * Reçu transaction entrante
* '''Autre joueur''' : joueur impliqué
* '''Montant''' : montant de la transaction
* '''Frais''' : frais appliqués
* '''Statut''' : état de la transaction
* '''Créée le''' : date de création
* '''Terminée le''' : date de finalisation
* '''Description''' : message associé


---
👉 Les crédits ne sont jamais modifiés directement par le client.
Tout passe par l’API serveur.


=== Codes couleur ===
== Traitement en arrière-plan ==


Les lignes sont colorées automatiquement :
Les transactions sont traitées automatiquement par un service serveur.


* 🟢 Vert → transaction terminée
Ce service :
* 🟡 Jaune → transaction en cours
* 🔴 Rouge → transaction échouée ou annulée


---
* vérifie les transactions toutes les '''30 secondes'''
* traite les transactions par lot
* priorise les joueurs qui viennent de se connecter


== Filtres ==
👉 Une transaction n’est donc jamais exécutée immédiatement.
Elle est prise en charge par un worker.


Plusieurs filtres sont disponibles :
=== Priorités de traitement ===


* '''Statut''' 
* 1. Joueurs qui viennent de se connecter
  → par défaut : '''En cours'''
* 2. Transactions en attente
* 3. Transactions expirées


* '''Type''' 
👉 Cela permet d’accélérer les transferts dès qu’un joueur revient en ligne.
  → ex : transfert joueur, récompense, etc.


* '''Sens''' 
== Gestion des joueurs hors ligne ==
  → Envoyé / Reçu


* '''Recherche''' 
Le système gère automatiquement les joueurs hors ligne.
  → recherche par :
  * pseudo
  * description
  * GUID
  * ID


👉 Les filtres sont appliqués automatiquement.
=== Cas 1 : joueur source hors ligne ===


---
* la transaction reste en attente
* elle sera exécutée à sa prochaine connexion


== Actions disponibles ==
=== Cas 2 : joueur cible hors ligne ===


=== Actualiser ===
* le débit est effectué
Recharge l’historique depuis le serveur.
* le crédit est mis en attente
* il sera appliqué à la prochaine connexion


---
=== Retry automatique ===


=== Voir les détails ===
* le système réessaie régulièrement
* sélectionnez une transaction
* les compteurs sont réinitialisés à chaque reconnexion
* cliquez sur '''Détails''' ou double-cliquez


Affiche :
👉 Aucune action manuelle n’est nécessaire.
* GUID
* type
* statut
* source et destination
* montants détaillés
* dates
* description complète


---
== Notifications ==


=== Copier le GUID ===
Le système envoie automatiquement des notifications Discord :
Permet de copier l’identifiant unique de la transaction.


---
* création de transaction
* débit effectué
* crédit effectué
* transaction terminée
* erreurs ou rollback


== Fonctionnement ==
👉 Les joueurs peuvent suivre l’évolution en temps réel.


* les transactions sont récupérées depuis le serveur
=== Exemple ===
* les filtres sont appliqués côté client
* les données sont triées par date (plus récentes en premier)


---
* Étape 1/2 : débit effectué
* Étape 2/2 : crédit effectué


== Notes ==
== Notes ==


* une connexion online est obligatoire
* une connexion online est obligatoire
* certaines transactions peuvent être en attente de traitement serveur
* les statuts évoluent automatiquement
* le statut évolue automatiquement (créée → débit → crédit → terminé)
* les frais sont calculés côté serveur
* les transactions sont sécurisées (pas de double envoi possible)

Dernière version du 28 mars 2026 à 14:18

Transactions

Description

Cette page permet de transférer des crédits à d’autres joueurs et de suivre vos transactions.

Elle permet :

  • d’envoyer des crédits
  • de consulter les transactions envoyées et reçues
  • de filtrer et rechercher dans l’historique

👉 Une transaction peut ne pas être immédiate selon l’état du serveur ou des joueurs.

Accès

Depuis le menu principal :

  • JoueurTransactions
Accès

Vue de l’écran

Écran principal


Écran des transactions


L’écran est divisé en deux zones :

  • en haut : Envoi de crédits
  • en bas : Historique des transactions

Envoyer des crédits

Zone d’envoi


Zone d’envoi de crédits


Champs

  • Univers
 → serveur sur lequel effectuer la transaction  
 (ex : Univ2 - Sans CPU)
  • Destinataire
 → joueur sélectionné dans la liste
  • SteamID
 → permet de saisir un joueur manuellement  
 (utile s’il n’apparaît pas dans la liste)
  • Montant
 → crédits à envoyer
  • Message
 → texte libre associé à la transaction

Envoi

Cliquez sur Envoyer.

✔️ Si tout est valide :

  • un message s’affiche :
OK (ID xxx - Frais xxx - Total débité xxx)
  • la transaction apparaît dans l’historique
  • le statut passe à Créée

Exemple réel :

  • Montant : 100
  • Frais : 1000
  • Total débité : 1100

Contraintes

  • impossible de s’envoyer des crédits à soi-même
  • le montant doit être > 0
  • un seul transfert en cours à la fois (côté serveur)

Historique des transactions

Zone historique


Fichier:Ecran transactions joueur historique.png
Historique des transactions


Colonnes

  • ID → identifiant interne
  • Univers → serveur concerné
  • Sens
 * Envoyé
 * Reçu
  • Autre joueur → joueur concerné
  • Montant → montant principal
  • Frais → frais appliqués
  • Statut → état actuel
  • Créée le → date de création
  • Terminée le → date de fin (si applicable)
  • Description → message

Exemple réel

Transaction affichée :

  • ID : 138
  • Univers : Univ2 - Sans CPU
  • Sens : Envoyé
  • Joueur : babyloune
  • Montant : 100
  • Frais : 1000
  • Statut : Créée

👉 Cela signifie que la transaction est enregistrée mais pas encore exécutée.

Filtres

Situés au-dessus de l’historique :

  • Statut (par défaut : En cours)
  • Type
  • Sens
  • Recherche

Recherche possible sur :

  • pseudo
  • GUID
  • description
  • ID

👉 Les filtres s’appliquent instantanément.

Actions

Actualiser

Recharge les transactions depuis le serveur.

Détails

Affiche les informations complètes d’une transaction.

Copier GUID

Copie l’identifiant unique.

Statuts des transactions

Cycle normal

  • 1. Créée
  • 2. Débit en attente
  • 3. Débitée
  • 4. Crédit en attente
  • 5. Terminée

Important

👉 Une transaction peut rester bloquée en :

  • Créée
  • Débit en attente
  • Crédit en attente

si :

  • le joueur source est hors ligne
  • le joueur cible est hors ligne
  • le serveur est indisponible

Cas d’erreur

  • Échec → erreur technique
  • Annulée → arrêt manuel
  • Rollback → remboursement automatique après problème

Fonctionnement réel

  • la transaction est créée dans la BAO
  • elle est traitée en arrière-plan côté serveur
  • le système attend que les joueurs soient connectés
  • le débit et le crédit se font séparément

👉 Le transfert n’est donc pas instantané.

Architecture technique

Le système de transactions repose sur 3 composants principaux :

  • Client (Boîte à Outils)
 → envoie les demandes de transfert et affiche l’historique
  • API BAO
 → enregistre les transactions et pilote leur exécution
  • Serveur Empyrion (mod Credits)
 → applique réellement les crédits en jeu

👉 Les crédits ne sont jamais modifiés directement par le client. Tout passe par l’API serveur.

Traitement en arrière-plan

Les transactions sont traitées automatiquement par un service serveur.

Ce service :

  • vérifie les transactions toutes les 30 secondes
  • traite les transactions par lot
  • priorise les joueurs qui viennent de se connecter

👉 Une transaction n’est donc jamais exécutée immédiatement. Elle est prise en charge par un worker.

Priorités de traitement

  • 1. Joueurs qui viennent de se connecter
  • 2. Transactions en attente
  • 3. Transactions expirées

👉 Cela permet d’accélérer les transferts dès qu’un joueur revient en ligne.

Gestion des joueurs hors ligne

Le système gère automatiquement les joueurs hors ligne.

Cas 1 : joueur source hors ligne

  • la transaction reste en attente
  • elle sera exécutée à sa prochaine connexion

Cas 2 : joueur cible hors ligne

  • le débit est effectué
  • le crédit est mis en attente
  • il sera appliqué à la prochaine connexion

Retry automatique

  • le système réessaie régulièrement
  • les compteurs sont réinitialisés à chaque reconnexion

👉 Aucune action manuelle n’est nécessaire.

Notifications

Le système envoie automatiquement des notifications Discord :

  • création de transaction
  • débit effectué
  • crédit effectué
  • transaction terminée
  • erreurs ou rollback

👉 Les joueurs peuvent suivre l’évolution en temps réel.

Exemple

  • Étape 1/2 : débit effectué
  • Étape 2/2 : crédit effectué

Notes

  • une connexion online est obligatoire
  • les statuts évoluent automatiquement
  • les frais sont calculés côté serveur
  • les transactions sont sécurisées (pas de double envoi possible)