SmarTomato, MasterNode, PixelArt, iCryptoWallet, …

Bilan journée amélioration continue et innovation: S02 E05

Vincent Le Gallic
Frianbiz
5 min readMay 11, 2018

--

2 développeurs de Futurs.io nous ont rejoint pour cette session. Collaborer le temps d’un projet avec de nouveaux co-équipiers, c’est toujours une opportunité, cela permet d’échanger, de partager ses expériences et de s’ouvrir à des technologies ou à de nouveaux frameworks !

Un petit mot sur Futurs.io, c’est l’agence du groupe Maltem dédiée aux technologies et aux usages innovants (blockchain, big data, IA, IoT …). Futurs crée pour ses clients les conditions d’une innovation concrète, déployable à grande échelle, et durable en termes techniques, économiques, environnementaux et éthiques.

Et maintenant, place à la présentation des projets!

SmarTomato

Nous avons construit une jardinière connectée avec mesure en temps réel de la luminosité reçue par un pied de tomate avec un capteur (avec un smartphone Android pour la démo).

Expérience très positive sur l’interaction Android / API Laravel / React / Tomate :) Il est possible d’atteindre le même résultat en utilisant simplement des capteurs fournis par Arduino… Ce projet va évoluer dans les prochaines semaines (capteurs en cours de livraison) !

Ben, the only true craftsman at Frianbiz ;) REACT App is ready! to be continued…

iCryptoWallet

Nous avons travaillé sur un prototype de “middleware” entre une application native sur iOS et un porte-monnaie digital Ethereum (Wallet). Notre objectif était d’imaginer une UX simple (inspirée de Metamask.io) sur iPhone pour envoyer des transactions sur la blockchain Ethereum sans avoir de nœud local. Nous avons utilisé pour cela Infura.io et les Shared extension d’Apple.

Exemple d’UX cible pour adopter un chat sur l’app native cryptokitties (simulation)

À la fin de la journée, nous avions une extension qui envoyait des transactions sur un réseau Ethereum de test. On imagine pour la suite stocker les clés privées dans une “Secure Enclave” fournis par Apple et permettre à l’utilisateur de choisir son propre noeud. Le code source du POC est disponible sur Github… cette expérimentation va certainement donner lieu à la création d’une application iPhone disponible sur iTunes dans les prochaines semaines selon les développeurs (dans les prochains mois selon les pessimistes ;))

MapBox & Unity

L’idée est d’utiliser les informations d’une vraie carte afin de générer un monde en 3D, complété par nos propres modèles et interactions.

La prise en main est très rapide. On suit le tuto qui nous permet en quelques clics d’installer et de configurer le plugin pour visualiser une carte (en AR ou non). Cela passe par la récupération d’un token d’authentification pour les appels à l’API de MapBox, gratuit pour moins de 50 000 requêtes par mois, et suivant ensuite un pricing lié au nombre d’appels, auquel il faut ajuster 500$/mois pour une utilisation professionnelle/commerciale. Après avoir joué facilement avec les fonctions de bases grâce à une bonne doc, on se rend vite compte que si l’on veut toucher à des fonctionnalités plus évoluées, il nous faudra beaucoup plus de temps ! La communauté semble très active et les cas d’utilisations nombreux… donc wait and see !

ForestAdmin

Chez Frianbiz pour chaque projet nous avons l’habitude de développer des back-office afin de permettre à nos clients de gérer leurs users / clients et leurs produits de manière plus générale (workflow de validation, activation d’utilisation, dashboard, suivi …). Nous avons développé ces outils sur un socle PHP avec le framework Laravel. L’objectif de cette journée était de déterminer si nous pouvions optimiser le développement de ces back-office en s’appuyant sur ForestAdmin.

Le pari est réussi car nous avons pu créer un back-office avec ForestAdmin en moins de 2 heures (principalement du paramètrage). Les “relationship” (relations entre les tables SQL) ont été récupérées très simplement après l’édition de quelques fichiers de configuration. Reste la mise en place de custom field et de custom view qui manque de documentation sur notre socle Laravel. Merci à la team de Forest (Tancrede et Louis) pour l’activation du plan pro et leur accompagnement pendant cette journée.

Pyxel (Pixel & Python)

Exemple from “Piecewise Affine Transformation”

Nous avons testé la manipulation d’images grâce à la construction d’un squelette de points sur celle-ci dans le but de générer des animations (spritesheet) pour un jeu vidéo. Modifier les coordonnées du squelette permet d’animer l’image, mais la libraire scikit-image est complexe et le rendu est mauvais sur des images de faible résolution à cause de l’antialiasing. En revanche Python est super agréable à utiliser et les outils de debug sont puissants !

MasterNode

Tenter d’expliquer ce qu’est un MasterNode en 20minutes un vendredi à 19h , très beau challenge Rafal ;)

Après deux essais infructueux avec des projets trop instables, Rafal a finalement réussi à mettre en place un Masternode qui tourne 24h/7j. La mise en place se fait principalement avec des commandes et des fichiers de configuration, la doc est très pauvre et il y a beaucoup de scam qui montent une blockchain avec comme seule valeur ajoutée la possibilité de faire tourner un Masternode…

Google Home

Mon but durant cette journée était d’ajouter une autre fonctionnalité à Google Home, il existe pour cela plusieurs plateformes open source mettant à disposition des API utilisant IFTTT (qui permet de créer des chaînes d’instructions). Ajouter des commandes vocales et les lier à une opération est assez simple: cas d’utilisation démontré pour cette démo: ajouter un rappel dans son agenda pour un anniversaire.

Pixel Art Game

Nous avons utilisé le framework Phaser (Phaser3) afin de démarrer la création d’un mini-jeu scénarisé dans un esprit pixel-art. L’installation de ce framework est simple et la prise en main rapide. De nombreux exemples sont disponibles sur http://labs.phaser.io/. L’absence de documentation sur Phaser3 est un petit frein lorsque l’on souhaite s’aventurer dans des animations et autres gestion de hit-box plus complexes… Cette première journée nous a permis de prendre en main le framework et de nous familiariser avec les concepts tels que la gestion des scènes, des inputs, collisions, spritesheets. Toutefois, la seule documentation disponible pour le moment est celle de Phaser2 et beaucoup de choses ont changé depuis, la communauté est encore petite et il est parfois difficile de trouver de l’aide sur des problèmes basiques.

--

--