Mission : occuper un Weimaraner
Vivre avec un Weimaraner, c'est découvrir qu'un chien avec beaucoup d'énergie n'a pas seulement besoin de courir. Il faut aussi réussir à occuper ce qui se trouve entre ses deux oreilles.
Chapitre 1
Il y a des projets qui commencent par un besoin parfaitement rationnel. Et puis il y a ceux qui commencent parce qu'un chien comprend trop vite les jeux qu'on lui achète.
Celui-ci appartient plutôt à la deuxième catégorie.
Kiss est un Braque de Weimar. Il est curieux, très curieux, et il a besoin d'être régulièrement occupé. Nous avons donc naturellement essayé différents jeux d'intelligence pour chiens : déplacer une pièce, ouvrir un compartiment, actionner un mécanisme pour atteindre une friandise...
Le problème n'est pas qu'il n'arrive pas à les résoudre.
Le problème, c'est qu'il y arrive.
Une fois le mécanisme compris, ce qui était initialement un problème à résoudre devient rapidement une procédure qu'il suffit de répéter. Nous avons donc commencé à tricher. Un des moyens consiste tout simplement à cacher le jeu quelque part dans la maison : Kiss doit alors commencer par le chercher avant de pouvoir s'attaquer au puzzle lui-même.
Ça fonctionne. Mais forcément, à force de le regarder faire, une idée a commencé à apparaître.
Et si le jeu était lui-même capable de changer ?
Il paraît que c'est un Weimaraner
Avant d'adopter Kiss, j'avais évidemment lu pas mal de choses sur les Braques de Weimar : chien énergique, intelligent, curieux, extrêmement proche de son maître, observateur, parfois pot de colle... À lire certains propriétaires, leur chien semblait presque passer ses journées à analyser le fonctionnement de la maison et des humains qui y vivent.
Pour être tout à fait honnête, je prenais certaines de ces histoires avec quelques pincettes. Les propriétaires particulièrement passionnés par une race ont parfois tendance à lui prêter toutes les qualités du monde. Et le Weimaraner traîne derrière lui une représentation assez particulière : les photographies de William Wegman n'y sont probablement pas étrangères. Depuis des décennies, ses Weimaraners sont mis en scène dans des situations tellement humaines qu'ils ont largement contribué à construire cette image d'un chien presque... trop humain.
Je trouvais ça amusant, mais j'avais aussi parfois le sentiment qu'il y avait derrière certains discours de propriétaires une petite dose d'autosatisfaction.
Puis Kiss est arrivé.
Disons que j'ai légèrement révisé mon jugement.
Ce n'était pourtant pas mon premier chien
Kiss n'est pas le premier chien avec lequel j'ai vécu. J'en ai connu d'autres avant lui, dont un Rottweiler avec lequel j'ai partagé près de quatorze ans. Lui aussi appartenait à une race historiquement sélectionnée pour le travail, lui aussi était très attaché à moi, et ce fut une très belle expérience. Mais une expérience très différente.
Avec le recul, je crois que je pourrais résumer la différence de cette manière :
Mon Rottweiler voulait être avec moi.
Mon Weimaraner veut être avec moi, mais il semble également vouloir participer.
Ou, à défaut de pouvoir participer, au moins regarder de très près ce que je suis en train de faire. C'est particulièrement visible lorsque je commence une activité qui lui paraît inhabituelle : un objet étrange apparaît, je démonte quelque chose, je manipule du matériel qui ne fait pas partie de la routine... Il faut généralement venir voir. Pas nécessairement pour obtenir quelque chose, juste parce qu'il se passe quelque chose et qu'apparemment, cela le concerne aussi.
Je ne sais pas si Kiss comprend davantage de choses que les chiens que j'ai connus auparavant.
J'ai surtout l'impression qu'il veut en comprendre davantage.
Tout cela est formidable. Enfin, presque.
Présenté comme ça, le tableau est plutôt séduisant : un chien curieux, attentif à ce que vous faites, qui cherche à participer et s'intéresse en permanence à son environnement. Dans la vraie vie, c'est parfois un peu moins poétique. Lorsqu'on travaille sur une tondeuse, par exemple, découvrir une truffe de Weimaraner pratiquement dans le moteur n'est pas nécessairement la forme d'assistance technique dont on rêvait.
Et cette curiosité ne se limite évidemment pas à ce que je fais. Un livreur arrive avec un colis ?
Inspection obligatoire. Ça pourrait être pour lui.
Des invités entrent dans la maison ? Il semble assez évident à Kiss que ces humains ont fait le déplacement pour venir admirer sa majesté canine. Il convient donc de les accueillir correctement et, si possible, de devenir rapidement le centre de leur attention.
C'est amusant lorsqu'on connaît le chien. Ça l'est beaucoup moins lorsque la personne qui se trouve en face n'est pas à l'aise avec les chiens, ou en a simplement peur : un Weimaraner adulte qui décide de venir s'intéresser personnellement à vous reste un animal dont la présence peut être impressionnante. Nous travaillons donc aussi sur cet aspect de son comportement. Être curieux ne signifie pas qu'il faut participer à tout, et tous les humains qui franchissent la porte n'ont pas nécessairement envie d'interagir avec lui.
Sur ce dernier point, nous avons encore manifestement quelques divergences d'opinion.
Les clés
Kiss communique déjà très efficacement avec nous. Pas avec des mots, évidemment, mais il a développé différentes manières de nous faire comprendre ce qu'il veut, et l'une d'elles me fascine particulièrement.
Lorsqu'il veut aller dans le jardin et que la porte est fermée, il se place devant celle-ci. Jusque-là, rien de remarquable. Mais si nous ne le remarquons pas suffisamment vite, il agite les clés qui se trouvent à proximité de la porte, et ça fonctionne remarquablement bien : le bruit attire notre attention presque instantanément. Si cette première tentative ne produit pas assez rapidement le résultat attendu, nous avons généralement droit à un gémissement. Et si, par hasard, nous ne le regardons toujours pas, il agite à nouveau les clés.
Difficile évidemment de savoir exactement ce qui se passe dans sa tête, je préfère donc m'en tenir à ce que nous pouvons observer. Ce comportement semble avoir acquis deux fonctions. Les clés sont d'abord devenues un excellent moyen de nous faire tourner la tête. Mais dans ce contexte précis, elles portent également une information que nous avons appris à interpréter :
« Je suis devant cette porte et je veux sortir. »
Et lorsqu'une première tentative ne suffit pas, Kiss dispose manifestement de plusieurs moyens d'insister.
Clés.
Pas de résultat ? Gémissement.
Toujours pas ?
Clés, deuxième service.
La patience n'est décidément pas sa qualité première. Sauf, curieusement, lorsqu'il estime que la tâche qu'on lui propose mérite réellement son attention.
Quand il décide de travailler
Nous faisons de l'éducation canine avec Kiss deux fois par semaine. En termes d'obéissance pure, je ne pense pas qu'il y ait quoi que ce soit d'extraordinaire à raconter : il connaît évidemment toute une série d'ordres, certains plus utiles que d'autres. Et, soit dit en passant, un chien qui comprend « gauche » et « droite », c'est beaucoup plus pratique qu'on pourrait le croire.
Mais ce n'est pas le nombre d'ordres qu'il connaît qui m'intéresse le plus. C'est son rapport au travail. Lorsqu'il en a envie, son niveau d'implication peut devenir assez impressionnant : il peut par exemple maintenir une position statique en restant complètement fixé sur ce qu'on lui demande, alors que d'autres chiens jouent, bougent ou font les idiots autour de lui. C'est le genre de situation qui interpelle régulièrement les personnes qui assistent aux séances.
Avec nos chiens précédents, nous avions également fait de l'éducation, généralement pendant environ un an. À un moment, l'essentiel était acquis et continuer ne semblait plus vraiment nécessaire. Avec Kiss, la question se pose différemment. Nous n'avons pas spécialement besoin qu'il apprenne davantage de choses.
Mais lui semble avoir besoin de continuer à travailler.
Il adore manifestement ces séances et peut s'y investir énormément... quand il en montre l'envie. Alors nous continuons. Pas tellement parce qu'il reste des choses indispensables à lui apprendre, mais simplement parce que ça semble lui faire du bien.
Fatiguer les pattes ne suffit pas toujours
Lorsqu'on parle d'un chien avec un niveau d'énergie élevé, le premier réflexe est assez naturellement de penser à l'activité physique. Et évidemment, elle est importante. Mais vivre avec Kiss m'a aussi fait prendre conscience d'une autre dimension.
Il faut également occuper ce qui se trouve entre les deux oreilles.
Je vais cependant m'arrêter assez vite sur le terrain de l'éducation canine : je n'en ai ni la formation ni la légitimité, et il existe des personnes infiniment plus compétentes que moi pour expliquer comment répondre correctement aux besoins d'un chien. Je peux simplement raconter ce que nous observons avec le nôtre. Les promenades et l'activité physique sont importantes, mais les séances d'éducation, les jeux, les exercices et les nouvelles choses à apprendre semblent répondre à autre chose. Kiss ne paraît pas seulement avoir besoin de se dépenser.
Il semble aussi aimer avoir quelque chose à faire avec sa tête.
Une petite parenthèse qui aurait pu nous être utile beaucoup plus tôt
Puisque je viens malgré tout de mettre un pied dans le domaine de l'éducation canine, autant mentionner une ressource francophone que j'aurais personnellement adoré connaître dès notre premier chien : Esprit Dog.
Ce que j'apprécie particulièrement dans leur contenu, c'est qu'il ne s'agit pas simplement d'une collection de recettes pour obtenir un « assis », un « couché » ou un rappel. Il y est beaucoup question de comprendre le chien qu'on a réellement devant soi. Je ne prétends évidemment pas que tout ce qui y est dit constitue une vérité universelle : c'est simplement aujourd'hui une source d'informations que je trouve suffisamment intéressante pour avoir envie de la recommander.
Nous avons connu plusieurs chiens et reçu, au fil des années, quelques conseils de prétendus spécialistes dont nous nous serions volontiers passés. Avec le recul, certaines erreurs auraient probablement pu être évitées avec de meilleures informations dès le départ.
Mais ça, c'est une autre histoire.
Malheureusement pour les lecteurs anglophones, le contenu d'Esprit Dog est essentiellement en français.
Génétique, environnement... ou un peu des deux ?
Reste une question à laquelle je n'ai évidemment pas de réponse : pourquoi retrouve-t-on aussi souvent ce genre de descriptions chez les propriétaires de Weimaraners ?
Une partie vient probablement des caractéristiques pour lesquelles la race a été sélectionnée. Mais je me demande s'il n'existe pas également une sorte de cercle de rétroaction. Un chien avec beaucoup d'énergie et un énorme besoin d'interaction oblige presque mécaniquement ses humains à passer énormément de temps avec lui. Plus d'activités, plus d'éducation, plus d'interactions, et donc aussi énormément d'occasions d'observer les humains, leurs habitudes et les conséquences de certaines actions.
À partir de là, quelle part vient de la génétique ? Quelle part vient de l'environnement ? Quelle part vient simplement de la personnalité individuelle du chien ? Ce projet n'a certainement pas vocation à y répondre scientifiquement. Mais après avoir été assez sceptique en lisant certains témoignages avant l'arrivée de Kiss, je trouve aujourd'hui la question beaucoup plus intéressante qu'à l'époque.
Alors, on lui construit quoi ?
C'est finalement de toutes ces observations qu'est née l'idée de ce projet. Les jeux d'intelligence classiques fonctionnent, mais une fois leur mécanisme assimilé, ils deviennent rapidement répétitifs.
L'objectif ne serait donc pas de fabriquer un puzzle tellement compliqué que Kiss n'arrive pas à le résoudre. Ce serait probablement une excellente manière de fabriquer de la frustration plutôt que de l'occupation. L'idée serait plutôt de créer quelque chose qui puisse évoluer.
À ce stade, je n'ai encore rien construit. J'imagine des modules relativement simples et facilement déplaçables : des boutons, des sons, différents mécanismes, et une récompense lorsqu'une action correcte est réalisée.
On pourrait commencer avec tous les éléments regroupés au même endroit : un son, une action correspondante, une récompense. Puis introduire progressivement d'autres sons et d'autres actions. Ensuite, peut-être déplacer les modules, changer leur position, modifier les associations, introduire plusieurs étapes, éloigner physiquement certains éléments.
Bref, essayer de construire non pas un jeu dont Kiss doit apprendre la solution, mais un système permettant de lui proposer régulièrement un nouveau problème à comprendre. Et éventuellement observer au passage la manière dont il s'y prend.
Aucune idée de ce qui va se passer
Pour le moment, le projet en est exactement là : une idée, quelques observations, quelques mécanismes possibles et beaucoup de questions. Je ne sais pas encore quelle électronique sera utilisée, ni quelle forme prendront les modules. Je ne sais même pas si Kiss comprendra le principe que j'ai en tête.
Et il est parfaitement possible qu'après plusieurs heures de conception, d'impression 3D, d'électronique et de programmation, il regarde mon magnifique prototype pendant trois secondes avant de décider que le carton dans lequel sont arrivées les pièces est nettement plus intéressant. Ce serait dommage. Mais ce serait aussi une réponse.
Le premier objectif sera donc beaucoup plus modeste :
construire quelque chose de suffisamment simple pour découvrir ce que Kiss décide d'en faire.
Pour la suite... on verra probablement avec lui.
Chapitre 2
Commençons donc par un bouton
Il fallait bien commencer quelque part. Dans mon idée initiale, le système devait être modulaire : plusieurs éléments indépendants, faciles à déplacer, que l'on pourrait disposer différemment selon les jeux. Le premier de ces éléments serait aussi le plus évident : l'interface entre le système et Kiss. Autrement dit, un bouton.
Pas nécessairement un bouton au sens classique, avec une forme ou une taille imposée. Simplement un mécanisme que Kiss puisse actionner facilement avec une patte ou avec le museau.
Les contraintes étaient assez claires dès le départ. Le dispositif devait être simple, robuste, peu coûteux et reproductible. Il devait pouvoir se poser au sol comme se fixer sur un mur, pour varier les positions et les interactions. Enfin, les cibles devaient rester physiquement indépendantes et assez faciles à déplacer pour que l'emplacement lui-même puisse faire partie du jeu.
L'impression 3D s'est imposée presque naturellement pour le corps du dispositif : elle permet de dessiner exactement la géométrie voulue, de modifier une pièce rapidement et d'obtenir un résultat robuste sans que cela coûte grand-chose.
À ce stade, je n'avais pratiquement pas regardé ce qui existait dans le commerce. Avec le recul, j'aurais peut-être dû commencer par là. Mais il y avait un avantage à ne pas le faire : aucun design existant ne m'influençait. Je suis parti du problème et de ce qui me semblait logique pour le résoudre.
Le bouton devait aussi pouvoir communiquer avec Kiss. Pas avec des mots, du moins pas directement : je voulais un retour visuel local, capable d'indiquer qu'une action était attendue, puis de confirmer qu'elle avait bien été détectée. J'ai en revanche assez vite écarté l'idée d'ajouter du son dans chaque cible. Multiplier les sources sonores dans la maison, c'était une bonne manière de transformer un jeu pour chien en joyeux chaos, sans parler du matériel, du coût et de la complexité en plus. Le son, s'il devait y en avoir, serait géré ailleurs.
Pour le visuel, j'avais déjà utilisé des anneaux de LEDs WS2812 sur un prototype de satellite vocal pour Home Assistant. Ils sont simples à piloter et extrêmement flexibles : couleurs, animations, effets différents selon l'état du jeu... J'avais justement un anneau de 24 LEDs qui convenait bien aux dimensions envisagées. Il serait logé à l'intérieur du bouton et visible par transparence à travers la partie mobile, imprimée en blanc. Cette pièce cumulerait ainsi trois rôles : surface d'appui pour Kiss, élément mécanique et diffuseur de lumière.
Pour le contrôleur, le choix a été tout aussi rapide : un ESP32-C6. Il est peu coûteux, suffisamment puissant pour ce que je veux en faire, très flexible, et il dispose évidemment du Wi-Fi. Les réseaux IP sont un terrain que je connais plutôt bien, je n'avais donc aucune raison de compliquer les choses avec un autre protocole.
Enfin, « facilement déplaçable » ne voulait pas forcément dire « sur batterie ». Pour cette première version, une alimentation USB est parfaitement acceptable, et une petite powerbank pourra toujours rendre une cible autonome plus tard. Ce n'est simplement pas une priorité.
Trois switches, trois ressorts et beaucoup de plastique
Restait à transformer l'idée de « gros bouton pour chien » en quelque chose qui fonctionne réellement.
Pour détecter un appui, le microswitch mécanique m'a semblé la solution la plus simple : bon marché, fiable et très facile à interfacer avec un ESP32. Son défaut, c'est sa zone d'actionnement minuscule. Or Kiss n'allait évidemment pas viser un point précis du bout du doigt. La surface devait pouvoir être pressée de façon approximative, y compris près d'un bord, et l'appui être tout de même détecté.
La solution qui m'est venue naturellement : trois microswitches répartis à 120° sous la partie mobile. Si au moins un des trois contacts est activé, le bouton est considéré comme pressé. Inutile de savoir lequel : les trois switches, normalement ouverts, peuvent donc être câblés en parallèle sur une seule entrée de l'ESP32. Un appui décentré fait peut-être légèrement basculer le plateau, mais ce n'est pas un problème, puisqu'il suffit que le switch de la zone concernée se déclenche.
Il fallait ensuite que le bouton revienne en place. Là encore, le ressort s'imposait : trois points de détection, trois points de rappel, donc trois ressorts, eux aussi répartis régulièrement. Les choisir était un peu moins évident. Je savais ce que je voulais (assez souples pour que Kiss les actionne sans effort, assez fermes pour assurer un retour franc), mais je n'avais aucune référence précise. Quelques recherches, les conseils d'une IA et un peu de bon sens m'ont conduit vers un modèle qui s'est, heureusement, révélé tout à fait adapté.
Restait un problème beaucoup moins défini dans ma tête : comment guider correctement la partie mobile ? J'imaginais un système de colonnes imbriquées, avec les ressorts au milieu. Il fallait assez de jeu pour que tout coulisse malgré les tolérances de l'impression 3D, mais pas au point que le plateau se balade latéralement ou se mette de travers. Il fallait aussi prévoir deux butées : l'une pour empêcher les ressorts de pousser la partie mobile hors du boîtier, l'autre pour limiter sa course vers le bas.
À ce stade, continuer à concevoir tout cela mentalement devenait moins efficace que de le dessiner. J'ai donc ouvert Fusion 360, et c'est là que le mécanisme a réellement pris forme. La CAO a permis de régler les questions de guidage et de butées, mais aussi de vérifier qu'il y avait assez de place pour les trois ressorts, les trois switches, l'ESP32-C6, l'anneau de LEDs et le câblage.
Le mécanisme s'articule finalement autour de trois pièces imprimées.
La partie mobile supérieure est le bouton lui-même. Sous elle se trouve le logement circulaire de l'anneau WS2812, et trois colonnes disposées à 120° en descendent. Les ressorts sont simplement insérés, sans fixation, dans trois colonnes correspondantes de la base. Les colonnes de la partie mobile, de plus grand diamètre, viennent coiffer celles de la base : les deux ensembles coulissent l'un dans l'autre tout en maintenant les ressorts en place.
Un anneau statique supérieur entoure la partie mobile. Il assure un guidage périphérique supplémentaire et sert de butée haute : les ressorts peuvent pousser le bouton vers le haut, mais il ne peut pas sortir du boîtier.
Enfin, le plateau inférieur fait office de structure générale, de guide pour les colonnes, de support pour les trois microswitches et de butée basse. Une ouverture latérale laisse passer le câble USB.
Trois pièces imprimées, trois ressorts, trois switches. Pas beaucoup plus.
De la CAO au plastique
Avant même de m'occuper de l'électronique, j'ai imprimé l'ensemble pour vérifier que la mécanique remplissait réellement ses fonctions. C'était le moment de contrôler ce que Fusion 360 ne garantit pas : les jeux réels entre les pièces imprimées, les éventuels points d'accroche, le comportement lors d'un appui décentré et, surtout, la force nécessaire pour déplacer le plateau.
J'ai installé les trois ressorts et les trois microswitches, puis assemblé le tout. Et, assez étonnamment, cela fonctionnait presque correctement du premier coup. Le plateau coulissait bien, revenait correctement en position et l'effort nécessaire semblait adapté.
Une seule correction s'imposait, sur l'actionnement des microswitches. Chacun possède un petit levier métallique pivotant, et dans cette première version le plateau devait descendre un peu trop loin avant d'obtenir un déclenchement vraiment franc. Plutôt que de modifier la CAO et de réimprimer une grosse pièce pour moins d'un millimètre, j'ai ajouté une petite épaisseur de colle chaude aux points de contact.
Correction extrêmement sophistiquée. Mais efficace : la course est devenue correcte, et cette surépaisseur pourra simplement être intégrée à la géométrie de la prochaine version.
Deux GPIO suffisent
Une fois la mécanique validée, l'électronique était presque triviale.
Un câble USB-C entre dans le boîtier et arrive sur un petit breakout USB-C, qui alimente l'ESP32-C6 et l'anneau de LEDs. Ce breakout n'avait d'ailleurs pas de logement dans la première CAO : il est pour l'instant maintenu avec... de la colle chaude. C'est un prototype.
Les trois microswitches normalement ouverts sont câblés en parallèle entre GPIO0 et la masse. L'entrée utilise le pull-up interne de l'ESP32 : tant qu'aucun switch n'est activé, elle reste à l'état haut ; dès que l'un d'eux ferme le circuit, elle passe à l'état bas. L'anneau WS2812 est piloté par GPIO1, avec une résistance de 330 ohms en série sur la ligne de données.
Et c'est pratiquement tout : trois points de détection et 24 LEDs individuellement adressables, pour un total de deux GPIO utilisés.
Un firmware, mais par petits morceaux
J'avais déjà travaillé avec ESP-IDF sur d'autres projets, et continuer avec cet environnement était donc le choix le plus logique. Là encore, inutile de tout développer d'un coup.
La première étape a simplement consisté à configurer GPIO0 et à vérifier que l'actionnement de n'importe lequel des trois switches était bien détecté. Je suis ensuite passé aux LEDs : pilotage de l'anneau, couleurs et effets lumineux à travers le capot blanc.
À ce stade, toute la chaîne physique fonctionnait. On pouvait appuyer sur le plateau, l'ESP32 détectait le switch et le dispositif produisait le retour lumineux prévu. Techniquement, le bouton était presque prêt à être soumis à son alpha-testeur.
Sauf qu'en l'état, il ne servait encore à rien.
Le serveur temporaire qui risque de ne plus l'être
Avant d'aller plus loin, je voulais vérifier une chose : est-ce que mon idée de départ tenait réellement la route ?
Je pouvais construire autant de boutons que je voulais, imaginer des distributeurs de récompenses et des scénarios de plus en plus complexes. Tout cela n'aurait aucun intérêt si je surestimais les capacités de Kiss ou, plus prosaïquement, son envie de participer à mes expériences. Il fallait donc pouvoir déclencher une vraie séquence de jeu.
Dans ma tête, ce serait rapide et temporaire : un petit serveur Python quick & dirty. La première idée était même de coder en dur les adresses IP du serveur et de la cible, avec tout de même un heartbeat pour savoir si le bouton était toujours joignable.
Puis, en mettant les quelques spécifications par écrit, une évidence est apparue : puisqu'une cible devait de toute façon contacter régulièrement le serveur, il ne coûtait presque rien de lui permettre de s'enregistrer automatiquement. Il suffisait qu'elle connaisse l'adresse du serveur. Au démarrage, elle rejoint le Wi-Fi, contacte le serveur et s'annonce ; le serveur apprend ainsi son existence et sait comment la joindre. Ajouter une deuxième cible ne demandera donc aucune modification de configuration.
Le rôle du serveur restait volontairement minimal : permettre à l'opérateur de choisir une cible et de lui envoyer une commande de haut niveau, en substance « Génère un jeu. » La logique de la séquence restait gérée localement par la cible.
Et puis le quick & dirty a commencé à devenir un peu moins dirty. Le vibe coding permet aujourd'hui de produire très vite de petites applications fonctionnelles. Si une interface web correcte, un mécanisme d'enregistrement et quelques contrôles propres ne demandent guère plus d'effort qu'une solution jetable, pourquoi s'en priver ? Le concept a donc évolué des deux côtés, serveur et cible, sans pour autant devenir une usine à gaz : il était possible d'obtenir dès le départ quelque chose de relativement propre et extensible.
La première validation complète s'est terminée dans la nuit. Vers 1 h 30 du matin, le bouton fonctionnait, les LEDs réagissaient, la cible s'enregistrait auprès du serveur et une séquence pouvait être déclenchée depuis l'interface. Sans le principal intéressé, tout semblait parfait. Mais à 1 h 30, même Kiss n'est plus vraiment partant pour de folles expériences.
Le véritable test attendrait donc le lendemain.
Alors, on a vu avec lui
Le lendemain, pendant notre promenade de fin d'après-midi, j'annonce assez fièrement à ma femme que le dispositif alpha est prêt et que son principal utilisateur va enfin pouvoir le tester. Ça la fait rire. Il faut dire que ce n'est pas la première fois que j'arrive avec une idée un peu farfelue : certaines ont plutôt bien fonctionné, d'autres ont surtout permis d'apprendre des choses. Je la sens donc dubitative, pour ne pas dire sceptique. Et, pour être honnête, je n'ai moi-même aucune certitude sur ce qui va se passer. La partie technique fonctionne, mais ce n'est justement plus elle que cette expérience doit valider.
Quelques heures plus tard, nous avons dîné. Kiss, lui, n'a pas encore mangé : autant mettre toutes les chances de notre côté. Je propose à ma femme de faire le premier test avec moi, et l'expérience continue manifestement à l'amuser.
Je démarre le serveur Python, descends avec une tablette et branche le dispositif. Signal lumineux de boot. Connexion au Wi-Fi. La cible s'enregistre auprès du serveur. Tout fonctionne, c'est presque trop beau pour être vrai.
Pendant ce temps, Kiss nous observe avec cet air à la fois curieux et intrigué qu'il prend lorsque nous faisons quelque chose dont la finalité lui échappe complètement. Depuis la tablette, nous déclenchons une première séquence pour vérifier que tout fonctionne encore. La cible s'active exactement comme prévu, et Kiss n'y prête pratiquement aucune attention.
La prédiction que j'avais faite au début du projet (passer des heures à concevoir quelque chose que mon chien regarderait trois secondes avant de passer à autre chose) n'était peut-être pas si mauvaise. Sauf que personne ne lui a encore expliqué ce qu'on attend de lui.
Je prends quelques friandises. J'active à nouveau la cible, j'attire son attention sur le signal lumineux et j'appuie moi-même sur le bouton. Le dispositif affiche le signal de réussite. Friandise. Je recommence, puis encore une fois, en l'incitant cette fois à interagir lui-même avec le bouton.
Au début, il hésite. Puis il essaie. Et très vite, quelque chose se met en place.
Nous activons la cible. Je lui demande d'appuyer.
Il appuie.
Signal de réussite. Récompense. On recommence, et il appuie à nouveau. Il n'est déjà plus nécessaire de lui montrer physiquement ce qu'il doit faire.
Je suis aux anges. Ma femme éclate de rire, probablement pas tout à fait pour la même raison que pendant la promenade.
L'un des tout premiers essais avec Kiss. À ce stade, il cherche encore ce qu'on attend de lui et nous l'accompagnons beaucoup.
Nous continuons encore quelques minutes. Kiss se prend manifestement au jeu. Le principe reste extrêmement simple (le bouton s'active, on lui demande d'appuyer, il appuie et reçoit sa récompense), mais il participe volontiers et semble avoir très vite compris ce que nous attendons de lui.
Après cinq à dix minutes, nous arrêtons. Pas parce qu'il se désintéresse, au contraire : notre expérience avec Kiss nous a appris que les séances courtes sont généralement plus efficaces, et surtout qu'il vaut mieux terminer sur une réussite que continuer jusqu'à ce que l'exercice devienne lassant.
Dans ma tête, cette première expérience est déjà un beau succès. Elle ne démontre évidemment pas que Kiss a compris le langage lumineux du dispositif : à ce stade, il a surtout appris que lorsque nous lui demandons d'appuyer sur ce nouvel objet, quelque chose d'intéressant se produit. Mais une première partie de ce que j'avais imaginé commence réellement à prendre forme.
Et le lendemain ?
Le lendemain midi, je propose à ma femme de recommencer. Cette fois, la question est différente : Kiss se souvient-il de ce qu'il a appris la veille ?
Autant faire court : oui. Il reprend très vite le principe du jeu.
Je commence volontairement comme la veille, avec le signal lumineux accompagné d'une indication vocale pour lui demander d'appuyer. Puis, progressivement, je me tais. Le bouton s'active, Kiss voit le signal, et je le laisse décider de ce qu'il doit faire. Là encore, il semble assimiler le processus très rapidement.
Mais quelque chose d'intéressant commence à apparaître : le signal donné par l'humain semble pouvoir progressivement laisser la place à celui du dispositif lui-même. C'est précisément l'une des choses que je voulais explorer avec ce projet.
Jour 3 : il n'attend plus qu'on lui dise d'appuyer
Le troisième jour, je refais une courte partie avec Kiss. Cette fois, je suis seul avec lui et je ne filme pas. Dommage, parce que son comportement a encore évolué.
Je n'ai désormais plus besoin de lui dire d'appuyer. Lorsque la cible s'active, il voit le signal lumineux et agit de lui-même.
Il tente même à une ou deux reprises quelque chose que je n'avais pas vraiment prévu : alors qu'aucune séquence n'est active, il s'approche du bouton et essaie de l'actionner avec la patte. Est-ce qu'il tente réellement de provoquer le démarrage d'une nouvelle partie ? Est-ce qu'il reproduit simplement une action qu'il associe à une récompense ? Ce que je peux observer, en revanche, c'est que cela ne produit rien et qu'il comprend assez rapidement qu'il est inutile d'insister. Son comportement change alors : au lieu d'appuyer au hasard, il observe le bouton et attend son activation.
Sur cette séance, je lance 18 parties. Une seule se termine par le timeout prévu de 15 secondes.
17 réussites sur 18.
Le chiffre est amusant, mais ce n'est finalement pas ce qui m'intéresse le plus. Trois jours plus tôt, il fallait attirer son attention sur le dispositif, lui montrer le geste et lui demander d'appuyer. Maintenant, la consigne vocale n'est plus nécessaire : le changement d'état de la cible suffit, dans la grande majorité des cas, à provoquer une action.
Je ne sais toujours pas exactement ce que Kiss associe au signal lumineux, et je vais éviter de lui prêter des raisonnements que je ne peux pas vérifier. Mais le bouton commence réellement à remplir le rôle pour lequel je l'avais imaginé : devenir une interface entre le système et le chien.
Il manque quelque chose
Nous refaisons ensuite un essai, cette fois avec ma femme, notamment pour filmer les progrès de Kiss. Et cette nouvelle séance fait apparaître un détail auquel je n'avais pas vraiment pensé. Ma femme met assez rapidement le doigt dessus : il manque un signal de déclenchement pour annoncer le début d'une séquence.
Kiss sait maintenant quoi faire lorsque la cible s'active. Ce n'est plus vraiment le problème. Mais entre deux activations, il nous regarde beaucoup plus qu'il ne regarde le bouton. Lors de la séance précédente, seul avec lui, ce comportement était beaucoup moins gênant : le contexte semblait suffire et il surveillait assez naturellement le dispositif. Avec nous deux autour de lui, cela devient beaucoup plus évident, et Kiss semble attendre quelque chose de notre part.
Pas nécessairement l'ordre « appuie », dont il n'a manifestement plus besoin. Plutôt un déclencheur. Quelque chose qui lui dise : « c'est reparti ».
Cela ne signifie évidemment pas qu'il se désintéresse de la cible. Une fois la séquence engagée, il sait très bien quoi en faire. Mais le jeu reste, pour l'instant, une activité que nous faisons ensemble : nous l'avons guidé pendant son apprentissage, c'est nous qui lançons les séquences et c'est encore nous qui donnons la récompense. Son principal point d'attention reste donc souvent... nous.
Du point de vue du système, peu importe finalement de savoir exactement ce qu'il attend de notre part. Le constat suffit : un signal exclusivement visuel n'est pas idéal pour annoncer qu'une nouvelle séquence commence si Kiss regarde ailleurs.
Et, assez ironiquement, la solution était déjà prévue dans l'architecture, mais pour plus tard. Je ne voulais pas multiplier les sources sonores dans les différentes cibles, et cette décision me semble toujours bonne. En revanche, la future unité centrale doit disposer d'un haut-parleur. Elle pourrait donc avoir un rôle supplémentaire : annoncer le début d'une séquence avec un signal sonore clairement identifiable.
Le son ne lui indiquerait pas où agir. Il lui dirait simplement qu'il doit maintenant chercher l'information. Les cibles resteraient alors responsables du signal visuel indiquant où agir. Le déroulement du jeu deviendrait quelque chose comme :
déclencheur → chercher → identifier la cible → agir → confirmation → récompense
Il faudra évidemment le tester. Mais voilà déjà une nouvelle ligne dans les spécifications, apparue non pas devant Fusion 360 ou en écrivant du code, mais simplement en regardant Kiss jouer. Et c'est exactement ce que j'espérais lorsque je disais vouloir construire ce système progressivement avec lui.
Jour 3. Kiss n'a plus besoin qu'on lui dise d'appuyer. Mais entre deux activations, son attention revient souvent vers nous. C'est en regardant cette séance que nous avons réalisé qu'il manquait probablement au jeu un signal annonçant le début d'une nouvelle séquence.
Le résultat qui compte vraiment
Il y a pourtant quelque chose de plus important que les 17 réussites sur 18, la disparition de la consigne vocale ou cette nouvelle histoire de signal de déclenchement.
Kiss semble toujours autant apprécier le jeu.
Et c'était finalement la plus grande inconnue de toute cette première phase. Le véritable enjeu n'était pas de vérifier si un Weimaraner pouvait apprendre à appuyer sur un bouton lumineux. Le risque était beaucoup plus simple : passer des heures à concevoir, imprimer et programmer un dispositif dont Kiss n'aurait tout simplement rien à faire.
Pour l'instant, c'est plutôt l'inverse qui se produit. Il participe volontiers aux séances, reste attentif à leur déroulement et a même tenté spontanément d'interagir avec le bouton alors qu'aucune partie n'était active. Une friandise reste évidemment une excellente source de motivation, mais son envie de participer est beaucoup moins difficile à observer.
Après cette troisième journée de tests, je remonte dans mon bureau avec le bouton. Je veux faire quelques photos pour documenter le prototype, puis le démonter afin de montrer ce qu'il contient. Kiss me regarde faire très attentivement. Simple curiosité ? Espère-t-il que nous allons encore jouer ? Ou est-il légèrement inquiet de me voir partir avec ce qui est manifestement devenu « son » bouton ?
Une chose est sûre : en trois jours, quelque chose a clairement changé. Lors de sa toute première activation, ce drôle d'objet lumineux ne présentait pratiquement aucun intérêt pour lui. Quelques courtes séances plus tard, il le surveille, interagit spontanément avec lui et semble apprécier le retrouver pour jouer. Pour un prototype dont la première mission était simplement de vérifier si Kiss aurait envie de participer, c'est déjà une réponse plutôt encourageante.
La suite
Je vais donc continuer à développer le projet, en ajoutant progressivement des possibilités sans essayer d'aller plus vite que Kiss.
Le prototype mécanique évoluera certainement encore : la petite correction à la colle chaude finira dans la CAO, le breakout USB-C méritera probablement un vrai logement et d'autres détails apparaîtront forcément à l'usage. Mais le principe mécanique est validé, et la suite pourra devenir progressivement plus ambitieuse : ajouter d'autres éléments, faire évoluer les interactions, introduire ce fameux signal de déclenchement et découvrir jusqu'où il est possible d'aller. Toujours avec la même méthode : de courtes séances, une difficulté à la fois, observer ce que Kiss fait réellement et laisser ses réactions influencer les choix suivants.
Après tout, l'objectif n'est plus seulement de construire un jeu pour Kiss.
Il commence réellement à être construit avec lui.
Quant au petit serveur Python écrit à la hâte pour ces premiers tests, il était censé être temporaire. Il risque de ne plus l'être. Le simple outil permettant d'enregistrer une cible et de lui demander de lancer une partie ouvre déjà beaucoup plus de possibilités que ce que j'avais prévu au départ. Et, entre-temps, il m'a donné quelques idées. Pas mal d'idées, en fait.
Au début de ce projet, je me demandais si Kiss regarderait mon magnifique prototype pendant trois secondes avant de décider que le carton contenant les pièces était plus intéressant. Trois jours plus tard, je ne suis décidément plus tout à fait certain de savoir lequel de nous deux ce projet est censé occuper.
2026-10-02 — Chapitre 1 remanié et ajout du chapitre 2.

Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire