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*, commeLgApp,LgGridView,LgEditFormouLgButton; - 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.
| Module | Rôle |
|---|---|
Lagoon.Core | Socle commun du framework. |
Lagoon.Shared | Éléments partagés du framework. |
Lagoon.Model | Intégration modèle et EF Core. |
Lagoon.Services | Services applicatifs mutualisés. |
Lagoon.Server | Infrastructure serveur ASP.NET Core, API et hébergement de l'application Blazor WebAssembly. |
Lagoon.Console | Infrastructure des applications batch et commandes console. |
Lagoon.UI | Composants Blazor Lg*, styles et comportements UI de base. |
Lagoon.UI.GridView | Fonctionnalités liées aux grilles de données. |
Lagoon.UI.Notifications | Composants et intégration des notifications côté UI. |
Lagoon.UI.RemoteTasks | Composants liés aux tâches distantes et traitements suivis. |
Lagoon.UI.Leaflet | Intégration UI autour de Leaflet. |
Lagoon.UI.Demo | Éléments UI utilisés par l'application de démonstration. |
Lagoon.WebPush | Fonctionnalités Web Push. |
Lagoon.LDAP | Intégration LDAP. |
Lagoon.PDF | Fonctionnalités d'export ou de génération PDF. |
Lagoon.Xlsx | Fonctionnalités d'export Excel au format XLSX. |
Lagoon.Storage.AWS | Stockage de fichiers sur AWS. |
Lagoon.Storage.Azure | Stockage de fichiers sur Azure. |
Lagoon.Generators | Générateurs utilisés par le framework. |
Lagoon.UI.Airbus, Lagoon.UI.PF, Lagoon.UI.TAS, Lagoon.UI.Custom | Variantes de thème pour les composants UI. |
Lagoon.Server.Airbus, Lagoon.Server.PF | Extensions serveur spécifiques. |
Lagoon.Services.Airbus, Lagoon.Services.PF | Extensions de services spécifiques. |
Lagoon.Shared.Airbus, Lagoon.Shared.PF | Extensions partagées spécifiques. |
Lagoon.Console.Airbus, Lagoon.Model.PF | Extensions 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.