D'une planche de bois à l'App Store
Il y a une vingtaine d'années, mon colocataire à la fac et moi avons récupéré une planche de bois dans une benne à ordures, tracé une grille au crayon et à la règle, acheté des billes de verre dans un magasin de loisirs créatifs pour quelques euros, et on a commencé à jouer au Go. Je ne savais pas du tout ce que je faisais. À vrai dire, je ne le sais toujours pas vraiment. Mais quelque chose dans ce jeu m'a accroché immédiatement — la façon dont quelque chose d'apparemment si simple peut être d'une profondeur vertigineuse. Une grille de 19×19. Des pierres noires et blanches. Des règles que l'on apprend en cinq minutes. Et pourtant, à l'époque, les ordinateurs les plus puissants de la planète n'arrivaient pas à battre un joueur humain de bon niveau. Ça me fascinait.
Une obsession précoce
Cette fascination était suffisamment profonde pour que mon projet de fin d'études à Kingston University porte sur la vision par ordinateur — j'avais codé à la main un algorithme capable de lire l'état d'un plateau de Go depuis une photographie, avec une précision supérieure à 87 %. Pour le début des années 2000, avant l'explosion du deep learning, j'en étais discrètement fier.
À peu près à la même époque, j'ai passé deux semaines au Japon spécifiquement pour découvrir la culture du Go de l'intérieur et jouer contre des joueurs locaux. J'ai perdu chaque partie. Une en particulier reste gravée dans ma mémoire : un jeune homme, sans doute de niveau dan, très réservé, avec des ongles étonnamment longs, accompagné de son père. Je me suis fait anéantir avant même de comprendre ce qui s'était passé — il m'a fallu un moment pour réaliser que je devais abandonner.
Chaque salon de Go que j'ai visité était tellement enfumé qu'il était presque impossible de terminer une partie sans avoir besoin d'air frais — et pourtant je fume moi-même. Les joueurs étaient presque exclusivement des personnes âgées. Le Go semblait être un passe-temps pour le troisième âge, ce qui me surprenait compte tenu de la réputation du Japon en matière de technologie et d'innovation. Personne ne semblait faire le lien entre le Go et l'informatique. Pas encore, en tout cas.
La longue pause
La vie a suivi son cours. J'ai travaillé comme développeur Java, passé un an chez Accenture pendant mes études (période durant laquelle j'ai perdu tous mes cheveux sous l'effet du stress), et je me suis retrouvé sans emploi pendant une longue période suite à des problèmes de santé. Mes compétences en Java sont devenues de plus en plus obsolètes au fur et à mesure que le secteur évoluait sans moi. J'ai essayé de me remettre à niveau, mais le fossé était devenu trop grand — et j'ai découvert que les salaires dans cette branche avaient en réalité baissé. Le jeu n'en valait plus la chandelle.
Malgré tout ça, j'ai continué à jouer au Go. Pas sérieusement — je fréquente le club de Go d'Exeter de manière irrégulière depuis une quinzaine d'années, et je suis un joueur moyen au mieux. Mais le jeu ne m'a jamais vraiment lâché.
Tout s'est mis en place d'un coup
Puis, en l'espace d'une période remarquablement courte, plusieurs choses se sont produites en même temps.
Le confinement lié au COVID est arrivé. Je tournais en rond sans rien à faire, mais j'avais la chance de disposer de trois appareils Apple — des cadeaux de ma famille et de ma compagne. J'ai regardé le documentaire sur AlphaGo et j'ai été électrisé. La chose qui m'avait fasciné à l'université — l'impossibilité pour une machine de maîtriser le Go — avait été résolue. Et la révolution de l'IA que ça avait déclenchée ne faisait que commencer. ChatGPT est arrivé. Puis Claude. Puis Apple a annoncé le Vision Pro.
J'ai commencé à jouer avec KataGo et j'ai constaté qu'il n'existait pas vraiment d'interface App Store digne de ce nom. J'ai regardé les applications de Go disponibles sur iPhone et iPad et elles étaient... correctes. Fonctionnelles. Mais aucune d'entre elles ne proposait de fonctionnalités d'accessibilité. Pas une seule application de Go sur l'ensemble de l'App Store ne déclarait la prise en charge de VoiceOver, Voice Control, Dynamic Type ou l'un des standards d'accessibilité d'Apple. Pas une.
Pour un jeu auquel des personnes aveugles jouent depuis des décennies — grâce à des plateaux tactiles à lignes en relief au Japon, à la Fédération française de Go, en Corée — l'absence totale de version numériquement accessible semblait être un vide qui n'aurait pas dû exister. Les joueurs de Go aveugles avaient été complètement exclus de l'écosystème applicatif.
Tout a convergé en même temps et s'est mis en place d'un coup. J'allais apprendre le développement iOS de zéro, en utilisant des outils d'IA pour accélérer l'apprentissage, et je construirais une application de Go que n'importe qui pourrait jouer — voyant ou non.
Partir de zéro
Le 1er juillet 2024, j'ai créé un projet Xcode vierge appelé « RenderedGoApp » — un nom pas très inspiré. Je ne savais rien de Swift, de SwiftUI, de RealityKit ni d'aucune des technologies de développement d'Apple. J'ai tout appris par moi-même grâce à la documentation officielle d'Apple et aux sessions WWDC gratuites, sans formation formelle, bootcamp ni événement développeur.
Deux semaines plus tard, le 17 juillet, je l'ai renommé « Goban3D ». Un goban, c'est le nom japonais traditionnel du plateau en bois épais avec des pieds sur lequel on joue au Go. Le nom s'imposait — il respectait les standards de nommage d'Apple et décrivait exactement ce qu'était l'application.
J'ai bénéficié d'un soutien pour la dyslexie depuis l'école primaire jusqu'au lycée. Je sais ce que ça fait quand les outils ne sont pas conçus pour vous. Alors, dès la toute première ligne de code, l'accessibilité n'était pas une réflexion après coup — c'était la raison d'être du projet.
Le désastre SceneKit
L'un des moments les plus difficiles est arrivé quand Apple a déprécié SceneKit — le framework 3D dans lequel j'avais construit l'intégralité de la scène du plateau. J'étais devenu bon avec. La scène avait un papillon qui voletait, de l'herbe qui ondulait, un éclairage physiquement réaliste. Ça tournait magnifiquement avec un minimum de charge CPU. Puis Apple a annoncé que tout ça serait remplacé par RealityKit.
J'étais furieux. Mais avec l'engagement de livrer quelque chose à la pointe de la technologie, et une tolérance zéro pour la dette technique, je savais que chaque ligne de SceneKit devait être arrachée et remplacée. Le papillon n'a pas survécu. RealityKit est la nouvelle vitrine d'Apple, mais c'est une bête bien plus gourmande que son prédécesseur — quelque chose dont j'adorerais discuter avec un ingénieur Apple un jour.
Où en sont les choses
Aujourd'hui, Goban3D est en bêta externe sur l'App Store pour iOS et macOS. Il offre une couverture d'accessibilité à 100 % dans les sept catégories d'accessibilité d'Apple — VoiceOver, Dynamic Type, Voice Control, Reduce Motion, Reduce Transparency, Sufficient Contrast et Differentiate Without Color. Il fonctionne sur tous les iPhone, du SE 3,5 pouces au Pro Max 6,9 pouces, sur tous les iPad du 9,7 au 13 pouces, et nativement sur Mac via Catalyst. Le plateau 3D est rendu dans RealityKit avec des matériaux physiquement réalistes qui captent la lumière comme du vrai bois et de vraies pierres. Il y a aussi un mode 2D épuré pour quand on veut la simplicité ou préserver la batterie.
Personne en dehors du processus de développement n'en sait encore rien. Aucune couverture presse, aucune notoriété dans la communauté, aucun bêta-testeur externe. Cet article de blog est, d'une certaine façon, la première fois que j'en parle publiquement.
Et maintenant ?
La priorité absolue est de trouver des bêta-testeurs avec de vraies besoins en matière d'accessibilité — des joueurs aveugles, des personnes malvoyantes, des personnes ayant des déficiences motrices. L'application a été construite selon les standards d'Apple, mais les standards ne sont qu'un point de départ. J'ai besoin de vraies personnes qui me disent ce qui fonctionne, ce qui ne fonctionne pas, et ce à quoi je n'ai pas pensé. Les trouver sera comme chercher une licorne, mais je n'abandonnerai pas. Tout le monde doit pouvoir être inclus.
Si vous souhaitez essayer Goban3D, ou si vous connaissez quelqu'un qui bénéficierait d'une application de Go accessible, j'adorerais avoir de vos nouvelles. Envoyez un e-mail à support@goban3d.com avec pour objet « Beta Tester » et l'adresse Apple ID associée à votre iPhone, iPad ou Mac. Vous recevrez une invitation TestFlight peu après.
C'est la chose la plus difficile et la plus enrichissante que j'aie jamais faite. D'une planche de bois dans un appartement étudiant à l'App Store — il aura fallu vingt ans, mais on y est arrivés.