<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Judo | Antoine Weill--Duflos</title>
    <link>https://antoine.weill-duflos.fr/fr/tag/judo/</link>
      <atom:link href="https://antoine.weill-duflos.fr/fr/tag/judo/index.xml" rel="self" type="application/rss+xml" />
    <description>Judo</description>
    <generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>fr-fr</language><lastBuildDate>Mon, 04 May 2026 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://antoine.weill-duflos.fr/media/icon_hu_d686267daab28486.png</url>
      <title>Judo</title>
      <link>https://antoine.weill-duflos.fr/fr/tag/judo/</link>
    </image>
    
    <item>
      <title>KataMarrant</title>
      <link>https://antoine.weill-duflos.fr/fr/project/katamarrant/</link>
      <pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
      <guid>https://antoine.weill-duflos.fr/fr/project/katamarrant/</guid>
      <description>&lt;p&gt;KataMarrant est une petite appli d&amp;rsquo;entraînement au judo que je construis le soir et le week-end. L&amp;rsquo;objectif est étroit et concret : réviser les 40 Gokyo no Waza, l&amp;rsquo;ensemble classique des prises codifié au Kodokan que tout judoka est censé connaître par leur nom, en sessions courtes et quotidiennes. L&amp;rsquo;appli tourne sur Windows, macOS, Linux, Android et iOS à partir d&amp;rsquo;une seule base de code Tauri 2, avec du JS vanille pour le frontend et du Rust pour le backend.&lt;/p&gt;
&lt;p&gt;Il y a quatre modes d&amp;rsquo;entraînement. &lt;strong&gt;Une question&lt;/strong&gt; est le bouton le moins coûteux à appuyer sur l&amp;rsquo;écran d&amp;rsquo;accueil, pour les moments où j&amp;rsquo;ai moins de trente secondes. &lt;strong&gt;Rafale&lt;/strong&gt; est une volée de dix questions, l&amp;rsquo;échauffement que je fais dans le métro. &lt;strong&gt;Drill (chrono)&lt;/strong&gt; est un mode chronométré avec une barre qui descend par question, dont une variante audio où le nom de la technique est prononcé à voix haute et il faut choisir la bonne description. &lt;strong&gt;Parcourir les 40 techniques&lt;/strong&gt; est le catalogue de référence, classé par kyo, avec le romaji, le kanji, la traduction française et une vidéo de démonstration sélectionnée pour chaque prise.&lt;/p&gt;
&lt;p&gt;La logique du quiz emprunte les bases à la répétition espacée : les techniques que vous ratez reviennent plus souvent, un cooldown de six questions empêche les répétitions consécutives, et les scores de maîtrise par technique vous suivent d&amp;rsquo;un appareil à l&amp;rsquo;autre quand la synchronisation est activée. La synchronisation est optionnelle, par lien magique uniquement, sans mot de passe stocké nulle part. Un objectif quotidien, un compteur de série, une courbe d&amp;rsquo;XP et une petite grille de succès à débloquer occupent l&amp;rsquo;écran d&amp;rsquo;accueil, empruntant à une décennie d&amp;rsquo;applis d&amp;rsquo;apprentissage des langues et de fitness.&lt;/p&gt;
&lt;p&gt;Les illustrations des techniques sont extraites de la &lt;a href=&#34;https://commons.wikimedia.org/wiki/File:Gokyo-no-waza.jpg&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;planche Gokyo no Waza&lt;/a&gt; sur Wikimedia Commons par l&amp;rsquo;utilisateur Mtwist (CC BY-SA). Les vidéos de référence sont sélectionnées par &lt;a href=&#34;https://judo.how/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;judo.how&lt;/a&gt;. Le projet est open source, non affilié au Kodokan ni à une fédération de judo, et il est documenté sur ce site dans une &lt;a href=&#34;https://antoine.weill-duflos.fr/fr/post/katamarrant-why/&#34;&gt;série de billets sur le build&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Construire KataMarrant, partie 1 : la ceinture noire, 40 prises, et le trou que je ne voulais pas cacher</title>
      <link>https://antoine.weill-duflos.fr/fr/post/katamarrant-why/</link>
      <pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
      <guid>https://antoine.weill-duflos.fr/fr/post/katamarrant-why/</guid>
      <description>&lt;p&gt;















&lt;figure  id=&#34;figure-écran-daccueil-sur-android-niveau-5-série-de-deux-jours-16-sur-10-questions-répondues-aujourdhui-quatre-modes-dentraînement-et-une-grille-de-succès-verrouillés-et-déverrouillés&#34;&gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Écran d&amp;rsquo;accueil de KataMarrant sur Android, affichant la progression du jour, les quatre modes d&amp;rsquo;entraînement et la grille des succès&#34; srcset=&#34;
               /fr/post/katamarrant-why/featured_hu_2b5de9cded2f7d1e.webp 400w,
               /fr/post/katamarrant-why/featured_hu_ebbab4787818ab47.webp 760w,
               /fr/post/katamarrant-why/featured_hu_561299786ecea654.webp 1200w&#34;
               src=&#34;https://antoine.weill-duflos.fr/fr/post/katamarrant-why/featured_hu_2b5de9cded2f7d1e.webp&#34;
               width=&#34;342&#34;
               height=&#34;760&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;figcaption&gt;
      Écran d&amp;rsquo;accueil sur Android. Niveau 5, série de deux jours, 16 sur 10 questions répondues aujourd&amp;rsquo;hui, quatre modes d&amp;rsquo;entraînement et une grille de succès verrouillés et déverrouillés.
    &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id=&#34;premier-billet-dune-petite-série&#34;&gt;Premier billet d&amp;rsquo;une petite série&lt;/h2&gt;
&lt;p&gt;C&amp;rsquo;est le premier billet d&amp;rsquo;une série que je vais écrire sur &lt;a href=&#34;https://github.com/Leicas/KataMarrant&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;KataMarrant&lt;/strong&gt;&lt;/a&gt;, une petite appli d&amp;rsquo;entraînement au judo que je construis le soir et le week-end. Les billets suivants vont parler du build (Tauri 2 sur Android, serveur de synchronisation en Rust, authentification par lien magique, sans mot de passe), des choix de conception (offline-first, répétition espacée avec cooldown, pourquoi j&amp;rsquo;ai préféré le JS vanille à un framework), et de ce que j&amp;rsquo;ai appris en mettant une appli personnelle sur le Play Store. Celui-ci, c&amp;rsquo;est juste le pourquoi. Le reste de la série n&amp;rsquo;a de sens que si je suis honnête sur cette partie d&amp;rsquo;abord.&lt;/p&gt;
&lt;h2 id=&#34;une-prise-que-je-sais-faire-un-nom-que-je-narrive-pas-à-dire&#34;&gt;Une prise que je sais faire, un nom que je n&amp;rsquo;arrive pas à dire&lt;/h2&gt;
&lt;p&gt;J&amp;rsquo;ai fait du judo enfant et adolescent, puis j&amp;rsquo;ai arrêté. Pendant une vingtaine d&amp;rsquo;années je n&amp;rsquo;ai pas remis un pied sur un tatami. Il y a quelques mois j&amp;rsquo;ai recommencé, dans un club ici au Canada, et la mémoire musculaire est revenue plus vite que j&amp;rsquo;avais le droit d&amp;rsquo;espérer. Pas les noms. La forme d&amp;rsquo;une prise, c&amp;rsquo;est le genre de chose que le corps n&amp;rsquo;oublie pas vraiment. Le vocabulaire autour des prises, c&amp;rsquo;est exactement le genre de chose qu&amp;rsquo;un trou de vingt ans efface.&lt;/p&gt;
&lt;p&gt;La ceinture noire, c&amp;rsquo;est la raison de fond pour laquelle tout ça compte. L&amp;rsquo;exigence technique est à peu près la même des deux côtés de l&amp;rsquo;Atlantique : il faut connaître les &lt;strong&gt;40 Gokyo no Waza&lt;/strong&gt;, l&amp;rsquo;ensemble classique de prises codifié au Kodokan, en cinq groupes de huit. Il faut pouvoir nommer une technique, la démontrer, la reconnaître quand quelqu&amp;rsquo;un d&amp;rsquo;autre l&amp;rsquo;exécute, et expliquer dans quel cas elle fonctionne. Je ne suis pas au passage de grade. Je suis dans la partie d&amp;rsquo;avant le passage, là où vous arrêtez de vous mentir sur ce que vous savez vraiment.&lt;/p&gt;
&lt;p&gt;La version honnête de l&amp;rsquo;endroit où j&amp;rsquo;en étais, quelques semaines après avoir repris, ressemble à peu près à ça. Je savais &lt;em&gt;faire&lt;/em&gt; la plupart des 40 prises. Donnez-moi un partenaire, un kumikata, et je vais faire passer une version potable de la technique. Ce que je ne savais pas faire de façon fiable, c&amp;rsquo;était les nommer. Montrez-moi une image fixe ou un court extrait vidéo et demandez-moi laquelle c&amp;rsquo;est, et je bloquais sur à peu près la moitié. Le premier kyo était correct parce que c&amp;rsquo;est celui qu&amp;rsquo;on travaille le plus. Le cinquième était une catastrophe. Les trois du milieu, c&amp;rsquo;était à pile ou face. Je sentais la forme d&amp;rsquo;une prise dans mon corps sans que ma bouche ait l&amp;rsquo;étiquette.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;autre chose qu&amp;rsquo;une absence de vingt ans vous fait, c&amp;rsquo;est que vous arrivez dans un club et les personnes qui sont visiblement plus jeunes que vous, parfois de beaucoup, connaissent les noms mieux que vous. Ce n&amp;rsquo;est pas une plainte. C&amp;rsquo;est la réalité de reprendre à la fin de la trentaine à côté d&amp;rsquo;adolescents qui sont sur le tatami toutes les semaines depuis qu&amp;rsquo;ils marchent. Il y a quelque chose de très utile dans ce décalage : ça remet l&amp;rsquo;ego à sa place dans le bon sens et ça vous dit exactement quels devoirs vous avez à faire. Les miens, ce n&amp;rsquo;étaient pas les prises. C&amp;rsquo;était le vocabulaire attaché aux prises.&lt;/p&gt;
&lt;p&gt;Ce trou est embêtant parce que c&amp;rsquo;est exactement le trou entre &lt;em&gt;pratiquer&lt;/em&gt; le judo et &lt;em&gt;savoir&lt;/em&gt; le judo. C&amp;rsquo;est aussi le trou que les jurys de passage de grade vont gratter en premier. On ne va pas vous demander d&amp;rsquo;inventer une prise. On va vous demander de nommer et d&amp;rsquo;exécuter celle qu&amp;rsquo;ils ont choisie. Donc le trou était précis, l&amp;rsquo;objectif était précis, et la solution était précise : il me fallait travailler la reconnaissance et le rappel, pas la technique. La reconnaissance, c&amp;rsquo;est essentiellement de la mémoire. Et la mémoire aime la répétition.&lt;/p&gt;
&lt;h2 id=&#34;ce-que-je-nai-pas-essayé-avant-décrire-la-moindre-ligne-de-code&#34;&gt;Ce que je n&amp;rsquo;ai pas essayé avant d&amp;rsquo;écrire la moindre ligne de code&lt;/h2&gt;
&lt;p&gt;La version honnête de cette section, c&amp;rsquo;est que j&amp;rsquo;ai sauté l&amp;rsquo;étape où vous essayez les options ennuyeuses d&amp;rsquo;abord.&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai pas fabriqué de flashcards papier. Je n&amp;rsquo;ai pas installé Anki. Je n&amp;rsquo;ai pas téléchargé trois applis de référence judo sur le store pour essayer sincèrement de réviser avec pendant deux semaines. J&amp;rsquo;avais une image claire dans la tête de la forme que je voulais, je savais assez bien comment cette forme se construit, et le chemin de moindre résistance pour moi, spécifiquement, c&amp;rsquo;était de l&amp;rsquo;écrire. Ce n&amp;rsquo;est pas le conseil standard qu&amp;rsquo;on donne à quelqu&amp;rsquo;un avec un problème d&amp;rsquo;apprentissage, et si vous n&amp;rsquo;êtes pas développeur le meilleur conseil est sincèrement &amp;ldquo;utilisez Anki pendant un mois avant de construire quoi que ce soit.&amp;rdquo; Mais je suis développeur, la friction entre &amp;ldquo;je veux ce truc&amp;rdquo; et &amp;ldquo;j&amp;rsquo;ai une version qui marche de ce truc&amp;rdquo; est beaucoup plus basse pour moi que pour la plupart des gens, et j&amp;rsquo;ai livré assez de side projects pour savoir lesquels survivent. Ceux qui survivent, ce sont ceux que j&amp;rsquo;utilise tous les jours. Donc la vraie question que je me suis posée, ce n&amp;rsquo;était pas &amp;ldquo;est-ce qu&amp;rsquo;il existe une appli qui fait ça.&amp;rdquo; C&amp;rsquo;était &amp;ldquo;est-ce qu&amp;rsquo;il existe une appli que j&amp;rsquo;ouvrirais tous les jours.&amp;rdquo; C&amp;rsquo;est une barre beaucoup plus basse, et la réponse était quand même non, donc j&amp;rsquo;ai commencé à construire.&lt;/p&gt;
&lt;p&gt;Ce que je voulais, c&amp;rsquo;était la &lt;strong&gt;forme Duolingo&lt;/strong&gt;. Une notification quotidienne, une session courte, une série que je culpabiliserais un peu de casser, plusieurs modes de jeu pour que le même contenu reste intéressant, et des statistiques assez honnêtes pour me dire quelles prises je rate systématiquement. Aucune des applis de judo que j&amp;rsquo;avais regardées n&amp;rsquo;avait cette forme, et les outils de mémorisation génériques qui ont cette forme ne sont pas pré-chargés avec le Gokyo, les kanji, le romaji, les noms français et une vidéo de démonstration sélectionnée pour chaque prise. Le contenu, c&amp;rsquo;était le boulot. Une fois que vous vous engagez à construire le contenu, autant construire l&amp;rsquo;interface autour que vous avez vraiment envie d&amp;rsquo;utiliser.&lt;/p&gt;
&lt;h2 id=&#34;une-inspiration-plus-ancienne--le-quiz-de-verbes-allemands-de-mon-père&#34;&gt;Une inspiration plus ancienne : le quiz de verbes allemands de mon père&lt;/h2&gt;
&lt;p&gt;La forme de cette appli n&amp;rsquo;a rien d&amp;rsquo;original. L&amp;rsquo;idée n&amp;rsquo;est même pas de moi au sens strict, parce que je n&amp;rsquo;ai pas eu à l&amp;rsquo;inventer. Quand j&amp;rsquo;étais à l&amp;rsquo;école je devais apprendre les verbes forts allemands, les irréguliers, la longue liste devant laquelle tout étudiant de la langue soupire à un moment donné. Mon père, qui est aussi développeur, m&amp;rsquo;avait codé un petit programme qui tirait au hasard une sous-série de verbes et me testait dessus. Mon niveau d&amp;rsquo;allemand n&amp;rsquo;a jamais atteint des sommets, ce qui est de ma faute et pas celle du programme, et pour être honnête j&amp;rsquo;ai perdu la plupart des verbes forts aussi. Ce qui est drôle, c&amp;rsquo;est que la seule chose dont je me souviens clairement de toute cette période, c&amp;rsquo;est le programme, pas le contenu qu&amp;rsquo;il était censé me faire rentrer dans la tête. Quel que soit ce que ce petit outil a accompli ou non, la &lt;em&gt;technique&lt;/em&gt; (donner à l&amp;rsquo;enfant un quiz quotidien sur une liste fermée et laisser le hasard faire le travail) est entrée en stockage long terme dans ma tête et y est restée. KataMarrant a la même forme, appliquée à une autre liste fermée, par l&amp;rsquo;enfant en question, qui écrit maintenant ses propres programmes.&lt;/p&gt;
&lt;h2 id=&#34;pourquoi-je-suis-la-bonne-personne-pour-construire-ça-et-pourquoi-cest-tout-lenjeu&#34;&gt;Pourquoi je suis la bonne personne pour construire ça (et pourquoi c&amp;rsquo;est tout l&amp;rsquo;enjeu)&lt;/h2&gt;
&lt;p&gt;La réponse ennuyeuse à &amp;ldquo;pourquoi tu construis encore une appli&amp;rdquo; c&amp;rsquo;est : c&amp;rsquo;est mon métier. J&amp;rsquo;ai passé la dernière décennie à livrer du logiciel multiplateforme, dont quelques années à construire des applis haptiques et d&amp;rsquo;entraînement avec une couche de gamification chez &lt;a href=&#34;https://haply.co/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Haply&lt;/a&gt;, où le cœur du job c&amp;rsquo;est de prendre une compétence sérieuse, la décomposer en petites répétitions, et faire en sorte que la personne &lt;em&gt;ait envie&lt;/em&gt; de faire ces répétitions. La combinaison &amp;ldquo;je sais ce qui rend une appli quotidienne addictive&amp;rdquo; et &amp;ldquo;j&amp;rsquo;ai un grade personnel à préparer&amp;rdquo; est suffisamment rare dans ma propre vie pour que ne pas construire ça aurait été du gâchis.&lt;/p&gt;
&lt;p&gt;Il y a une réponse plus honnête en dessous. &lt;strong&gt;Les side projects fonctionnent pour moi quand ils sont sur le même axe que quelque chose qui me tient déjà à cœur.&lt;/strong&gt; J&amp;rsquo;ai une pile de projets persos abandonnés qui sont morts parce qu&amp;rsquo;ils étaient techniquement intéressants mais personnellement non pertinents. Ceux qui survivent, dont &lt;a href=&#34;https://antoine.weill-duflos.fr/post/komodo/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;mon homelab&lt;/a&gt;, le &lt;a href=&#34;https://antoine.weill-duflos.fr/post/t-display-s3-amoled/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tableau de bord de la salle de bain&lt;/a&gt;, et maintenant KataMarrant, survivent parce que j&amp;rsquo;utilise vraiment le résultat tous les jours. Le projet n&amp;rsquo;a pas besoin d&amp;rsquo;être ambitieux pour vivre. Il faut qu&amp;rsquo;il soit utile à une personne précise, et cette personne, c&amp;rsquo;est moi. Construis pour une audience d&amp;rsquo;une seule personne, et la boucle de feedback quotidienne te dicte les priorités toute seule.&lt;/p&gt;
&lt;p&gt;Je me suis donné un cahier des charges serré. Multiplateforme, parce que je le veux sur mon téléphone &lt;em&gt;et&lt;/em&gt; sur mon poste fixe. Offline-first, parce que je ne voulais pas d&amp;rsquo;un outil que je suis censé ouvrir tous les jours qui &lt;em&gt;exige&lt;/em&gt; que je crée un compte d&amp;rsquo;abord. La synchronisation entre téléphone et poste fixe est utile, et l&amp;rsquo;appli la supporte, mais elle est optionnelle et n&amp;rsquo;est pas activée par défaut. Lancement instantané, parce que le moment où un quiz prend plus de temps à s&amp;rsquo;ouvrir que mon attention dure, la série est morte. Open source, parce que je ne construis pas une boîte, je construis un outil, et je préfère que quelques autres judokas l&amp;rsquo;améliorent que de garder la porte fermée.&lt;/p&gt;
&lt;h2 id=&#34;ce-que-katamarrant-est-vraiment&#34;&gt;Ce que KataMarrant est vraiment&lt;/h2&gt;
&lt;p&gt;La description la plus courte qui tient sur le côté d&amp;rsquo;une carte : &lt;strong&gt;un quiz de fiches de judo pour les 40 Gokyo no Waza, sur tous mes appareils, que je vais vraiment ouvrir tous les jours.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;















&lt;figure  id=&#34;figure-une-question-de-quiz-lillustration-vient-de-la-planche-gokyo-no-waza-sur-wikimedia-commons-par-mtwist-cc-by-sa-le-panneau-de-réponse-affiche-le-nom-en-romaji-le-kanji-la-traduction-française-littérale-et-un-lien-vers-une-vidéo-de-démonstration-sélectionnée&#34;&gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Une question de quiz sur Android : un dessin au trait de deux judokas en pleine projection, trois propositions de noms, la bonne réponse révélée en bas avec le kanji et la traduction française&#34; srcset=&#34;
               /fr/post/katamarrant-why/quiz_hu_e9d043583cddd36c.webp 400w,
               /fr/post/katamarrant-why/quiz_hu_75e8c0608764949d.webp 760w,
               /fr/post/katamarrant-why/quiz_hu_7db30ce622b190fe.webp 1200w&#34;
               src=&#34;https://antoine.weill-duflos.fr/fr/post/katamarrant-why/quiz_hu_e9d043583cddd36c.webp&#34;
               width=&#34;342&#34;
               height=&#34;760&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;figcaption&gt;
      Une question de quiz. L&amp;rsquo;illustration vient de la planche Gokyo no Waza sur Wikimedia Commons, par Mtwist (CC BY-SA). Le panneau de réponse affiche le nom en romaji, le kanji, la traduction française littérale, et un lien vers une vidéo de démonstration sélectionnée.
    &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;La boucle de base est celle qu&amp;rsquo;on attend. L&amp;rsquo;appli me montre une technique, me demande lequel des trois noms correspond, et me dit si j&amp;rsquo;ai bon. Bonne réponse, le score de maîtrise de la technique monte. Mauvaise réponse, elle revient plus souvent dans les sessions suivantes. Il y a un cooldown de six questions pour que la même prise ne tombe pas deux fois de suite, même si c&amp;rsquo;est la pire de ma liste. Le mode reconnaissance affiche une illustration fixe. Le mode audio joue un clip enregistré du nom et me demande de choisir la bonne description, ce qui est brutal de manière utile : ça force le romaji dans mon oreille, pas seulement dans mon œil.&lt;/p&gt;
&lt;p&gt;Il y a quatre points d&amp;rsquo;entrée sur l&amp;rsquo;écran d&amp;rsquo;accueil, et c&amp;rsquo;est un petit choix qui s&amp;rsquo;est avéré plus important que je ne l&amp;rsquo;avais prévu.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Une question&lt;/strong&gt; est le bouton le moins coûteux à appuyer. Pour les moments où j&amp;rsquo;ai moins de trente secondes. J&amp;rsquo;ouvre l&amp;rsquo;appli, je réponds à une question, je referme. C&amp;rsquo;est suffisant pour garder la série en vie.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rafale (10)&lt;/strong&gt; est une volée de dix questions. C&amp;rsquo;est l&amp;rsquo;échauffement que je fais dans le métro. C&amp;rsquo;est le mode le plus utilisé de loin, ce que je n&amp;rsquo;avais pas prédit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Drill (chrono)&lt;/strong&gt; est un mode chronométré avec une barre qui descend pour chaque question. Pour les moments où j&amp;rsquo;ai déjà révisé et où je veux me tester sous un peu de pression. C&amp;rsquo;est aussi là que vit la variante audio.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Parcourir les 40 techniques&lt;/strong&gt; est le mode de référence. Le catalogue complet, classé par kyo, avec le romaji, le kanji, la traduction française et une vidéo de référence intégrée pour chacun. Je m&amp;rsquo;attendais à ce que ce soit la fonctionnalité phare. C&amp;rsquo;est l&amp;rsquo;écran le moins ouvert de l&amp;rsquo;appli. Les gens qui veulent &lt;em&gt;apprendre&lt;/em&gt; les noms veulent qu&amp;rsquo;on les leur demande, pas les lire.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un compteur de série, un objectif quotidien (j&amp;rsquo;ai pris dix questions, libre à chacun d&amp;rsquo;ajuster), un système de niveau lié à une petite courbe d&amp;rsquo;XP, et une grille de succès à débloquer occupent l&amp;rsquo;écran d&amp;rsquo;accueil. Rien de tout ça n&amp;rsquo;est neuf. C&amp;rsquo;est emprunté à une décennie d&amp;rsquo;applis d&amp;rsquo;apprentissage des langues, d&amp;rsquo;applis de fitness et de jeux mobiles qui ont déjà résolu le problème de faire revenir un humain demain. L&amp;rsquo;emprunt est exactement le but.&lt;/p&gt;
&lt;h2 id=&#34;le-poste-fixe-nest-pas-une-option-en-plus&#34;&gt;Le poste fixe n&amp;rsquo;est pas une option en plus&lt;/h2&gt;
&lt;p&gt;















&lt;figure  id=&#34;figure-interface-desktop-même-base-sqlite-même-logique-de-quiz-mise-en-page-différente-tauri-2-me-permet-dexpédier-le-même-cœur-rust-sur-windows-macos-linux-android-et-ios-sans-codebase-séparée&#34;&gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;La fenêtre desktop en mode sombre, avec une barre latérale (Accueil, Quiz, Rafale, Drill, Liste, Stats), les stats du jour, les barres de maîtrise par groupe, et la grille des succès&#34; srcset=&#34;
               /fr/post/katamarrant-why/desktop_hu_1649828b9a0cc863.webp 400w,
               /fr/post/katamarrant-why/desktop_hu_b31938cdbf447ba2.webp 760w,
               /fr/post/katamarrant-why/desktop_hu_779860482263992e.webp 1200w&#34;
               src=&#34;https://antoine.weill-duflos.fr/fr/post/katamarrant-why/desktop_hu_1649828b9a0cc863.webp&#34;
               width=&#34;760&#34;
               height=&#34;501&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;figcaption&gt;
      Interface desktop. Même base SQLite, même logique de quiz, mise en page différente. Tauri 2 me permet d&amp;rsquo;expédier le même cœur Rust sur Windows, macOS, Linux, Android et iOS sans codebase séparée.
    &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Une appli de judo, c&amp;rsquo;est évidemment une appli mobile-first. J&amp;rsquo;ai failli ne pas faire la version desktop, puis je l&amp;rsquo;ai construite quand même, et maintenant la fenêtre desktop est l&amp;rsquo;endroit où je fais mes sessions de révision plus longues. La raison, c&amp;rsquo;est la synchronisation. Si je me teste pendant trente secondes le matin sur le téléphone et que je m&amp;rsquo;assois à mon bureau le soir pour préparer un cours, les mêmes prises que j&amp;rsquo;avais ratées au petit-déjeuner remontent à la surface au bureau. Les scores de maîtrise me suivent d&amp;rsquo;un appareil à l&amp;rsquo;autre. C&amp;rsquo;est utile d&amp;rsquo;une manière qu&amp;rsquo;un widget d&amp;rsquo;écran d&amp;rsquo;accueil sur un seul appareil ne peut pas être.&lt;/p&gt;
&lt;p&gt;La réponse technique à &amp;ldquo;comment c&amp;rsquo;est sur tous les supports&amp;rdquo; c&amp;rsquo;est &lt;strong&gt;Tauri 2&lt;/strong&gt;, qui me permet d&amp;rsquo;expédier le même cœur Rust et le même frontend JS vanille sur Windows, macOS, Linux, Android et iOS. Le frontend n&amp;rsquo;a pas d&amp;rsquo;étape de build. Le backend parle à une petite base SQLite pour les stats et un journal de quiz. La synchronisation est optionnelle, par lien magique, sans mot de passe, hébergée sur un petit service Rust que je tourne moi-même. Je raconterai ça correctement dans le prochain billet de la série.&lt;/p&gt;
&lt;h2 id=&#34;un-mode-drill-qui-ma-fait-comprendre-pourquoi-le-quotidien-compte&#34;&gt;Un mode drill qui m&amp;rsquo;a fait comprendre pourquoi le quotidien compte&lt;/h2&gt;
&lt;p&gt;















&lt;figure  id=&#34;figure-mode-drill-variante-audio-lappli-prononce-le-nom-de-la-technique-dix-secondes-pour-choisir-la-bonne-description-et-la-barre-du-haut-se-vide-brutal-au-début-efficace&#34;&gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;La variante audio du drill sur Android. Une barre de chrono, le numéro et le groupe de la technique, un bouton lecture, et trois descriptions françaises à choisir&#34; srcset=&#34;
               /fr/post/katamarrant-why/drill_hu_839fcd18f5d830d5.webp 400w,
               /fr/post/katamarrant-why/drill_hu_8552f394c09a30f8.webp 760w,
               /fr/post/katamarrant-why/drill_hu_77bda53060da8a39.webp 1200w&#34;
               src=&#34;https://antoine.weill-duflos.fr/fr/post/katamarrant-why/drill_hu_839fcd18f5d830d5.webp&#34;
               width=&#34;342&#34;
               height=&#34;760&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;figcaption&gt;
      Mode drill, variante audio. L&amp;rsquo;appli prononce le nom de la technique, dix secondes pour choisir la bonne description, et la barre du haut se vide. Brutal au début. Efficace.
    &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Le mode drill est l&amp;rsquo;endroit où le truc de gamification que j&amp;rsquo;ai emprunté à Haply tape le plus fort. Le mécanisme en lui-même est banal : un chrono, une série interne à la session, un succès quand on enchaîne dix bonnes réponses d&amp;rsquo;affilée en mode audio (le succès s&amp;rsquo;appelle &lt;strong&gt;Sensei silencieux&lt;/strong&gt;, et oui, c&amp;rsquo;est censé être une petite blague). Ce qui n&amp;rsquo;est pas banal, si vous n&amp;rsquo;avez pas déjà vécu avec ce genre de mécanisme, c&amp;rsquo;est la vitesse à laquelle un drill quotidien de deux minutes cesse d&amp;rsquo;être une chose que vous devez vous rappeler de faire et devient une chose que vous attrapez dès que vous avez une poche de temps libre.&lt;/p&gt;
&lt;p&gt;Quelques jours plus tard, le tableau de bord me dit déjà quelque chose d&amp;rsquo;utile. Certains groupes avancent et d&amp;rsquo;autres pas. Je progresse sur des morceaux de la liste, pas sur la totalité, et je vois exactement lesquels. Je savais que le trou existait, de manière floue, avant. Le graphique le rend précis. &lt;strong&gt;Le simple fait de construire quelque chose de mesurable sur ma propre progression était, en soi, une chose que je n&amp;rsquo;aurais pas pu obtenir avec des flashcards papier.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Voilà le pourquoi du projet. La ceinture noire, c&amp;rsquo;est la destination. Le trou Gokyo, c&amp;rsquo;est le problème qui est devant moi tout de suite. Réviser sur le téléphone tous les jours avec un outil que j&amp;rsquo;ouvre vraiment, c&amp;rsquo;est la solution. Le construire au lieu de l&amp;rsquo;acheter, c&amp;rsquo;est en partie parce qu&amp;rsquo;aucune appli sur les stores n&amp;rsquo;avait la forme exacte que je voulais, et en partie parce que le genre de travail que je fais en journée, c&amp;rsquo;est exactement le genre de travail qui transforme &amp;ldquo;ça serait cool s&amp;rsquo;il existait une appli pour ça&amp;rdquo; en appli qui marche, en quelques week-ends. &lt;strong&gt;Les side projects survivent quand ils sont utiles à une vraie personne tous les jours, et quand cette personne est aussi celle qui peut les construire.&lt;/strong&gt; C&amp;rsquo;est tout le pitch de KataMarrant. Le reste de la série, c&amp;rsquo;est le build.&lt;/p&gt;
&lt;h2 id=&#34;la-suite-de-la-série&#34;&gt;La suite de la série&lt;/h2&gt;
&lt;p&gt;Dans le prochain billet, je rentre dans le build. Tauri 2 est sincèrement bon et un peu maudit dans la même phrase, et il y a une poignée de décisions que j&amp;rsquo;ai prises qui m&amp;rsquo;auraient fait gagner une semaine si je les avais connues le premier jour. Sujets que je veux couvrir, à peu près dans l&amp;rsquo;ordre où ils m&amp;rsquo;ont mordu :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Du JS vanille plutôt qu&amp;rsquo;un framework&lt;/strong&gt;, et pourquoi le frontend sans étape de build est le bon choix pour une appli de cette taille.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;De la répétition espacée sans bibliothèque&lt;/strong&gt; : la quantité étonnamment petite d&amp;rsquo;arithmétique qui rend le quiz adaptatif sans devenir pénible.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authentification par lien magique et serveur de sync en Rust&lt;/strong&gt;, sans mot de passe stocké nulle part, jamais.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notifications locales sur Android via un plugin Tauri maison&lt;/strong&gt; qui enveloppe WorkManager, et le chemin iOS équivalent qui m&amp;rsquo;a fait pousser la barbe.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mettre une appli personnelle sur le Play Store&lt;/strong&gt;, et à quel point ce processus est déraisonnablement long et pénible pour un side project d&amp;rsquo;une seule personne. Les pièges précis dans lesquels je suis tombé pour que vous puissiez les éviter.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si l&amp;rsquo;un de ces sujets vous intéresse, le code est sur &lt;a href=&#34;https://github.com/Leicas/KataMarrant&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;github.com/Leicas/KataMarrant&lt;/a&gt; et il y a une &lt;a href=&#34;https://antoine.weill-duflos.fr/fr/project/katamarrant/&#34;&gt;page projet correspondante&lt;/a&gt; sur ce site.&lt;/p&gt;
&lt;p&gt;Les illustrations des techniques dans l&amp;rsquo;appli sont extraites de la &lt;a href=&#34;https://commons.wikimedia.org/wiki/File:Gokyo-no-waza.jpg&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;planche Gokyo no Waza&lt;/a&gt; par l&amp;rsquo;utilisateur Wikimedia Mtwist, sous licence CC BY-SA. Les vidéos de référence sont sélectionnées par l&amp;rsquo;excellent &lt;a href=&#34;https://judo.how/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;judo.how&lt;/a&gt;. Les noms et les kanji sont les noms standards. Aucun de ce travail n&amp;rsquo;est affilié au Kodokan ni à une fédération de judo. C&amp;rsquo;est un outil d&amp;rsquo;entraînement personnel, écrit par un judoka pressé, pour un judoka pressé.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
