Stack Labs Blog moves to Dev.to | Le Blog Stack Labs déménage sur Dev.to 🚀

2 février 2019 | Conférence | Olivier Revial

Retour de conf Snowcamp 2019, partie 2

Temps de lecture estimé : 8 minutes

Snowcamp : première partie

❄ Dans cet article nous vous proposons un retour en texte et en images du dernier jour de la conférence Snowcamp 2019 qui s’est déroulée à Grenoble fin janvier. ❄

Jour 3 : Conférences

La révolution dans vos apps, c’est la gestion de l’état !

A travers sa présentation, Yohan Lasorsa nous présente les systèmes de gestion d’états (aussi appelés Store) utilisés par les différents frameworks JS en vogue (Angular, React et VueJS).

Il présente d’abord le fonctionnement de base, puis son point de vue et les avantages/inconvénients d’utiliser un Store pour l’utilisateur ainsi que les bénéfices qu’ils peuvent apporter à une application, aussi bien au niveau des performances (surtout pour Angular) que pour le débuggage.

Sa conférence était intéressante car elle s’adressait aussi bien aux novices qu’aux plus expérimentés. En effet, dans le cas où vous utilisiez déjà NGRX, Redux ou VueX fréquemment, vous n’auriez probablement pas appris beaucoup de choses mais un rafraîchissement des bases ne fait jamais de mal ! Et dans le cas où vous n’auriez pas encore osé vous servir des gestionnaires d’états, cette conférence permettait de démystifier la chose et de vous donner envie de franchir le pas !

La révolution dans vos apps, c’est la gestion de l’état !

Face à l’épidemie d’obésiciel, il est temps de concevoir des services numériques plus responsables !

Dans sa conférence, Frédéric Bordage, expert en green computing, nous présente la part de l’impact environnemental des activités numériques et également les démarches pour la réduire.

L’apparition et l’utilisation courante notamment de frameworks nous permet de délivrer des features à des échéances plus courtes. Mais les fonctionnalités de ces véritables couteaux suisses qui ne sont pas exploitées ont des impacts en termes de poids, bande passante et temps CPU. Aussi comment réaliser une éco-archi, un éco-design en termes logiciels ?

Il suffit en fait de s’y pencher dès la conception, de challenger les choix architecturaux et techniques afin de limiter l’ardoise économique comme écologique.

Un talk responsable !

Face à l’épidemie d’obésiciel, il est temps de concevoir des services numériques plus responsables !

Javascript Vanilla 2018

Le sous-titre pourrait-être : “Redécouvrir le web avec Vanilla JS!

Dans ce talk, Matthieu Lux nous présente son projet : le jeu 2048 version Vanilla JS !

Ici, quelques règles de bases:

  • Pas une seule ligne de code externe ;
  • Utiliser au maximum les API modernes (à la fois côté de Node et côté navigateur) ;
  • Tout est permis tant que que ça reste dans les standards et que ça fonctionne au moins sur 2 navigateurs

Le but était donc de redécouvrir le javascript à l’état pur, et cela passait notamment par la mise en place d’un state manager via les web workers, en passant par la création de web components et le projet est complet ! Il nous explique également que le backend est en Nodejs, et qu’il optimise le transfert des données en utilisant HTTP/2.

Merci à Swiip !

Repository Vanilla JS de Matthieu “Swiip” Lux

Javascript Vanilla 2018

An introduction to WebAssembly

De l’absence de typage à l’absence de compilation/optimisation, JavaScript souffre de nombreuses limitations que se propose de dépasser un nouvel arrivant : WebAssembly (ou Wasm). Présenté par Guy Royse de DataRobot, Wasm est déjà supporté dans les versions récentes des principaux navigateurs.

A travers une brève revue de l’histoire de la programmation de microcontrôleurs, Guy a su mettre en évidence les similarités entre Wasm et le concept de micro-processeur virtuel. De la même façon que ce dernier permet d’écrire du code assembleur sans se soucier des spécificités du micro-processeur sous-jacent, Wasm permet d’écrire des instructions bas niveau sans se soucier du navigateur qui l’exécutera. Ainsi, étant donné un compilateur adapté, on peut transformer un programme C, C++, Rust etc… en instructions Wasm, et ces dernières seront interprétées directement dans une page web. Bien qu’étant très récente et donc encore en développement, cette technologie ouvre un champ de possibilités immense, dont Guy a su montrer l’étendue dans sa présentation.

An introduction to WebAssembly : slides & demo code

Fun with functions

Emmanuel Longeau (@elongeau) est un ancien javaiste, il a découvert Haskell en codant dans son garage, dès lors le développement fonctionnel semble être devenu son paradigme de prédilection.

Dans son talk, Emmanuel revient sur les fondamentaux du développement fonctionnel. Pour citer les principaux : les fonctions pures, le style point free, la curryfication, la composition de fonctions.

Haskell est un bon moyen de s’exercer et de développer ses compétences en programmation fonctionnelle. Dans ce talk, Emmanuel développe en live coding un mini framework de test à la Jasmine (describe / should), avec lequel il teste la fonction addition.

Have Fun with Functions ! Merci à @elongeau.

Fun with functions : slides

Fun with functions : demo code

Architecture Decision Records : enfin une documentation qui vous ressemble !

Dans sa présentation, notre stacker Olivier Revial nous propose un aperçu des ADR, des “Architecture Decision Records” qui sont en fait des documents au formattage simple (type Markdown) qui permettent de garder un historique de toutes les décisions prises sur un projet.

Olivier nous explique dans un premier temps les différentes catégories qui existent quand on parle de documentation et il positionne les ADR comme une approche basée sur la compréhension qui a pour but de répondre à la question “Pourquoi ?”. Il nous donne ensuite un exemple de documentation “classique” en montrant ce qui bloque avec ce type de documentation, puis nous montre comment les ADR peuvent résoudre ces problèmes.

Nous voyons enfin un des formats possibles lorsque l’on veut attaquer les ADR, ainsi que les conséquences (principalement positives) liées à l’utilisation des ADR.

ADR : slides

ADR : demo repository

ADR : article de blog par Olivier

Is quantum computing really a thing ?

Le “Quantum computing” a été pour un certain temps un concept très théorique. Il existe quelques ordinateurs quantiques à l’heure d’aujourd’hui, comme par exemple IBM Q Experience qui vous permet d’exécuter de réels programmes quantiques. Durant cette présentation, James Birnie nous présente l’état actuel de notre compréhension des ordinateurs quantiques, ce qu’il serait possible de faire et également les limites que nous pouvons déjà apercevoir.

James nous explique qu’à la différence d’un ordinateur classique basé sur des transistors qui travaille sur des données binaires, le calculateur quantique travaille sur des qubits dont l’état peut posséder une infinité de valeurs. James nous explique également que l’environnement et les coûts liés aux ordinateurs quantiques sont très lourds, ce qui ralentit nos recherches dans ce domaine. Nous ne pouvons pas dire que cette technologie soit stable a l’heure actuelle, ceci nous est d’ailleurs démontré en live durant le talk suite à un test effectué sur l’ordinateur quantique d’IBM. Cependant, nous pouvons espérer d’ici quelques années que ces derniers nous aideront à résoudre des problèmes complexes, notamment dans les domaines de la cryptographie et l’intelligence artificielle.

Is quantum computing really a thing ? - Slides

James Birnie repository

La blockchain: comment cela fonctionne-t-il en dehors de la tendance des crypto-monnaies ?

Dans son talk m4dz analyse la partie technique de la blockchain, car non, la blockchain ne se résume pas à la crypto-monnaie et au Bitcoin.

Cette technologie pas si nouvelle, parfois décrite comme “la technologie la plus importante depuis internet”, a du mal à trouver ses cas d’utilisation en dehors du marché du Bitcoin.

A travers sa démonstration, nous apprenons comment cela fonctionne en profondeur en utilisant un cas d’utilisation convaincant: une application de carnet de santé. Sur la base d’une blockchain distribuée, nous voyons comment la mettre en oeuvre pour utiliser ses puissantes fonctionnalités.

Si vous êtes curieux, si vous vous posez des questions, ou si vous voulez essayer de travailler avec cette technologie, cette conférence est faite pour vous.

La blockchain: comment cela fonctionne-t-il en dehors de la tendance des crypto-monnaies ?

Istio, le meilleur ami de votre cluster K8S

Pour terminer cette conférence en beauté, nous assistons à une présentation d’Istio par notre stacker Kevin Davin.

Kevin nous explique d’abord le contexte, à savoir tous les défis qui nous attendent avec les architectures modernes : circuit-breaker, retry, timeout, blue-green deployment, A/B testing, etc. Si des orchestrateurs comme Kubernetes permettent de résoudre un certain nombre de ces problèmes, nous voyons qu’il en reste encore un certain nombre, c’est à ce moment qu’Istio intervient en nous aidant sur ces points de douleur.

Kevin détaille ensuite les 4 piliers d’Istio : l’observabilité, la connectivité, le contrôle et la sécurité. Nous voyons ainsi comment Istio permet de répondre à bon nombre de problèmes avec un système de configuration simple, dans chacune de ces catégories.

Un bel aperçu des différentes fonctionnalités d’Istio qui donne envie de le mettre en place rapidement !

Istio, le meilleur ami de votre cluster K8S

Conclusion

Ce Snowcamp 2019 était un excellent cru, nous sommes ravis d’avoir eu la chance d’y participer à la fois en tant que speakers pour 3 d’entre nous mais aussi en tant que participants pour tous les autres stackers. L’organisation était au top, les workshops et les conférences de très bonne qualité, bref nous reviendrons probablement l’année prochaine !


Crédits photos

Toutes les photos ont été prises et sont gentiment prêtées par Bruno Lavit et Ludovic Poitou, un grand merci à eux !