NG BAGUETTE CONF 2025 : un compte-rendu
Benjamin Legrand

Benjamin Legrand @benjilegnard

About: 👨‍💻 Senior web developer 🏗️ Front-end architect 🎨 Creative coder ( http://codepen.io/benjilegnard/ ) 🎸 Musician ( http://soundcloud.com/bendubik )

Location:
Nantes, France
Joined:
Oct 3, 2024

NG BAGUETTE CONF 2025 : un compte-rendu

Publish Date: May 27
2 0

Le 24 mai 2025, onepoint hébergeait la première conférence 100% Angular de France.

La première dans tous les sens du terme, car autant nos voisins européens ont déjà leur conférence Angular nationale (les allemands ont la NG-DE, les belges ont la NG-BE, les polonais ont ngPoland, les italiens sont gâtés avec ngRome et ng-venice, et j'en passe...).

Par contre, en France, il n'existait pas ce genre d'évènement spécialisé en Angular, jusqu'à maintenant, c'était donc la grande première de la ng baguette conf 🥖

Organisée par l'équipe d'@Angular Devs France, cette journée de conférences fut l'occasion d'accueillir quelques pointures internationales de la communauté Angular, mais également des orateurs et oratrices français moins connues.

Les talks

Building Angular - The Perks of working a monorepo.

Speaker: Matthieu Riegler

Déjà actif au sein de l'écosystème Angular, Matthieu travaille désormais à 100% pour la core team Angular, il nous a présenté dans quel contexte était développé Angular chez Google.

Quelques chiffres impressionnants sur leur mono-repo principal, google3 : 3 MILLIARDS de lignes de code, plus de 4000 applications Angular.

Chose assez incroyable, il n'y a pas de versions différentes d'Angular au sein du monorepo, toutes les applications utilisent la dernière version du framework. La core-team est donc extrêmement responsabilisée en cas de changements cassant, et il ne faut que quelques heures au maximum pour que les problèmes soient remontés. Un excellent exemple de dog-fooding

On comprend mieux pourquoi certains changements en apparence simples (tels qu'arrêter d'utilise any dans certains types génériques), sont compliqués à faire passer, quand ils impliquent des changements manuels dans plus 4000 applications : c'est tout de suite un autre coût. Et pourquoi avec Angular la montée de version est complétement décorrélée de la migration (le fait d'utiliser les dernières fonctionnalités), et comment cette dernière est souvent automatisée grâce aux schematics.

Quelques nouveautés d'Angular 20 en guise de bonus / conclusion, notamment la "piste spéciale" dans les outils d'inspection de performance de Chrome...

Next-Level Angular SSR: Exploring Hydration Enhancements

Speaker: Soumaya Erradi

Des débuts d'Angular Universal, jusqu'à l'intégration récente dans son écosystème avec @angular/ssr en tant que module principal. Soumaya nous a fait un bon historique et tour d'horizon des fonctionnalités d'Angular permettant de faire du rendu serveur.

On a pu voir les nouveautés du framework concernant l'hydratation de composant, les différents types de rendus que nous permet Angular aujourd'hui, (SSR,SSG,CSG)

Pour avoir souffert sur des projets en rendu serveur, surtout de son incompréhension et sa mauvaise utilisation par les gens, j'ai été très content de voir un sujet remettre un peu à plat tout ça.

Quo Vadis State management ?

Speaker : Rainer Hahnekamp

Rainer nous a présenté un petit historique des librairies de gestion d'état en Angular. Et puis une présentation et démonstration de @ngrx/signals, de ses principes et de son API SignalStore.

Utilisant déjà la librairie quotidiennement (et déjà fervent convaincu), je n'ai pas appris grand-chose, mais c'était bien présenté, et ça en a convaincu d'autres :).

En bonus, à la fin, lancement d'une nouvelle librairie de test avec Younes Jaaidi : testronaut, un lanceur de tests basé sur playwright. (Younes était d'ailleurs Maître de Cérémonie durant toute la conférence, pas un boulot facile, et bien réussi)

Petit point négatif pour la maltraitance de clavier en direct, un scandale 😅, je fus choqué.

L'injection de dépendances : le trésor caché d'Angular

Speaker: Arthur Lannelucq

Arthur nous a présenté différents cas d'usage de l'injection de dépendance, une fonctionnalité primordiale du framework.

Devant plusieurs examples et applications concrètes: ce sont souvent les principes de base dont on oublie la puissance. Les cas d'usages étaient pertinents et bien expliqués.

Rien de neuf sur le fond, le concept n'est pas nouveau, mais ça fait du bien de le rappeler.

Comment tester l'accessibilité d'un site internet sur Angular ?

Speaker: Emmanuelle Aboaf

Au travers d'une session de live-coding, et d'utilisation à base de clavier et lecteurs d'écran, Emmanuelle nous a montré plusieurs problèmes d'accessibilité, et surtout comment les corriger.

Évidemment les cas problématiques les plus courants ont été abordés, absence d'indicateur de focus, contrastes de couleurs, lecture d'informations manquantes ou superflues par un lecteur d'écran etc...

Moi, ce que je retiens principalement, c'est "La souris est prohibée" dans un des slides :) (Et réellement, la plupart des problèmes les plus simples à corriger en accessibilité sont détectables en utilisant uniquement son clavier)

La démonstration était efficace et assez révélatrice de la facilité avec lequel on peut faire du code inaccessible. Vous pouvez retrouver les différents cas pratiques présentés par Emmanuelle sur son github

Rethinking Data Access: The New httpResource in Angular

Speaker: Manfred Steyer

Manfred nous a parlé de la nouvelle API d'Angular permettant de faire des appels HTTP : la méthode httpResource.

Cette fonction étant basée sur les signaux, elle permet de gérer les requêtes asynchrones sans passer par des rxMethods pour faire la conversion Observable ⇄ Signal.

À partir d'un exemple de niveau de Super Mario, nous avons pu voir comment repenser le graphe réactif de signal pour inclure des notions de ressources lentes à charger.

Un passage également par les fonctionnalités avancées, on a désormais une manière simple et "fonctionnelle" (dans le sens orienté fonction, pas dans le sens que ça ne fonctionnait pas avant).

Bref, la fonctionnalité est vraiment complète, et n'a rien à envier au client HTTP historique. Vous pouvez retrouver la plupart de ce dont Manfred nous a parlé dans son article sur le sujet

NDLA: J'étais persuadé qu'on allait toujours garder RxJS dans nos clients HTTP, j'avais tort, il est dorénavant possible de gérer la progression simplement, et c'est cool 😎 !

Instant Navigation in Angular Applications

Speaker: Christopher Holder

Christopher, après des rappels bons à prendre sur les métriques de performance ou encore les différences entre MPA et SPA, nous a présenté plusieurs techniques pour améliorer les performances des navigations entre pages.

Certaines basées sur une nouvelle API Expérimentale : les règles de spéculation, qui vont permettre de précharger des pages en fonctions de règles.

Un cas criant d'optimisation pré-maturée à mes yeux, à ne pas appliquer partout, mais bon à connaître au besoin.

Et tout est bon à prendre pour améliorer les performances, même si c'est uniquement la performance perçue.

Le github d'une des librairies abordées : ngx-speculative-link

Sous le capot : Un débugueur sous stéroïdes pour accélérer la résolution de bug

Seaker: Laura Pedenaud

Laura nous a présenté, une méthodologie de résolution de problèmes que l'on connaît tous et toutes : le débogage.

Après être rentré dans les entrailles d'un débugueur, comment interagir avec un débugueur en mode REPL, puis se connecter. L'exercice de la démo live n'est pas facile, et toujours très risqué, mais Laura s'en est plutôt bien sorti.

Le talk était intéressant, mais ne faites pas ça en production les enfants, utilisez des solutions d'observabilité plutôt que d'appeler directement l'API du débugueur :)

Bulletproof Unit Tests

Speaker: Cédric Exbrayat

Cédric, qui officie sur le blog ninja-squad et est contributeur de la team Angular, est venu nous parler de tests unitaires.

Et particulièrement de plusieurs techniques pour les améliorer. Éviter les detectChanges(), préférer autoDetectChanges une fois en début de suite, utiliser await fixtures.whenStable() etcetaera

Également une présentation du principe de "page object" et les quelques nouveautés sur le provideRouter() et le RouterTestingHarness qui nous permettent de simplifier les tests utilisant le Router.

Pleins de bons petits conseil pour terminer la journée.

Le lieu

Dans la belle ville de Nantes, onepoint est localisée en centre-ville, les locaux sont très classieux et spacieux.

Si vous souhaitez y organiser vos évènements, n'hésitez pas à contacter onepoint.live

NDLA: Je ne suis pas objectif, j'y travaille. Mais j'avais rarement vu le LivePoint, cette grande salle sous les toits, aussi plein à craquer, ça fait plaisir.

Grande salle sous les toits avec deux speakers présentant les sponsors de la conférence, et deux rangées de sièges pour le public avec plus d'une centaines de personnes

Conclusion

Pour une première édition, c'était une belle réussite, les orateurs et oratrices nous ont offert des talks de qualité.

La track unique et le format ni trop court, ni trop long (30 minutes) ont fait que je ne me suis pas ennuyé de la journée !

C'était un vrai plaisir d'échanger et de croiser des gens suivis en vrai plutôt que sur LinkedIn ou autres réseaux sociaux.

Merci à toute l'équipe organisatrice, aux bénévoles et aux speakers, c'était super.

Un évènement qui ne demande qu'à grandir. Vivement les futures éditions !


Sources des photos:

Comments 0 total

    Add comment