En cherchant une solution open source pour DoeA, nous avons découvert MudBlazor. Après DoeA et notre intranet, nous passons désormais entièrement de Telerik UI for Blazor à MudBlazor.
Jusqu’à présent, nous avons construit les interfaces de nos applications Blazor avec Telerik UI for Blazor. Nous passons désormais entièrement à MudBlazor – une bibliothèque de composants open source que nous avons découverte dans le cadre de DoeA (« Dienst öffentliche Ausschreibungen », service des appels d’offres publics).
Pour l’Office fédéral des constructions et de la logistique (OFCL), nous avons reconstruit DoeA sous forme d’application web. Nous avions prévu de réaliser l’interface – comme pour nos autres applications Blazor – avec Telerik UI for Blazor.
En cours de projet, on nous a ensuite informés que DoeA devait être conforme à la LMETA : son code source sera publié en open source. La publication est encore à venir.
Mais un code source publié n’a d’intérêt que si d’autres peuvent aussi le compiler, l’exploiter et le faire évoluer. Notre objectif était donc d’utiliser aussi peu de produits sous licence que possible. Nous n’y sommes pas parvenus entièrement, mais en grande partie.
Cela concernait aussi l’interface. Telerik UI for Blazor est une bibliothèque commerciale qui se licencie par développeur. Chaque build nécessite une clé de licence valide – y compris dans les pipelines CI/CD. Sans elle, le build émet des avertissements et un filigrane apparaît dans l’interface. Quiconque voudrait compiler DoeA lui-même après sa publication devrait donc d’abord acheter une licence Telerik.
Nous avons donc recherché de manière ciblée une bibliothèque de composants sous licence open source – et nous avons découvert MudBlazor.
MudBlazor est une bibliothèque de composants pour Blazor qui s’inspire du Material Design de Google. Le projet est publié sous licence MIT et peut donc être utilisé, modifié et redistribué librement – y compris dans des projets commerciaux.
MudBlazor s’appuie sur une large communauté. État en octobre 2026 :
La bibliothèque couvre ce dont une application métier a besoin : champs de saisie avec validation, listes déroulantes avec recherche, sélection de date et d’heure, boîtes de dialogue, notifications, onglets, navigation, graphiques et une grille de données avec tri, filtres et regroupement. Un thème permet de définir de manière centralisée les couleurs, les polices et les espacements ; un mode sombre est intégré. Les textes des composants peuvent être traduits – une condition indispensable pour une application trilingue comme DoeA.
Deux caractéristiques nous ont particulièrement convaincus :
Pour DoeA, nous avons alors utilisé MudBlazor ; l’interface de l’application repose sur cette bibliothèque.
Comme MudBlazor est sous licence MIT, la bibliothèque est compatible avec la licence sous laquelle DoeA sera publiée (AGPL-3.0-or-later). Elle figurera dans la liste des composants tiers comme toute autre dépendance – avec son nom, sa version et sa licence. Pour l’interface, il ne faut ainsi ni licence ni clé de licence.
Notre propre intranet a suivi. Nous l’avions déjà réduit au strict nécessaire lors du passage à GitHub. Il était encore construit avec Telerik UI for Blazor – nous l’avons maintenant migré vers MudBlazor.
Nous avons ainsi utilisé MudBlazor non seulement dans un nouveau projet, mais aussi converti une application existante depuis Telerik.
Nos expériences avec DoeA et l’intranet ont été si bonnes que nous passons désormais entièrement de Telerik UI for Blazor à MudBlazor.
Exploiter deux bibliothèques d’interface en parallèle signifie : deux manières de construire des interfaces, deux séries de mises à jour et deux composants à surveiller pour les vulnérabilités. Avec une seule bibliothèque, nos applications ont un aspect homogène, et ce que nous apprenons dans un projet vaut aussi pour le suivant.
Pour DoeA, l’exigence de la LMETA n’est apparue qu’en cours de projet. Une application qui repose dès le départ sur MudBlazor est préparée à une telle exigence : la bibliothèque d’interface ne fait pas obstacle à une publication – qu’elle soit déjà prévue aujourd’hui ou non.
Nous compilons et publions nos applications via GitHub Actions. Avec MudBlazor, aucune clé de licence ne doit y être déposée et entretenue. Quiconque récupère un projet peut le compiler immédiatement.
Le code source de MudBlazor est accessible sur GitHub, les erreurs et les modifications prévues sont consultables publiquement. Lorsque nous rencontrons un problème, nous pouvons regarder dans le code comment un composant se comporte – et contribuer nous-mêmes des corrections.
Avec plus de 120 composants et un support commercial, Telerik propose une offre étendue. Pour les applications que nous développons, MudBlazor couvre toutefois tout ce dont nous avons besoin.
Comme auparavant avec Telerik, nous n’utilisons pas MudBlazor séparément dans chaque application. Avec ItreeMud, nous construisons à nouveau notre propre couche de composants par-dessus. Elle met en œuvre les composants tels que nous les voulons dans nos applications – dans leur présentation comme dans leur comportement.
Ce dont plusieurs applications ont besoin, nous le développons une seule fois dans ItreeMud et non dans chaque projet. Notre génération automatique de formulaires en est un exemple : les masques de saisie sont créés automatiquement, au lieu d’être construits à la main, champ par champ, dans chaque application. Nous évitons ainsi les doublons – et faisons économiser de l’argent à nos clients.
Pour nos clients, ce changement signifie avant tout : moins de dépendance envers un seul fabricant. Après la migration, le code source de votre application peut être compilé et développé sans licence Telerik, et la bibliothèque d’interface ne fait plus obstacle à une publication en open source. Les fonctions communes comme la génération automatique de formulaires sont développées une seule fois dans ItreeMud – et non pour chaque application.
En bref : Nous cherchions une solution open source pour DoeA – nous avons trouvé la nouvelle base de toutes nos applications Blazor.