PHPnews.io

Du gaming, du papier électronique, du clavier mécanique vintage et des buzzers connectés, c'est notre JoliDay 2021 !

Written by JoliCode / Original link on Nov. 16, 2021

Un an après notre premier (et dernier 🤞) JoliDay confiné, nous nous sommes tous retrouvés pour reprendre nos bidouillages et expérimentations traditionnels !

L'an dernier, nous avions surtout fait du virtuel…. Cette année, c'était un vrai plaisir de revenir dans les locaux et jouer avec de l'électronique, des Lego®, des langages de programmation que nous utilisons peu au quotidien…

Un dashboard en e-ink

Nous avons repris notre projet de l’année dernière qui consistait à faire des mini-dashboards en papier électronique. Une des plus grandes difficultés que nous avions encore à résoudre concernait la finesse du rendu sur le papier : il était granuleux, peu lisible et pas très mignon, et nous avions une succession de flashs très désagréables lors du rendu sur l’écran.

Du coup, nous avons pu reprendre le même matériel que l’an dernier :

dashboard-eink.jpg

Nous nous sommes séparés en deux mini-projets :

D’un côté, Quentin s’est occupé de faire un visuel propre pour le dashboard pour l’envoyer au Raspberry Pi. Il a pu avancer sur le problème de clarté et nous avons finalement pu comprendre qu’il fallait désactiver l’antialiasing sur le rendu des polices que nous utilisions. En effet, quand une police est rendue à l’écran, elle est lissée pour être plus jolie, sauf que ce lissage rendait le texte difficile à détecter lorsque nous générions le masque de couleur !

Ensuite Baptiste s'est occupé de faire en sorte que le Raspberry Pi reçoive les masques de couleur et les affiche sur l’écran E-Ink. L’an dernier, nous avions pu remarquer plusieurs flashs lorsque nous faisions un rendu sur l’écran. Pour corriger ça, nous avons d’abord mis en place un hash de validation sur l’image envoyée. Ainsi, nous pouvions éviter de lancer un rendu si l’image récupérée était toujours la même. Mais cela ne corrigeait pas le problème de flash. Après plusieurs tests, nous avons remarqué que cela venait du mode 3 couleurs et que si nous passions en deux couleurs (noir & blanc), l’effet de flash était beaucoup moins long et désagréable.

Et grâce à ces deux mini-projets, nous avons pu finaliser le rendu de notre dashboard ! Maintenant il n’y a plus qu’à le relier à un projet Github via un token, et nous voilà avec un récapitulatif du projet en live sur l’écran :

dashboard-github.jpg

Une borne d'arcade qui envoie des watts

En 2017, nous avions construit notre propre borne d'arcade et depuis, elle trône fièrement dans nos bureaux, toujours prête pour une petite partie de Street Fighter II muet. Muet car il restait un petit détail à régler : le son !

Nous n'avions pas encore installé de hauts parleurs dans notre caisson et c'est maintenant chose faite ; nous avons pour cela recyclé de vieux haut-parleurs de PC, en remplaçant l'alimentation et le potentiomètre de réglage du son.

borne-arcade.jpg

Nos séances de retrogaming sont maintenant accompagnées d'un délicieux son vintage, qui crépite en 2 x 1W !

Nous avons profité de l'opération à coeur ouvert pour mettre à jour Recalbox, installer de nouveaux jeux, revoir notre mapping / câblage des boutons et surtout ajouter une documentation à destination des joueurs, les raccourcis n'étant pas toujours très instinctif ! ("comment on quitte un jeu déjà ?" étant la question la plus posée de l'année 😂 #VimStyle).

Une machine à écrire USB

àpartir du kit usb tygpewriter nousavvons converti une gmachineaecrireaancienne en clavierusb Ce gpararaghe est dailleurs tape aglamachine 🤯 Linstalatigon du gmagpgpi6nfde touches sest averee reglativmenent fastid6eusse tout c6ogmme gla gpartie gmecanique Ler resugltat est toutefois au dela de ngos esgerances etvraiment amusant

typewriter.jpg

Plus sérieusement (et avec un vrai clavier), le résultat nous emballe et les perspectives d’utilisation / détournement sont nombreuses. Nous notons en revanche quelques points :

machine-a-ecrire.jpg

Cerise sur la gâteau, l’installation du kit ne casse pas la possibilité de continuer à l’utiliser avec du papier !

Pour reproduire la même chose chez vous, voici le kit utilisé : usbtypewriter.com. Attention à bien vérifier la compatibilité avec votre machine à écrire, les kits peuvent être différents en fonction des modèles.

Un jeu en collaboration avec Premier Octet

Premier Octet et JoliCode ne sont pas seulement proches par l'amour du travail bien fait et du respect des bonnes pratiques, mais aussi géographiquement. En effet, nous partageons les mêmes bureaux. Le JoliDay s'est donc tenu en même temps que l'OctetDay 😋

Le jeu proposé a pour nom de code "save the stickman", son concept est un peu long à expliquer et pas si important que ça dans le cadre d'un prototype sur un jour. Ce qui importe c'est que nous étions une équipe interdisciplinaire autant qu'inter-entreprise : Thibault (Premier Octet) l'initiateur du projet a rassemblé autour de lui : Ariel (Premier Octet), Jérôme (JoliCode), Joël (redirection.io).

En termes d'organisation, les rôles ont été répartis entre les différentes personnes : le jeu vidéo nécessitant de multiples compétences. Il nous a fallu un responsable de l'habillage sonore, et c'est Ariel qui s'est proposé. Il a créé des bruitages plus vrai que nature (entendre par là qu'il a crié dans son micro) et que le rendu était aussi drôle qu'inattendu.

Pour la direction artistique, Jérôme s'y est attelé. Avec ses "compétences" en graphisme il est parti sur quelque chose de minimaliste et a finalement réussi à faire un personnage en Ragdoll.

Quant à Joël et Thibault, ils se sont connectés ensembles (littéralement) pour travailler sur l'implémentation du jeu et surtout de la partie réseau. Ils ont utilisé pour ça le moteur de jeu Godot qui permet de créer des jeux rapidement, multiplateforme et qui est en plus open-source.

Après une journée de dur labeur, nous avions un prototype fonctionnel. Nous avons pu présenter une partie en réseau avec 4 joueurs. Ce petit jeu n'avait aucune prétention, mais nous nous sommes presque plus amusés avec ses bugs et le gameplay unique qui en découlait (et donc pas prévu) que l'idée originale envisagée.

Un kit de buzzer connectés

Parce que l'impartialité d'un arbitre de Blind test peut facilement être corrompue chez nous, il fallait trouver une solution pour départager les joueurs les plus rapides à trouver les chansons de Céline Dion dès la première note de musique.

C'est ainsi qu'est né le projet de buzzers synchronisés. Et cette année nous a permis de continuer ce qui avait été entamé l'année dernière. Pour rappel, l'idée était d'avoir 5 buzzers synchronisés via des websockets, chacun étant propulsé par un ESP32 (un microcontrôleur avec WiFi intégré similaire aux célèbres Arduino). Nous avions été bloqués par un souci d'alimentation : l'unique batterie LiFePO4 prévue pour chaque buzzer s'était montrée insuffisante pour alimenter le microcontrôleur.

Pour ce nouveau JoliDay, nous avons donc repris l'idée générale, mais en prévoyant cette fois deux batteries pour chaque buzzer. Nous avons conçu au préalable de nouveaux boîtiers (pour accueillir les deux batteries et revoir quelques détails) puis nous les avons imprimés en 3D en amont pour qu'ils soient disponibles le jour J.

buzzers-construction.jpg

Le projet s'est découpé en trois parties :

D'un point de vue un peu plus technique, un des buzzers fait office de serveur : il crée un réseau WiFi et démarre un serveur WebSocket. Les autres buzzers se connectent à ce réseau et commencent à interagir en WebSocket avec le serveur. Quand les joueurs appuient sur leur buzzer, cela déclenche l'envoi d'un message au serveur, qui va ensuite informer tous les clients connectés de l'identité du plus rapide : il s'agit du buzzer qui sonne et fait de la lumière 🚨.

buzzers-termines.jpg

Cette édition fut donc un succès pour notre projet avec des prototypes qui fonctionnent et nous avons déjà quelques idées pour peaufiner ces buzzers, notamment l'amélioration du feedback visuel et sonore (pour faciliter le debug, informer de l'état du boîtier, etc).

JoliPlancha et JoliBeer

Il y a quelques semaines de cela, notre JoliPlancha a rendu l'âme, une épreuve difficile pour tous les JoliCodeurs… Mais alors que nous étions en train de passer par les différentes étapes du deuil, nous avons eu une lueur d'espoir. Après un démontage et une vérification complète de tous les câbles électriques à l'aide d'un multimètre, nous avons pu trouver le souci et le corriger. À l'issue d'un nettoyage en règle, la JoliPlancha est donc de retour sur notre terrasse, prête à être utilisée pour la traditionnelle "plancha des neiges" !

Tradition oblige, 2021 n’échappera pas à sa cuvée de bière faite maison. Cette année, une nouvelle équipe nous propose une blonde, brassée à partir d’orge, de houblon, d’eau (c’est tout !) ainsi qu’une blanche brassée à partir de sirop et de miel de Montreuil.

Malgré les obligatoires aléas dûs aux notices incompréhensibles et aux matériaux de cuisine peu adaptés, près de 20 litres de bière sont ainsi en train de fermenter dans les locaux, attendant sagement leur mise en bouteille d’ici deux semaines.

Mention spéciale pour finir à l'équipe Food Truck qui nous a régalé pendant la journée, allant même jusqu'à faire des churros maison pour le goûter 💛.

Comme chaque année, JoliDay prend la place de notre journée de solidarité envers les personnes âgées. Cette journée est dédiée à l’innovation, à l’amusement et à des projets qui ne sont pas nécessairement liés à nos métiers et nous avons hâte de continuer nos bricolages l'année prochaine ! Envie de bricoler avec nous ?

jolicode jolicode lego jolicode jolicode

« Laravel Cache Helper Package - GraphQL global ID migration update »