Au programme cette semaine l’arrivée de AWS sur Twitch, l’application de traçage de la COVID au Canada et enfin le support de la langue Bretonne dans le framework DayJS.

AWS Power Hour: Cloud Practitioner

Les certifications servent-elles a quelque chose ? Personnellement je trouve que c’est une approche qui permet de se former sur les aspects théoriques de telle ou telle technologie. Elle est bien évidemment à compléter avec une pratique régulière, afin de mettre en oeuvre ces connaissances théoriques. De plus, une certification permet de se fixer un but et de rester motivé quand l’apprentissage s’étend sur plusieurs semaines.

Malheureusement il est parfois difficile de choisir la plateforme et la formation idéale afin de se préparer à une certification AWS. De nombreuses plateformes existent en ligne ainsi que des vidéos sur Udemy. D’ici quelques jours une troisième option s’offrira à toi, car AWS a décidé de lancer une série de vidéos sur Twitch.

À partir du 12 octobre tu pourras découvrir AWS Power Hour: Cloud Practitioner, un livestream bihebdomadaire qui présentera les informations fondamentales pour comprendre le Cloud AWS. Pendant six semaines, des experts d’AWS t’accompagneront dans ton apprentissage grâce à des démonstrations et des exemples concrets. Tu commenceras par les bases du cloud et les principaux services AWS, puis tu exploreras des sujets tels que le Well-Architected Framework d’AWS, la création et la sécurisation d’applications dans le cloud ou encore la tarification.

Le serveur de traçage de la COVID du Canada est écrit en go

En France l’application de traçage de la Covid 19 a fait un gros flop. Le nombre de téléchargements est extrêmement bas, rendant de fait l’application quasi inutile. Concrètement on estime qu’environ 3 % de la population française a téléchargé cette application. On est loin des 15 % de l’Allemagne par exemple. A mi-chemin, le Canada avec environ 7 %, a développé sa propre application.

Quel langage a été choisis pour les backends ? Le Go évidemment. Le code source est disponible sur Github. Il est intéressant de le parcourir et d’étudier les choix effectués par ses concepteurs.

Au niveau des dépendances, on retrouve pour la partie web server uniquement gorilla-mux. Cela s’explique l’absence d’api REST, les services étant exposés via du grpc. Il est à noter d’ailleurs que les définition de protobuf utilise la version 2 et non pas la version 3. Je n’ai pas à l’heure actuelle d’explication sur ce choix. Au niveau des metrics, on trouve un choix assez classique (dont je t’ai parlé dans un précédent billet) à savoir Prometheus.

Une autre chose intéressante dans ce repo est l’explication de la démarche des concepteurs en matière de volume de données. En effet l’application a été conçu pour limiter le transfert de données à un minimum.

Amélioration du support de la langue Bretonne dans DayJS

Il y a quelques semaines la core team du framework MomentJS a décidé de passer le projet en mode maintenance. Moment reçoit plus de 12 millions de téléchargements par semaine ! Cependant, Moment a été développé pour la précédente ère de l’écosystème JavaScript. Le web moderne est bien différent de nos jours. Les deux principaux reproches récurrents adressée à Moment sont la mutabilité des objets et la trop grande taille du framework.

Parmi les remplaçants possibles se trouvent DayJS. Avec seulement 2 KB on peut objectivement le considérer comme léger. Autre avantage, il a été conçu dès le départ pour l’immutabilité. Cerise sur le gâteau, ses interfaces se basent sur celles de Moment, facilitant ainsi la migration.

Dans le cadre du Hacktoberfest, j’ai cherché quelques contributions que je pourrais faire. Il se trouve que la langue bretonne était déjà prise en charge dans DayJS. Ceci dit, il n’existait pas de tests adossés à cette prise en charge. Je me suis naïvement imaginé ajouter les tests, et ainsi valider facilement une première PR. Il se trouve que les tests ne passaient pas. La cause, le manque de prise en charge des mutations. J’ai donc effectué quelques modifications dans le code. La release 1.9.2 du 13 octobre contient ce bug fix. Je t’invite à la tester !


Si tu es arrivé jusqu’ici, merci beaucoup d’avoir lu cet article !
Photo de couverture par Roman Kraft.