Level 6 : UX Map, localisation à la carte
Salut collègue développeuse / développeur,
Sixième édition de cette newsletter, qui dépasse maintenant les 298 inscrites et inscrits ! Merci à nouveau pour ton soutien 🙏
Si tu veux m'aider à faire décoller encore ce nombre 🚀, n'hésite pas à partager avec tes collègues qui comme toi, souhaitent performer en Symfony.
Et si tu n’es pas encore abonné(e) et que tu ne veux pas rater les prochaines éditions, clique sans plus tarder sur le bouton ci-dessous.
UX Map, la révolution carto
Aujourd’hui je vais principalement te parler de la grosse nouveauté de Symfony UX, à savoir UX Map, la possibilité d’intégrer des cartes interactives très facilement. Et à cette occasion, je change un peu le format habituel, car j’ai réalisé une interview d’un des développeurs de Symfony UX, Simon André (@smnandre) qui a eu la gentillesse de nous parler de cette nouveauté mais également de son parcours et du projet Symfony UX dans sa globalité.
Je vous présenterai ensuite le fonctionnement d’UX map dans une courte vidéo.
Interview de Simon André
Salut Simon, peux tu présenter rapidement ton parcours ?
Hello !
Avec plaisir ! Je suis “tombé dans la marmite” du web au milieu des années 90 et, aujourd’hui encore, c’est un univers (techno, mais pas seulement) qui me passionne. Résumer “rapidement” les 30 ans qui ont suivi… c’est un joli challenge haha ! Alors : (inspire…) collège à horaires aménagé musique, bac scientifique, études d’informatique à l'université de Rennes, puis création d’une agence web, prestations, éditions de sites, des rires, des échecs, de belles aventures. Ensuite, une deuxième vie en tant que salarié (des start-ups, un passage en agence web, puis retour aux start-ups), avec de plus en plus de Symfony.
En 2023, alors que je commençais tout juste à contribuer plus activement à Symfony, j’ai eu la chance de rencontrer Ryan Weaver et Nicolas Grekas, deux membres de la Core Team Symfony, lors d’une conférence à Lille. Ils m’ont motivé et encouragé à m’investir, et ils continuent à me donner plein de conseils précieux. Cerise sur le gâteau, c’est lors de cette même conférence que j’ai pris contact avec SensioLabs… que j’ai rejoint en début d’année !
Quel est ton rôle chez SensioLabs et plus particulièrement dans l’équipe Symfony UX ?
Chez SensioLabs, sur le papier, je suis “développeur PHP/Symfony”. En ce moment, je travaille sur un projet absolument passionnant : la refonte du système d’information d'une organisation publique. J’ai la chance de collaborer avec des personnes formidables, certaines que je rêvais de rencontrer il y a encore quelques années. Nous travaillons sur une stack toute neuve (PHP 8.3 / Symfony 7.1 / Symfony UX) et un client à l'écoute, bref un régal 🙂
Alors pourquoi je dis “sur le papier” ? Parce que SensioLabs, c’est l'ADN de Symfony. Et inversement. Tout y est fait pour encourager la contribution à l’Open Source en général, et à Symfony en particulier. Dès qu’on a envie de s’investir, il y a des milliers de portes qui s’ouvrent : des rencontres, des opportunités…
Imagine, en moins d’un an, j’ai eu l’occasion de participer à des projets en avant-vente, de faire du conseil, de contribuer à la refonte du site de l’entreprise, de travailler sur la conception des futures offres de formation, de co-écrire un livre blanc, ou encore d’encadrer les nouveaux arrivants. Et là, je ne parle que de ce qui est directement lié à Symfony UX ! D’ailleurs, sur les 4 membres actifs de l’équipe Symfony UX, nous sommes deux à travailler chez SensioLabs.
Quelles sont tes principales réalisations sur Symfony UX ?
C’est difficile de définir une “réalisation principale”. En termes de composants, je dirais qu’UX Icons est celle sur laquelle on a le plus itéré avec Kevin Bond avant d’atteindre un résultat satisfaisant. La première version est sortie en mars de cette année, et six mois plus tard, c’est l’un des composants les plus installés, recherchés et utilisés de Symfony UX. Les retours sont très positifs, ce qui valide notre vision initiale : répondre simplement à un besoin simple, tout en offrant une expérience développeur (DX) vraiment soignée. Nous avons même mis en place une section dédiée aux icônes sur le site de Symfony UX, car nous avons encore plein d’idées à venir sur ce sujet.
Le site de Symfony UX (https://ux.symfony.com) est aussi une grande satisfaction. Nous avons travaillé dur pour optimiser les performances, afin de démontrer qu’on peut obtenir des pages ultra-réactives avec Symfony UX. J’ai toujours été passionné par ce sujet, et je dois avouer que j’ai une petite obsession pour les performances web (addict PageSpeed!). Nous avons réussi à conjuguer cette performance avec une identité marquée et des interactions fluides et agréables. Nous ajoutons enfin régulièrement du contenu, des démos et bientôt la documentation des composants, sans oublier quelques surprises à venir !
D'une façon générale, même si chacun de nous a ses domaines de prédilection, toute l’équipe touche un peu à tous les projets liés à Symfony UX. Derrière une pull request (PR) portée par une personne, il y a souvent eu des discussions en visio, des mails et des échanges sur Slack avec toute l’équipe en amont. Enfin, j’essaie aussi de mettre en place une meilleure communication autour du projet. Je le fais à petites doses pour le moment, mais j’espère pouvoir y consacrer plus de temps en 2025. Cette interview en est d’ailleurs un bel exemple :)
Quels ont été les moments les plus marquants pour toi sur Symfony UX ?
Probablement tous ces petits moments où tu réalises que ton travail a un vrai impact sur d'autres. Les échanges que j’ai eu au sein de la communauté, les retours enthousiastes après la sortie d’un composant, ou encore le fait de pouvoir aider des développeurs à adopter ces outils… Ce sont ces moments qui me donnent une vraie motivation. C’est incroyablement enrichissant et encourageant pour continuer à avancer.
Parlons du projet UX Map développé par Hugo Alliaume (@Kocal), c’est un ajout majeur car il y a des cartes sur quasiment tous les sites aujourd’hui.
En effet, même si l’utilisation de cartes sur les sites a un peu diminué par rapport à il y a une dizaine d’années, elles restent très présentes. Cette baisse est largement liée à Google, qui avait soudainement multiplié les tarifs de Google Maps par 10 ou 20 à l’époque (je ne me souviens plus du chiffre exact).
Avec UX Map, l’idée de Hugo était vraiment de proposer une abstraction simple et une expérience développeur (DX) claire, tout en restant indépendant du fournisseur de cartes. L’objectif est qu’un développeur Symfony puisse intégrer une carte sans avoir à écrire de JavaScript ni à se soucier du fait que cela utilise Leaflet ou Google Maps. Pour tous les besoins de base, on veut rendre l’intégration aussi fluide et accessible que possible.
Comment ça se passe quand un nouveau composant de cette ampleur est proposé ?
Il n’y a pas vraiment de “processus”, et je crois que chaque composant a son histoire particulière. À la base il faut deux choses: une idée et du code (et entre les deux, ce n'est pas les idées qui manquent le plus en général) ! À partir de là, on itère. On affine, on enlève ce qui n’est pas nécessaire, et on se pose plein de questions pour créer un composant minimaliste mais bien conçu, que l’on pourra ensuite faire évoluer sainement.
Depuis un an, on s’efforce vraiment de répondre à un besoin précis sans tomber dans le piège d’ajouter trop de fonctionnalités. L’équilibre est subtil : ne pas être trop limitant, mais ne pas non plus accepter toutes les demandes. Les performances, la stabilité, et une documentation claire sont cruciales. Et il ne faut pas oublier que notre cible première reste les développeurs sous Symfony, qui sont habitués à plus de stabilité et de qualité que ce qu'on a pu connaitre jusqu'il y a peu dans le monde JS / front-end.
Le composant est encore expérimental, mais peux-tu nous parler des améliorations prévues prochainement sur ce composant ?
Absolument ! Dès la prochaine version 2.20, nous allons introduire une nouvelle fonctionnalité Twig qui permettra de rendre directement une carte à partir d'un template Twig. Nous allons aussi ajouter un TwigComponent <twig:ux:map />
, car il y a une vraie appétence pour cette syntaxe “HTML-like”, qui rappelle un peu des frameworks comme Svelte ou Vue. Cela va rendre l’intégration des cartes encore plus intuitive et alignée avec les nouvelles pratiques front-end.
Que peux-tu nous dire sur Symfony UX pour donner envie de l’utiliser ?
C’est drôle, parce qu'on a finalement peu parlé sur Symfony UX dans son ensemble aujourd'hui.
Mais je te propose qu’on en reparle plus en détail le mois prochain ? Je pourrais proposer à Hugo également, il aura surement des insights passionnants à partager sur UX Map et d’autres projets en cours. 😊
Avec grand plaisir ! À très vite Simon et merci infiniment d’avoir pris de ton temps pour répondre à ces quelques questions !
Présentation de UX MAP en vidéo
Maintenant que nous avons bien teasé sur le composant UX-Map, tu dois te demander à quoi ça ressemble exactement et comment on l’utilise ? C’est pourquoi j’ai préparé une vidéo pour te montrer tout ça.
Pour plus d’info, tu as bien entendu la doc sur le site Symfony UX et sur le site officiel.
Mise en relation entreprise - freelance
Tu es salarié (ou freelance en mission) et ton entreprise recherche actuellement un freelance expérimenté ? Contacte moi sur Linkedin et je me ferais un plaisir de te mettre en relation avec l’un des freelance de qualité de mon réseau :-)
Conclusion
J’espère sincèrement que cette newsletter en mode “interview” t’a plu et donné envie de tester UX Map ! Merci encore à Simon pour sa disponibilité et son travail sur Symfony UX.
Si cette newsletter t'a plu, n’hésite pas à repartager, en parler autour de toi. Et si tu as le moindre commentaire, écris-moi à levelup@sylvainblondeau.dev ou contacte-moi sur mon Linkedin.
À bientôt pour le prochain niveau ;-)