REX SymfonyWorld Online 2020 (2/2)

Veille
Suite et fin de notre retour d'expérience sur le premier SymfonyWorld Online animé les 3 et 4 décembre dernier. Une édition 100% en ligne retracée en deux parties par William, consultant Limougeaud :

Seconde et dernière partie de notre retour d'expérience sur le SymfonyWorld Online 2020. 


Notre première partie s'était conclue par la présentation de Composer 2, l'un des piliers de l'écosystème PHP, présenté par Nils Adermann et Jordi Boggiano. Continuons de découvrir les conférences qui nous ont inspirées durant ces deux jours. Nous allons vous parler de WebAuthn, d'internationalisation puis quitter légèrement la technique avec Mark Nottingham, venu nous questionner sur nos responsabilités de développeurs. 

WebAuthn — Technology and integration in a Symfony project

Stefan Richter nous a présenté un standard ayant émergé il y a quelques années : WebAuthn.

Il vise à économiser les soucis liés aux mots de passe utilisateurs, notamment par une API unifiée d’authentification forte. Ceci fait particulièrement écho chez Néo-Soft, où la sécurité est un souci prioritaire et quotidien. L’authentification forte, comme montrée en démonstration, est une des clés pour mieux sécuriser le web de demain.


Parmi les points clés à retenir :

  • L’authentification forte pour le web est une très bonne chose
  • Il faut toujours passer par Javascript, évidemment
  • C’est donc toujours aux développeurs et développeuses de proposer les différentes alternatives pour permettre aux utilisateur-trices d’un système d’information de faire le meilleur choix
  • Cela fonctionne en cross-device, il est possible d’utiliser le NFC (Near Field Communication) sur les smartphones et les systèmes comme la reconnaissance faciale ou d’empreintes digitales comme support d’authentification
  • Nous faisons déjà coïncider deux époques en termes de standards : FIDO et FIDO2

Internationalize your Symfony application, the right way

Un voyage intéressant, présenté par Mathieu Santostefano, au sein des processus d’internationalisation (i18n), à travers les outils Symfony, les bundles tiers et toutes les bonnes pratiques à suivre.

  • La clé pour internationaliser correctement est d’avoir un très bon process : cela va bien au-delà des problématiques techniques. Mathieu l’a bien rappelé au travers de cas concrets
  • Il faut absolument traduire ses applications web : le faire à posteriori est un « cauchemar », ce qui est effectivement notre constat partagé
  • Utiliser XLIFF, déjà précisé dans les Symfony best practices
  • L’intégration PaaS pour les traductions est monnaie courante. Ce processus n’est plus du tout « marginal » à condition que le site en vaille la peine en termes de volume
  • Mathieu a donné de très bons conseils quant au nommage des clés de traduction pour les constituer sans les rendre trop pénibles à lire. Il est possible de se perdre très vite dans ces clés, c’est un sujet plus complexe qu’il n’y paraît
  • Bien sûr, il a rappelé l’importance d’utiliser ces clés de traduction et non des chaînes de caractères simples ou équivalentes à la valeur par défaut
  • Il conseille d’utiliser le bundle sur lequel il contribue : php-translation/symfonyt-bundle
  • Les fichiers .po restent éventuellement une bonne alternative si les traductions sont assurées avec le minimum syndical par les équipes (plus lisible). Dès que ça devient trop complexe, on repasse sur du XLIFF
  • LoCo est un bon service de traduction PaaS

Get Social! Implementing Social Login in your Symfony Project

Pauline Vos, Lead Engineer au sein de Werkspot a fait le tour d’un concept clé que l'on retrouve très souvent dès lors qu’on propose un mode connecté pour les applications : les social logins (logins SSO par API tierces). Un concept repris notamment par les services les plus utilisés de la planète. Ceux-ci sécurisent au mieux les authentifications tout en étant ceux dont les utilisateurs oublient le moins leurs accès.

Ce que nous en retenons :

  • La plupart des systèmes utilisent désormais OAuth2
  • Il est toujours hasardeux malgré tout de lancer le débat sur le lien trop rapide entre la complexité de saisie des formulaires et le taux d’abandon utilisateur. Mieux vaut, selon nous, commencer par respecter les éléments de bon sens, issus des recommandations OpQuast
  • Il existe deux bundles génériques qui gèrent tout cela pour nous : KNPU et HWI
  • Il faut commencer par mettre à jour les sections « firewall » dans les fichiers security.yml
  • Pauline a mis en place un serveur OAuth2 de test, une bonne idée pour s’assurer de la bonne implémentation du protocole

Keynote : For the Users — tech, ethics and you

Pour finir, une prise de parole visionnée deux fois tellement elle était simple et intéressante à la fois. La présentation de Mark Nottingham, célèbre développeur d’infrastructure Web, fait partie des (trop peu nombreuses) conférences non-techniques. Celles-ci permettent d’aborder des sujets plus généraux, d’une manière originale et sont souvent très appréciées du public.

Mark a balayé plusieurs exemples à travers l’histoire de différents échecs du monde de l’ingénierie et de leurs tragiques conséquences, pour rappeler à quel point la technologie et la technique ont pu faire du mal.

Il nous a invité à une profonde réflexion sur nos responsabilités en tant qu’acteurs du monde numérique et à éveillé les consciences sur les conséquences positives et/ou négatives de nos actes sur le monde.


À l'aide d’analogies du passé avec nos métiers d’aujourd’hui, Mark a démontré les similitudes que nous pouvions percevoir entre construire des ponts qui s’écroulent et écrire du code source. Nous pouvons user et abuser.


Il a rappelé la phrase de Mark Zuckerberg : « Move fast and break things » et démontré que cette idée commence très sérieusement à décliner. Selon lui, le monde est en train de reprendre la main sur la souveraineté de ses données et de ses actions, notamment à travers des exemples récents comme le DMCA, le RGPD, l’ePrivacy et bien d’autres.

Deux phrases marqueront cette présentation selon moi : « Deprioritise internal needs » (dépriorisez vos besoins internes) et « be a citizen not an engineer » (soyez des citoyens, pas des ingénieurs).

Tests et échanges entre experts

En parallèle des conférences, les sponsors disposaient de leur « stand virtuel » afin d’y présenter leurs activités et innovations.


Nous avons pu nous essayer à quelques questions extraites de la certification Symfony via l’outil de test en ligne de SensioLabs. Une réelle chance étant donné qu’il n’existe pas réellement de moyen de s’y préparer hormis les cours en ligne.


Autre excellente initiative : l’outil de rencontre et de réseautage aléatoire permettant aux visiteurs de continuer à échanger entre eux malgré la virtualisation de l’événement. Cela ajoute même une touche amusante puisque nous échangeons au hasard avec des personnes venues pour discuter et partager leurs expériences.


Enfin, nous sommes très heureux d’avoir pu constater l’avancée des services partenaires de l’événement :

  • BlackFire et ses nets progrès, notamment la partie APM qui devrait arriver au premier trimestre 2021. Intéressant de constater qu’ils se dirigent vers un écosystème pluriel à travers PHP/Python/Go. Qui plus est, il y a peu de chance, à l’inverse, que les acteurs majeurs du domaine se mettent au profiling applicatif direct
  • Symfony Insight affiche une trentaine d’améliorations, un outil précieux concernant la santé de code d’applications PHP (et pas seulement Symfony), mais aussi un allié pour les montées en version et bon nombre de tâches courantes de surveillance et de maintenance applicative
  • Cet événement était aussi l’occasion d’apprendre et de comprendre toutes les améliorations de Symfony Cloud, la solution officielle pour du cloud PaaS spécialisé pour Symfony

Une édition en ligne très réussie

Un dernier mot pour remercier Néo-Soft de nous avoir sponsorisés et de nous avoir permis de participer à ce SymfonyWorld Online 2020.

Un rendez-vous incontournable pour tous les passionnés qui apporte beaucoup de nouvelles connaissances et contribue au développement des compétences de chacun. Un événement certes très intense mais très bien réalisé, grâce à un enchaînement fluide ayant permis de mettre en avant un grand nombre d’animateurs et de sujets.

Si vous avez manqué cette édition 2020 en direct, les conférences sont disponibles en replay. Il vous est possible de les visionner en achetant des tickets sur le site Symfony.

Le programme 2021 a été révélé, avec un évènement physique provisoirement prévu début décembre. Le prochain Symfony World se déroulera, lui, en juin 2021.


William,
Expert technique