Innovations CSS et JS : 3 talks inspirants à la Dot conférence

L’envie d’apprendre, d’expérimenter et de jauger son niveau de compréhension nous pousse constamment à se tourner vers de nouvelles sources de partage et de savoir.

CBTW
L’Actualité Tech — Blog CBTW
6 min readJan 9, 2020

--

DotCSS et DotJS 2019
DotCSS et DotJS 2019

Et sur ce chemin de l’apprentissage, nous avons été particulièrement inspirés par certains talks de qualité découverts à la DotCSS et DotJS.

CSS & Developer experience — Emily Plummer

Design System Engineer chez Github, Emily travaille avec son équipe sur un Design System et une librairie open source de composants React nommée : Primer. Elle est utilisée principalement par les développeurs et designers de Github pour faire vivre la plateforme Github.

La question centrale du talk est « CSS is hard. Design System can help. ».

Le CSS peut paraître difficile pour beaucoup de développeurs à cause de ses nombreuses fonctionnalités (Flexbox, Grid Layout, la réutilisabilité du code CSS, etc.), de la non-compréhension de l’utilisation de la cascade CSS et de l’intégration de l’accessibilité dans les composants d’une interface.
La solution trouvée par Emily et son équipe est de créer un Design System. C’est un ensemble d’outils, de bonnes pratiques, de valeurs et de principes qui permettent d’aider les équipes de développement à aller dans une même direction UI/UX.

Emily et son équipe ont choisi de composer leur Design System d’une librairie de composants React, de composants CSS et d’un guide de style.
On peut le retrouver à l’adresse suivante : primer.style

Ils se sont efforcés de rendre le Design System le plus simple possible à utiliser, ainsi les développeurs peuvent créer de nouvelles features plus rapidement et donc se concentrer sur d’autres aspects, comme la performance ou bien l’accessibilité.

Pour l’équipe Design System de Github, l’expérience idéale est qu’un développeur n’ait pas besoin de se souvenir des classes CSS utilitaires ou d’un balisage HTML particulier. L’expérience idéale passe aussi par la facilité de mettre à jour un composant, l’inexistence de code CSS globale et l’existence de très peu de code CSS spécifique.

Il faut toutefois garder à l’esprit que les utilisateurs du Design System tenteront toujours de contourner les règles imposées par cet outil. Le conseil d’Emily est de leur donner quelques libertés tout en laissant des garde-fous.

Give your design system users flexibility, but nudge them onto the right path

Par exemple, l’équipe de Github utilise styled-system (en combinaison avec styled-components) pour donner la possibilité aux développeurs de modifier quelques propriétés visuelles basiques du composant (width, height, font-size…).

Les slides de ce talk sont accessibles par ici, et vous pouvez aussi visionner directement la vidéo :

DotCSS et DotJS 2019

Modern frontend routing — Eduardo San Martin Morote

Ou comment démystifier le code se trouvant derrière la gestion des routes de Vue.js.

DotCSS et DotJS 2019

Après un rappel sur les éléments constituant une URL, Eduardo nous parle de la compatibilité des différentes API liées à l’URL (URLSearchParams, encodeURI, …), des différentes interprétations des navigateurs et de l’importance de l’encodage des URLs pour minimiser les effets indésirables :

DotCSS et DotJS 2019

Il nous présente également le matcher de Vue Router et notamment le système de points permettant de faire matcher les URLs indépendamment de l’ordre dans lequel elles étaient définies :

DotCSS et DotJS 2019

Ici l’on peut voir que chaque URL est associé à un score, calculé en fonction de la “complexité” :

DotCSS et DotJS 2019

Un path simple, par exemple ‘/home’ possède un score de 70.

Un paramètre variable dans une URL ajoute un score de 60.

Enfin la présence d’une regex dans notre liste de routes, ajoute un score de 5 à la route en question.

C’est ce système de scoring qui permet de définir l’URL la plus susceptible de correspondre à l’URL demandée par le navigateur et à Vue Router de matcher plus efficacement les routes que l’on définit dans notre app.

Vous pouvez retrouver directement l’intégralité du talk dans cette vidéo :

DotCSS et DotJS 2019

Acoustic activity recognition — Charlie Gerard

Un talk aux allures de POC, qui présente le côté fun de ce que l’on peut faire en JS.

Le défi de Charlie était d’utiliser la Web Audio API et la solution Teachable Machine de Google pour entraîner un modèle et lui faire reconnaître certains sons.

Grâce à Teachable Machine, Charlie a pu entraîner un modèle en lui donnant des enregistrements de sons définis (sonnerie de téléphone, toussotement, claquement de doigts, brossage de dents, …)

Le modèle exporté couplé à TensorFlow a ensuite permis à Charlie de créer une app permettant de faire de la prédiction sur les sons envoyés par son micro.

DotCSS et DotJS 2019

Le but de ce talk est de nous présenter les portes qu’ouvre la combinaison du machine learning et d’API telles que la Web Audio API pour des applications liées à la domotique ou encore au milieu de la santé.

L’exemple du toussotement pourrait être traduit par une alerte permettant de prendre un rendez-vous chez un médecin par exemple.

Malgré tout certaines limites persistent encore :

  • Le besoin d’avoir une grande quantité d’échantillons pour entraîner le modèle,
  • La qualité des sons pouvant influer les résultats (les bruits parasites par exemple qui peuvent fausser les prédictions),
  • La taille importante des fichiers audios,
  • Et la superposition de plusieurs sons qui n’est pas très bien interprétée.

Au-delà de l’aspect fun du brossage de dents en live et des différents tests de sons, son talk fait réfléchir sur l’étendue de ce que peut permettre de faire le JS, notamment la possibilité de faire du machine learning sans avoir à passer par du Python, en restant sur un langage que l’on connaît déjà.

Vous pouvez retrouver directement l’intégralité du talk dans cette vidéo :

DotCSS et DotJS 2019

Objectifs : concentration et écoresponsabilité

L’un des sujets récurrents de cette édition est l’environnement, la relation que nous entretenons avec lui via notre métier de développeur et l’impact des outils que l’on développe et utilise au quotidien.
L’édition de la Dot CSS et JS 2019 a été carbon neutral. Cela correspond à “un état d’équilibre entre les émissions de gaz à effet de serre d’origine humaine et leur retrait de l’atmosphère par l’homme ou de son fait”.

On apprécie également l’absence de réseau wifi et la scène unique qui permet aux speakers de bénéficier d’une attention maximale de la part des participants.

Ainsi, notre curiosité a pu être piquée et nous repartons avec l’envie de s’essayer à des outils en dehors de notre domaine de compétence.
En effet, les présentations de Charlie Gerard et Kassian Wren, sous forme d’expérimentations (du machine learning en JS pour Charlie et la création d’un groupe de musique avec une basse lumineuse pour Kassian), suscitent l’envie de jouer avec les librairies et les outils présentés.

Vous pouvez aussi revenir sur notre retour de la DotJS 2018.

De plus, nos collaborateurs participent régulièrement à des événements phares du monde de la Tech. N’hésitez donc pas à vous abonner à notre compte Medium pour suivre nos prochains retours de conférences et réaliser votre veille professionnelle.

Retrouvez aussi nos publications et notre actualité via notre newsletter, ainsi que nos différents réseaux sociaux : LinkedIn, Twitter, Youtube, Twitch et Instagram

Vous souhaitez en savoir plus ? Consultez notre site web et nos offres d’emploi.

Les auteurs

Orest
Frontend Developer
Florent
Développeur front-end
Cuisine, pixels & house music

--

--

CBTW
L’Actualité Tech — Blog CBTW

Nos experts partagent leur vision et leur veille en développement web et mobile, data et analytics, sécurité, cloud, hyperautomation et digital workplace.