Aller au contenu principal

Présentation du framework

Lagoon est le framework applicatif Blazor WebAssembly / .NET 8 de DESIRADE. Le dépôt Lagoon Toolkit contient les modules du framework et des applications de référence qui les consomment. Les projets ciblent net8.0.

Lagoon fournit une base applicative complète pour construire des applications web hébergées en Blazor WebAssembly : composants UI, conventions d'architecture, sécurité, accès aux données, theming, exports, notifications et traitements batch.

Philosophie​

Lagoon privilégie une architecture homogène et conventionnée :

  • des composants UI préfixés Lg*, comme LgApp, LgGridView, LgEditForm ou LgButton ;
  • une séparation claire entre UI client, API serveur, modèle EF Core, services métier et données partagées ;
  • une localisation centralisée dans les fichiers Dico.xml, avec des clés utilisées via le préfixe # ;
  • un système de thèmes basé sur les sources SCSS des modules Lagoon.UI* ;
  • un câblage standardisé des points d'entrée serveur, client et batch ;
  • des modules dédiés aux usages transverses : authentification, notifications, exports PDF ou Excel, stockage cloud et Web Push.

Écosystème de modules​

Les modules du dossier Modules constituent le socle du framework et ses extensions. Les variantes Airbus, PF, TAS et Custom sont des extensions ou déclinaisons thématiques de modules existants.

ModuleRôle
Lagoon.CoreSocle commun du framework.
Lagoon.SharedÉléments partagés du framework.
Lagoon.ModelIntégration modèle et EF Core.
Lagoon.ServicesServices applicatifs mutualisés.
Lagoon.ServerInfrastructure serveur ASP.NET Core, API et hébergement de l'application Blazor WebAssembly.
Lagoon.ConsoleInfrastructure des applications batch et commandes console.
Lagoon.UIComposants Blazor Lg*, styles et comportements UI de base.
Lagoon.UI.GridViewFonctionnalités liées aux grilles de données.
Lagoon.UI.NotificationsComposants et intégration des notifications côté UI.
Lagoon.UI.RemoteTasksComposants liés aux tâches distantes et traitements suivis.
Lagoon.UI.LeafletIntégration UI autour de Leaflet.
Lagoon.UI.DemoÉléments UI utilisés par l'application de démonstration.
Lagoon.WebPushFonctionnalités Web Push.
Lagoon.LDAPIntégration LDAP.
Lagoon.PDFFonctionnalités d'export ou de génération PDF.
Lagoon.XlsxFonctionnalités d'export Excel au format XLSX.
Lagoon.Storage.AWSStockage de fichiers sur AWS.
Lagoon.Storage.AzureStockage de fichiers sur Azure.
Lagoon.GeneratorsGénérateurs utilisés par le framework.
Lagoon.UI.Airbus, Lagoon.UI.PF, Lagoon.UI.TAS, Lagoon.UI.CustomVariantes de thème pour les composants UI.
Lagoon.Server.Airbus, Lagoon.Server.PFExtensions serveur spécifiques.
Lagoon.Services.Airbus, Lagoon.Services.PFExtensions de services spécifiques.
Lagoon.Shared.Airbus, Lagoon.Shared.PFExtensions partagées spécifiques.
Lagoon.Console.Airbus, Lagoon.Model.PFExtensions spécifiques des modules console ou modèle.

Showcase​

Le showcase Lagoon permet d'essayer les composants du framework dans une application de démonstration :

https://demo.lagoon-toolkit.com/demo/showcase

Pour aller plus loin​

Pour démarrer, voir Architecture et Structure des projets.