Retour

L'histoire de Whisthub

Si vous lisez ceci, vous savez probablement déjà que Whisthub est un site web où vous pouvez jouer en ligne à des jeux de cartes comme le whist à la couleur, la manille et la dame de pique, avec vos amis, d'autres joueurs, ou contre des joueurs IA. Il a été officiellement lancé en décembre 2019 comme un site pour jouer au whist à la couleur en ligne, mais son histoire remonte en réalité bien plus loin. Dans cet article de blog, je veux vous donner un aperçu de la façon dont le site est devenu ce qu'il est aujourd'hui. Accrochez-vous !

2010 : L'idée

J'ai appris à jouer aux cartes en 2010, à l'âge de 17 ans, en dernière année de secondaire. Tous les jours, on jouait quelques parties de kleurenwiezen - le nom néerlandais du whist à la couleur - après le repas de midi, et on a joué des heures et des heures dans le bus pendant le voyage scolaire en Italie. Je garde d'ailleurs encore aujourd'hui les scores que j'archivais dans des feuilles Excel.

Les résultats d'une partie de kleurenwiezen jouée le 1er avril 2010
Les résultats d'une partie de kleurenwiezen jouée le 1er avril 2010

Malheureusement, je prévoyais d'aller étudier dans une université différente de la plupart de mes amis, ce qui menaçait de mettre fin à toutes ces heures de cartes. Comme j'avais déjà un peu d'expérience en programmation PHP à l'époque, mon bon ami William a suggéré, en plaisantant, que je pourrais créer un site web où l'on pourrait continuer à jouer. Ce n'est en fait pas la pire idée, me suis-je dit.

2011 : Les premiers prototypes

Pendant ma première année à l'université de Gand, j'ai travaillé sur un premier prototype. Ce n'était pas vraiment censé devenir quelque chose de sérieux, je voulais juste un projet qui pourrait m'aider à progresser en programmation, et les jeux de cartes sont de parfaits petits projets pour ça. Ils ne sont pas trop complexes à construire, mais on touche quand même à toutes les facettes de la programmation : il faut écrire la logique du jeu, une interface facile à utiliser, puis le code serveur qui relie le tout et permet de jouer à plusieurs. Si vous voulez vous lancer dans la programmation, ou plus spécifiquement dans le développement web, je vous recommande vivement d'écrire une version de votre jeu de cartes préféré !

Je me suis aussi fait de nouveaux amis avec qui jouer aux cartes. Comme on était étudiants, le temps jouait en notre faveur, et il y a eu plusieurs nuits où on a failli jouer jusqu'à l'aube. La plupart du temps on jouait au whist à la couleur, mais quand on n'était que trois, on jouait à la dame de pique à trois joueurs. C'est une version où l'on retire 2 du jeu, après quoi chacun reçoit 17 cartes. Ironiquement, cette version n'est pas disponible sur Whisthub. 😅 Ce fut malgré tout ma toute première rencontre avec la dame de pique.

Après deux ans, j'avais une version qui fonctionnait plus ou moins. Le code était affreusement écrit et se composait principalement d'un tas de code spaghetti en PHP, mais ça marchait. Cela n'a cependant jamais été plus que ça : juste un truc que j'avais pris plaisir à construire, mais rien de destiné au grand public. Ça m'a tout de même valu un job étudiant bien payé à l'été 2012 !

J'ai fait quelques recherches, retrouvé l'ancien code, et à ma grande surprise et joie, j'ai réussi à le refaire tourner ! Voici donc à quoi ressemblait le tout premier prototype de Whisthub. Comme vous pouvez le voir, beaucoup de principes de base sont restés les mêmes ! Par exemple, la liste des annonces possibles n'est pas une simple liste à plat, mais une liste de sous-listes, afin que les annonces d'un même type soient regroupées ensemble - un peu comme c'est encore le cas aujourd'hui.

Photo du premier prototype
Premier prototype de ce qui s'appelait alors « W »

2015 : L'origine du nom Whisthub

En 2015, j'ai obtenu mon diplôme à l'université de Gand. Même si j'étudiais l'ingénierie civile et pas l'informatique, mon mémoire de fin d'études était en fait une combinaison des deux : j'avais écrit un programme de calcul pour des poutres mixtes acier-béton. J'ai pris énormément de plaisir à écrire ce programme, mais après mon diplôme, je suis tombé dans un trou noir, et c'est pour ça que j'ai repris le projet de jeu de cartes qui s'appelait alors simplement « W ».

Au fil des années, mon langage de programmation préféré était passé du PHP à JavaScript, donc j'ai décidé de tout recommencer à zéro, mais cette fois en JavaScript. Avec l'arrivée de node.js en 2011, je pouvais aussi utiliser JavaScript côté serveur, ce qui rendait la réutilisation de code entre le client et le serveur bien plus facile. Aujourd'hui encore, Whisthub est entièrement écrit en JavaScript.

C'est aussi à cette époque que j'ai trouvé le nom Whisthub. Pendant mes études, j'ai découvert GitHub, une plateforme de développement logiciel et de gestion de versions. J'aime tellement ce site que le nom Whisthub y fait directement référence. GitHub joue d'ailleurs toujours un rôle fondamental dans le développement de Whisthub, puisque c'est là que le code est hébergé et que tous les bugs et autres problèmes sont suivis.

En plus du nom, une autre différence par rapport au premier prototype était que cette fois, j'avais vraiment l'intention de lancer le site pour le grand public. J'avais mon premier emploi et gagnais mon propre argent, donc j'ai enregistré le nom de domaine www.whisthub.com. Je savais cependant que juste après le lancement du site, il n'y aurait pas assez de joueurs pour remplir facilement une table de quatre. J'ai réalisé qu'ajouter une IA serait absolument indispensable.

Après avoir créé une version de base fonctionnelle en JavaScript, je me suis attaqué à la tâche colossale d'écrire une IA pour jouer au whist à la couleur. Je n'avais absolument aucune expérience en la matière, donc c'était un sacré pari. J'ai essayé une approche combinant des simulations de Monte-Carlo avec des calculs exacts de probabilités, mais honnêtement, je ne savais pas trop ce que je faisais, et ça ne menait nulle part. J'ai fini par être tellement bloqué et frustré par cette IA que j'ai perdu tout intérêt pour le projet.

Capture d'écran de la première version de Whisthub en 2016

2019 : Enfin, le lancement

À l'été 2019, mon intérêt pour Whisthub est revenu. J'avais entendu parler d'un nouveau framework côté client appelé Vue.js et j'avais hâte de l'essayer. Comme je l'ai déjà mentionné, un jeu de cartes est un projet idéal pour tester de nouvelles choses, donc c'est exactement ce que j'ai fait.

L'utilisation de Vue.js a rendu le travail sur l'interface tellement plus simple que j'ai rapidement migré toute l'interface vers ce framework. Je pouvais désormais me reconcentrer sur ce qui bloquait encore la route : l'IA.

Fort de mon expérience précédente avec l'IA, je savais que je devais cette fois être pragmatique pour éviter de retomber dans le même gouffre. J'ai rapidement connu une percée majeure avec l'IA - ce qui sort du cadre de cet article, mais j'écrirai peut-être à ce sujet un jour - et j'ai commencé à la tester avec quelques amis. Les résultats étaient très prometteurs !

L'IA étant maintenant réglée, j'ai ajouté un système de comptes utilisateurs, puis conçu la mise en page générale du site, qui est restée largement inchangée depuis : vous pouvez immédiatement lancer une partie solo contre l'IA, et en descendant, vous arrivez dans le lobby où vous pouvez créer de nouvelles tables, en rejoindre des existantes, ou regarder des parties en cours. C'est ainsi qu'en décembre 2019, j'ai considéré Whisthub comme officiellement lancé !

2020 : La pandémie

Pendant les premières semaines de 2020, la base d'utilisateurs a crû très lentement. Comme je l'avais prévu, il était très difficile de trouver quatre joueurs. Je finissais souvent par jouer avec l'un des tout premiers utilisateurs, Philip, contre deux joueurs IA, après avoir attendu une demi-heure sans que personne ne rejoigne notre table. Je n'oublierai jamais l'excitation pure que j'ai ressentie la première fois que j'ai vu une table de quatre personnes en train de jouer.

Mais alors, tout a changé. En mars 2020, la pandémie de Covid a frappé, et les gens se sont soudainement retrouvés forcés de rester chez eux. Il n'a pas fallu longtemps avant que Whisthub ne soit inondé par des milliers de joueurs à la recherche d'un peu de plaisir et de distraction pour occuper leurs soirées.

Plus de 408 tables en cours
1er mai 2020 : plus de 408 tables en cours !

Évidemment, je n'avais jamais imaginé ça, et le site n'était absolument pas prêt pour l'affronter. Pendant les premières semaines de la pandémie, j'ai fait de la programmation extrême sous haute pression, souvent tard dans la nuit, pour limiter les plantages du serveur et ajouter des fonctionnalités permettant de gérer cet afflux massif de joueurs. Par exemple, la possibilité de protéger sa table avec un mot de passe est quelque chose sur quoi j'ai travaillé tard dans la nuit durant les tout premiers jours de la pandémie. C'est aussi à cette époque que j'ai développé le système de réputation, qui reste aujourd'hui encore un concept fondamental de Whisthub.

C'était une période stressante, mais bien sûr aussi très excitante. Whisthub s'est soudainement retrouvé à la télévision, à la radio et dans les journaux, présenté comme un moyen pour les gens d'occuper leur temps pendant la pandémie. Qui aurait pu penser que ce petit projet de jeu de cartes un peu bête aiderait un jour des milliers de personnes à rester en contact et à s'amuser pendant l'une des périodes les plus absurdes de l'histoire récente. Ce fut vraiment quelque chose de spécial.

La naissance d'une entreprise

Avant 2020, le site n'était qu'un projet personnel destiné à apprendre et à expérimenter. Cependant, pendant la pandémie, j'ai reçu énormément d'e-mails de gens me remerciant d'avoir mis ceci en ligne et me demandant comment ils pouvaient soutenir Whisthub. Je n'avais jamais vraiment réfléchi à des moyens de monétiser Whisthub, mais il était clair que c'était possible. Il y avait évidemment des coûts à couvrir, mais comme je travaillais déjà sur Whisthub depuis 10 ans, j'espérais aussi qu'un jour, je pourrais peut-être en vivre.

Cependant, j'ai réalisé que la route serait longue, surtout parce que je ne voulais pas mettre de publicités sur le site. Soyons honnêtes : tout le monde les déteste, mais c'est souvent le moyen le plus simple de monétiser un site web. Je ne voulais malgré tout pas les utiliser, car j'avais l'impression que ça reviendrait à nuire à mon propre enfant. J'ai donc décidé qu'un modèle freemium serait la solution : garder le site gratuit pour les joueurs occasionnels - particulièrement important pendant la pandémie ! - et proposer des fonctionnalités supplémentaires pour une petite contribution, familièrement appelée Whisthub premium.

Et c'est ainsi que le 6 mai, Whisthub BV a été officiellement fondée, peu après quoi j'ai lancé les abonnements premium. Il faut bien l'avouer, les fonctionnalités de l'abonnement premium étaient plutôt limitées au début. Vous pouviez changer l'apparence de vos cartes, modifier les règles d'une table et limiter l'accès d'une table aux joueurs premium, mais c'était à peu près tout. La plupart des premiers abonnés le faisaient donc surtout par sympathie et pour soutenir le développement futur de Whisthub.

Tout ça a changé en décembre 2020 avec le lancement des tournois. Le premier tournoi, la Whistcup, a connu un succès retentissant avec 128 joueurs en lice pour le titre pendant les jours entre Noël et le Nouvel An. Ça faisait tellement de bien de pouvoir clore ainsi cette redoutée année 2020.

2021 : L'expansion

Une constante pendant la pandémie était le nombre d'e-mails que je recevais. Les gens étaient reconnaissants que Whisthub existe, mais à l'époque, on ne pouvait y jouer qu'au whist à la couleur, et il s'est avéré qu'il existait beaucoup d'autres jeux de cartes que les gens auraient adoré voir ajoutés.

« Bon, pourquoi pas ? » me suis-je dit. Après tout, j'avais des bases solides qui devraient - en théorie - faciliter l'ajout d'autres jeux de cartes. J'ai tout de suite pensé à la manille, un jeu extrêmement populaire dans l'ouest de la Belgique, et qui m'avait déjà été demandé à plusieurs reprises. Et c'est ainsi que la manille a été officiellement lancée sur Whisthub le 23 mars 2021, plus ou moins un an après le début de cette histoire de pandémie.

Au départ, ça n'a cependant pas eu beaucoup de succès. Certes, il y avait quelques joueurs, mais la vraie percée n'est arrivée qu'après la disparition, en avril 2021, du site manillen.online, qui avait pourtant une large base d'utilisateurs. Je suppose que son créateur voulait fermer le site depuis un moment déjà, mais ne le faisait pas parce que c'était la seule option disponible jusqu'à ce que la manille soit ajoutée à Whisthub. Ils ont même suggéré à leurs joueurs de migrer vers Whisthub, quelque chose dont je leur serai éternellement reconnaissant.

Après l'ajout de la manille à Whisthub, je me suis concentré sur l'ajout du wiezen. Comme il s'agit essentiellement d'une version simplifiée du whist à la couleur, j'ai pu réutiliser presque toute la logique du jeu, en particulier celle de l'IA, et il a été officiellement lancé en septembre 2021.

Le lancement a cependant été assombri par d'énormes problèmes de serveur pendant cette période. J'ai travaillé pendant des heures et des heures pour les résoudre, à nouveau tard dans la nuit, mais cela a finalement mené à une amélioration majeure du fonctionnement interne de Whisthub - quelque chose qu'il aurait de toute façon fallu faire, tôt ou tard.

Photo des problèmes de serveur
Problèmes de serveur sur Whisthub, le 18 septembre 2021

2022 : Le king et la dame de pique

Un autre jeu qui avait été très demandé était le king, et en particulier sa variante double king, où chacun choisit trois jeux négatifs et deux jeux à atout. J'ai rapidement implémenté la logique de base du jeu, mais le vrai défi allait s'avérer être l'IA. En effet, le king se compose en réalité de 7 jeux différents, ce qui signifiait que je devais en fait écrire une IA pour 7 jeux différents. Aïe !

Heureusement, en janvier 2022, je suis entré en contact avec quelqu'un qui avait beaucoup d'expérience avec le king. Il m'a essentiellement appris à jouer, et son aide a été absolument inestimable dans le développement de l'IA. C'est en grande partie grâce à lui que le king est disponible sur Whisthub.

Quoi qu'il en soit, maintenant que le whist à la couleur, la manille, le wiezen et le king étaient tous disponibles sur Whisthub, j'avais pratiquement couvert les jeux de cartes les plus populaires de Belgique.

La prochaine étape pour Whisthub, selon moi, était d'attirer un public international. Le problème, c'est que je ne pouvais pas simplement ajouter un jeu de cartes populaire quelque part, car construire une base d'utilisateurs à partir de rien est un processus extrêmement lent, comme le passé l'avait déjà prouvé. C'est un cercle vicieux : si vous n'avez pas assez d'utilisateurs, les gens qui découvrent le site n'y reviennent pas, ce qui fait qu'il y a encore moins d'utilisateurs.

C'est pourquoi j'ai décidé que le prochain jeu de cartes sur Whisthub serait la dame de pique. Le raisonnement était que c'est un jeu de cartes populaire dans le monde entier, mais aussi plutôt connu en Belgique parce qu'il était fourni par défaut avec Windows. Ma base d'utilisateurs existante pouvait donc servir de tremplin pour trouver un public international.

Et c'est ainsi que la dame de pique a été officiellement lancée sur Whisthub le 6 décembre 2022. J'ai à nouveau reçu une aide énorme de la même personne qui m'avait aidé avec le king, qui a également contribué bénévolement à améliorer l'IA de la dame de pique. L'IA initiale était largement basée sur celle du jeu Moindre cœurs du king, mais en réalité, ces jeux sont très différents, donc il était beaucoup trop facile de remporter tous les points de pénalité contre l'IA. Grâce à cette aide, j'ai l'impression que l'IA de la dame de pique joue désormais suffisamment bien pour que ce soit agréable de jouer contre elle.

2023 : L'avenir

Le principal objectif de 2023 était d'attirer un public international avec la dame de pique, mais malheureusement, ça avance plus lentement que je l'espérais. Il y a néanmoins eu de nombreuses améliorations du site - à la fois visibles et invisibles. L'un des grands objectifs restants est d'ajouter un système d'amis. C'est quelque chose que je veux depuis longtemps, mais qui demande encore une certaine réflexion sur son fonctionnement exact. Cela viendra en tout cas certainement à l'avenir.

Bien sûr, l'ajout d'autres jeux de cartes est également toujours prévu. Je n'ai pas encore décidé quel sera le prochain jeu, mais il semble que la belote soit une candidate sérieuse, puisqu'elle a déjà été demandée à de nombreuses reprises. La principale difficulté sera ici - une fois de plus - l'implémentation de l'IA, ce qui est particulièrement difficile quand on ne sait même pas soi-même jouer au jeu !

Quoi qu'il en soit, en regardant d'où vient Whisthub, ça a été un parcours incroyable jusqu'ici. Si quelqu'un m'avait dit il y a 10 ans que Whisthub proposerait un jour 5 jeux de cartes et compterait des milliers d'utilisateurs actifs, je ne l'aurais jamais cru. Depuis septembre 2023, je travaille enfin à temps partiel sur le site, mais faire grandir le site est la seule façon de réaliser un jour mon rêve d'en faire mon activité à temps plein. Encore une fois, je ne veux pas mettre de publicités sur le site, donc vous pouvez évidemment toujours m'aider en prenant un abonnement premium. Si vous en avez déjà un, je vous en suis éternellement reconnaissant. Merci !

Enfin, j'espère que vous êtes tous arrivés jusqu'ici et que le fait que j'écrive sur l'histoire de ce que je ne peux décrire autrement que comme mon enfant n'a pas été trop ennuyeux. Retournons au travail pour rendre Whisthub encore meilleur !