Skip to content

📝 Blog

Pourquoi pas ? Découvrez Vert.x

Je sais bien que ce blog est plutÎt axé découverte du code pour les plus jeunes.

Mais oĂč situer la frontiĂšre de ce qui peut vous intĂ©resser ? Pourquoi limiter la complexitĂ© de ce que j'aborde ici ?

En deux mots : Pourquoi pas ?

Ce sera le nom de cette nouvelle sĂ©rie d'articles oĂč je vous partagerai ce que je dĂ©couvre moi mĂȘme. Je pense que ça vous permettra de voir qu'on est toujours en train d'apprendre, quelque soit son Ăąge et son niveau.

tĂącherai de structurer mon avancĂ©e, mais je tiens tout de mĂȘme Ă  prĂ©senter mes hĂ©sitations et mes choix. Vous saurez tout ! :)

Vert.x

On va tùcher d'aller à l'essentiel, le site de Vert.x le dit trÚs bien : il s'agit d'un toolkit pour construire des applications réactives dans l'univers de la JVM.

Une application est dite réactive si elle suit les principes énoncés dans The Reactive Manifesto.

La version française peut vous aider à comprendre, mais au mix de langues, le monde informatique est souvent en anglais.

Mon résumé trÚs personnel est qu'une application réactive cherche à rester disponible en absorbant la charge en allouant les ressources nécessaires, en survivant aux erreurs au mieux, le tout en fonctionnement sur la base d'un systÚme de messages asynchrones.

Vert.x cherche à répondre à ses problématiques en restant léger et simple. En tout cas, c'est leur objectif annoncé, nous verrons si c'est assez simple pour moi ;)

Comment démarrer

AprÚs quelques recherches, je me dit que Vert.x ne s'aborde pas vraiment comme d'autres outils. Il n'y a pas des montagnes de tutoriels, les articles publiés abordent rapidement des fonctionnalités complexes.

Mais il me semble que c'est dû à la simplicité de cette jolie boßte à outils. Le site officiel a une documentation trÚs bien faite.

Pour compléter, j'ai acheté un livre qui propose de présenter puis approfondir les différents concepts de la programmation asynchrone et réactive, le tout s'appuyant sur des exemples nombreux et basés sur vert.x. N'hésitez pas, Vert.x In Action est parfait pour se lancer dans le domaine, le Dr Julien Ponge sait manifestement de quoi il parle et sait l'expliquer ;)

Le projet

Parce que c'est toujours plus facile d'avoir en tĂȘte un objectif, je me suis dit qu'il Ă©tait temps de mixer mes domaines d'intĂ©rĂȘt.
Le projet au long terme sera d'avoir une simulation d'une sorte d'usine, avec des ateliers, des postes de travail.
La base sera une application web qui représentera ça, accompagné de clients représentant les différents postes, client web pour commencer, clients IoT ensuite.

Cela devrait me permettre de faire un backend vert.x, pour un site web, de concevoir une API, des clients web et des client IoT.
Par la suite, je me pencherai aussi sur l'aspect déploiement, on verra quand on en sera là.
Pousser mes connaissances Docker pour appréhender Kubernetes, continuer mon apprentissage de l'univers de la CI/CD et ainsi de suite...

Je sais, on est loin de mes articles sur l'initiation à python. Considérez que ce sera une série au long cours, ce projet servant de prétexte à l'exploration de bien des technos.

Quel point de départ ?

AprÚs avoir tourné autour de plusieurs axes à choisir, je fais les choix suivant :

  • Vert.x Ă©videmment
  • build avec Gradle en utilisant le DSL Kotlin
  • code en Kotlin
  • source sur Gitlab, je dois ça Ă  mon troll favori ;)

Je complĂšterai ces choix au fur et Ă  mesure qu'il faudra en prendre d'autres.

Les différents articles que j'ai lu n'utilisant pas tous ces choix à la fois, il va falloir faire une synthÚse et adapter.
Mais avant tout, il faut une coquille pour commencer.
Il y a alors 2 possibilités.

Tout d'abord, le site https://start.vertx.io/
Une simple page permet de choisir les différents paramÚtres tel que le language, l'outil de build, les dépendances...
Pas de bol, il manque pour le moment la possibilité de générer le script gradle avec le DSL Kotlin. Une issue est en cours de résolution.
Ca reste un point de départ intéressant.

L'autre possibilité, c'est de partir d'un starter trouvé sur github.
Un simple clone du projet voir la récupération de l'archive et c'est fonctionnel.
Cette fois ci, gradle avec Kotlin DSL mais le bout de code de base est en Java.

J'ai fait le choix de partir du start.vertx.io, qui me semblait plus récent et officiel. La conversion du fichier gradle en Kotlin DSL n'a pas posé trop de souci avec l'aide de celui du projet Github.

Pour que nous soyons tous sur la mĂȘme base de dĂ©part, vous trouverez l'Ă©tat du projet dans le repository Gitlab que je vais utiliser tout au long de ces articles.

Vous voilà équipé d'un point de départ.
Il ne me reste plus qu'Ă  synthĂ©tiser mes essais pour l'Ă©tape suivante et les premiers pas de l'application elle mĂȘme.

Pour toute question, pour toute remarque, pour toute critique, vous pouvez me joindre par email ou sur Twitter.

Grand rassemblement

Depuis déjà de nombreuses années, j'écris des articles, des tutoriels et autres petits textes autour de la technologie.

J'ai rassemblé ici tout ce que j'ai retrouvé depuis 2013.
S'il reste des articles ailleurs, merci de me le signaler, je vais essayer de ne rien louper.

Tout ceci est parti d'une petite pichenette, un de ces petits rien qui vous donne l'élan nécessaire à une tùche repoussée depuis bien longtemps.
Cette fois, c'est grùce à Les Pounder, suite à un de ces articles me faisant l'honneur d'une magnifique photo de moi et un sac rose de toute beauté :)

La suite devrait parler de différentes petites consoles programmables qui se sont accumulées chez moi ainsi qu'un petit retour sur la carte micro:bit parce qu'elle a une place au chaud dans mon coeur de geek.

N'hésitez pas à me laisser un petit mot en commentaire ou par email, ça me fait toujours plaisir.

Arrivée de la 32blit

(article publié initialement sur le siteles-tontons-codeurs)

AprÚs un délai un peu plus long que prévu, ma 32blit de Pimoroni est enfin arrivée à la maison !
Voyons voir ce qui se cache dans ce joli colis.

Je trouve que mĂȘme le colis et la boĂźte est joli, Ă  l’effigie de Pimoroni.

colisboite

Le contenu est riche dans cette jolie boite, Ă  voir le contenu final, nous parlons ici de la version beta.
Nous trouvons donc :

  • la 32blit elle mĂȘme,
  • une feuille avec quelques instructions, notamment l’adresse du github de la beta,
  • de nombreux autocollants,
  • une petite plaque de prototypage aux couleurs de NoĂ«l

contenu

La 32blit a une bonne finition, mĂȘme si la version beta n’a pas de coque, il y a nĂ©anmoins une plaque de plexiglas protĂ©geant les composant sous la console. Comme indiquĂ© dans le prĂ©cĂ©dent article sur la 32blit, la dĂ©coration du PCB utilise le travail de Johan Vinet.

dessus 32blitdessous 32blit

Je vous propose d’aller voir d’autres photos dans cet album dĂ©diĂ©.

La mise en oeuvre est déjà assez bien détaillée au sein du dépÎt github de la beta.
Les projets d’exemple se compilent bien, ils sont mĂȘme utilisables en mode desktop.
Il est possible de compiler en utilisant les librairies SDL.

Le seul point qui m’a fait trĂ©bucher a Ă©tĂ© la confusion que j’ai eu entre dfu-tool et dfu-util. Seul ce dernier est a utiliser sous linux et Ă  partir de lĂ  je n’ai pas eu de problĂšme Ă  uploader les codes compilĂ©s.

Je pense que la prochaine étape sera de vous expliquer ce que contient un projet type, mais il y a encore un peu de stabilisation en cours.
Nous verrons tout cela dĂšs que possible.
En attendant, je vous laisse, la 32blit, la Pewpew M4 et une nouvelle carte arrivĂ©e aussi aujourd’hui m’attendent :)

N'hésitez pas à laisser un commentaire ou me joindre par email.

PewPew M4 prototype

(article initialement publié sur le siteles-tontons-codeurs)

Alors que la 32blit est arrivĂ©e chez moi, mais nĂ©cessite un bon investissement technique, j’ai eu la joie de recevoir un prototype de la nouvelle venue dans la famille PewPew : la PewPew M4

Toujours dans sa quĂȘte de proposer un appareil simple mais complet, Radomir Dopieralski, souvent connu par son pseudo Deshipu, a encore conçu une nouvelle possibilitĂ©.

Je ne vous fait pas plus attendre, voici la trĂšs jolie PewPew M4.

PewPew M4PewPew M4

Voilà donc une petite console bien équipée :

  • Ă©cran TFT de 160 par 128
  • 7 boutons disposĂ©s en une croix directionnelle Ă  gauche et 3 boutons d’action Ă  droite
  • microcontrĂŽleur SAMD51 ARM Cortex M4
  • buzzer de 7 mm
  • interrupteur marche/arrĂȘt
  • bloc d’accueil pour 2 piles AAA
  • accĂšs Ă  des broches pour Ă©tendre la partie matĂ©rielle

Ce qui est intĂ©ressant avec cette pewpew c’est qu’elle est entiĂšrement contrĂŽlable par Circuit Python, mais Ă©galement par Arcade Makecode

Pour Arcade, aucun souci technique ça fonctionne dĂ©jĂ , mais il faut que l’équipe qui gĂšre l’ajout de nouvelles cartes valide la demande.
En attendant, il est possible d’utiliser en choisissant la pygamer comme console cible.

CÎté Circuit Python, ça fonctionne déjà trÚs bien.
Par dĂ©faut, un menu semblable dans l’esprit Ă  celui des pewpew de base permet de voir une liste des fichiers python prĂ©sent et de choisir celui que l’on souhaite exĂ©cuter.

Menu

Mais le fonctionnement normal de CircuitPython est toujours là, vous pouvez élaborer votre code dans le fichier code.py, qui a priorité sur main.py, ou bien décider de tout remplacer et développer avec main.py

Tout ça s’annonce trùs bien pour cette jolie petite console.

Pour se la procurer, soit Deshipu en produit une nouvelle sĂ©rie et la vend par le biais de Tindie, soit vous patientez et vous utilisez le site MakerFabs dont je vous met ici la page d’une autre version de PewPew.

J’ai maintenant hĂąte de me mettre Ă  Ă©crire un petit jeu pour la Pewpew M4 et je vais essayer de vous faire rapidement une prĂ©sentation vidĂ©o de cette charmante console.

Encore bravo Ă  Radomir pour tout ce travail, la famille PewPew est passionnante !

N'hésitez pas à laisser un commentaire ou me joindre par email

Des consoles de jeu pour apprendre Ă  programmer

(Article initialement publié sur le siteles-tontons-codeurs)

Dans notre folle jeunesse, lorsque nous voulions jouer, nous allumions une de ces machines merveilleuses au doux nom de ZX Spectrum ou Commodore 64.
La micro informatique mettait son utilisateur en contact direct avec la possibilité de coder. Mais pour atteindre un jeu, il fallait passer par des commandes qui étaient, dÚs le premier caractÚre, du code.
Qu’en est il aujourd’hui et qu’avons nous d’intĂ©ressant Ă  disposition ?

C’est de maniùre inattendue que le retour de ces principes de consoles de jeu qui se programment est revenu par le monde des micro contrîleurs.

Cet univers longtemps restĂ© un monde d’électroniciens s’est ouvert peu Ă  peu Ă  des makers, bricolant avec les connaissances Ă  leur disposition. La publication de guides et tutoriels est devenue de plus en plus frĂ©quente, certaines marques en faisant leur cheval de bataille comme Adafruit.

Tout en continuant les efforts d’explication, les diffĂ©rents acteurs se sont mis Ă  proposer des cartes et matĂ©riels plus adaptĂ©s Ă  la dĂ©couverte. Le dĂ©mon du jeu vidĂ©o Ă©tant souvent Ă  roder dans les poches des makers, il ne fallut pas longtemps pour que ces cartes soient Ă©quipĂ©es de petits Ă©crans, puis de boutons


Cette annĂ©e, c’est l’effervescence autour de diffĂ©rentes consoles basĂ©es sur des micro contrĂŽleurs.

Je vais simplement vous prĂ©senter briĂšvement les consoles que je possĂšde et avec lesquelles j’écrirai des articles.

Remarque

Je n’ai pas de prĂ©fĂ©rence, elles ont chacune leurs atouts.

Micro:bit

La console micro:bitLa console micro:bit

Place Ă  celle par qui tout Ă  commencĂ© pour moi. La carte micro:bit est issue d’une initiative du gouvernement anglais pilotĂ© par la BBC et a Ă©tĂ© distribuĂ©e Ă  un million d’exemplaire dans les Ă©coles anglaises en 2016.

La micro:bit peut se programmer visuellement avec un éditeur à base de bloc.
Si vous cherchez comment commencer, il y a des exemples sur le site de la fondation Raspberry (s’il y a des fautes, dites le, c’est moi le coupable ;) )

Vous pouvez également la programmer en utilisant un python adapté, MicroPython.
Pour cela, je vous encourage Ă  utiliser l’éditeur Mu.

Pew pew

La console pewpew (version feather wing)La console pewpew de dos (version feather wing)

Cette carte est le fruit du travail de Radomir Dopieralski (@Deshipu)
Elle est simple mais pourtant déjà plus évoluée que la micro:bit.

Elle est programmable en MicroPython ou en CircuitPython.
LĂ  encore, l’éditeur Mu est conseillĂ© pour commencer.

Pour trouver des informations sur la pewpew et sa programmation, le site de Radomir est un bon point de départ.

Gamebuino

Plus conséquente, la Gamebuino possÚde un écran, des touches, une batterie et un boitier.
Elle est programmable en C++ ou en CircuitPython.
Les entrées sorties de son micro controleur SAMD21 sont exposées au dos, permettant des montages électroniques pilotés par la Gamebuino.

Le site Gamebuino propose des tutoriels au sein de l’AcadĂ©mie.

Pygamer

La Pygamer est une console conçue et fabriquée par Adafruit.

Cette annĂ©e 2019 a vu l’explosion du nombre de confĂ©rence proposant des badges interactifs Ă  leurs participants.
Adafruit a peu à peu conçu une succession de cartes, depuis la PyPortal suivi du PyBadge pour aboutir à la PyGamer.

Ces cartes sont programmables en C++, CircuitPython ou mĂȘme un Ă©diteur de jeu entiĂšrement graphique, Arcade Makecode.
La partie électronique est trÚs accessible et bien documentée, vous trouverez des montages sur notre site également.

32Blit

La console 32Blit

Un autre fabricant de produits pour makers, Pimoroni se lance dans cette aventure.
Souvent comparés à Adafruit en version européenne, leur produits sont généralement trÚs bien documentés.

Cette console est encore Ă  dĂ©couvrir mĂȘme si elle a dĂ©jĂ  un site dĂ©diĂ©.
En effet, cette console est nĂ©e lors d’une campagne Kickstarter et n’a pas encore Ă©tĂ© livrĂ©e.

Rassurez vous, les tontons auront leur modĂšle, je suis mĂȘme beta testeur et pourrait vous tenir informĂ©s ici mĂȘme :)

Voilà, ces quelques cartes feront notre bonheur et nous espérons le votre également.
Et ne vous inquiĂ©tez pas, nous resterons Ă  l’affĂ»t des nouveautĂ©s !