Myself

Matthieu Aubry - ItHasU

TLDR; Passionné par la programmation, voici mes projets personnels.

J'adore programmer n'importe quoi, aussi bien en terme de type de logiciel qu'en type de matériel. Ca m'ammène souvent à faire clignoter des diodes. Vous trouverez ici quelques uns de mes projets personnels.
Je travaille pour Cervval où j'ai pu réaliser différentes sortes de projets en temps que développeur et chef de projet (mais ce n'est pas le sujet ici).

L'objectif de ce projet est de pouvoir jouer avec MQTT depuis une interface web. L'application est développée en Typescript (fullstack) et est déployable à partir d'une image docker générée en utilisant les actions GitHub. Fonctionnalités:
  • Dashboard en HTML
  • Edition du dashboard depuis la page
  • balises mqtt-*, envoi de messages MQTT.publish()
  • Cron envoi de messages
  • ...
Dans le cadre de l'atelier objets connectés du centre socioculturel l'Agora à Guilers, nous avons développé un capteur de température Wifi. Le montage est composé d'un microcontrôleur ESP32 et d'un capteur DS18b20.
Le projet est disponible sur Github. Dans ce dépôt on trouve les sources pour l'interface web de paramétrage et pour le firmware de la carte.
Afin de faciliter la programmation des cartes ESP32 pour les thermomètres wifi, j'ai développé un petit programme Python permettant de flasher le firmware sur la carte. Ce projet est largement inspiré de Tasmotizer.
On obtient un exécutable autonome (un seul fichier contenant l'intégralité des utilitaires et le runtime Python), qui va télécharger la dernière version du firmware et programmer la carte.
Pour tester la programmation en WebAssembly avec AssembyScript, j'ai développé un petit jeu pour WASM-4. Ce petit projet n'est pas le jeu de l'année, mais je me suis bien amusé à le faire. J'ai appris pas mal sur les possibilités et les limitation d'AssemblyScript.
Le but du jeu est de sauter par dessus des poubelles. On obtient un score fonction de la distance parcourue. J'ai pu tester quelques fonctionnalités comme la conversion d'images en code, l'utilisation d'une palette limitée avec Gimp (sources dans le dépôt), l'enregistrement d'un bloc mémoire avec WASM-4 ...
Jouer !
L'objectif de ce projet était de créer un bot de conversation. Même si je n'ai pas été au bout, il contient un bout de code assez intéressant. En effet, j'ai développé une fonction capable de faire une distance de Levenshtein sur du texte, tout en faisant de l'identification de paramètres dans la chaine. Par exemple :
  • Template : Mon nom est $name
  • Phrase : Mno nom et Matthieu
  • Résultat : Matching at 90%, $name="Matthieu"