En dehors du fait que de sortir la tête de son code et de reparler à des humains, fait toujours du bien 🙂 ,le devFest est pour moi l’un des rares moments ou l’on peut découvrir les tendances du développement, apprendre le métier de ses pairs, et découvrir de nouvelles pratiques. Cette année encore, j’y ai appris pas mal de choses, et je vous propose ici d’en lister un bref résumé.
Optimisation des images:
Pour rappel sur 75% des ressources téléchargées dans les sites, on a en moyenne 50% d’images, et 25% de vidéos d’où l’intérêt d’optimiser tout ça. Des slides intéressantes sur l’association temps de réponse / engagement ainsi que les différentes techniques pour optimiser des pages (et surtout des images/vidéos) sont dispos ici: https://www.slideshare.net/dougsillars/hackference
Personnellement, j’y ai découvert une nouvelle méthode :
Le cjpeg dssim – https://github.com/technopagan/cjpeg-dssim qui améliore la compression (je vous donnerais mes retours une fois testé).
Et que les résultats du format webp s’annoncent bien meilleurs que le png et le jpg mais que le format n’est pour l’instant pas supporté par tous les navigateurs.
A noter également que le son d’une vidéo représente 5% du poids, donc si le son n’est pas utile, autant le supprimer.
Le preload d’une vidéo est une fonction intéressante mais ne doit être utilisé que si la plupart des visiteurs lancent la vidéo. Sinon, on les fait télécharger pour rien.
Autre chose, le plugin lighthouse a été récemment inclus dans Chrome (F12 puis onglet Audit).
Les points importants sont donc dans l’ordre Quality, Format, Sizing, Lazy Loading.
Javascript :
Il existe encore pas mal de différences entre les navigateurs même si aujourd’hui elles ne sont plus trop visibles. Il suffit de creuser en profondeur les nouvelles API pour s’en rendre compte (services workers, animations dans les CSS…).
Ainsi j’ai compris que Javascript était une implémentation d’ecmascript. Ecmascript étant la norme du langage géré par un groupe de personnes baptisé TC39.
D’ailleurs cette année, on devrait voir arriver les fonctions suivantes:
private getter, private setter, static, globalThis, trimStart, trimEnd et replaceAll (enfin un replace sans expression régulière) et aussi les imports dynamiques.
Voici un headless browser pour tester les PWA : https://github.com/GoogleChrome/rendertron
ELM:
ELM https://elm-lang.org/ est une surcouche javascript qui permet de supprimer toutes les erreurs d’exécution et d’améliorer la rapidité du code.
Le compilateur teste tous les cas, et ne compile que si toutes les exceptions ont bien étés prise en compte. Excellent pour mettre des sites en production ultra solide.
Cypress :
Un nouveau venu dans le monde des tests unitaires est cypress – https://www.cypress.io/, qui permet de s’affranchir de Sellenium et donc de contrôler un navigateur par ligne de commande.
Sécurité :
Installer Fail2ban et snort pour détecter les intrusions.
Se tenir au courant via https://www.owasp.org/ et ANSI – https://www.ssi.gouv.fr/.
Hacking et storytelling :
Gaël Musquet nous a raconté comment il a vu la mer monter de 20 mètres en 34 minutes et engloutir toutes les infrastructures guadeloupéenne (centrale électrique + aéroport + port), puis nous a demandé qui connaissait les plans d’évacuations ou les zones de confinement de Nantes. Résultat : personne. La France pionnière dans le développement des alertes sur la bande FM est l’une des dernières à intégrer des protocoles d’urgence !
Il nous a aussi montrer comment hacker des détecteurs de fumée pour y rajouter des puces FM afin de recevoir des messages d’alertes même quand les communications GSM sont coupées et d’autres petites astuces très sympas.
Son histoire étant vraiment intéressante, et liait l’émotion à la réalité, ce qui fait que je m’en souviendrais encore pour un bon bout de temps.
Google Cloud Platform :
Firebase est une base de données permettant de gérer une authentification unifiée entre des services Web et des applis mobiles et de recueillir tout un tas de données.
Api.ai a rajouté des comportements pour que les IA Google collent un peu plus à la réalité (sarcasme, humour…)
La saisie vocale remplaçant peu à peu les interfaces utilisateurs, il est nécessaire de faire de bonnes conversations. Et pour avoir les bonnes pratiques avec une IA, voici un lien : https://developers.google.com/actions/design/
Enfin pour ceux qui veulent se mettre à la domotique, et à l’internet des objets, il va falloir creuser Android Things.
Conclusion:
L’édition 2018 était encore tip top. Merci à tous les intervenants qui prennent le temps de nous transmettre leur savoir, merci aussi aux sponsors qui fait que l’événement reste à un prix raisonnable et nous donnent plein de goodies. Avec un tel niveau de qualité, il est probable que les futurs billets se vendront bientôt aussi vite que ceux du Hellfest 😉