Introduction

Aures est un projet open source (License GPLv2) qui vise à produire un jeux de poker en ligne pour Linux.
Aures a été démarré il y a un an déjà, il a succombé à plusieures interruptions durant son développement dû aux
examens et aux vacances... etc
Aujourd'hui, le serveur s'approche de plus en plus d'une version utilisable, quant au client, il vient d'être commencé par un deuxième développeur.
Aures est basé sur de l'argent virtuelle, aucun module de fonds réels n'est prévu, et ce ne sera pas le cas étant donné que le but du projet est purement attractif.

Un jeu de poker en ligne ? mais ça existe déjà o_O' !

Oui en effet, il existe beaucoup de jeux de poker en ligne, citant pour windows: Everest poker, Titan Poker...
comme pour Linux: PokerTh.
Sauf que Aures veut apporter beaucoup plus de fonctionnalités, j'en cite:
- Protocol basé sur l'IRC, chaque utilisateur peut créer sa propre table, avec ses propres modes et ses propres options
- Système de modules pour le serveur (Modules C, Python à venir...) permettant d'étendre les fonctionnalités, et même de rajouter d'autres jeux de cartes ou de plateaux (chess, blackjack, ...etc)
- Système de scripting pour le client (langage non encore défini) affin de pouvoir créer ses propres scripts de statistiques
- Algorithme d'évaluation de main très rapide et super performant(http://www.suffecool.net/poker/evaluator.html)
- Client fonctionnant nativement sous Linux, donc pas besoin de wine & co pour jouer au poker en ligne
- Un module de réseau (système distribué) est prévu mais il ne verra pas le jour avant la sortie d'une beta.
- Connexion sécurisé (support SSL)
- Client léger qu'on peut transporter sur sa clef USB (Ca changera des clients 3D pour Linux)
D'autres fonctionnalités verront le jour vu l'existence du système de plugins, toute fois Aures ne vise en aucun cas à concurencer les applications existantes (cf. citées au dessus), il vise tout simplement à apporter quelques options utiles en plus de la compatibilité avec Linux.

Langages de développement

Le serveur: Langage C + scripting Python pour les modules (Le mod. python est prévu mais pas encore écrit)
Le client: Java

Structure du serveur

Le serveur de Aures est multithread (posix), il possède un nombre de threads configurable selon la nécessité.
X threads pour l'authentification + Y threads pour la gestion des utilisateurs, chaque thread de gestion gère un nombre déterminé de clients connectés.
/!\ Je ne peux affirmer la souplesse de l'architecture choisie, mais j'estime que cette dernière est meilleure que celle que j'avais entretenue il y a déjà 6 mois /!\
Le serveur utilise une base de donnée MySQL pour le data storage.
Le serveur utilise un système de listes chaînées génériques (développé par mes soins)
Le serveur utilise un système de hash tables génériques (développé par mes soins) /!\ "Fixed size HashTable" pour le moment/!\
Le serveur utilise l'implémentation MD5 de l'RFC pour les mots de passes
Le serveur intgère le IPP (internet poker protocol V2)

Structure du client

Le client vient d'être attaqué, il se repose sur le modèle MVC affin de faciliter la maintenance et l'extension de ce dernier.
L'interface prévue est basée sur des onglets, ce qui permet de naviguer avec souplesse (mieux que d'avoir les tables de jeux ouvertes dans de nouvelles fenêtres à chaque fois).
Plus d'informations seront disponibles plus tard !

Avancement

Comme dit plus haut le client vient d'être commencé.
Cependant le serveur est beaucoup plus avancé et une version utilisable ne devrait pas tarder.
Ce qui a était fait:
* Gestion de la mémoire interne
* Réseau: système de pool de sockets, communication non sécurisée et une partie de la communication sécurisée
* Système de modules
* Gestion des clients, channels, commandes, ...etc
Ce qui reste à faire:
* Finaliser la communication sécurisée
* Finir la migration de quelques vieilles commandes vers la nouvelle architecture
* Ecriture du système de pings
* Système de log (écrit mais pas encore utilisé, mais nécessite beaucoup de modifications)
* Console d'administration (réservée au master)
* Écrire d'autres commandes pour le master, les admins et les utilisateurs
... etc

Le future du projet

J'estime que si tout se déroule comme prévu, le projet risque d'attirer beaucoup de personnes que ce soit des développeurs ou encore des
amateurs de poker (ou autre). Il y a de grandes chances que ça réussisse bien. D'autres jeux pourront voir le jour en plus du poker aussi.

Mais encore une fois, je ne peux offrir des garanties vu mon expérience et mon temps limités.